//<!--
//--------------------------------------------------
String.prototype.trim = function() {
	var _ret = this.replace(/^\s+|\s+$/g, ''); return _ret.replace(/^(\&nbsp\;)+|(\&nbsp\;)+$/g, '');
}
//--------------------------------------------------
d = new Date();
day = d.getDate();
month = d.getMonth()+1;
year = d.getFullYear();
full = month + "." + day + "." + year;
//--------------------------------------------------
function writeYear() {
	var today = new Date();
	year = today.getFullYear();
	document.write(year);
}
//--------------------------------------------------
function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//--------------------------------------------------
function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
//--------------------------------------------------
function MM_findObj(n, d) { //v4.0
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n); return x;
}
//--------------------------------------------------
function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//--------------------------------------------------
function MM_displayStatusMsg(msgStr) { //v1.0
	status=msgStr;
	document.MM_returnValue = true;
}
//--------------------------------------------------
function validateContactUsForm() {
	var strMsgIntro = "The following fields are required:\n\n";
	var strMsg = "";
	with (document.ContactForm) {
		if (first_name.value.trim() == "") {
			strMsg = strMsg + "- First Name\n";
		}
		else {
			if (first_name.value.indexOf('http') > -1) {
				strMsg = strMsg + "- First Name has illegal characters\n";
			}
			else if (first_name.value.indexOf('href') > -1) {
				strMsg = strMsg + "- First Name has illegal characters\n";
			}
			else {
				if (first_name.value.length > 25) {
					strMsg = strMsg + " - First Name field is too long\n";
				}
			}
		}
		if (last_name.value.trim() == "") {
			strMsg = strMsg + "- Last Name\n";
		}
		else {
			if (last_name.value.indexOf('http') > -1) {
				strMsg = strMsg + "- Last Name has illegal characters\n";
			}
			if (last_name.value.indexOf('href') > -1) {
				strMsg = strMsg + "- Last Name has illegal characters\n";
			}
			if (last_name.value.length > 25) {
				strMsg = strMsg + " - Last Name field is too long\n";
			}
		}
		if (title.value.trim() == "") {
			strMsg = strMsg + "- Title\n";
		}
		else {
			if (title.value.indexOf('http') > -1) {
				strMsg = strMsg + "- Title has illegal characters\n";
			}
			if (title.value.indexOf('href') > -1) {
				strMsg = strMsg + "- Title has illegal characters\n";
			}
		}
		if (company.value.trim() == "") {
			strMsg = strMsg + "- Company\n";
		}
		else {
			if (company.value.indexOf('http') > -1) {
				strMsg = strMsg + "- Company has illegal characters\n";
			}
			if (company.value.indexOf('href') > -1) {
				strMsg = strMsg + "- Company has illegal characters\n";
			}
		}
		strMsg += checkDropdown(country.value.trim(),"Country");
		if (phone.value.trim() == "") {
			strMsg = strMsg + "- Phone Number\n";
		}
		else {
			strMsg += checkPhone(phone.value.trim(),"Phone",country.value.trim());
		}
		strMsg += checkEmail(email.value.trim());
		if (comments.value.trim() == "") {
			strMsg = strMsg + "- Questions/Comments\n";
		}
	}
	if (strMsg != "") {
		alert(strMsgIntro + strMsg);
		return false;
	}
	else {
		return true;
	}
}
//--------------------------------------------------
function validateWhitepaperForm() {
	var strMsgIntro = "The following fields are required:\n\n";
	var strMsg = "";
	with (document.WhitePaperForm) {
		if (first_name.value.trim() == "") {
			strMsg = strMsg + "- First Name\n";
		}
		if (last_name.value.trim() == "") {
			strMsg = strMsg + "- Last Name\n";
		}
		if (title.value.trim() == "") {
			strMsg = strMsg + "- Title\n";
		}
		if (company.value.trim() == "") {
			strMsg = strMsg + "- Company\n";
		}
		strMsg += checkDropdown(country.value.trim(),"Country");
		strMsg += checkEmail(email.value.trim());
		if (phone.value.trim() == "") {
			strMsg = strMsg + "- Phone Number\n";
		}
		else {
			strMsg += checkPhone(phone.value.trim(),"Phone Number",country.value.trim());
		}
		if (mobile.value != "") {
			strMsg += checkPhone(mobile.value.trim(),"Mobile Phone",country.value.trim());
		}
	}
	if (strMsg != "") {
		alert(strMsgIntro + strMsg);
		return false;
	}
	else {
		return true;
	}
}
//--------------------------------------------------
function validateEventMeetingForm() {
	var strMsgIntro = "The following fields are required:\n\n";
	var strMsg = "";
	with (document.EventMeetingForm) {
		if (first_name.value.trim() == "") {
			strMsg = strMsg + "- First Name\n";
		}
		if (last_name.value.trim() == "") {
			strMsg = strMsg + "- Last Name\n";
		}
		if (title.value.trim() == "") {
			strMsg = strMsg + "- Title\n";
		}
		if (company.value.trim() == "") {
			strMsg = strMsg + "- Company\n";
		}
		strMsg += checkDropdown(country.value.trim(),"Country");
		if (phone.value.trim() == "") {
			strMsg = strMsg + "- Phone Number\n";
		}
		else {
			strMsg += checkPhone(phone.value.trim(),"Phone",country.value.trim());
		}
		if (mobile.value.trim() == "") {
			strMsg = strMsg + "- Mobile Phone\n";
		}
		else {
			strMsg += checkPhone(mobile.value.trim(),"Mobile Phone",country.value.trim());
		}
		strMsg += checkEmail(email.value.trim());
	}
	if (strMsg != "") {
		alert(strMsgIntro + strMsg);
		return false;
	}
	else {
		return true;
	}
}
//--------------------------------------------------
function isEmpty(strng,fieldname) {
	var error = "";
	if (strng.length == 0) {
		error = fieldname + " has not been filled in.\n"
	}
	return error;
}
//--------------------------------------------------
function checkPhone (strng,fieldname,country) {
	var error = "";
	if (strng == "") {
		error = "You didn't enter a " + fieldname +" number.\n";
	}
	// spec says to validate for the +1 in US/Canada numbers and just + for all others
	var prefix = "";
	if (country != "") { //make sure we don't show the wrong error or use the wrong logic if they left country blank
		if (country == "USA" || country == "Canada"){
			prefix = strng.substring(-1,1);
			if (!(prefix == "1" || prefix == "+")) {
				error = "Please specify the area code for the phone number. You may use International notation if you wish; +1 123 456 7890.\n";
			}
		}
		else {
			prefix = strng.substring(-1,1);
			if (prefix != "+") {
				error = "Please use the format specified for International numbers, +1 123 456 7890, where the \"+\" is followed by your Country prefix.\n";
			}
		}
	}
	var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) {
		error = "The " + fieldname +" number contains illegal characters. Please enter numbers using the format +1 123 456 7890\n";
	}
	if ((stripped.length < 9)) {
		error = "The " + fieldname +" number is the wrong length. Make sure you include the country code and area code using the format +1 123 456 7890\n";
	}
	return error;
}
//--------------------------------------------------
function checkIllegalChars(sCheck) {
}
//--------------------------------------------------
function checkDropdown(choice,fieldname) {
	var error = "";
	if (choice == 0) {
		error = "- " + fieldname + "\n";
	}
	return error;
}
//--------------------------------------------------
function checkEmail(strng) {
	var error="";
	if (strng == "") {
		error = "You didn't enter an Email Address.\n";
	}
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(strng))) {
		error = "- Please enter a valid Email Address.\n";
	}
	else {
		//test email for illegal characters
		var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
		if (strng.match(illegalChars)) {
			error = "The Email Address contains illegal characters.\n";
		}
	}
	return error;
}
//--------------------------------------------------
function nudgeFirefox(){
	/* sort out a height problem in firefox */
	document.getElementsByTagName('body')[0].style.width='99%';
	document.getElementsByTagName('body')[0].style.width='auto';
}
//--------------------------------------------------
function showDiv(idDiv) {
	if (document.getElementById) {
		var overview = document.getElementById("overview");
		var taboverview = document.getElementById("tab-overview");
		var divtaboverview = document.getElementById("divtabs-overview");

		var diagram = document.getElementById("diagram");
		var diagram_active = document.getElementById("diagram_active");
		var tabdiagram = document.getElementById("tab-diagram");
		var divtabdiagram = document.getElementById("divtabs-diagram");

		var features = document.getElementById("features");
		var features_active = document.getElementById("features_active");
		var tabfeatures = document.getElementById("tab-features");
		var divtabfeatures = document.getElementById("divtabs-features");

		var overview_active = document.getElementById("overview_active");
		var overview_off = document.getElementById("overview_off");
		var overview_on = document.getElementById("overview_on");
		var overview_text = document.getElementById("overview_text");

		var diagram_active = document.getElementById("diagram_active");
		var diagram_off = document.getElementById("diagram_off");
		var diagram_on = document.getElementById("diagram_on");
		var diagram_text = document.getElementById("diagram_text");

		var features_active = document.getElementById("features_active");
		var features_off = document.getElementById("features_off");
		var features_on = document.getElementById("features_on");
		var features_text = document.getElementById("features_text");

		overview.style.display = 'none';
		diagram.style.display = 'none';
		features.style.display = 'none';

		taboverview.className = 'producttabs_off';
		tabdiagram.className = 'producttabs_off';
		tabfeatures.className = 'producttabs_off';

		overview_active.style.display = 'none';
		diagram_active.style.display = 'none';
		features_active.style.display = 'none';

		overview_off.style.display = 'none';
		diagram_off.style.display = 'none';
		features_off.style.display = 'none';

		overview_on.style.display = 'none';
		diagram_on.style.display = 'none';
		features_on.style.display = 'none';

		/*
		divtaboverview.className = 'tabs_off innerlink';
		divtabdiagram.className = 'tabs_off innerlink';
		divtabfeatures.className = 'tabs_off innerlink';
		*/

		switch (idDiv) {
			case 'overview':
				overview.style.display = 'block';
				overview_active.style.display = 'block';
				diagram_off.style.display = 'block';
				features_off.style.display = 'block';
				overview_text.style.color = "#2A6E41";
				diagram_text.style.color = "#FFFFFF";
				features_text.style.color = "#FFFFFF";
				taboverview.className = 'producttabs_active';
				swapTabOff('tab-diagram','divtabs-diagram');
				swapTabOff('tab-features', 'divtabs-features');
				/* divtaboverview.className = 'tabs_active innerlink'; */
			break;
			case 'diagram':
				diagram.style.display = 'block';
				diagram_active.style.display = 'block';
				overview_off.style.display = 'block';
				features_off.style.display = 'block';
				overview_text.style.color = "#FFFFFF";
				diagram_text.style.color = "#2A6E41";
				features_text.style.color = "#FFFFFF";
				tabdiagram.className = 'producttabs_active';
				swapTabOff('tab-overview', 'divtabs-overview');
				swapTabOff('tab-features', 'divtabs-features');
				/* divtabdiagram.className = 'tabs_active innerlink'; */
			break;
			case 'features':
				features.style.display = 'block';
				features_active.style.display = 'block';
				overview_off.style.display = 'block';
				diagram_off.style.display = 'block';
				overview_text.style.color = "#FFFFFF";
				diagram_text.style.color = "#FFFFFF";
				features_text.style.color = "#2A6E41";
				tabfeatures.className = 'producttabs_active';
				swapTabOff('tab-overview', 'divtabs-overview');
				swapTabOff('tab-diagram','divtabs-diagram');
				/* divtabfeatures.className = 'tabs_active innerlink'; */
			break;
		}
	}
	nudgeFirefox();
	return false;
}
//--------------------------------------------------
