/* Smooth Menus! */
/*
$(document).ready(function() {
	$("#nav li:has(ul)").hover(function() {
		$(this).children("ul").css("display", "none");
		$(this).children("ul").slideDown("fast");
	}, function() {
		$(this).children("ul").slideUp("fast");
	});
});
*/

/* Content Boxes */
$(document).ready(function() {
	$("#boxRK_button").click(function () {
		$("#boxRK").slideToggle("fast", function () {
			$("#boxRK_button").parent().toggleClass("sidebar_toggle_alt");
			$("#boxRK_head").toggleClass("sidebar_header_closed");
		});
	});
	$("#boxEx_button").click(function () {
		$("#boxEx").slideToggle("fast", function () {
			$("#boxEx_button").parent().toggleClass("sidebar_toggle_alt");
		});
	});
});


/* ----------------------
   Contact Functions
---------------------- */

$(document).ready(function() {
	$("#formName").blur(function() {
		var formNameError = false;
 		if ( $(this).val().length < 3 ) {
 			formNameError = true;
 		}
 		if ( formNameError == true ) {
 			$("#formName").css('background-color','#FFDADA');
 			$("#formNameError").css('color','#D20000');
 		} else {
 			$("#formName").css('background-color','#FFF');
 			$("#formNameError").css('color','#666');
 		}
	});
	$("#formEmail").blur(function() {
		var formEmailError = false;
 		if ( echeck($(this).val()) == false ) {
 			formEmailError = true;
 		}
 		if ( formEmailError == true ) {
 			$("#formEmail").css('background-color','#FFDADA');
 			$("#formEmailError").css('color','#D20000');
 		} else {
 			$("#formEmail").css('background-color','#FFF');
 			$("#formEmailError").css('color','#666');
 		}
	});
	$("#formMessage").blur(function() {
		var formMessageError = false;
 		if ( $(this).val().length < 3 ) {
 			formMessageError = true;
 		}
 		if ( formMessageError == true ) {
 			$("#formMessage").css('background-color','#FFDADA');
 			$("#formMessageError").css('color','#D20000');
 		} else {
 			$("#formMessage").css('background-color','#FFF');
 			$("#formMessageError").css('color','#666');
 		}
	});
	
	$("#submit").click(function() {
		formSubmitError = false;
		if ( $("#formName").val().length < 3 ) {
			formSubmitError = true;
		}
		if ( echeck($("#formEmail").val()) == false ) {
			formSubmitError = true;
		}
		if ( $("#formMessage").val().length < 3 ) {
			formSubmitError = true;
		}
		if ( formSubmitError == true ) {
			return false;
		} else {
			return true;
		}
	});

});

function echeck(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1) { return false; }
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) { return false; }
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) { return false; }
	if (str.indexOf(at,(lat+1))!=-1) { return false; }
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) { return false; }
	if (str.indexOf(dot,(lat+2))==-1) { return false }
	if (str.indexOf(" ")!=-1) { return false; }
	return true;				
}

/* ----------------------
   Search Functions
---------------------- */

var xmlHttp;

function showHint(str) {
	if (str.length == "") { 
		document.getElementById("searchResults").innerHTML = "";
		return;
	}
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	var url = "code/ajax_search.php";
	url = url + "?k="+str;
	url = url + "&sid="+Math.random();
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function stateChanged() { 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		document.getElementById("searchResults").innerHTML = xmlHttp.responseText;
	}
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}


/* ----------------------
   Scripts
---------------------- */

function extractPageName(hrefString) {
	var arr = hrefString.split('.');
	arr = arr[arr.length-2].split('/');
	return arr[arr.length-1].toLowerCase();		
}

function setActiveMenu(arr, crtPage) {
	for( var i=0; i<arr.length; i++ ) {
		if( extractPageName(arr[i].href) == crtPage) {
			if ( arr[i].parentNode.className == "endall" || arr[i].parentNode.className == "end" ) {
				//alert("no");
			} else {
				if ( arr[i].parentNode.className == "alt" ) {
					arr[i].className = "alt current";
					arr[i].parentNode.className = "alt current";
				} else {
					arr[i].className = "current";
					arr[i].parentNode.className = "current";
				}
			}
		}
	}
}

function hightlightCurrentMenu() {
	if( document.location.href ) {
		hrefString = document.location.href;
	} else {
		hrefString = document.location;
	}
	if ( document.getElementById("nav") != null )  {
		setActiveMenu(document.getElementById("nav").getElementsByTagName("a"), extractPageName(hrefString));
	}
}

