// JavaScript Document
function showDesc(dtlName){
	if(dtlName == '1') {
		 document.getElementById('tel').style.display = "block";
		 document.getElementById('yahoo').style.display = "none";								 								 								 document.getElementById('msn').style.display = "none";	
		 document.getElementById('skype').style.display = "none";	
		 document.getElementById('gtalk').style.display = "none";
		 document.getElementById('msn').style.display = "none";
		
		 document.getElementById('arr_tel').className = "over";
		 document.getElementById('arr_yahoo').className = "";
		 document.getElementById('arr_msn').className = "";
		 document.getElementById('arr_gtalk').className = "";
		 document.getElementById('arr_skype').className = "";
		}
	
	if(dtlName == '2') {
		 document.getElementById('tel').style.display = "none";
		 document.getElementById('yahoo').style.display = "block";								 								 								 document.getElementById('msn').style.display = "none";	
		 document.getElementById('skype').style.display = "none";	
		 document.getElementById('gtalk').style.display = "none";
		 document.getElementById('msn').style.display = "none";
		 
		 document.getElementById('arr_yahoo').className = "over";
		 document.getElementById('arr_tel').className = "";
		 document.getElementById('arr_msn').className = "";
		 document.getElementById('arr_gtalk').className = "";
		 document.getElementById('arr_skype').className = "";
		}
									
	if(dtlName == '3'){
		 document.getElementById('tel').style.display = "none";
		 document.getElementById('yahoo').style.display = "none";								 								 								 document.getElementById('msn').style.display = "block";	
		 document.getElementById('skype').style.display = "none";	
		 document.getElementById('gtalk').style.display = "none";	
		 document.getElementById('msn').style.display = "block";
		 
		 document.getElementById('arr_msn').className = "over";
		 document.getElementById('arr_tel').className = "";
		 document.getElementById('arr_yahoo').className = "";
		 document.getElementById('arr_gtalk').className = "";
		 document.getElementById('arr_skype').className = "";
		}	
		
	if(dtlName == '4') {
		 document.getElementById('tel').style.display = "none";
		 document.getElementById('yahoo').style.display = "none";								 								 								 document.getElementById('msn').style.display = "none";	
		 document.getElementById('skype').style.display = "block";	
		 document.getElementById('gtalk').style.display = "none";	
		 document.getElementById('msn').style.display = "none";
		 
		 document.getElementById('arr_skype').className = "over";
		 document.getElementById('arr_msn').className = "";
		 document.getElementById('arr_tel').className = "";
		 document.getElementById('arr_yahoo').className = "";
		 document.getElementById('arr_gtalk').className = "";
	}
	
	if(dtlName == '5') {
		document.getElementById('msn').style.display = "none";	
		document.getElementById('tel').style.display = "none";
		document.getElementById('yahoo').style.display = "none";								 								 								 document.getElementById('msn').style.display = "none";	
		document.getElementById('skype').style.display = "none";	
		document.getElementById('gtalk').style.display = "block";
		
		document.getElementById('arr_gtalk').className = "over";
		document.getElementById('arr_msn').className = "";
		document.getElementById('arr_tel').className = "";
		document.getElementById('arr_yahoo').className = "";
		document.getElementById('arr_skype').className = "";
	}								
}

/*var Cntpackage=0;
var totAmt = 0;
var OrderCntpackage = 0	;
var totbaseamt = 0;


function calcTotamt(thisCheckbox){
	
	if (thisCheckbox.checked){
		totbaseamt += parseFloat(thisCheckbox.value);
		OrderCntpackage += 1;
	} else {
		totbaseamt -= parseFloat(thisCheckbox.value);
		OrderCntpackage -= 1;
	}
	alert(parseFloat(Cntpackage)+parseFloat(OrderCntpackage));
		 document.getElementById("cntpack").innerHTML = parseFloat(Cntpackage)+parseFloat(OrderCntpackage);
		 
		 document.getElementById("cntpack").value = parseFloat(Cntpackage)+parseFloat(OrderCntpackage);
		 document.getElementById("totAmt").value = totAmt+totbaseamt;
		  val=document.getElementById("totAmt").value;
		  if(val>0){
		  sign = val < 0 ? "-":"";
		  rval = Math.abs(Math.round(val*100));
		  str = rval.toString();
		  if(rval < 10) {
				str = "0.0"+str;
			  } else if(rval < 100) {
				str = "0."+str;
			  } else {
			 var value=val.split('.');
				 if(value[0]==0){
					 str = value[0] + "." + str.substring(str.length-2, str.length);
				 }else{
			   netvalue = str.substring(0, str.length-2) + "." + str.substring(str.length-2, str.length);
				} 
			}
		  } else {
			netvalue = 0;  
		  }
		document.getElementById("totalpackage").value = parseFloat(Cntpackage)+parseFloat(OrderCntpackage);
		document.getElementById("totprice").value = netvalue;
		document.getElementById("Netprice").innerHTML = "$"+netvalue;
		
		document.getElementById("totpluginval").value =  parseFloat(Cntpackage)+parseFloat(OrderCntpackage) ;
		document.getElementById("totalpluginamt").value = netvalue;;

		
} 
*/

totAmt = 0;
Cntpackage=0;

function calcTotamt(thisCheckbox){
	OrderCntpackage = document.getElementById("totpluginval").value;
	if(OrderCntpackage ==''){
		OrderCntpackage ='0';
	}
	if (thisCheckbox.checked){
		totAmt += parseFloat(thisCheckbox.value);
		Cntpackage += 1;
	} else {
		totAmt -= parseFloat(thisCheckbox.value);
		Cntpackage -= 1;
	}
	
	 var totbaseamt = parseFloat(document.getElementById("totbaseamt").value);
		 document.getElementById("cntpack").innerHTML = parseFloat(Cntpackage)+parseFloat(OrderCntpackage);
		 document.getElementById("totAmt").value = totAmt+totbaseamt;
	
		  val=document.getElementById("totAmt").value;
		 if(val>0){
		  sign = val < 0 ? "-":"";
		  rval = Math.abs(Math.round(val*100));
		  str = rval.toString();
		  if(rval < 10) {
				str = "0.0"+str;
			  } else if(rval < 100) {
				str = "0."+str;
			  } else {
			 var value=val.split('.');
				 if(value[0]==0){
					 str = value[0] + "." + str.substring(str.length-2, str.length);
				 }else{
			   netvalue = str.substring(0, str.length-2) + "." + str.substring(str.length-2, str.length);
				} 
			}
		} else {
			netvalue = 0;  
		  }
		document.getElementById("totalpackage").value = parseFloat(Cntpackage)+parseFloat(OrderCntpackage);
		document.getElementById("totprice").value = netvalue;
		document.getElementById("Netprice").innerHTML = "$"+netvalue;
} 

function calcTotpackamt(thisradiobox){
	
	if (thisradiobox.checked){
		totPackAmt = parseFloat(thisradiobox.value);
		CntOtherPackage = 1;
	}
	document.getElementById("cntotherpack").innerHTML = parseFloat(CntOtherPackage);
	document.getElementById("totpackAmt").value = totPackAmt;
	document.getElementById("Netotherpackprice").innerHTML = "$"+totPackAmt;
	alert(totPackAmt);
}

function showpaymethod(val){
	document.contactform.pmethod.value=val;
	if(val=="2"){
	  document.getElementById('showccpayment').style.display="block";
	}else{
	  if(document.getElementById('showccpayment').style.display=="block")
	   document.getElementById('showccpayment').style.display="none";
	}	
}


function getpaymentmethod(){
	FirstName=document.getElementById('fname').value;
		if(FirstName==""){
			alert("Please Enter First Name");
			document.getElementById('fname').focus();
			return false;
		}
	LastName=document.getElementById('lname').value;
		if(LastName==""){
			alert("Please Enter Last Name");
			document.getElementById('lname').focus();
			return false;
		}	
	Address=document.getElementById('address').value;
		if(Address==""){
			alert("Please Enter  Address");
			document.getElementById('address').focus();
			return false;
		}
	if(document.getElementById('city').value == ""){
		alert("Please Enter City");
		document.getElementById('city').focus();
		return false;
	}
	if(document.getElementById('sltstate')){
		if(document.getElementById('sltstate').value == "" && document.getElementById('country').value=="US"){
			alert("Please select State");
			document.getElementById('state').focus();
			return false;
		}
	}
	if(document.getElementById('country').value == ""){
		alert("Please Select Country");
		document.getElementById('country').focus();
		return false;
	}	
	if(document.getElementById('zipcode').value == ""){
		alert("Please Enter PostalCode");
		document.getElementById('zipcode').focus();
		return false;
	}
	if(document.getElementById('method').value == ""){
		alert("Please Select Payment Type");
		return false;
	}
	if(document.getElementById('method').value=="2"){
		if(document.getElementById('ccname').value == ""){
			alert("Please Enter Name");
			document.getElementById('ccname').focus();
			return false;
			}
		if(document.getElementById('cctype').value == ""){
			alert("Please Select Card Type");
			document.getElementById('cctype').focus();
			return false;
			}
		if(document.getElementById('ccnumber').value == ""){
			alert("Please Enter Card Number");
			document.getElementById('ccnumber').focus();
			return false;
			}
		selDMonth=document.getElementById('expmon').value;
		/*selDDate=document.getElementById('selDDate').value;*/
		selDYear=document.getElementById('expyear').value;
			if(selDMonth==""){
				alert("Please select the Expiration Month");
				document.getElementById('expmon').focus();
				return false;
				}
			/*if(selDDate==""){
				alert("Please select the Expiration Date");
				document.getElementById('selDMonth').focus();
				return false;
			}*/
			if(selDYear==""){
				alert("Please select the Expiration Year");
				document.getElementById('expyear').focus();
				return false;
			}
		
		if(document.getElementById('cvccode').value == ""){
			alert("Please Enter CVC Code");		
			document.getElementById('cvccode').focus();
			return false;
			}
		if(document.getElementById('cvccode').value == "000" || document.getElementById('cvccode').value == "00" || document.getElementById('cvccode').value == "0"){
			alert("Invalid CVC Code");
			document.getElementById('cvccode').focus();
			return false;
		}
		cardnumber=document.getElementById('ccnumber').value ;
		 cardName=document.getElementById('cctype').value ;
		 cvc=document.getElementById('cvccode').value;
		 clen=cvc.length ;
		
		 if(cardName=="American Express"){
			  if(clen!=4){
				   alert("American Express CVC Code Should have 4 digits");
				   document.getElementById('cvccode').focus();
				   return false;
			  }
		 }
	  // Array to hold the permitted card characteristics
	  var cardname = new Array();
	  // Define the cardname we support. You may add addtional card types.
	  
	  //  Name:      As in the selection box of the form - must be same as user's
	  //  Length:    List of possible valid lengths of the card number for the card
	  //  prefixes:  List of possible prefixes for the card
	  //  checkdigit Boolean to say whether there is a check digit
	  
	  cardname [0] = {name: "Visa", 
				   length: "13,16", 
				   prefixes: "4",
				   checkdigit: true};
	  cardname [1] = {name: "Mastercard", 
				   length: "16", 
				   prefixes: "51,52,53,54,55",
				   checkdigit: true};
	  cardname [2] = {name: "Diner's Club", 
				   length: "14,16", 
				   prefixes: "300,301,302,303,304,305,36,38,55",
				   checkdigit: true};
	  cardname [3] = {name: "CarteBlanche", 
				   length: "14", 
				   prefixes: "300,301,302,303,304,305,36,38",
				   checkdigit: true};
	  cardname [4] = {name: "American Express", 
				   length: "15", 
				   prefixes: "34,37",
				   checkdigit: true};
	  cardname [5] = {name: "Discover", 
				   length: "16", 
				   prefixes: "6011,650",
				   checkdigit: true};
	  cardname [6] = {name: "JCB", 
				   length: "15,16", 
				   prefixes: "3,1800,2131",
				   checkdigit: true};
	  cardname [7] = {name: "enRoute", 
				   length: "15", 
				   prefixes: "2014,2149",
				   checkdigit: true};
	  cardname [8] = {name: "Solo", 
				   length: "16,18,19", 
				   prefixes: "6334, 6767",
				   checkdigit: true};
	  cardname [9] = {name: "Switch", 
				   length: "16,18,19", 
				   prefixes: "4903,4905,4911,4936,564182,633110,6333,6759",
				   checkdigit: true};
	  cardname [10] = {name: "Mastercard Debit Card", 
				   length: "16", 
				   prefixes: "5020,6",
				   checkdigit: true};
	  cardname [11] = {name: "Visa Debit Card", 
				   length: "16", 
				   prefixes: "417500,4917,4913",
				   checkdigit: true};
				   
	  // Establish card type
	  var cardType = -1;
	  for (var i=0; i<cardname.length; i++) { 
		// See if it is this card (ignoring the case of the string)
		//  if (cardname.toLowerCase () == cards[i].name.toLowerCase()) {
		if (cardName.toLowerCase () == cardname[i].name.toLowerCase()) {		
		  cardType = i;
		  break;
		}
	  }
	  // If card type not found, report an error
	  if (cardType == -1) {
		  alert("Unknown card type");
	   //  ccErrorNo = 0;
	   document.getElementById('ccnumber').focus();
			 return false; 
	  }
	 
	  // Ensure that the user has provided a credit card number
	  if (cardnumber.length == 0)  {
		// ccErrorNo = 1;
		alert("No card number provided");
		document.getElementById('ccnumber').focus();
		 return false; 
	  }
		
	  // Now remove any spaces from the credit card number
	  cardnumber = cardnumber.replace (/\s/g, "");
	
	  // Check that the number is numeric
	  var cardNo = cardnumber;
	  var cardexp = /^[0-9]{13,19}$/;
	 
	  if (!cardexp.exec(cardNo))  {
	   //  ccErrorNo = 2;
	   alert("Credit card number does not match the type of card you selected");
		 document.getElementById('ccnumber').focus();
		 return false; 
	  }
	  
	  // Now check the modulus 10 check digit - if required
	  /*if (cardname[cardType].checkdigit) {
		alert()
		var checksum = 0;                                  // running checksum total
		var mychar = "";                                   // next char to process
		var j = 1;                                         // takes value of 1 or 2
	  
		// Process each digit one by one starting at the right
		var calc;
		for (i = cardNo.length - 1; i >= 0; i--) {
		
		  // Extract the next digit and multiply by 1 or 2 on alternative digits.
		  calc = Number(cardNo.charAt(i)) * j;
		
		  // If the result is in two digits add 1 to the checksum total
		  if (calc > 9) {
			checksum = checksum + 1;
			calc = calc - 10;
		  }
		
		  // Add the units element to the checksum total
		  checksum = checksum + calc;
		
		  // Switch the value of j
		  if (j ==1) {j = 2} else {j = 1};
		} 
	  
		// All done - if checksum is divisible by 10, it is a valid modulus 10.
		// If not, report an error.
		if (checksum % 10 != 0)  {
		 ccErrorNo = 3;
		 return false; 
		}
	  }  */
	
	  // The following are the card-specific checks we undertake.
	  var LengthValid = false;
	  var PrefixValid = false; 
	  var undefined; 
	
	  // We use these for holding the valid lengths and prefixes of a card type
	  var prefix = new Array ();
	  var lengths = new Array ();
		
	  // Load an array with the valid prefixes for this card
	  prefix = cardname[cardType].prefixes.split(",");
		  
	  // Now see if any of them match what we have in the card number
	  for (i=0; i<prefix.length; i++) {
		var exp = new RegExp ("^" + prefix[i]);
		if (exp.test (cardNo)) PrefixValid = true;
	  }
		  
	  // If it isn't a valid prefix there's no point at looking at the length
	  if (!PrefixValid) {
		// ccErrorNo = 3;
		alert("Credit card number does not match the type of card you selected");
		document.getElementById('ccnumber').focus();
		 return false; 
	  }
		
	  // See if the length is valid for this card
	  lengths = cardname[cardType].length.split(",");
	  for (j=0; j<lengths.length; j++) {
		if (cardNo.length == lengths[j]) LengthValid = true;
	  }
	 
	  // See if all is OK by seeing if the length was valid. We only check the 
	  // length if all else was hunky dory.
	  if (!LengthValid) {
		 //ccErrorNo = 4;
		 alert("Credit card number has an inappropriate number of digits");
		 document.getElementById('ccnumber').focus();
		 return false; 
	  }  
  }
  var pid=document.getElementById('pay').value;
  document.getElementById('faction').value="paymentmethod";
  document.paymentmethod.action=modpath+"pay"+symb+"payment-method"+symb+pid+symb+"payment";
  document.paymentmethod.submit();
}
	

