
function createSubmitRequestObject() {
	var xmlHttp;
	try { 
		xmlHttp=new XMLHttpRequest();
	} catch (e) { 
		try { 
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) { 
			try { 
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) { 
				return false;
			}
	 	}
	}
	return xmlHttp;
}

var SubmitHttp = null;
var SubmitButton = null;
var SubmitButtonValue = null;
var SubmitWebSite = location.protocol + '//' + window.location.host;

////////////////////////////////////////////////

function ClearEnterKey(evt) {
	var e = evt ? evt : window.event; if (!e) return;
	if(e.keyCode==13 || e.keyCode==9) { return false; }
}

function ValidateForm1(obj,dyn) {
	if (!emailcheck(obj.elements[0].value)) { alert('Please enter a valid email address.'); return false; }
	if ((CheckAjaxSubmitForm()) && (dyn)) { SubmitOptIn(obj); } else { obj.submit(); }
}

function ValidateForm2(obj,dyn) {
	if (!obj.elements[0].value) { alert('Please enter your name.'); return false; }
	if (!emailcheck(obj.elements[1].value)) { alert('Please enter a valid email address.'); return false; }
	if ((CheckAjaxSubmitForm()) && (dyn)) { SubmitOptIn(obj); } else { obj.submit(); }
}

function ValidateLoginForm(obj) {
	if (!obj.elements[0].value) { alert('Please enter your user name.'); return false; }
	if (!obj.elements[1].value) { alert('Please enter your password.'); return false; }
	obj.submit();
}

function ValidateUser1(obj) {
	if (!emailcheck(obj.elements[0].value)) { alert('Please enter a valid email address.'); return false; }
	obj.submit();
}

function ValidateUser2(obj) {
	if (!obj.elements[0].value) { alert('Please enter your user name.'); return false; }
	if (!obj.elements[1].value) { alert('Please enter your password.'); return false; }
	if (obj.elements[0].value.length < 4) { 
		alert('User name must range in length from 4 to 15 characters. Please reenter.'); return false;
	}
	if (obj.elements[1].value.length < 6) { 
		alert('Password must range in length from 6 to 10 characters. Please reenter.'); return false;
	}
	if (obj.elements[1].value != obj.elements[2].value) { 
		alert('Password and Confirm Password do not match. Please reenter.'); return false;
	}
	obj.submit();
}

function ValidateEmailInForm(obj,button) {
	if (!emailcheck(document.getElementById('emailfield').value)) { 
		alert('Please enter a valid email address.'); return false;
	}
	SetSubmitButton(button);
	obj.submit();
}

////////////////////////////////////////////////

function ValidateEmail(obj,seid,afid,cmid,type,pg,sbpg) {
	if ((obj.value.indexOf(".") > 2) && (obj.value.indexOf("@") > 0)) {
		var query = 'email=' + encodeURIComponent(obj.value) + '&';
		if (seid) { query += 'seid=' + encodeURIComponent(seid) + '&'; }
		if (afid) { query += 'afid=' + encodeURIComponent(afid) + '&'; }
		if (cmid) { query += 'cmid=' + encodeURIComponent(cmid) + '&'; }
		if (type) { query += 'type=' + encodeURIComponent(type) + '&'; }
		if (pg) { query += 'pg=' + encodeURIComponent(pg) + '&'; }
		if (sbpg) { query += 'sbpg=' + encodeURIComponent(sbpg) + '&'; }
		query += 'z=1';
		SubmitButton = null;
		SendSubmitData(SubmitWebSite + '/_scripts/validateemail.php',query);
	}
}

////////////////////////////////////////////////

function SubmitOptIn(obj) {
	query = 'formname='+obj.name+'&';
	for (var elems=0; elems < obj.length; elems++) {
	if (obj.elements[elems].name != "") {
		if (elems > 0) { query += "&"; }
		if (obj.elements[elems].type == "checkbox") {
			query += obj.elements[elems].name + "=" + obj.elements[elems].checked;
		} else if (obj.elements[elems].type == "radio") {
			if (obj.elements[elems].checked) {
			query += obj.elements[elems].name + "=" + encodeURIComponent(obj.elements[elems].value);
			}
		} else if (obj.elements[elems].type == "submit") {
			alert(obj.elements[elems].disabled);
			obj.elements[elems].disabled='true';
			alert(obj.elements[elems].disabled);
		} else {
			query += obj.elements[elems].name + "=" + encodeURIComponent(obj.elements[elems].value);
		}
	}
	}
	query += '&pathtopage=' + encodeURIComponent(location.pathname);
	SetSubmitButton(obj.name + 'button');
	SendSubmitData(SubmitWebSite + '/_scripts/ctoptin.php',query);
}

////////////////////////////////////////////////

function SubmitEmailForm(obj) {
	alert_msg = ''; 
	submission_string = 'formname='+obj.name;

	for (var elems=0; elems < obj.length; elems++) {
      if (obj.elements[elems].name != "") {
		submission_string += "&";
		if (obj.elements[elems].type == "checkbox") {
			submission_string += obj.elements[elems].name + "=" + obj.elements[elems].checked;
		} else if (obj.elements[elems].type == "radio") {
			if (obj.elements[elems].checked) {
			submission_string += obj.elements[elems].name + "=" + encodeURIComponent(obj.elements[elems].value);
			}
		} else {
			submission_string += obj.elements[elems].name + "=" + encodeURIComponent(obj.elements[elems].value);
			if (obj.elements[elems].name == "email") { 
				alert_msg += isValid(obj.elements[elems].value,"email","a valid email address"); }
			if (obj.elements[elems].name == "yourname") { 
				alert_msg += isValid(obj.elements[elems].value,"text","your name"); }
			if (obj.elements[elems].name == "yourquestion") { 
				alert_msg += isValid(obj.elements[elems].value,"text","your question"); }
		}
	}
	}

	if (alert_msg) { alert(alert_msg); return false; }
	SetSubmitButton(obj.name + 'button');
	BuildStatusBar(obj,"Sending Email","#009900",1); 
	SendSubmitData(SubmitWebSite + '/_scripts/sendemail.php',submission_string);
}

////////////////////////////////////////////////
var PingID = 0; var PingLoop = 0;
function PingPage(PageViewID) {
	if (PingLoop > 30) { return false; }
	if(PingID) { clearTimeout(PingID); PingID  = 0; }
	if (PingLoop > 0) { SendSubmitData(SubmitWebSite + '/_scripts/ctpageping.php','pvid=' + PageViewID); }
	PingID = setTimeout("PingPage(PageViewID)",30000);
	PingLoop++;
}

////////////////////////////////////////////////

function SendSubmitData(submiturl,content) {
	SubmitHttp = createSubmitRequestObject();
	SubmitHttp.open('POST',submiturl,true);
	SubmitHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	SubmitHttp.onreadystatechange = handleSubmitData;
	SubmitHttp.send(content);
}

function handleSubmitData() {
	if(SubmitHttp.readyState == 4){
		var response = SubmitHttp.responseText;
		CompleteSubmitData(response);
	}
}

function CompleteSubmitData(response) {
	HideStatusBar(); SetSubmitButton();

	response_parts = response.split("^=^");
	if (response_parts[0] == "stop") {
		return false;
	} else if (response_parts[0] == "failed") {
		alert(response_parts[1].replace("~","\n"));
		return false;
	} else if (response_parts[0] == "pageaction") {
		PageAction(response_parts);
		return false;
	} else if (response_parts[0] == "pageaction2") {
		PageAction2(response_parts);
		return false;
	} else if (response_parts[0] == "referdetect") {
		if (location.protocol == "https:") { 
		var refdurl = 'https://www.myaffiliateprogram.com/u/hypnet/reps.asp?id=' + response_parts[1];
		} else { 
		var refdurl = 'http://www.myaffiliateprogram.com/u/hypnet/rep.asp?id=' + response_parts[1];
		}
		var refdimg = new Image();
		refdimg.src = refdurl;
	} else if (response_parts[0] == "switchcontent") {
		document.getElementById(response_parts[2]).innerHTML = document.getElementById(response_parts[3]).innerHTML;
		if (document.getElementById('catfish')) { setTimeout("document.getElementById('catfish').style.display='none'",6000); }
	} else if (response_parts[0] == "successful") {
		document.getElementById(response_parts[2]).innerHTML = response_parts[3];
	} else if (response_parts[0] == "infoboxsubmitsuccessful") {
		document.getElementById(response_parts[1]).innerHTML = document.getElementById(response_parts[2]).innerHTML;
		BuildInfoBox(response_parts[3]);
	}
}

/////////////////////////////////////////////////

function isValid(str,type,alerttxt) {
	if ((type == "email") && (emailcheck(str))) {
	return "";
	} else if ((type == "text") && (!((str.length==0) || (str==null)))) {
	return "";
	} else {
	return "Please enter " + alerttxt + ".\n";
	}
}

function emailcheck(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;
}


function SetSubmitButton(name) {
	if ((!SubmitButton) && (name)) { SubmitButton = document.getElementById(name); }
	if (SubmitButton!=null) {
	if (SubmitButton.disabled) {
		if (!SubmitButtonValue) { SubmitButtonValue='Submit'; }
		SubmitButton.value=SubmitButtonValue;
		SubmitButton.disabled='';
	} else {
		SubmitButtonValue=SubmitButton.value;
		SubmitButton.value='Submitting . . .';
		SubmitButton.disabled='true';
	}
	}
}

function CheckAjaxSubmitForm() {
	xmlhttp=null;
	if (window.XMLHttpRequest) { 
		xmlhttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) { 
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null) { return 1; } else { return 0; }
}

///////////////////////////////////////////////////////

function AddtoCartProduct(checkoutpage,productid,newprice) {
	document.codata.action = 'https://'+ window.location.host + '/checkout/addtocart.php';
	document.codata.productid.value = productid;
	if (newprice) {
	 	document.codata.newprice.value = newprice;
		document.codata.priceoverride.value = 1; 
	}
	document.codata.submit();
	return false;
}

function AddtoCartBundle(checkoutpage,bundleid) {
	document.codata.action = 'https://'+ window.location.host + '/checkout/addtocart.php';
	document.codata.productid.value = 0;
	document.codata.bundleid.value = bundleid;
	document.codata.submit();
	return false;
}

function AddtoCart(obj,checkoutpage) {
	document.codata.action = 'https://'+ window.location.host + '/checkout/addtocart.php';
	for (var elems=0; elems < obj.length; elems++) {
		if (obj.elements[elems].type == "hidden") {
			if (obj.elements[elems].name == "productid") {
				document.codata.productid.value = obj.elements[elems].value;
			} else if (obj.elements[elems].name == "newprice") {
				document.codata.newprice.value = obj.elements[elems].value;
			} else if (obj.elements[elems].name == "priceoverride") {
				document.codata.priceoverride.value = obj.elements[elems].value;
			} else if (obj.elements[elems].name == "bundleid") {
				document.codata.bundleid.value = obj.elements[elems].value;
			}
		}
	}

	document.codata.submit();
	return false;
}

function ViewCart() {
	document.codata.action = 'https://'+ window.location.host + '/checkout/index.php';
	document.codata.submit();
	return false;
}


