function determineObject(targetOBJ) {
	var element = null;
	if(document.all) {
		element = document.all[targetOBJ];
	}
	if (document.getElementById) {
		element = document.getElementById(targetOBJ);
	}
	return element;
}

function showTerms() {
	var thisid = determineObject("popupFormterms");
	var thisloc = determineObject("termsLocationScreen");
	var stateSelect = determineObject("stateSelect");
	var countrySelect = determineObject("countrySelect");
	var posAr = Position.get(thisloc);
	Position.set(thisid, posAr);
	thisid.setAttribute("class", "visible");
	thisid.setAttribute("className", "visible");
	stateSelect.setAttribute("class", "invisible");
	stateSelect.setAttribute("className", "invisible");
	countrySelect.setAttribute("class", "invisible");
	countrySelect.setAttribute("className", "invisible");
}

function hideTerms() {
	var stateSelect = determineObject("stateSelect");
	var countrySelect = determineObject("countrySelect");
	var thisid = determineObject("popupFormterms");
	thisid.setAttribute("class", "invisible");
	thisid.setAttribute("className", "invisible");
	stateSelect.setAttribute("class", "rightforminput_state visible");
	stateSelect.setAttribute("className", "rightforminput_state visible");
	countrySelect.setAttribute("class", "rightforminput visible");
	countrySelect.setAttribute("className", "rightforminput visible");
}

function isFilled(input) {
	return (input.value.length != 0);
}

function radioSelected(radio){
	for (i=0;i<radio.length;i++){
		if(radio[i].checked==true)return true;
	}return false;
}

function ValidateForm(formOBJ) {
	emailReg = /^[\w\._-]+@[a-zA-Z0-9_-]+\.([a-zA-Z]{2,3})|[\w\._-]+@[a-zA-Z0-9_-]+\.([a-zA-Z0-9]{2,3}\.[a-zA-Z]{2,3})$/;
	phoneReg = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext| ext.)\d{1,5}){0,1}$/;
	msg = "";
	if(!formOBJ.optIN.checked) {
		msg += "You must read and agree to the terms and conditions.\n";
	}
	if(!isFilled(formOBJ.first_name) || (formOBJ.first_name.value == ' * First Name')) {
		msg += "Please provide your first name.\n";
	}
	if(!isFilled(formOBJ.last_name) || (formOBJ.last_name.value == ' * Last Name')) {
		msg += "Please provide your last name.\n";
	}
	if(!isFilled(formOBJ.email) || (formOBJ.email.value == ' * Email Address')) {
		msg += "Please provide your email address.\n";
	} else {
		str = formOBJ.email.value;
		if(str.search(emailReg) == -1 ) {
			msg += "'" + str + "' does not appear to be a valid email address.\n"
		}
	}
	if(!isFilled(formOBJ.address) || (formOBJ.address.value == ' * Address')) {
		msg += "Please provide your postal address.\n";
	}
	if(!isFilled(formOBJ.city) || (formOBJ.city.value == ' * City')) {
		msg += "Please provide your city.\n";
	}
	if(!isFilled(formOBJ.state) || (formOBJ.state.value == ' * State')) {
		msg += "Please provide your state/province/region.\n";
	}
	if(!isFilled(formOBJ.zip) || (formOBJ.zip.value == ' * Zip')) {
		msg += "Please provide your postal code.\n";
	}
	if(!isFilled(formOBJ.phone) || (formOBJ.phone.value == ' * Phone')) {
		msg += "Please provide your phone number.\n";
	} else {
		// formOBJ.phone.value = replaceDot(formOBJ.phone.value);
		str = formOBJ.phone.value;
		if(str.search(phoneReg) == -1 ) {
			msg += "'" + str + "' does not appear to be a valid phone number.\n"
		}
	}
	if(!radioSelected(formOBJ.industry)){
		msg += "Please specify your market of interest.\n";
	}
	if(msg != "") {
		alert(msg);
		return false;
	}
}

function ValidateSidebarForm(formOBJ) {
	emailReg = /^[\w\._-]+@[a-zA-Z0-9_-]+\.([a-zA-Z]{2,3})|[\w\._-]+@[a-zA-Z0-9_-]+\.([a-zA-Z0-9]{2,3}\.[a-zA-Z]{2,3})$/;
	phoneReg = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext| ext.)\d{1,5}){0,1}$/;
	msg = "";
	/*if(!formOBJ.optIN.checked) {
		msg += "You must read and agree to the terms and conditions.\n";
	}*/
	if(!isFilled(formOBJ.first_name) || (formOBJ.first_name.value == ' * First Name')) {
		msg += "Please provide your first name.\n";
	}
	if(!isFilled(formOBJ.last_name) || (formOBJ.last_name.value == ' * Last Name')) {
		msg += "Please provide your last name.\n";
	}
	if(!isFilled(formOBJ.email) || (formOBJ.email.value == ' * Email Address')) {
		msg += "Please provide your email address.\n";
	} else {
		str = formOBJ.email.value;
		if(str.search(emailReg) == -1 ) {
			msg += "'" + str + "' does not appear to be a valid email address.\n"
		}
	}
	if(!isFilled(formOBJ.state) || (formOBJ.state.value == ' * State')) {
		msg += "Please provide your state/province/region.\n";
	}
	if(!isFilled(formOBJ.zip) || (formOBJ.zip.value == ' * Zip')) {
		msg += "Please provide your postal code.\n";
	}
	if(!isFilled(formOBJ.phone) || (formOBJ.phone.value == ' * Phone')) {
		msg += "Please provide your phone number.\n";
	} else {
		// formOBJ.phone.value = replaceDot(formOBJ.phone.value);
		str = formOBJ.phone.value;
		if(str.search(phoneReg) == -1 ) {
			msg += "'" + str + "' does not appear to be a valid phone number.\n"
		}
	}
	
	if(!isFilled(formOBJ.captcha_code)){
		msg += "Please enter the CAPTCHA code.\n";
	}
	
	if(msg != "") {
		alert(msg);
	}else{
		validateCaptcha(formOBJ);
	}
	
	return false;
}

function ValidateContactForm(formOBJ) {
	emailReg = /^[\w\._-]+@[a-zA-Z0-9_-]+\.([a-zA-Z]{2,3})|[\w\._-]+@[a-zA-Z0-9_-]+\.([a-zA-Z0-9]{2,3}\.[a-zA-Z]{2,3})$/;
	phoneReg = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext| ext.)\d{1,5}){0,1}$/;
	msg = "";
	if(!formOBJ.optIN.checked) {
		msg += "You must read and agree to the terms and conditions.\n";
	}
	if(!isFilled(formOBJ.first_name)) {
		msg += "Please provide your first name.\n";
	}
	if(!isFilled(formOBJ.last_name)) {
		msg += "Please provide your last name.\n";
	}
	if(!isFilled(formOBJ.email)) {
		msg += "Please provide your email address.\n";
	} else {
		str = formOBJ.email.value;
		if(str.search(emailReg) == -1 ) {
			msg += "'" + str + "' does not appear to be a valid email address.\n"
		}
	}
	if(!isFilled(formOBJ.company)) {
		msg += "Please provide your company name.\n";
	}
	if(!isFilled(formOBJ.phone)) {
		msg += "Please provide your phone number.\n";
	} else {
		str = formOBJ.phone.value;
		if(str.search(phoneReg) == -1 ) {
			msg += "'" + str + "' does not appear to be a valid phone number.\n"
		}
	}
	if(!isFilled(formOBJ.address)) {
		msg += "Please provide your postal address.\n";
	}
	if(!isFilled(formOBJ.city)) {
		msg += "Please provide your city.\n";
	}
	if(!isFilled(formOBJ.state)) {
		msg += "Please provide your state/province/region.\n";
	}
	if(!isFilled(formOBJ.zip)) {
		msg += "Please provide your postal code.\n";
	}
	if(!isFilled(formOBJ.leadtype)) {
		msg += "Please specify your roll.\n";
	}
	if(!radioSelected(formOBJ.industry)){
		msg += "Please specify your market of interest.\n";
	}
	
	if(!isFilled(formOBJ.captcha_code)){
		msg += "Please enter the CAPTCHA code.\n";
	}
	
	if(msg != "") {
		alert(msg);
	}else{
		validateCaptcha(formOBJ);
	}
	
	return false;
}

function ValidateRegForm(formOBJ) {
	emailReg = /^[\w\._-]+@[a-zA-Z0-9_-]+\.([a-zA-Z]{2,3})|[\w\._-]+@[a-zA-Z0-9_-]+\.([a-zA-Z0-9]{2,3}\.[a-zA-Z]{2,3})$/;
	phoneReg = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext| ext.)\d{1,5}){0,1}$/;
	msg = "";
	if(!formOBJ.optIN.checked) {
		msg += "You must read and agree to the terms and conditions.\n";
	}
	if(!isFilled(formOBJ.first_name)) {
		msg += "Please provide your first name.\n";
	}
	if(!isFilled(formOBJ.last_name)) {
		msg += "Please provide your last name.\n";
	}
	if(!isFilled(formOBJ.email)) {
		msg += "Please provide your email address.\n";
	} else {
		str = formOBJ.email.value;
		if(str.search(emailReg) == -1 ) {
			msg += "'" + str + "' does not appear to be a valid email address.\n"
		}
	}
	if(!isFilled(formOBJ.company)) {
		msg += "Please provide your company name.\n";
	}
	if(!isFilled(formOBJ.phone)) {
		msg += "Please provide your phone number.\n";
	} else {
		str = formOBJ.phone.value;
		if(str.search(phoneReg) == -1 ) {
			msg += "'" + str + "' does not appear to be a valid phone number.\n"
		}
	}
	if(!isFilled(formOBJ.address)) {
		msg += "Please provide your postal address.\n";
	}
	if(!isFilled(formOBJ.city)) {
		msg += "Please provide your city.\n";
	}
	if(!isFilled(formOBJ.state)) {
		msg += "Please provide your state/province/region.\n";
	}
	if(!isFilled(formOBJ.zip)) {
		msg += "Please provide your postal code.\n";
	}
	if(!isFilled(formOBJ.productmodel)) {
		msg += "Please provide your product model.\n";
	}
	if(!isFilled(formOBJ.serialnumber)) {
		msg += "Please provide your serial number.\n";
	}
	if(!isFilled(formOBJ.purchaseplace)) {
		msg += "Please provide your place of purchase.\n";
	}
	// if(!isFilled(formOBJ.User4)) {
	// 	msg += "Please provide your date of purchase.\n";
	// }
	if(!isFilled(formOBJ.leadtype)) {
		msg += "Please specify your roll.\n";
	}
	if(!radioSelected(formOBJ.purchaseinfluence)){
		msg += "Please specify your purchase influence.\n";
	}
	if(!radioSelected(formOBJ.industry)){
		msg += "Please specify your market of interest.\n";
	}
	// if((formOBJ.User8.checked == false) && (formOBJ.User9.checked == false) && (formOBJ.User10.checked == false) && (formOBJ.User11.checked == false) && (formOBJ.User12.checked == false) && (formOBJ.User13.checked == false) && (formOBJ.User14.checked == false)) {
	//	msg += "Please specify your reason(s) for purchase.\n";
	//}
	
	if(!isFilled(formOBJ.captcha_code)){
		msg += "Please enter the CAPTCHA code.\n";
	}
	
	if(msg != "") {
		alert(msg);
	}else{
		validateCaptcha(formOBJ);
	}
	
	return false;
}

var Position = (function() {
	function resolveObject(s) {
		if (document.getElementById && document.getElementById(s)!=null) {
			return document.getElementById(s);
		}
		else if (document.all && document.all[s]!=null) {
			return document.all[s];
		}
		else if (document.anchors && document.anchors.length && document.anchors.length>0 && document.anchors[0].x) {
			for (var i=0; i<document.anchors.length; i++) {
				if (document.anchors[i].name==s) { 
					return document.anchors[i]
				}
			}
		}
	}
	var pos = {};
	pos.$VERSION = 1.0;
	pos.set = function(o,left,top) {
		if (typeof(o)=="string") {
			o = resolveObject(o);
		}
		if (o==null || !o.style) {
			return false;
		}
		if (typeof(left)=="object") {
			var pos = left;
			left = pos.left;
			top = pos.top;
		}	
		o.style.left = left + "px";
		o.style.top = top + "px";
		return true;
	};
	pos.get = function(o) {
		var fixBrowserQuirks = true;
		if (typeof(o)=="string") {
			o = resolveObject(o);
		}
		if (o==null) {
			return null;
		}	
		var left = 0;
		var top = 0;
		var width = 0;
		var height = 0;
		var parentNode = null;
		var offsetParent = null;
		offsetParent = o.offsetParent;
		var originalObject = o;
		var el = o;
		while (el.parentNode!=null) {
			el = el.parentNode;
			if (el.offsetParent==null) {
			}
			else {
				var considerScroll = true;
				if (fixBrowserQuirks && window.opera) {
					if (el==originalObject.parentNode || el.nodeName=="TR") {
						considerScroll = false;
					}
				}
				if (considerScroll) {
					if (el.scrollTop && el.scrollTop>0) {
						top -= el.scrollTop;
					}
					if (el.scrollLeft && el.scrollLeft>0) {
						left -= el.scrollLeft;
					}
				}
			}
			if (el == offsetParent) {
				left += o.offsetLeft;
				if (el.clientLeft && el.nodeName!="TABLE") { 
					left += el.clientLeft;
				}
				top += o.offsetTop;
				if (el.clientTop && el.nodeName!="TABLE") {
					top += el.clientTop;
				}
				o = el;
				if (o.offsetParent==null) {
					if (o.offsetLeft) {
						left += o.offsetLeft;
					}
					if (o.offsetTop) {
						top += o.offsetTop;
					}
				}
				offsetParent = o.offsetParent;
			}
		}
		if (originalObject.offsetWidth) {
			width = originalObject.offsetWidth;
		}
		if (originalObject.offsetHeight) {
			height = originalObject.offsetHeight;
		}
		return {'left':left, 'top':top, 'width':width, 'height':height
				};
	};
	pos.getCenter = function(o) {
		var c = this.get(o);
		if (c==null) { return null; }
		c.left = c.left + (c.width/2);
		c.top = c.top + (c.height/2);
		return c;
	};
	return pos;
})();

function validateCaptcha(formOBJ){
	var http = (window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject(Microsoft.XMLHTTP);

	var url = "/includes/validate-captcha.php";
	
	var params = "validate_id="+formOBJ.validate_id.value+"&captcha_code="+formOBJ.captcha_code.value;
	http.open("POST",url,true);

	http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length",params.length);
	http.setRequestHeader("Connection","close");

	http.onreadystatechange = function(){
		if((http.readyState==4)&&(http.status==200)){
			if(http.responseText=='captcha-failure'){
				document.getElementById('msg-captcha').style.display = 'block';
			}else if(http.responseText=='captcha-success'){
				formOBJ.submit();
			}
		}
	}
	
	http.send(params);
}