var xmlhttp;
var formReady = true;
	
function bookmark(url,title){
	if ( (navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4) ) {
		window.external.AddFavorite(url,title);
	} 
	else if (navigator.appName == "Netscape") {
		window.sidebar.addPanel(title,url,"");
	} 
	else {
		alert("Press CTRL-D (Netscape) or CTRL-T (Opera) to bookmark");
	}
}

function isValidEmail(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	var check = pattern.test(emailAddress);
	
	if (check == false) {
		// highlight field as an invalid email address
		document.getElementById('email').style.border = '2px solid red';
	}
	else {
		document.getElementById('email').style.border = '';
	}
}

function openTermsAndConditions() {
	window.open("../terms_and_conditions.html","terms-and-conditions","scrollbars=yes,width=800,height=500");
}

function closeTermsAndConditions() {
	window.close();
	
	if (window.opener) {
		window.opener.focus();
	}
}

function clearDefaultValue(ele) {
	if (ele.value == '< enter email address >') {
		ele.value = '';
	}
	return false;
}

function checkDefaultValue(ele) {
	if (ele.value == '') {
		ele.value = '< enter email address >';
	}
	return false;
}

function submit_project_upload() {

	var emailAddress = document.getElementById('email');

	if (emailAddress.value == "") {
		formReady = false;
		$("#email").css({'border' : '2px solid red'});
	}
	
	var type = $('select#type option:selected').val();
	var office = $('select#office option:selected').val();
	
	if (type != "0") {
		$("#type").css({'border' : '1px solid black'});
	}
	else {
		formReady = false;
		$("#type").css({'border' : '2px solid red'});
	}
	
	if (office != "0") {
		$("#office").css({'border' : '1px solid black'});
	}
	else {
		formReady = false;
		$("#office").css({'border' : '2px solid red'});
	}
	
	var overview = document.getElementById('overview');
	var spec = document.getElementById('spec');
	
	if (overview.value != "") {
		$("#overview").css({'border' : '1px solid black'});
	}
	else {
		formReady = false;
		$("#overview").css({'border' : '2px solid red'});
	}
	
	if (spec.value != "") {
		$("#spec").css({'border' : '1px solid black'});
	}
	else {
		formReady = false;
		$("#spec").css({'border' : '2px solid red'});
	}
	
	var termsAndConditions = document.getElementById('terms');

	if (termsAndConditions.checked) {
		$("#terms-and-conditions").css({'border' : 'none'});
	}
	else {
		formReady = false;
		$("#terms-and-conditions").css({'border' : '2px solid red'});
	}
	
	var captcha = document.getElementById('captcha');
	
	if (captcha.value != "") {
		$("#captcha").css({'border' : '1px solid black'});
		$("#errors").html("");
				
		xmlhttp = getXmlHttpObject();
		
		if (xmlhttp == null) {
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		
		var url = "../lib/CAPTCHA.php";
		url = url + "?code=" + captcha.value;
		url = url + "&sid=" + Math.random();
		xmlhttp.onreadystatechange = function () {		
			if (xmlhttp.status == 200) {
				if (xmlhttp.readyState==4) {
					switch (xmlhttp.responseText) {
						case "false":
							formReady = false;
							alert("the security code was wrong please enter again")
							$("#errors").html("Some required fields are missing, please check highlighted fields before submitting!");
							$("#captcha").css({'border' : '2px solid red'});
							document.getElementById('security-image').src = '../lib/securimage/securimage_show.php?sid=' + Math.random();
							break;
						case "true":
							formReady = true;
							$("#errors").html("");
							$("#captcha").css({'border' : '1px solid black'});
							break;
					}
				}
			}
		};
		xmlhttp.open("POST", url, true);
		xmlhttp.send(null);
	
		if (formReady == true) {
			$("form:first").submit();
			$("#errors").html("");
		}
		else {
			$("#errors").html("Some required fields are missing, please check highlighted fields before submitting!");
		}
		
	}
	else {
		formReady = false;
		$("#captcha").css({'border' : '2px solid red'});
		$("#errors").html("Some required fields are missing, please check highlighted fields before submitting!");
	}
}

function submit_contact_form() {

	var emailAddress = document.getElementById('email');

	if (emailAddress.value == "") {
		formReady = false;
		$("#email").css({'border' : '2px solid red'});
	}
	
	var type = $('select#type option:selected').val();
	
	var captcha = document.getElementById('captcha');
	
	if (captcha.value != "") {
		$("#captcha").css({'border' : '1px solid black'});
		$("#errors").html("");
				
		xmlhttp = getXmlHttpObject();
		
		if (xmlhttp == null) {
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		
		var url = "../lib/CAPTCHA.php";
		url = url + "?code=" + captcha.value;
		url = url + "&sid=" + Math.random();
		xmlhttp.onreadystatechange = function () {		
			if (xmlhttp.status == 200) {
				if (xmlhttp.readyState==4) {
					switch (xmlhttp.responseText) {
						case "false":
							formReady = false;
							alert("the security code was wrong please enter again")
							$("#errors").html("Some required fields are missing, please check highlighted fields before submitting!");
							$("#captcha").css({'border' : '2px solid red'});
							document.getElementById('security-image').src = '../lib/securimage/securimage_show.php?sid=' + Math.random();
							break;
						case "true":
							formReady = true;
							$("#errors").html("");
							$("#captcha").css({'border' : '1px solid black'});
							break;
					}
				}
			}
		};
		xmlhttp.open("POST", url, true);
		xmlhttp.send(null);
	
		if (formReady == true) {
			$("form:first").submit();
			$("#errors").html("");
		}
		else {
			$("#errors").html("Some required fields are missing, please check highlighted fields before submitting!");
		}
		
	}
	else {
		formReady = false;
		$("#captcha").css({'border' : '2px solid red'});
		$("#errors").html("Some required fields are missing, please check highlighted fields before submitting!");
	}

}

function check_for_file(ele) {

	if (ele.value != "") {
		ele.style.border = "none";
	}
}

function getXmlHttpObject() {
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	
	if (window.ActiveXObject) {
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return null;
}