function startup(){
	loadLead();
//	styleOptions();
	extraCosts();
		if(document.forms[0].coupon.value){
			setCoupon();
		}else{
			getTotal();
		}
}

function loadLead(){
	var leadimageselection = document.getElementById("leadimageselection").value;
	url = "js/project_svcs_functions.php?feature=setLead&leadimageselection=" + leadimageselection;
	if (window.XMLHttpRequest) { // Non-IE browsers
	  req = new XMLHttpRequest();
	  req.onreadystatechange = targetDiv;
	  try {
		req.open("GET", url, true);
	  } catch (e) {
		alert(e);
	  }
	  req.send(null);
	} else if (window.ActiveXObject) { // IE
	  req = new ActiveXObject("Microsoft.XMLHTTP");
	  if (req) {
		req.onreadystatechange = targetDiv;
		req.open("GET", url, true);
		req.send();
	  }
	}
}

function targetDiv() {  // send folder contents to page
	if (req.readyState == 4) { // Complete
	  if (req.status == 200) { // OK response
		  document.getElementById("leadimage").innerHTML = req.responseText;
	  } else {
		  document.getElementById("leadimage").innerHTML = req.responseText;
	  }
	}
}

function setLead(id){
	document.getElementById("leadimageselection").value = id;
	loadLead()
}

function leadSelection(){
	var contents = document.forms[0].projectcontents.value
	
	url = "js/project_svcs_functions.php?feature=lead_image_selection&contents=" + contents
	if (window.XMLHttpRequest) { // Non-IE browsers
	  req2 = new XMLHttpRequest();
	  req2.onreadystatechange = targetDiv2;
	  try {
		req2.open("GET", url, true);
	  } catch (e) {
		alert(e);
	  }
	  req2.send(null);
	} else if (window.ActiveXObject) { // IE
	  req2 = new ActiveXObject("Microsoft.XMLHTTP");
	  if (req2) {
		req2.onreadystatechange = targetDiv2;
		req2.open("GET", url, true);
		req2.send();
	  }
	}
}

function targetDiv2() {  // send folder contents to page
	if (req2.readyState == 4) { // Complete
	  if (req2.status == 200) { // OK response
		  document.getElementById("leadimage").innerHTML = req2.responseText;
	  } else {
		  document.getElementById("leadimage").innerHTML = req2.statusText;
	  }
	}
}

function styleDescription(s){
	document.getElementById("styledescription").innerHTML = s
}

function styleSet(s,t){
	document.forms[0].styleselection.value = s
	document.getElementById("selectiondescription").innerHTML = t
}

function styleOptions() {
	var styleselection = document.forms[0].projecttemplate.value
	
	url = "js/project_svcs_functions.php?feature=style_options&selection=" + styleselection
	if (window.XMLHttpRequest) { // Non-IE browsers
	  req3 = new XMLHttpRequest();
	  req3.onreadystatechange = targetDiv3;
	  try {
		req3.open("GET", url, true);
	  } catch (e) {
		alert(e);
	  }
	  req3.send(null);
	} else if (window.ActiveXObject) { // IE
	  req3 = new ActiveXObject("Microsoft.XMLHTTP");
	  if (req3) {
		req3.onreadystatechange = targetDiv3;
		req3.open("GET", url, true);
		req3.send();
	  }
	}
}

function targetDiv3() {  // send folder contents to page
	if (req3.readyState == 4) { // Complete
	  if (req3.status == 200) { // OK response
		  document.getElementById("styleoptions").innerHTML = req3.responseText;
	  } else {
		  document.getElementById("styleoptions").innerHTML = req3.statusText;
	  }
	}
}

function setStyle(){
	if(document.getElementById("selectionmenu").value){
		var style = document.getElementById("selectionmenu").value;
		document.forms[0].styleselection.value = style;
	}

}

function getOptions(checkbox){
	var name = checkbox.name;
	if(name == "includevideo") var target = targetDiv4;
	if(name == "includebook") var target = targetDiv5;
	if(name == "includemosaic") var target = targetDiv6;
	if(name == "includefilm") var target = targetDivFilm;
	if(name == "includevideotrans") var target = targetDivVideoTrans;
	if(name == "includecavkit") var target = targetDivCAVKit;
	if(name == "includecertificate") var target = targetDivCertificate;

	getSelectedProducts()
	url = "js/project_svcs_functions.php?feature=product_options&package=" + document.getElementById("projecttemplate").value + "&product=" + name + "&value=" + checkbox.checked;

	if (window.XMLHttpRequest) { // Non-IE browsers
	  req4 = new XMLHttpRequest();
	  req4.onreadystatechange = target;
	  try {
		req4.open("GET", url, true);
	  } catch (e) {
		alert(e);
	  }
	  req4.send(null);
	} else if (window.ActiveXObject) { // IE
	  req4 = new ActiveXObject("Microsoft.XMLHTTP");
	  if (req4) {
		req4.onreadystatechange = target;
		req4.open("GET", url, true);
		req4.send();
	  }
	}
	
}

function getSelectedProducts(){

	if(document.getElementById("includevideo")) var video_check = document.getElementById("includevideo").checked
	if(document.getElementById("includebook"))	var book_check = document.getElementById("includebook").checked
	if(document.getElementById("includemosaic"))	var mosaic_check = document.getElementById("includemosaic").checked
	if(document.getElementById("includefilm"))	var film_check = document.getElementById("includefilm").checked
	if(document.getElementById("includevideotrans"))	var videotrans_check = document.getElementById("includevideotrans").checked
	if(document.getElementById("includecavkit"))	var cavkit_check = document.getElementById("includecavkit").checked
	if(document.getElementById("includecertificate"))	var certificate_check = document.getElementById("includecertificate").checked

	url = "js/project_svcs_functions.php?feature=available_products&videos=" + video_check + "&books=" + book_check + "&mosaics=" + mosaic_check + "&film=" + film_check + "&videotrans=" + videotrans_check + "&cavkit=" + cavkit_check + "&certificate=" + certificate_check;

	if (window.XMLHttpRequest) { // Non-IE browsers
	  req8 = new XMLHttpRequest();
	  req8.onreadystatechange = targetDiv8;
	  try {
		req8.open("GET", url, true);
	  } catch (e) {
		alert(e);
	  }
	  req8.send(null);
	} else if (window.ActiveXObject) { // IE
	  req8 = new ActiveXObject("Microsoft.XMLHTTP");
	  if (req8) {
		req8.onreadystatechange = targetDiv8;
		req8.open("GET", url, true);
		req8.send();
	  }
	}

}

function targetDiv8() {  // send folder contents to page
	if (req8.readyState == 4) { // Complete
	  if (req8.status == 200) { // OK response
		  document.forms[0].selectedproducts.value = req8.responseText;
	  } else {
		  document.forms[0].selectedproducts.value = req8.statusText;
	  }
	}
}

function getTax(){

	url = "js/project_svcs_functions.php?feature=getTax&zip=" + document.getElementById("zipcode").value;

	if (window.XMLHttpRequest) { // Non-IE browsers
	  reqTax = new XMLHttpRequest();
	  reqTax.onreadystatechange = targetDivTax;
	  try {
		reqTax.open("GET", url, true);
	  } catch (e) {
		alert(e);
	  }
	  reqTax.send(null);
	} else if (window.ActiveXObject) { // IE
	  reqTax = new ActiveXObject("Microsoft.XMLHTTP");
	  if (reqTax) {
		reqTax.onreadystatechange = targetDivTax;
		reqTax.open("GET", url, true);
		reqTax.send();
	  }
	}

}

function targetDivTax() {  // send folder contents to page
	if (reqTax.readyState == 4) { // Complete
	  if (reqTax.status == 200) { // OK response
//	  		alert(reqTax.responseText);
			document.getElementById("taxvalue").value = reqTax.responseText;
	  } else {
		  document.getElementById("tax").innerHTML = reqTax.statusText;
	  }
	}
}

function getPackageLevels(){
	var pack_array = document.getElementById("templatecontents").value.split("|");
	for(i=1;i<pack_array.length;i++){ if(document.getElementById(pack_array[i]) && document.getElementById(pack_array[i]).value < pack_array[i+1]) document.getElementById(pack_array[i]).value = pack_array[i+1]; }	
}

function setCoupon(){

	getPackageLevels()
	getTax()
	getTotal()
	
	var contents = document.forms[0].ordercontents.value
	var coupon = document.forms[0].coupon.value

	url = "js/project_svcs_functions.php?feature=getCoupon&contents=" + contents + "&coupon=" + coupon
	if (window.XMLHttpRequest) { // Non-IE browsers
	  req9 = new XMLHttpRequest();
	  req9.onreadystatechange = targetDiv9;
	  try {
		req9.open("GET", url, true);
	  } catch (e) {
		alert(e);
	  }
	  req9.send(null);
	} else if (window.ActiveXObject) { // IE
	  req9 = new ActiveXObject("Microsoft.XMLHTTP");
	  if (req4) {
		req9.onreadystatechange = targetDiv9;
		req9.open("GET", url, true);
		req9.send();
	  }
	}

}

function targetDiv9() {  // send folder contents to page
	if (req9.readyState == 4) { // Complete
	  if (req9.status == 200) { // OK response
	  	var response = req9.responseText.split("|");
		  document.forms[0].couponprice.value = response[0];
		  document.getElementById("couponsubtotal").innerHTML = parseFloat(response[0]).toFixed(2);
		  document.getElementById("coupondescription").innerHTML = response[1];
		  getTotal()
	  } else {
		  document.forms[0].couponprice.value = req9.statusText;
		  document.getElementById("couponsubtotal").innerHTML = req9.statusText;
		  getTotal()
	  }
	}
}


function getTotal(){

	var ordercontents = "";
	var total = 0;
	var available_products = document.forms[0].selectedproducts.value;
	var products = available_products.split("|");

	for(i=0;i<products.length;i++){
		if(products[i] && document.getElementById(products[i]).value){
			var ordercontents = ordercontents + "|" + products[i] + "|" + document.getElementById(products[i]).value
			if(document.getElementById(products[i] + "subtotal").innerHTML) var total = total + parseFloat(document.getElementById(products[i] + "subtotal").innerHTML)
		}
	}

		if(document.getElementById("qtyimagesubtotal") && parseFloat(document.getElementById("qtyimagesubtotal").innerHTML)){
			var ordercontents = ordercontents + "|qtyimage|" + document.forms[0].qtyimage.value
			var total = total + parseFloat(document.getElementById("qtyimagesubtotal").innerHTML)
		}
		if(document.getElementById("qtytitlesubtotal") && parseFloat(document.getElementById("qtytitlesubtotal").innerHTML)){
			var ordercontents = ordercontents + "|qtytitle|" + document.forms[0].qtytitle.value
			var total = total + parseFloat(document.getElementById("qtytitlesubtotal").innerHTML)
		}

		if(document.getElementById("couponsubtotal") && parseFloat(document.getElementById("couponsubtotal").innerHTML)){
			var ordercontents = ordercontents + "|coupon|" + document.forms[0].coupon.value
			var total = total + parseFloat(document.getElementById("couponsubtotal").innerHTML)
		}
	if(document.getElementById("taxvalue").value){
		var taxrate = document.getElementById("taxvalue").value;
		var tax = total*(taxrate/100);
		var ordercontents = ordercontents + "|tax|" + tax.toFixed(2);
	}else{
		var tax = 0;
	}
	var total = total + tax;
	document.getElementById("tax").innerHTML = tax.toFixed(2);
	document.forms[0].ordercontents.value = total + ordercontents;
	document.getElementById("total").innerHTML = total.toFixed(2);

}

function updateTotals(element){
	var name = element.name;
	var qty = element.value;
	if(name !=="coupon" || !element){
		if(parseInt(qty) && (Math.round(qty) == qty) ){
			var package = document.getElementById("templatecontents").value;
			var pack_array = package.split("|");
			for(i=1;i<pack_array.length;i++){ if(element.name == pack_array[i]) var qty = qty - parseInt(pack_array[i+1]); }
			var price = document.getElementById(element.name + "price").value;
			var total = (qty*price).toFixed(2);
			document.getElementById(element.name + "subtotal").innerHTML = total
		}else{
			if(qty != 0) alert("Invalid quantity. Please enter a whole number.")
			document.getElementById(element.name + "subtotal").innerHTML = ""
			element.value = ""
		}
	}
	setCoupon()
}

function targetDiv4() {  // send folder contents to page
	if (req4.readyState == 4) { // Complete
	  if (req4.status == 200) { // OK response
		  document.getElementById("video_options").innerHTML = req4.responseText;
	  } else {
		  document.getElementById("video_options").innerHTML = req4.statusText;
	  }
	}
  setCoupon()
}

function targetDiv5() {  // send folder contents to page
	if (req4.readyState == 4) { // Complete
	  if (req4.status == 200) { // OK response
		  document.getElementById("book_options").innerHTML = req4.responseText;
	  } else {
		  document.getElementById("book_options").innerHTML = req4.statusText;
	  }
	}
		  setCoupon()
}

function targetDiv6() {  // send folder contents to page
	if (req4.readyState == 4) { // Complete
	  if (req4.status == 200) { // OK response
		  document.getElementById("mosaic_options").innerHTML = req4.responseText;
	  } else {
		  document.getElementById("mosaic_options").innerHTML = req4.statusText;
	  }
	}
		  setCoupon()
}

function targetDivFilm() {  // send folder contents to page
	if (req4.readyState == 4) { // Complete
	  if (req4.status == 200) { // OK response
		  document.getElementById("film_options").innerHTML = req4.responseText;
	  } else {
		  document.getElementById("film_options").innerHTML = req4.statusText;
	  }
	}
		  setCoupon()
}

function targetDivVideoTrans() {  // send folder contents to page
	if (req4.readyState == 4) { // Complete
	  if (req4.status == 200) { // OK response
		  document.getElementById("videotrans_options").innerHTML = req4.responseText;
	  } else {
		  document.getElementById("videotrans_options").innerHTML = req4.statusText;
	  }
	}
		  setCoupon()
}

function targetDivCAVKit() {  // send folder contents to page
	if (req4.readyState == 4) { // Complete
	  if (req4.status == 200) { // OK response
		  document.getElementById("cavkit_options").innerHTML = req4.responseText;
	  } else {
		  document.getElementById("cavkit_options").innerHTML = req4.statusText;
	  }
	}
		  setCoupon()
}

function targetDivCertificate() {  // send folder contents to page
	if (req4.readyState == 4) { // Complete
	  if (req4.status == 200) { // OK response
		  document.getElementById("certificate_options").innerHTML = req4.responseText;
	  } else {
		  document.getElementById("certificate_options").innerHTML = req4.statusText;
	  }
	}
		  setCoupon()
}

function Submit(){

//	alert(document.forms[0].ordercontents.value)
	
	var projectid = document.getElementById("projectid").value;
	var content_test = document.getElementById("projectcontents").value;
	var template_test = document.getElementById("templateformat").value;
	var lead_test = document.getElementById("leadimageselection").value;
	var style_test = document.getElementById("styleselection").value;
	var order_test = document.getElementById("ordercontents").value;
	var total_test = parseFloat(document.getElementById("total").innerHTML);
	var zip_test = document.getElementById("zipcode").value;
	var specialinstructions = document.getElementById("specialinstructions").value;

	var error = "";
	if(!zip_test || zip_test.length != 5) var error = error + "Please provide a valid zip code.\n";
	if(projectid && !content_test) var error = error + "Please add content to this project.\n";
	if(projectid && !template_test) var error = error + "Please select a package.\n";
	if(projectid && !lead_test) var error = error + "Please select a main image.\n";
	if(projectid && !style_test) var error = error + "Please select a style.\n";
//	if(!total_test) var error = error + "Please select a product to purchase.\n";
	
	if(error){ alert(error);
	}else{
		url = "js/project_svcs_functions.php?feature=finalize" + "&content=" + order_test + "&projectid=" + projectid + "&lead=" + lead_test + "&style=" + style_test + "&total=" + total_test + "&specialinstructions=" + specialinstructions;
//		alert(url);
		if (window.XMLHttpRequest) { // Non-IE browsers
		  req7 = new XMLHttpRequest();
		  req7.onreadystatechange = targetDiv7;
		  try {
			req7.open("GET", url, true);
		  } catch (e) {
			alert(e);
		  }
		  req7.send(null);
		} else if (window.ActiveXObject) { // IE
		  req7 = new ActiveXObject("Microsoft.XMLHTTP");
		  if (req7) {
			req7.onreadystatechange = targetDiv7;
			req7.open("GET", url, true);
			req7.send();
		  }
		}
	}
}

function targetDiv7() {  // send folder contents to page
	if (req7.readyState == 4) { // Complete
	  if (req7.status == 200) { // OK response
	  	var response = req7.responseText;
			if(response == "bad"){
				alert("Order submission failed.  Please try again.")
			}else{
				window.document.location.href = 'order_summary.php?order=' + response + "&checkout=true";
			}
	  } else {
		  alert(req7.statusText);
	  }
	}
}

function extraCosts(){
	
		if(document.getElementById("qtyimage")){
			var qty = document.getElementById("qtyimage").value;
			var price = document.getElementById("qtyimageprice").value;
			var total = (qty*price).toFixed(2);
			document.getElementById("qtyimagesubtotal").innerHTML = total
		}
		if(document.getElementById("qtytitle")){
			var qty = document.getElementById("qtytitle").value;
			var price = document.getElementById("qtytitleprice").value;
			var total = (qty*price).toFixed(2);
			document.getElementById("qtytitlesubtotal").innerHTML = total
		}

}
