// JavaScript Document
var items = [];
var itemsid = 0;

//Update Information in Item Details area.
function loadPriceList()
{
	if (window.XMLHttpRequest){
	  xhttp=new window.XMLHttpRequest()
	}else{
	  xhttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	xhttp.open("GET","../Order/items.xml",false);
	xhttp.send("");
	doc=xhttp.responseXML;
	
	var xml = doc.getElementsByTagName("product");
	
	for (var p = 0; p < xml.length; p++)
	{
		if(xml[p].getElementsByTagName("code")[0].childNodes[0].nodeValue == document.getElementById("ddlCode").options[document.getElementById("ddlCode").selectedIndex].value)
		{
			document.getElementById("lblPages").value = xml[p].getElementsByTagName("pages")[0].childNodes[0].nodeValue;
			document.getElementById("lblPeriod").value = xml[p].getElementsByTagName("period")[0].childNodes[0].nodeValue;
			document.getElementById("txtDescription").value = xml[p].getElementsByTagName("description")[0].childNodes[0].nodeValue;
			if(document.getElementById("cbxMounts").checked == 1)
			{
				document.getElementById("lblCost").value = xml[p].getElementsByTagName("RRPm")[0].childNodes[0].nodeValue;
			}else{
				document.getElementById("lblCost").value = xml[p].getElementsByTagName("RRP")[0].childNodes[0].nodeValue;
			}
		}
	}
}

function addItems()
{
	if(document.getElementById("ddlCode").options[document.getElementById("ddlCode").selectedIndex].value != '')
	{
		items.push(new Array(++itemsid ,document.getElementById("ddlCode").options[document.getElementById("ddlCode").selectedIndex].value, document.getElementById("cbxMounts").checked, checkQty()));
		updateOrder();
	}
}
function removeElement(id)
{
	for (var i = 0; i < items.length; i++)
	{
		if(items[i][0]==id)
		{
			items.splice(i,1);
		}
	}
	updateOrder();
}
function clearOrder()
{
	items.splice(0,items.length);
	updateOrder();
}

function updateOrder()
{
	if (window.XMLHttpRequest){
	  xhttp=new window.XMLHttpRequest()
	}else{
	  xhttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	xhttp.open("GET","../Order/items.xml",false);
	xhttp.send("");
	doc=xhttp.responseXML;
	
	var xml = doc.getElementsByTagName("product");
	var co = document.getElementById("currentOrder");
	var itemRows = '<table width="100%" border="0" cellspacing="1" cellpadding="2"><tr style="font-weight:bolder" align="center"><td>Code</td><td>Title</td><td>Mounts</td><td>Qty</td><td>Cost</td><td>&nbsp;</td></tr>';
	var dataString = "";
	var totalCost = 0;
	for (var i = 0; i < items.length; i++)
	{
		itemRows = itemRows + '<tr style="text-align:center">';
		dataString += items[i]+"~";
		for (var p = 0; p < xml.length; p++)
		{
			if(xml[p].getElementsByTagName("code")[0].childNodes[0].nodeValue.toString() == items[i][1].toString())
			{
				itemRows = itemRows + "<td>" + xml[p].getElementsByTagName("code")[0].childNodes[0].nodeValue + "</td>";
				itemRows = itemRows + "<td>" + xml[p].getElementsByTagName("title")[0].childNodes[0].nodeValue + "</td>";
				
				if(items[i][2] == 1)
				{
					itemRows = itemRows + "<td>With</td>";
					itemRows = itemRows + "<td>" + items[i][3] + "</td>";
					var cost = parseFloat(items[i][3])*parseFloat(xml[p].getElementsByTagName("RRPm")[0].childNodes[0].nodeValue);
					itemRows = itemRows + "<td>$ " + cost.toFixed(2) + "</td>";
					totalCost += cost;
				}else{
					itemRows = itemRows + "<td>Without</td>";
					itemRows = itemRows + "<td>" + items[i][3] + "</td>";
					var cost = parseFloat(items[i][3])*parseFloat(xml[p].getElementsByTagName("RRP")[0].childNodes[0].nodeValue);
					itemRows = itemRows + "<td>$ " + cost.toFixed(2) + "</td>";
					totalCost += cost;
				}
				itemRows = itemRows + '<td><input type="button" value="Remove" onclick="removeElement('+items[i][0]+')"/></td>';
			}
		}
		itemRows = itemRows + "</tr>";	
	}
	itemRows = itemRows + "</table>";
	co.innerHTML = itemRows;
	document.getElementById("hidData").value = dataString;
	document.getElementById("lblSubTotal").value = totalCost.toFixed(2);	
}
function withMounts()
{
	if(document.getElementById("cbxMounts").checked)
	{
		return "With";
	}else{
		return "Without";
	}
}
function checkQty()
{
	if(document.getElementById("txtQty").value == "")
	{
		return "1";
	}else{
		return document.getElementById("txtQty").value;
	}
}
function getCost()
{
	var cost = parseInt(document.getElementById("lblCost").value)*parseInt(checkQty());
	return cost;
}

function updateFormCode()
{
	document.getElementById("ddlTitle").selectedIndex = document.getElementById("ddlCode").selectedIndex;
	document.getElementById("txtQty").value = "1";
	loadPriceList();
}
function updateFormTitle()
{
	document.getElementById("ddlCode").selectedIndex = document.getElementById("ddlTitle").selectedIndex;
	document.getElementById("txtQty").value = "1";
	loadPriceList()
}
function updateFormMounts()
{
	loadPriceList();
}

function loadPage()
{
	if (window.XMLHttpRequest)
	{
		xhttp=new window.XMLHttpRequest()
	}else{
		xhttp=new ActiveXObject("Microsoft.XMLHTTP")
	}

	xhttp.open("GET","../Order/items.xml",false);
	xhttp.send("");
	doc=xhttp.responseXML;

	var xml = doc.getElementsByTagName("product");

	for (var p = 0; p < xml.length; p++)
	{
		var now = new Date();
		if(parseInt(Date.parse(xml[p].getElementsByTagName("availability")[0].childNodes[0].nodeValue.toString())) < parseInt(Date.parse((now.getMonth()+1) + "/" + now.getDate() + "/" + now.getFullYear())))
		{
			document.getElementById("ddlCode").options[document.getElementById("ddlCode").options.length] = new Option(xml[p].getElementsByTagName("code")[0].childNodes[0].nodeValue);
			document.getElementById("ddlTitle").options[document.getElementById("ddlTitle").options.length] = new Option(xml[p].getElementsByTagName("title")[0].childNodes[0].nodeValue);
		}
	}
	loadPriceList();
	checkBrowser();	
}

function getIEVersionNumber() {
    var ua = navigator.userAgent;
    var MSIEOffset = ua.indexOf("MSIE ");
    
    if (MSIEOffset == -1) {
        return 8;
    } else {
        return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
    }
}


function checkBrowser()
{
	var isIE8Min = getIEVersionNumber() <= 7;

	if (isIE8Min) {
		alert("You are using an older version of Internet Explorer, please upgrade to use the online order form. Or email info@pnrphilately.com.au to discuss alternative order methods.");
	}
}

function reloadOrder(postData, samePostal)
{
	items = postData.split("~");
	items.splice(items.length-1,1);
	for (var i = 0; i < items.length; i++)
	{
		items[i] = items[i].split(",");
	}
	if (samePostal == "on")
	{
		document.getElementById("cbxSamePostal").checked = true;
		disablePostal();
	}else{
		document.getElementById("cbxSamePostal").checked = false;
	}
	loadPage();
	updateOrder();
}

function disablePostal()
{
	var postal = document.getElementById("ctl00_pageContent_postal");
    var inputs = postal.getElementsByTagName('input');
	var selects = postal.getElementsByTagName('select');
	var textareas = postal.getElementsByTagName('textarea')

	for (var i=0; i < inputs.length;i++)
	{
		var inputID = inputs[i].id;
		var input = inputs[i].id
		inputID =inputID.replace(inputID.substring(inputID.indexOf("Post"),(inputID.indexOf("Post")+4)), "");
		inputs[i].disabled = document.getElementById("cbxSamePostal").checked;
		if(document.getElementById("cbxSamePostal").checked)
		{
			inputs[i].value = document.getElementById(inputID).value;
		}
	}
	for (var i=0; i < selects.length;i++)
	{
		var selectID = selects[i].id;
		selectID =selectID.replace(selectID.substring(selectID.indexOf("Post"),(selectID.indexOf("Post")+4)), "");
		selects[i].disabled = document.getElementById("cbxSamePostal").checked;
		if(document.getElementById("cbxSamePostal").checked)
		{
			selects[i].value = document.getElementById(selectID).value;
		}
	}
	for (var i=0; i < textareas.length;i++)
	{
		var textareasID = textareas[i].id;
		textareasID =textareasID.replace(textareasID.substring(textareasID.indexOf("Post"),(textareasID.indexOf("Post")+4)), "");
		textareas[i].disabled = document.getElementById("cbxSamePostal").checked;
		if(document.getElementById("cbxSamePostal").checked)
		{
			textareas[i].value = document.getElementById(textareasID).value;
		}
	}
}
