/* +----------------------------------------------------+ */
/* | JavaScript used on martinkovikmilford.com          | */
/* +----------------------------------------------------+ */

/**
 * Run onLoad events
 */
// Event.observe(window, 'load', function() {
// });

/**
 * Highlight the appropriate menu items
 */
function highlight_menus(page, project)
{
	$$('ul.nav li a').each(function(link) {
		var target = link.readAttribute('href').gsub('/', '').gsub('.php', '');
		if ((page == target) || ((page == 'view_project') && (target.include(project)))) {
			link.up(0).addClassName('selected');
			link.up(2).addClassName('selected');
			link.up(4).addClassName('selected');
		}
	});
}

function highlight_forum_menus(forum)
{
	$$('a.forum').each(function(link) {
		if ($(link).hasClassName(forum)) {
			link.up(0).addClassName('selected');
		}
	});
}

/**
 * Toggle text for Q&A questions
 */
function qa_handler()
{
	// Show only the first answer by default
	$$('div.qa_answers div').invoke('hide');
	$$('ul.qa_questions li a').first().addClassName('selected');
	$$('div.qa_answers div').first().show();
	// Handle clicks
	$$('ul.qa_questions li a').each(function(question) {
		Element.observe(question, 'click', function(e) {
			var answer = question.id.replace('q', 'a');
			$$('ul.qa_questions li a').invoke('removeClassName', 'selected');
			$$('div.qa_answers div').invoke('hide');
			$(question).addClassName('selected');
			$(answer).show();
			Event.stop(e);
		});
	});
}

/**
 * Simple email address verification for contact form 
 */
function contact_form_observer()
{
	Event.observe('contact', 'submit', function(e) {
		var pattern = /^([a-zA-Z0-9_\+\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if ($('email').value.match(pattern)) {
			$('oops').setStyle({ 'visibility': 'hidden' });
			return true;
		} else {
			$('oops').setStyle({ 'visibility': 'visible' });
			$('email').focus();
			Event.stop(e);
		}
	});
}


/* +----------------------------------------------------+ */
/* | Third-party JavaScript                             | */
/* +----------------------------------------------------+ */

/* Lightbox */
var detect=navigator.userAgent.toLowerCase();var OS,browser,version,total,thestring;function getBrowserInfo(){if(checkIt("konqueror")){browser="Konqueror";OS="Linux"}else{if(checkIt("safari")){browser="Safari"}else{if(checkIt("omniweb")){browser="OmniWeb"}else{if(checkIt("opera")){browser="Opera"}else{if(checkIt("webtv")){browser="WebTV"}else{if(checkIt("icab")){browser="iCab"}else{if(checkIt("msie")){browser="Internet Explorer"}else{if(!checkIt("compatible")){browser="Netscape Navigator";version=detect.charAt(8)}else{browser="An unknown browser"}}}}}}}}if(!version){version=detect.charAt(place+thestring.length)}if(!OS){if(checkIt("linux")){OS="Linux"}else{if(checkIt("x11")){OS="Unix"}else{if(checkIt("mac")){OS="Mac"}else{if(checkIt("win")){OS="Windows"}else{OS="an unknown operating system"}}}}}}function checkIt(a){place=detect.indexOf(a)+1;thestring=a;return place}Event.observe(window,"load",initialize,false);Event.observe(window,"load",getBrowserInfo,false);Event.observe(window,"unload",Event.unloadCache,false);var lightbox=Class.create();lightbox.prototype={yPos:0,xPos:0,initialize:function(a){this.content=a.href;Event.observe(a,"click",this.activate.bindAsEventListener(this),false);a.onclick=function(){return false}},activate:function(){if(browser=="Internet Explorer"){this.getScroll();this.prepareIE("100%","hidden");this.setScroll(0,0);this.hideSelects("hidden")}this.displayLightbox("block")},prepareIE:function(a,b){bod=document.getElementsByTagName("body")[0];bod.style.height=a;bod.style.overflow=b;htm=document.getElementsByTagName("html")[0];htm.style.height=a;htm.style.overflow=b},hideSelects:function(a){selects=document.getElementsByTagName("select");for(i=0;i<selects.length;i++){selects[i].style.visibility=a}},getScroll:function(){if(self.pageYOffset){this.yPos=self.pageYOffset}else{if(document.documentElement&&document.documentElement.scrollTop){this.yPos=document.documentElement.scrollTop}else{if(document.body){this.yPos=document.body.scrollTop}}}},setScroll:function(a,b){window.scrollTo(a,b)},displayLightbox:function(a){$("overlay").style.display=a;$("lightbox").style.display=a;if(a!="none"){this.loadInfo()}},loadInfo:function(){var a=new Ajax.Request(this.content,{method:"post",parameters:"",onComplete:this.processInfo.bindAsEventListener(this)})},processInfo:function(a){info="<div id='lbContent'>"+a.responseText+"</div>";new Insertion.Before($("lbLoadMessage"),info);$("lightbox").className="done";this.actions()},actions:function(){lbActions=document.getElementsByClassName("lbAction");for(i=0;i<lbActions.length;i++){Event.observe(lbActions[i],"click",this[lbActions[i].rel].bindAsEventListener(this),false);lbActions[i].onclick=function(){return false}}},insert:function(b){link=Event.element(b).parentNode;Element.remove($("lbContent"));var a=new Ajax.Request(link.href,{method:"post",parameters:"",onComplete:this.processInfo.bindAsEventListener(this)})},deactivate:function(){Element.remove($("lbContent"));if(browser=="Internet Explorer"){this.setScroll(0,this.yPos);this.prepareIE("auto","auto");this.hideSelects("visible")}this.displayLightbox("none")}};function initialize(){addLightboxMarkup();lbox=document.getElementsByClassName("lbOn");for(i=0;i<lbox.length;i++){valid=new lightbox(lbox[i])}}function addLightboxMarkup(){bod=document.getElementsByTagName("body")[0];overlay=document.createElement("div");overlay.id="overlay";lb=document.createElement("div");lb.id="lightbox";lb.className="loading";lb.innerHTML='<div id="lbLoadMessage"><p></p></div>';bod.appendChild(overlay);bod.appendChild(lb)};





