function elem(id) {
	return document.getElementById(id);
}
function ajax() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}
	return ro;
}
function formatCurrency(amount) {
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = "";
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function setPrice() {
	city = elem('city').value;
	state = elem('state').value;
	package = elem('package').value;
	promo = elem('promo').value;
	
	var ajx = new ajax;
	ajx.open('get', 'script/ajax.php?action=setprice&city=' + city + '&state=' + state + '&package=' + package + '&promo=' + promo, true);
	ajx.onreadystatechange = function() {
		if(ajx.readyState == 4) {
			//alert(ajx.responseText);
			//PARSE
			response = ajx.responseText.split('|');
			packageprice = response[0];
			taxrate = response[1];
			//CALCULATE TAX
			taxvalue = parseFloat(packageprice) * parseFloat(taxrate);
			//CALCULATE TOTAL
			grandtotal = parseFloat(packageprice) + parseFloat(taxvalue);
			//alert(packageprice + ' ' + tax + ' ' + grandtotal);
			//TO PAGE
			elem('packagePrice').innerHTML = '$' + formatCurrency(packageprice);
			elem('tax').innerHTML = '$' + formatCurrency(taxvalue);
			elem('grandTotal').innerHTML = '$' + formatCurrency(grandtotal);
			
			elem('amount').value = formatCurrency(grandtotal)
			if(response[2] == 0) {
				elem('promomsg').innerHTML = '';
			} else if(response[2] == 1) {
				elem('promomsg').innerHTML = 'Promo Code Accepted';
			} else if(response[2] == 2) {
				elem('promomsg').innerHTML = 'Promo Code Invalid';
			}
			
		}
	}
	ajx.send(null);
}
function setRenewPrice() {
	city = elem('city').value;
	state = elem('state').value;
	termsindex = elem('terms').selectedIndex;
	terms = elem('terms')[termsindex].value;
	//promo = elem('promo').value;
	
	var ajx = new ajax;
	ajx.open('get', 'script/ajax.php?action=setrenewprice&city=' + city + '&state=' + state + '&terms=' + terms, true);
	ajx.onreadystatechange = function() {
		if(ajx.readyState == 4) {
			//alert(ajx.responseText);
			//PARSE
			response = ajx.responseText.split('|');
			packageprice = response[0];
			taxrate = response[1];
			//CALCULATE TAX
			taxvalue = parseFloat(packageprice) * parseFloat(taxrate);
			//CALCULATE TOTAL
			grandtotal = parseFloat(packageprice) + parseFloat(taxvalue);
			//alert(packageprice + ' ' + tax + ' ' + grandtotal);
			//TO PAGE
			elem('packagePrice').innerHTML = '$' + formatCurrency(packageprice);
			elem('tax').innerHTML = '$' + formatCurrency(taxvalue);
			elem('grandTotal').innerHTML = '$' + formatCurrency(grandtotal);
			
			elem('amount').value = formatCurrency(grandtotal)
		}
	}
	ajx.send(null);
}
function checkForm(which) {
	var ajx = new ajax;
	var zip = elem('zip').value;
	ajx.open('get', 'script/ajax.php?action=checkzip&zip=' + zip, true);
	ajx.onreadystatechange = function() {
		if(ajx.readyState == 4) {
			response = ajx.responseText;
			if(response == 'bad') {
				if(confirm("Your zip code falls within the standard delivery zone\nof the Deseret News and does not qualify for this offer.\n\nSubscribe to the Deseret News?")) {
					window.location="https://www.mediaoneutah.com/circulation/service/";
				}
			} else {
				if(elem('first').value == '') {
					alert("Your first name is missing");	
				} else if(elem('last').value == '') {
					alert("Your last name is missing");	
				} else if(elem('address').value == '') {
					alert("Your address is missing");	
				} else if(elem('city').value == '') {
					alert("Your city is missing");
				} else if(elem('state').value == '') {
					alert("Please select your state");	
				} else if(elem('zip').value == '') {
					alert("Your zip code is missing");	
				} else if(elem('email').value == '') {
					alert("Your email is missing");		
				} else {
					if(which == 'renew') {
						toCheckoutRenew();	
					} else {
						toCheckout();	
					}
				}
			}
		}
	}
	ajx.send(null);				  
}

function toCheckout() {
	setPrice();
	var first = elem('first').value;
	var last = elem('last').value;
	var address = elem('address').value;
	var address2 = elem('address2').value;
	var city = elem('city').value;
	var state = elem('state').value;
	var zip = elem('zip').value;
	var phone = elem('phone').value;
	var email = elem('email').value;
	var package = elem('package').value;
	var transid = document.form.transaction_id.value;
	var amount = elem('amount').value;
	var promo = elem('promo').value;
	
	var ajx = new ajax;
	var params = 'action=tocheckout&first=' + first + '&last=' + last + '&address=' + address + '&address2=' + address2 + '&city=' + city + '&state=' + state + '&zip=' + zip + '&phone=' + phone + '&email=' + email + '&package=' + package + '&transid=' + transid + '&amount=' + amount + '&promo=' + promo; 
	ajx.open('POST', 'script/ajax.php',true);
	ajx.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajx.setRequestHeader("Content-length", params.length);
	ajx.setRequestHeader("Connection", "close");
	ajx.onreadystatechange = function() {
		if(ajx.readyState == 4){
			//alert(ajx.responseText);
			document.form.submit();
		}
	}
	ajx.send(params);
}
function toCheckoutRenew() {
	setRenewPrice();
	var first = elem('first').value;
	var last = elem('last').value;
	var address = elem('address').value;
	var address2 = elem('address2').value;
	var city = elem('city').value;
	var state = elem('state').value;
	var zip = elem('zip').value;
	var phone = elem('phone').value;
	var email = elem('email').value;
	var transid = document.form.transaction_id.value;
	var amount = elem('amount').value;
	termsindex = elem('terms').selectedIndex;
	terms = elem('terms')[termsindex].value;
	
	var ajx = new ajax;
	var params = 'action=tocheckoutrenew&first=' + first + '&last=' + last + '&address=' + address + '&address2=' + address2 + '&city=' + city + '&state=' + state + '&zip=' + zip + '&phone=' + phone + '&email=' + email + '&transid=' + transid + '&amount=' + amount + '&terms=' + terms; 
	ajx.open('POST', 'script/ajax.php',true);
	ajx.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajx.setRequestHeader("Content-length", params.length);
	ajx.setRequestHeader("Connection", "close");
	ajx.onreadystatechange = function() {
		if(ajx.readyState == 4){
			//alert(ajx.responseText);
			document.form.submit();
		}
	}
	ajx.send(params);
}
