/* 
	 EnvyE Hosting Functions
	 
	 Copyright ESM Networks
	 
*/

var xmlHttp;
var opac = 0;

// pass in the price when the form is submitted to adjust the pricing again
function do_form_check(what,price) {
	if (check_form(what) == true) { 
		adjust_price(price);
		fill_custom_field(); 
		add_nd_price(); 
		what.submit();
	} 
	else { 
		return false; 
	}
}

function do_form_check_domain(what) {
	if (check_form_domain(what) == true) { 
		fill_custom_field(); 
		what.submit();
	} 
	else { 
		return false; 
	}
}

function check_form(frm) {
	var tos = document.getElementById('tos').checked;
	var aup = document.getElementById('aup').checked;
	var f = document.getElementById('submit_fname').value;
	var l = document.getElementById('submit_lname').value;
	var e = document.getElementById('submit_email').value;
	var u = document.getElementById('username').value;
	var p = document.getElementById('password').value;
	var msg;
	var e_check = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	
	if (!f) { msg = "Please enter your first name."; frm.fname.focus(); }
	else if (!l) { msg = "Please enter your last name."; frm.lname.focus();  }
	else if (e.search(e_check) == -1) { msg = "Please enter a valid email address.";  frm.email.focus(); }	
	else if (!u) { msg = "Please enter a desired username."; frm.username.focus(); }
	else if (!p) { msg = "Please enter a desired password."; frm.password.focus(); }
	else if (tos != true || aup != true) { 
		msg = "Please agree to our Terms of Service and Acceptable Use Policy."; 
		document.getElementById("tos_aup_container").style.background = "#EAEAEA"; 
	}
	
	if (msg) { alert(msg); return false; }
	
	return true;
}

function check_form_domain(frm) {
	var tos = document.getElementById('tos').checked;
	var aup = document.getElementById('aup').checked;
	var f = document.getElementById('submit_fname').value;
	var l = document.getElementById('submit_lname').value;
	var e = document.getElementById('submit_email').value;
	var nd = document.getElementById('cust_needdomain_value').value;
	var msg;
	var e_check = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	
	if (!f) { msg = "Please enter your first name."; frm.fname.focus(); }
	else if (!l) { msg = "Please enter your last name."; frm.lname.focus();  }
	else if (e.search(e_check) == -1) { msg = "Please enter a valid email address.";  frm.email.focus(); }	
	else if (!nd) { msg = "Please enter a domain name."; frm.cust_needdomain_value.focus();  }
	else if (tos != true || aup != true) { 
		msg = "Please agree to our Terms of Service and Acceptable Use Policy."; 
		document.getElementById("tos_aup_container").style.background = "#EAEAEA"; 
	}
	
	if (msg) { alert(msg); return false; }
	
	return true;
}

function toggle_owndomain() {
	var od = document.getElementById('cust_owndomain_chk');
	var nd = document.getElementById('cust_needdomain_chk');
	
	if (od.checked == true) {
		document.getElementById('owndomain').style.display = 'block';
		document.getElementById('needdomain').style.display = 'none';
		nd.checked = false;
	}
	else {
		document.getElementById('owndomain').style.display = 'none';
	}
}
function toggle_needdomain() {
	var od = document.getElementById('cust_owndomain_chk');
	var nd = document.getElementById('cust_needdomain_chk');
	
	if (nd.checked == true) {
		document.getElementById('needdomain').style.display = 'block';
		document.getElementById('owndomain').style.display = 'none';
		od.checked = false;
	}
	else {
		document.getElementById('needdomain').style.display = 'none';
	}
}
function add_nd_price() {
	document.order.a3.value = parseFloat(document.getElementById('your_total').innerHTML);
}
function adjust_price(price) {
	var new_price, sum, type;
	var x1 = false; var x2 = false;
	var total = document.getElementById('your_total');

	// make sure we reset the price before changing it, in case the user hits back on their browser.
	total.innerHTML = price;
	document.order.a3.value = price;
	if (document.getElementById('cust_needdomain_chk').checked == true) {
		new_price = parseFloat(document.order.a3.value) + 3.00;
		total.innerHTML = new_price.toFixed(2);
		x1 = true;
	}
	if (document.getElementById('cust_owndomain_chk').checked == true) {
		new_price = parseFloat(document.order.a3.value) + 0.00;
		total.innerHTML = new_price.toFixed(2);
		x2 = true;		
	}
	if (!x1 && !x2) {
		total.innerHTML = price;
	}
	
	type = document.getElementById('cycle').value.split(";");
	sum = (type[0] * total.innerHTML);
	sum = sum - (sum * type[2]); // this is for the savings.
	total.innerHTML = sum.toFixed(2);
	save_what = (type[3] ? '<br /><span style="color: #ff0000;">' + type[3] + '</span>' : '');
	document.getElementById('per').innerHTML = type[1] + save_what;
	document.order.p3.value = type[0];
	
	//alert(document.getElementById('custom').value);
}

function open_window(val) {
	var domain = document.getElementById(val).value;
	if (domain == '') {
		alert("Please enter a domain name!");
	}
	else {
		var id = '0x000';
		var url = '/check_domain/?chk.nv,' + domain;
		eval("page" + id + " = window.open(url, '" + id + "', 'toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=no,width=370,height=200,left = 390,top = 150');");
	}
}

function fill_custom_field() {
	var fname = document.getElementById('submit_fname').value;
	var lname = document.getElementById('submit_lname').value;
	var email = document.getElementById('submit_email').value;
	var u = document.getElementById('username').value;
	var p = document.getElementById('password').value;	
	var nd = document.getElementById('cust_needdomain_value').value;
	var od = document.getElementById('cust_owndomain_value').value;
	var ip = document.getElementById('eyepee').value;	
	
	var custom = document.order.custom;
	
	custom.value = fname + ';' + lname + ';' + email + ';u:' + u + ';p:' + p + ';o:' + od + ';n:' + nd + ';' + ip;	

}

function rollover_swap(img_src,img_id) {
	document.getElementById(img_id).src = img_src;
	return;
}

// ajax

// retrieves the XMLHttpRequest object
function xml_obj()	{
	// will store the reference to the XMLHttpRequest object
	var xmlHttp;
	// if running Internet Explorer
	if(window.ActiveXObject) {
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e) {
			xmlHttp = false;
		}
	}
	// if running Mozilla or other browsers
	else {
		try {
			xmlHttp = new XMLHttpRequest();
		}
		catch (e) {
			xmlHttp = false;
		}
	}
	// return the created object or display an error message
	if (!xmlHttp) {
		alert("Error creating the XMLHttpRequest object.");
	}
	else {
		return xmlHttp;
	}
}

function submit_quickq(q) {
	if (q.value) {
		var em = prompt("Please enter your email:","name@example.com");
		
		if(em && em != 'name@example.com') {
			
			quest = encodeURIComponent(q.value);
			em = encodeURIComponent(em);
			
			xmlHttp = xml_obj();
			// execute the quickstart.php page from the server
			xmlHttp.open("GET", "/include/_submit_quickq.php?q=" + quest + "&e=" + em, true);
			// define the method to handle server responses
			xmlHttp.onreadystatechange = quickq_incoming;
			document.getElementById('quickq_status').innerHTML = '<b class="small_text"><i>Sending...</b></i>';
			setTimeout(function () { xmlHttp.send(null); }, 2000);
		}
		else {
			alert("Please enter a valid email address.");
		}
	}
	else {
		alert("Please enter a question.");
	}
	q.focus();
}

function restore_quickq() {
	document.getElementById('quickq_status').innerHTML = '';
	document.getElementById('quickq_message').innerHTML = '';
	document.getElementById('quickq_message').style.display = 'none';
	document.getElementById('quickq').style.display = 'block';	
	document.form.quickq.question.value = '';
}

function quickq_incoming() {
	// move forward only if the transaction has completed
	if (xmlHttp.readyState == 4) {
	// status of 200 indicates the transaction completed successfully
		if (xmlHttp.status == 200) {
			rt = xmlHttp.responseText;
			document.getElementById('quickq_message').innerHTML = rt;
			document.getElementById('quickq').style.display = 'none';
			document.getElementById('quickq_message').style.display = 'block';			
		}
		// a HTTP status different than 200 signals an error
		else {
			document.getElementById('quickq_status').innerHTML = '<b class="small_text"><i>Error... please try again later.</b></i>';
		}
	}
}
