﻿// JScript File
function recalcCost(FormatID)
{
	var totalCost;
	var itemCost;
	itemCost = document.getElementById("txtFormat" + FormatID).value;
//	alert("Item Cost is " + itemCost);
//	alert("Freight Cost is " + freightCost);
	totalCost = parseFloat(itemCost);
	// Convert this to a currency style
	s = new String(totalCost);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
//	alert("Total cost is " + s);
	document.getElementById("txtPrice").innerHTML = s;
}
function changeSize(sizeID)
{
	// Hide all the formats and display the appropriate format panel
	showCorrectFormat(sizeID);
	
	// Get the format currently selected
	var formatID = getSelectedFormatOption(sizeID);
	
	//alert("Format option is " + formatID);
	
	// Hide all the freights and display the appropriate freight panel
	changeFormat(formatID);
	
	// display the  total cost for the selected item
	recalcCost(formatID);
}
function changeFormat(formatID)
{
	
	// display the  total cost for the selected item
	recalcCost(formatID);
}
function getSelectedSizeOption()
{
	var sizeID = 0;
	
	for (i=0; i<document.getElementsByName("Sizes").length; i++)
	{
		if (document.getElementsByName("Sizes")[i].checked)
		{
			sizeID = i;
			//alert("ID is " + formatID);
			// Terminate the loop
			break;
		}
	}
	
	return sizeID;
}
function getSelectedFormatOption(pnlFormatID)
{
	var formatID = 0;
	
	for (i=0; i<document.getElementsByName("Format" + pnlFormatID).length; i++)
	{
		if (document.getElementsByName("Format" + pnlFormatID)[i].checked)
		{
			// get the ID so we know which option this is
			var sname = document.getElementsByName("Format" + pnlFormatID)[i].id;
			var sObjectName = "FormatOption";
			//alert("Option is " + sname);
			// the option is the last digit
			formatID = sname.substring(sObjectName.length, sname.length);
			//alert("ID is " + formatID);
			// Terminate the loop
			break;
		}
	}
	
	return formatID;
}
function showCorrectFormat(sizeID)
{
	// HIde all the format panels
	var noFormatPanels = document.getElementById("NoFormat").value;
	for (i=0; i<noFormatPanels; i++)
	{
		document.getElementById("pnlFormat" + i).style.display = "none";
	}
	// Display the panel that matches the size ID
	document.getElementById("pnlFormat" + sizeID).style.display = "block";
}
function buyNow()
{
	
	document.getElementById("txtReturnPage").value = "online-gallery2-order.aspx"

	addToOrderPage();
	
//	showOrderPage();	
	
}
function addToOrderPage()
{
	// Get the selected image name
	var selectedImage = document.getElementById("txtSelectedImage").value;
	
	// Get the size text
	var sizeID = getSelectedSizeOption();
	var selectedSize = document.getElementById("SizeOption" + sizeID).value;
	
	// Get the format text
	var formatID = getSelectedFormatOption(sizeID);
	var selectedFormat = document.getElementById("FormatOption" + formatID).value;
	
	// Get the total cost
	var totalCost = document.getElementById("txtPrice").innerHTML;
	
	// Create the URL
	var newURL;
   newURL = createURL("online-gallery2-process.aspx");
   
   var timeNow = new Date();
	
	// call the order page with the required parameters
	window.location.href = newURL + "&img=" + selectedImage + "&size=" + selectedSize + "&format=" + selectedFormat + "&cost=" + totalCost + "&id=" + timeNow.getTime() + "&ret=" + 															   document.getElementById("txtReturnPage").value + "&cmd=add";

}
function showOrderPage()
{
	// Create the URL
	var newURL;
   newURL = createURL("online-gallery2-order.aspx");
   
   var timeNow = new Date();
	
	// call the order page with the required parameters
	window.location.href = newURL;
}
function showFinalPage()
{
	// Get the selected image name
	var selectedImage = document.getElementById("txtSelectedImage").value;
	
	// Get the size text
	var sizeID = getSelectedSizeOption();
	var selectedSize = document.getElementById("SizeOption" + sizeID).value;
	
	// Get the format text
	var formatID = getSelectedFormatOption(sizeID);
	var selectedFormat = document.getElementById("FormatOption" + formatID).value;
	
	// Get the total cost
	var totalCost = document.getElementById("txtPrice").innerHTML;
	
	// call the order page with the required parameters
	window.location.href="online-gallery2-final.aspx?img=" + selectedImage + "&size=" + selectedSize + "&format=" + selectedFormat + "&cost=" + totalCost;
}
function changeShipping()
{
   if (document.getElementById("drpDelivery").value <= 0)
   {
      document.getElementById("txtSelectShipping").value = "0.00";
   }
   else if (document.getElementById("drpDelivery").value == 1)
   {
      document.getElementById("txtSelectShipping").value = "20.00";
   }
   else if (document.getElementById("drpDelivery").value == 2)
   {
      document.getElementById("txtSelectShipping").value = "25.00";
   }
   else if (document.getElementById("drpDelivery").value == 3)
   {
      document.getElementById("txtSelectShipping").value = "25.00";
   }
   else if (document.getElementById("drpDelivery").value == 4)
   {
      document.getElementById("txtSelectShipping").value = "25.00";
   }
   /* Update the total cost */
   var noImages;
   var costs = 0;
   noImages = document.getElementById("txtNoImages").value;
   
   for (var i = 1; i <= noImages; i++)
   {
      costs += parseFloat(document.getElementById("txtImage" + i).value) * parseFloat(document.getElementById("txtQty" + i).value);
   }
   costs += parseFloat(document.getElementById("txtSelectShipping").value);
	s = new String(costs);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
   document.getElementById("txtTotal").value = s;
   costs = costs / 11;
	s = new String(costs);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.length - s.indexOf('.') > 2) {s = s.substring(0, s.indexOf('.') + 3); }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
   document.getElementById("txtGST").value = s;
}
function updateOrder()
{
   /* Update the quantities */
   if (updateQty())
   {
      /* store the shipping selected */
      getSelectedShipping();
	   // Create the URL
	   var newURL;
      newURL = createURL("online-gallery2-process.aspx");
      
      var timeNow = new Date();
   	
	   // call the order page with the required parameters
	   window.location.href = newURL + "&qty=" + document.getElementById("txtImageQty").value + "&ship=" + document.getElementById("txtShipping").value + "&shipcost=" + document.getElementById("txtShippingCost").value + "&ret=" + document.getElementById("txtReturnPage").value + "&cmd=update";
	}
	else
	{
	   alert("Quantities entered must be numeric, please check your order and click update again");
	}

}
function updateQty()
{
   /* Update the selected qtys */
   var noImages;
   var s = "";
   noImages = document.getElementById("txtNoImages").value;
   /* alert("No images is " + noImages); */
   
   for (var i = 1; i <= noImages; i++)
   {
   /* alert(document.getElementById("txtQty" + i).value); */
      /* Check this is a valid number, if not return false */
      if (isNumber(document.getElementById("txtQty" + i).value))
      {
         s = s + document.getElementById("txtQty" + i).value + ",";
      }
      else
      {
         return false;
      }
   }
   /* alert(s); */
   document.getElementById("txtImageQty").value = s;
   
   return true;
}
function checkQty()
{
   /* Update the selected qtys */
   var noImages;
   var s = "";
   noImages = document.getElementById("txtNoImages").value;
   /* alert("No images is " + noImages); */
   
   for (var i = 1; i <= noImages; i++)
   {
   /* alert(document.getElementById("txtQty" + i).value); */
      s = s + document.getElementById("txtQty" + i).value + ",";
   }
   /* alert ("S=|" + s + "| and txt has |" + document.getElementById("txtImageQty").value + "|"); */
   if (s != document.getElementById("txtImageQty").value)
   {
      return false;
   }
   else
   {
      return true;
   }
}
function removeItem(itemNo)
{
   /* set the number of items of the selected item to 0 */
   document.getElementById("txtQty" + itemNo).value = "0";
   updateOrder();
}
function placeOrder()
{   if (document.getElementById("drpDelivery").selectedIndex == 0)
   {
      alert("You must select a shipping method");
   }
   else
   {
      document.getElementById("txtCommand").value = "Process";
      getSelectedShipping();
      /* Update the quantities */
      if (checkQty())
      {
         document.form1.submit();
      }
      else
      {
         alert("Quantities ordered does not match total cost. Please check your order and then click on the Update button before submitting your order"); 
      }
   }
}
function submitOrder()
{
   document.getElementById("txtCommand").value = "Submit";
   document.form1.submit();
}
function getSelectedShipping()
{
	document.getElementById("txtShipping").value = document.getElementById("drpDelivery").selectedIndex - 1;
	/* get the cost */
	document.getElementById("txtShippingCost").value = document.getElementById("txtSelectShipping").value;
}
function isNumber (InString)  { 
    if(InString.length==0) return (false); 
    var RefString="1234567890"; 
    for (Count=0; Count < InString.length; Count++)  { 
        TempChar= InString.substring (Count, Count+1); 
        if (RefString.indexOf (TempChar, 0)==-1)   
            return (false); 
    } 
    return (true); 
} 

function galleryShippingDetails ()
{ 
   /* Disable all the shipping details textboxes if box ticked and enable them if not */
   if (document.getElementById("chkShippingAddress").checked)
   {
      document.getElementById("txtFirstName2").disabled = true;
      document.getElementById("txtFirstName2").value = "";
      document.getElementById("txtSurname2").disabled = true;
      document.getElementById("txtSurname2").value = "";
      document.getElementById("txtAddress2").disabled = true;
      document.getElementById("txtAddress2").value = "";
      document.getElementById("txtSuburb2").disabled = true;
      document.getElementById("txtSuburb2").value = "";
      document.getElementById("txtPostcode2").disabled = true;
      document.getElementById("txtPostcode2").value = "";
      document.getElementById("txtState2").disabled = true;
      document.getElementById("txtState2").value = "";
      document.getElementById("txtCountry2").disabled = true;
      document.getElementById("txtTelephone2").disabled = true;
      document.getElementById("txtTelephone2").value = "";
      document.getElementById("txtEmail2").disabled = true;
      document.getElementById("txtEmail2").value = "";
   }
   else
   {
      document.getElementById("txtFirstName2").disabled = false;
      document.getElementById("txtSurname2").disabled = false;
      document.getElementById("txtAddress2").disabled = false;
      document.getElementById("txtSuburb2").disabled = false;
      document.getElementById("txtPostcode2").disabled = false;
      document.getElementById("txtState2").disabled = false;
      document.getElementById("txtCountry2").disabled = false;
      document.getElementById("txtTelephone2").disabled = false;
      document.getElementById("txtEmail2").disabled = false;
   }

} 

