function ShowDiscount(Discnt,partnum) { 
//Corporate promotion discounts
//Called by: do_AJAX

 var totalAmt = document.getElementById('TTLamount').innerHTML
 var finalAmt = document.getElementById('FinalAmount').innerHTML
 var switchcase = 0
 
 totalAmt = totalAmt.substr(2)
 finalAmt = finalAmt.substr(2)
 //alert ("Total is : " + totalAmt + ", Discount is : " + Discnt)
 //alert ("Debug, Discnt is : " + Discnt)
 switch (Discnt) {
 		case "(Getting information....please wait)" :
 				 switchcase = 1
				 break
		case "wrongcode" :
 				 switchcase = 2
				 break		 
		case "no code" :
				 switchcase = 3
				 break
		default :
				 switchcase = 100 //PromoCode accepted
				 break
	} //end switch
				
 if (switchcase == 100) {
			 //alert ("Discount multiplier is : " + (Discnt/100) )
			 //alert ("Debug: Discnt is " +Discnt)
			 var DiscountPer = Discnt.substr(0,2);
			 //alert ("DiscountPer is " +DiscountPer)
 			 var AmountDiscount = totalAmt * (DiscountPer/100)
 			 AmountDiscount = parseFloat(AmountDiscount).toFixed(2) 
 			 var CalNetPurchases = parseFloat(totalAmt - AmountDiscount).toFixed(2)
 			 finalAmt = CalNetPurchases;   //assume first there's no delivery charge

               var PromotionName = Discnt.substr(Discnt.indexOf("<")+2, Discnt.indexOf(">")-Discnt.indexOf("<")-2);
               //alert("Debug- Promotion name is :" +PromotionName);

               //----------- Check if Status is active i.e Status==1 ------------------------------
                              var Status = Discnt.substr(Discnt.indexOf("^") + 2,1);
       if (Status == 1) {
                                //proceed
                                       
               //----------------------------------------------------------------------------------
               
               //------------ Check if promotion has started --------------------------------------
                              var StartDate = Discnt.substr(Discnt.indexOf("@") + 2);
                              var StartDay = parseInt(StartDate.substr(8,2));
                                             //alert ("StartDateStr is :" +StartDate.substr(8,2) + " parsed Int is: " +StartDay);
                              
                              var tempMonth = StartDate.substr(5,2);
                              if (tempMonth.substr(0,1) == 0){ tempMonth = tempMonth.substr(1,1);}
                              var StartMonth = parseInt(tempMonth.substr(0,2));
                                             //alert ("StartMonthStr is :" +StartDate.substr(5,2) + " parsed Int is: " +StartMonth);               
                              
                              var StartYear = parseInt(StartDate.substr(0,4));
                                             //alert ("StartYearStr is :" +StartDate.substr(0,4) + " parsed Int is: " +StartYear);

                              var TodayDate = new Date();
                              var PromoStarted = false;
                              if (TodayDate.getYear()+1900 > StartYear){
                                             //alert ("Year Start ok")
                                             PromoStarted = true;
                              } else if (TodayDate.getYear()+1900 == StartYear){
                                             if (TodayDate.getMonth()+1 > StartMonth){
                                                            //alert ("Month Start ok");
                                                            PromoStarted = true;
                                             } else if (TodayDate.getMonth()+1 == StartMonth) {
                                                            if (TodayDate.getDate()> StartDay){
                                                                           //alert("Day Start ok");
                                                                           PromoStarted = true;
                                                            }
                                             } //end else if (TodayDate.getMonth()+1 == StartMonth)           
                              } // end else if (TodayDate.getYear()= StartYear)                              
                              //alert (" Promotion has started? : " +PromoStarted);
               //------------end Check if promotion has started -----------------------------------
               
               //------------ Check if still within validity period -------------------------------
               if (PromoStarted) {
                              var EndDate = Discnt.substr(Discnt.indexOf(">") + 2);
                              var EndDay = parseInt(EndDate.substr(8,2));
                                             //alert ("EndDateStr is :" +EndDate.substr(8,2) + " parsed Int is: " +EndDay);
                              
                              var tempMonth = EndDate.substr(5,2);
                              if (tempMonth.substr(0,1) == 0){ tempMonth = tempMonth.substr(1,1);}
                              var EndMonth = parseInt(tempMonth.substr(0,2));
                                             //alert ("EndMonthStr is :" +EndDate.substr(5,2) + " parsed Int is: " +EndMonth);               
                              
                              var EndYear = parseInt(EndDate.substr(0,4));
                                             //alert ("EndYearStr is :" +EndDate.substr(0,4) + " parsed Int is: " +EndYear);
                        
                              var TodayDate = new Date();
                              //alert ("Debug: TodayDate: " +TodayDate.getDate() +", EndDay: " +EndDay +
                              //       "\n TodayMonth: " +(TodayDate.getMonth()+1) +", EndMonth: " +EndMonth +
                              //       "\n TodayYear: " +(TodayDate.getYear()+1900) +", EndYear: " +EndYear)
                              var PromoValid = false;
                              
                              if (TodayDate.getYear()+1900 < EndYear){
                                             //alert ("Year ok")
                                             PromoValid = true;
                              } else if (TodayDate.getYear()+1900 == EndYear){
                                             if (TodayDate.getMonth()+1 < EndMonth){
                                                            //alert ("Month ok");
                                                            PromoValid = true;
                                             } else if (TodayDate.getMonth()+1 == EndMonth) {
                                                            if (TodayDate.getDate()< EndDay){
                                                                           //alert("Day ok");
                                                                           PromoValid = true;
                                                            }
                                             } //end else if (TodayDate.getMonth()+1 == EndMonth)           
                              } // end else if (TodayDate.getYear()= EndYear)
                //alert ("Promotion is still valid? " +PromoValid);
        
        if (PromoValid) {  // Proceed      
        //----------- Check for min value condition ----------------------------------------
               
                              //Getmin value
                              var MinValue = parseFloat(Discnt.substr(Discnt.indexOf("~") + 2,3));
                              totalAmt = parseFloat(totalAmt).toFixed(2);
                                //alert ("Debug: totalAmt is " +totalAmt +" MinValue is " +MinValue);

        if (totalAmt > MinValue){ // Proceed

               //--------------Calculate new transport charges -----------------------------------------
               		      if (finalAmt < 50){
			  	 //alert ("Before delivery charges, final amount : " + finalAmt)
			  	 document.getElementById('DeliveryCharge').innerHTML = "S$5.00"
					 finalAmt = (parseFloat(finalAmt) + 5.00)
					 finalAmt = finalAmt.toFixed(2)
					 deliveryCharge = "5.00"
                                }else {
			 		 document.getElementById('DeliveryCharge').innerHTML = "(waived)"
 			 		 //finalAmt = finalAmt.toFixed(2)			 //27dec08 no need to do this
                              } //if (finalAmt < 50)
               
               //--------------------------------------------------------------------------------------

               //-------------Finalise remaining discount processing----------------------------------
                              alert ("Promotion code accepted.\nTotal discount : " +AmountDiscount +"\nTotal Payable amount is : " +finalAmt )
                              document.getElementById('CalcNet').innerHTML = "Net Purchases:"
                              document.getElementById('CalcNetAmount').innerHTML = "<hr>S$"+CalNetPurchases;
                              document.getElementById('PromoDesc').innerHTML = Discnt.substr(3,Discnt.indexOf("~")-3);
                              document.getElementById('TotalDiscount').innerHTML = "(S$"+AmountDiscount+")";
                              document.getElementById('FinalAmount').innerHTML = "S$"+finalAmt;
                              document.getElementById('Cart1Total').value = finalAmt;
                              document.getElementById('Cart1Discount').value = AmountDiscount;
                              document.getElementById('CalNetPurchase1').value = CalNetPurchases;  //for ConfirmOrder page
                              document.getElementById('Cart1Delivery').value = deliveryCharge;
                              document.getElementById('Cart1DiscountDesc').value = Discnt.substr(Discnt.indexOf("~") + 2);
               //-------------------------------------------------------------------------------------
      } //end if (totalAmt > MinValue)
               else {
                  alert ("For "+PromotionName+" promotion, total purchases have to be more than $" +MinValue);
		  document.getElementById('PromotionCode').value = "";
               }
      
      } // end if (PromoValid)
               else {
                  alert (PromotionName +" promotion has expired");
                  document.getElementById('PromotionCode').value = "";
               }
      } // end if PromoStarted
               else {
                  alert (PromotionName +" promotion has not started");
                  document.getElementById('PromotionCode').value = "";
               }      
      }// end if Status=1
               else {
                  alert(PromotionName + " promotion is no longer available");
                  document.getElementById('PromotionCode').value = "";
               } 
} //end if (switchcase = 100)
 
  if (switchcase == 3)  {
   alert ("No promotion code entered")
	 document.getElementById('CalcNet').innerHTML = ""
	 document.getElementById('CalcNetAmount').innerHTML = ""	 
   document.getElementById('TotalDiscount').innerHTML = ""
   document.getElementById('PromotionCode').value = ""
			 if (totalAmt < 50){
			  //alert ("Before delivery charges, final amount : " + finalAmt)
			  document.getElementById('DeliveryCharge').innerHTML = "S$5.00"
				finalAmt = (parseFloat(totalAmt) + 5.00)
				finalAmt = finalAmt.toFixed(2)
				deliveryCharge = "5.00"
			 }else {
			 document.getElementById('DeliveryCharge').innerHTML = "(waived)"
			 finalAmt = totalAmt
 			 finalAmt = finalAmt.toFixed(2)			 
			 }
	 document.getElementById('FinalAmount').innerHTML = "S$"+finalAmt		 	 
  } //end if (switchcase == 3) 
 
  if (switchcase == 2)  {
   alert ("Not a valid promotion code")
	 document.getElementById('CalcNet').innerHTML = ""
	 document.getElementById('CalcNetAmount').innerHTML = ""
   document.getElementById('PromoDesc').innerHTML = "Discount:"
   document.getElementById('TotalDiscount').innerHTML = ""
   document.getElementById('PromotionCode').value = ""
			 if (totalAmt < 50){
			  //alert ("Before delivery charges, final amount : " + finalAmt)
			  document.getElementById('DeliveryCharge').innerHTML = "S$5.00"
				finalAmt = (parseFloat(totalAmt) + 5.00)
				finalAmt = finalAmt.toFixed(2)
				deliveryCharge = "5.00"
			 } else {
			 document.getElementById('DeliveryCharge').innerHTML = "(waived)"
			 finalAmt = parseFloat(totalAmt)
 			 finalAmt = finalAmt.toFixed(2)
			 }
	 document.getElementById('FinalAmount').innerHTML = "S$"+finalAmt	  
  
  } //end if (switchcase == 2)
	
  if (switchcase == 1)  {
	 document.getElementById('CalcNet').innerHTML = ""
	 document.getElementById('CalcNetAmount').innerHTML = ""	
   document.getElementById('TotalDiscount').innerHTML = "updating"
   //document.getElementById('PromotionCode').value = ""
  } //end if (switchcase == 1)
	
}//end function ShowDiscount

function SessionUpdateDone(Status,partnum) { 
	if (Status != "(Getting information....please wait)"){	
		//alert (Status)
	}
}//end function SessionUpdateDone

function SubmitItemRemove (formnumber){
 document.forms[formnumber].submit() 
} //end function SubmitItemRemove

function SubmitPromoCode(code){
	var PromoItemsInCart = document.getElementById('PromoItemCount').innerHTML
	//alert ("PromoItemsInCart is " + PromoItemsInCart)
	if (PromoItemsInCart == 0){	
				doAjax('GetDiscount.php','param='+code,'ShowDiscount','get','0')
	} else {
				alert ("Discount not valid for promotional items.\nPlease remove the promotional item/s (marked with *).\nYou can purchase promotional items in separate cart.\nThank you")
	} //end if (PromoItemsInCart = 0)  

} //end function SubmitPromoCode

 var OnChangeFiredCount = 0 //global var to check if OnChange event was triggered b4

function PWCheck() {
 //alert ("OnChangeFiredCount is " +OnChangeFiredCount)
 if (OnChangeFiredCount < 1 ) {
   	 ++OnChangeFiredCount
   doAjax('TestAjax.php','','PW_ajaxcback','post','0')
 }
}

function PW_ajaxcback(ReturnText,partnum,status) {
 //partnum not used in this PW check function
   //alert ("Returned ReturnText is "+ReturnText);
   //alert ("Returned ReturnText is "+ReturnText+"\nStatus is "+status);
 //if (status == "Success") { 
 // getting the root element (the document element)
 		xmlRoot = ReturnText.documentElement;
		var rootNodeName = ReturnText.documentElement.nodeName;		
		//alert ("rootNodeName is: "+rootNodeName);
 if (rootNodeName == "UserInfo") { 
 // testing that we received the XML document we expect
 	  //if (rootNodeName != "UserInfo" || !xmlRoot.firstChild)
 		  //throw("Invalid User or Password");
 // the value we need to display is the child of the root <response> element

				//no need for this 16Nov08 var name0 = nameArray[0];

		var NameArray = xmlRoot.getElementsByTagName("UserName");		
		var PhoneArray = xmlRoot.getElementsByTagName("UserPhone");
		var Unit1Array = xmlRoot.getElementsByTagName("UserUnit1");
		var Block1Array = xmlRoot.getElementsByTagName("UserBlock1");
		var Address1Array = xmlRoot.getElementsByTagName("UserAddress1");
		var Address2Array = xmlRoot.getElementsByTagName("UserAddress2");
		var CountryArray = xmlRoot.getElementsByTagName("UserCountry");
		var PostcodeArray = xmlRoot.getElementsByTagName("UserPostcode");

		var DeliverNameArray = xmlRoot.getElementsByTagName("UserDeliverName");		
		var DeliverPhoneArray = xmlRoot.getElementsByTagName("UserDeliverPhone");		
		var DeliverUnit1Array = xmlRoot.getElementsByTagName("UserDeliverUnit1");
		var DeliverBlock1Array = xmlRoot.getElementsByTagName("UserDeliverBlock1");
		var DeliverAddr1Array = xmlRoot.getElementsByTagName("UserDeliverAddr1");
		var DeliverAddr2Array = xmlRoot.getElementsByTagName("UserDeliverAddr2");
		var DeliverCountryArray = xmlRoot.getElementsByTagName("UserDeliverCountry");
		var DeliverPostcodeArray = xmlRoot.getElementsByTagName("UserDeliverPostcode");

		var GreetingsArray = xmlRoot.getElementsByTagName("UserGreetings");										

		//resultText = xmlRoot.firstChild.data;
 // display the user message
	  //thisworks16Nov08 document.getElementById('username').value = "Status: "+status+" ,resultText: "+nameArray.item(0).firstChild.data
		//this works too 16Nov08 document.getElementById('username').value = "Status: "+status+" ,resultText: "+name0.firstChild.data
		if (NameArray[0].firstChild != null) {document.getElementById('username').value = NameArray[0].firstChild.data}
		if (PhoneArray[0].firstChild != null) {document.getElementById('usertel').value = PhoneArray[0].firstChild.data}
		if (Unit1Array[0].firstChild != null) {document.getElementById('unit1').value = Unit1Array[0].firstChild.data}
		if (Block1Array[0].firstChild != null) {document.getElementById('block1').value = Block1Array[0].firstChild.data}
		if (Address1Array[0].firstChild != null) {document.getElementById('addr1').value = Address1Array[0].firstChild.data}					
		if (Address2Array[0].firstChild != null) {document.getElementById('addr2').value = Address2Array[0].firstChild.data}
		if (CountryArray[0].firstChild != null) {document.getElementById('country').value = CountryArray[0].firstChild.data}
		if (PostcodeArray[0].firstChild != null) {document.getElementById('postcode').value = PostcodeArray[0].firstChild.data}									

		if (DeliverNameArray[0].firstChild != null) {document.getElementById('Delivername').value = DeliverNameArray[0].firstChild.data}
		if (DeliverPhoneArray[0].firstChild != null) {document.getElementById('Delivertel').value = DeliverPhoneArray[0].firstChild.data}		
		if (DeliverUnit1Array[0].firstChild != null) {document.getElementById('Deliverunit1').value = DeliverUnit1Array[0].firstChild.data}
		if (DeliverBlock1Array[0].firstChild != null) {document.getElementById('Deliverblock1').value = DeliverBlock1Array[0].firstChild.data}
		if (DeliverAddr1Array[0].firstChild != null) {document.getElementById('Deliveraddr1').value = DeliverAddr1Array[0].firstChild.data}					
		if (DeliverAddr2Array[0].firstChild != null) {document.getElementById('Deliveraddr2').value = DeliverAddr2Array[0].firstChild.data}
		if (DeliverCountryArray[0].firstChild != null) {document.getElementById('Delivercountry').value = DeliverCountryArray[0].firstChild.data}
		if (DeliverPostcodeArray[0].firstChild != null) {document.getElementById('Deliverpostcode').value = DeliverPostcodeArray[0].firstChild.data}	

		if (GreetingsArray[0].firstChild != null) {document.getElementById('greetings').value = GreetingsArray[0].firstChild.data}
		
 } else {
 	 	alert ("No match found")
		document.getElementById('loginPW').value = null;
		document.getElementById('username').value = null;
		document.getElementById('usertel').value = null;
		document.getElementById('unit1').value = null;
		document.getElementById('block1').value = null;
		document.getElementById('addr1').value = null;					
		document.getElementById('addr2').value = null;
		document.getElementById('country').value = null;
		document.getElementById('postcode').value = null;									

		document.getElementById('Delivername').value = null;
		document.getElementById('Delivertel').value = null;		
		document.getElementById('Deliverunit1').value = null;
		document.getElementById('Deliverblock1').value = null;
		document.getElementById('Deliveraddr1').value = null;				
		document.getElementById('Deliveraddr2').value = null;
		document.getElementById('Delivercountry').value = null;
		document.getElementById('Deliverpostcode').value = null;	

		document.getElementById('greetings').value = null;
 		
 } //end if(Status="Processing")
} //end function PW_ajaxcback(ReturnText,partnum,status)

