/* 
*   +------------------------------------------------------------------+ 
*   ProjectName      : www.williamashley.com/coins
*   +------------------------------------------------------------------+ 
*   CopyrightNotice(s)                                                      
*   +------------------------------------------------------------------+ 
*   DisclaimerNotice(s)                                                  
*   +-------------------------------------------------------------------+ 
*   Author(s): RST Team                                      
*   +-------------------------------------------------------------------+ 
*   Last Modified Date: 17th DEC 2004.
*	 File Name : common_js.js
*	 +-------------------------------------------------------------------+ 
*/ 
// JavaScript Document
//date Validation
var dtCh= "/";
ashelly_date=new Date()

var minYear=ashelly_date.getFullYear();
var maxYear=ashelly_date.getFullYear()+2;

function rem_spaces(inputString) {
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }

   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
   }
   return retValue; 

}//end of function rem_spaces

//functions to check for valid date
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;

}//end of function isInteger



function stripCharsInBag(s, bag){

	var i;

    var returnString = "";

    // Search through string's characters one by one.

    // If character is not in bag, append to returnString.

    for (i = 0; i < s.length; i++){   

        var c = s.charAt(i);

        if (bag.indexOf(c) == -1) returnString += c;

    }

    return returnString;

}//end of function stripCharsInBag


function daysInFebruary (year){

	// February has 29 days in any year evenly divisible by four,

    // EXCEPT for centurial years which are not also divisible by 400.

    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );

}//end of function daysInFebruary 

function DaysArray(n) {

	for (var i = 1; i <= n; i++) {

		this[i] = 31

		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}

		if (i==2) {this[i] = 29}

   } 

   return this

}//end of function DaysArray()


function isDate(dtStr){

	var daysInMonth = DaysArray(12)

	var pos1=dtStr.indexOf(dtCh)

	var pos2=dtStr.indexOf(dtCh,pos1+1)

	var strMonth=dtStr.substring(0,pos1)
        
	var strDay=dtStr.substring(pos1+1,pos2)

	var strYear=dtStr.substring(pos2+1)

	strYr=strYear

	
	if (strDay.charAt(0)=="0" && strDay.length>1 && strDay.length<3) strDay=strDay.substring(1)

	
	if (strMonth.charAt(0)=="0" && strMonth.length>1 && strMonth.length<3) strMonth=strMonth.substring(1)
    
	for (var i = 1; i <= 3; i++) {

		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)

	}

    
	month=parseInt(strMonth)

	day=parseInt(strDay)
 
	year=parseInt(strYr)

	if (pos1==-1 || pos2==-1){

		alert("The date format should be : mm/dd/yyyy")

		return false

	}
      
	if (strMonth.length<1 || month<1 || month>12 || strMonth.length>2){

		alert("Please enter a valid month")

		return false

	}
       
	if (strDay.length<1 || strDay.length>2 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){

		alert("Please enter a valid day")

		return false

	}

	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
       
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)

		return false

	}

	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){

		alert("Please enter a valid date")

		return false

	}

return true

}//end of function isDate




function validOver3(formField) 
{ 
  var result = true; 
  
  var dDate = new Date(formField); 
  var today = new Date(); 
  var nod=0;
  nod=DaysDiff(dDate,today);
  if(nod<0)
  {
	result=false;
  }
  switch(nod)
  {
	  case 0:result=false;break;
  	//  case 1:result=false;break;
  	 
  }
  return result; 
}



function DaysDiff(D1, D2) { // Date Objects, with similar times
  return Math.round((D1-D2)/864e5) }

/*function DiffDays(S1, S2) { // ISO date strings
  var X = ReadISO8601date(S1) ; if (X<0) return 'Date 1 bad'
  var Y = ReadISO8601date(S2) ; if (Y<0) return 'Date 2 bad'
  var Dx = Date.UTC(X[0], X[1]-1, X[2])
  var Dy = Date.UTC(Y[0], Y[1]-1, Y[2])
  return (Dx-Dy)/864e5 }

function TryFrm1() { with (document.forms['Frm1']) {
  Diff1.value = DaysDiff(
    new Date(Date1.value.replace(/-/g, '/')),
    new Date(Date2.value.replace(/-/g, '/')) )
  Diff2.value = DiffDays(Date1.value.trim(), Date2.value.trim())
  Date1.focus() } }*/



//end of date validation


//check for special characters  in Name field 

function check_alpha()
{
if ((event.keyCode >96  && event.keyCode <123) ||(event.keyCode >64  && event.keyCode <91) ||event.keyCode==32)	{
		event.returnValue = true;
	}else{
	  	alert("Invalid input only alphabetic values accepted");		
		event.returnValue = false;
	}

}//end of function check_alpha()

//check for valid telephone number 
function check_telephone()
{
	if ((event.keyCode < 48 || event.keyCode > 57)&&(event.keyCode != 45) && (event.keyCode !=43))
	{
	  	alert("Invalid input only numeric values,'+' and '-' accepted");
		event.returnValue = false;
	}
	
 
}//end of function check_telephone()

//check  for numeric values only
function check_number()
{
  if(event.keyCode == 13)	
    {
		event.returnValue = false;
	}
	
else if ( (event.keyCode < 48 || event.keyCode > 57) )
	{
	  	alert("Invalid input only numeric values accepted");
		event.returnValue = false;
	}
}//end of function check_number()


//check the telephone number in(###)###-######
function ValidatePhone(m){
p=m.value
if (event.keyCode < 48 || event.keyCode > 57)
	{
	  	alert("Invalid input only numeric values accepted");
		event.returnValue = false;
	}
if(p.length==3){
        pp=p;
        d4=p.indexOf('(')
        d5=p.indexOf(')')
        if(d4==-1){
                pp="("+pp;
        }
        if(d5==-1){
                pp=pp+")";
        }
        m.value="";
        m.value=pp;
}
if(p.length>3){
        d1=p.indexOf('(')
        d2=p.indexOf(')')
        if (d2==-1){
                l30=p.length;
                p30=p.substring(0,4);
                p30=p30+")"
                p31=p.substring(4,l30);
                pp=p30+p31;
                m.value="";
                m.value=pp;
        }
}
if(p.length>5){
        p11=p.substring(d1+1,d2);
        if(p11.length>3){
             p12=p11;
             l12=p12.length;
             l15=p.length
             p13=p11.substring(0,3);
             p14=p11.substring(3,l12);
             p15=p.substring(d2+1,l15);
             m.value="";
             pp="("+p13+")"+p14+p15;
             m.value=pp;
        }
        l16=p.length;
        p16=p.substring(d2+1,l16);
        l17=p16.length;
        if(l17>3&&p16.indexOf('-')==-1){
                p17=p.substring(d2+1,d2+4);
                p18=p.substring(d2+4,l16);
                p19=p.substring(0,d2+1);
        pp=p19+p17+"-"+p18;
        m.value="";
        m.value=pp;
        }
}

}//end of function ValidatePhone()

function testphone(obj1){
         p=obj1.value
         p=p.replace("(","")
         p=p.replace(")","")
         p=p.replace("-","")
         p=p.replace("-","")
         if (isNaN(p)==true){
                  alert("Check phone");
                  return false;
         }
}//end of function testphone

//Email Validation   
	function EmailValidation(Element)
	{
		Flag  = 1;
		count = 0;
	
		var alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@.-";
		
		if(Element.value.length > 0)
		{
			for (var i=0; i<Element.value.length; i++)
			{
				temp = Element.value.substring(i, i+1);
	
				if (alp.indexOf(temp) == -1)
				{
					Flag = 0;
				}
			} // closing the for loop
		}
		else
		{
			Flag = 0;
		}
	
		for(var i=0; i <= Element.value.length; i++)
		{
			if(Element.value.charAt(0)=='@')
			{
				Flag = 0;
				break;
			}

			if(Element.value.charAt(Element.value.length-1)=='@')
			{
				Flag = 0;
				break;
			}

			if(Element.value.charAt(i)=='@') 
			{
				count = count + 1;

				if(count>1)
				{
					Flag = 0;
					break;
				}
			  
				if((Element.value.charAt(i-1)=='.') || (Element.value.charAt(i+1)=='.'))
				{
					Flag = 0;
					break;
				}
			}
			if(Element.value.indexOf('@')==-1)
			{
				Flag = 0;		    	
				break;
			}
			if(Element.value.charAt(0)=='.')
			{
				Flag = 0;
				break;
			}
			if(Element.value.indexOf('.')==-1)
			{
				Flag = 0;		    	
				break;
			}
		  } //closing the for loop
		
		if(Element.value.charAt(Element.value.length-1) == '.')
			Flag = 0;
			
		if(Flag != 1)
		{
			alert("Invalid Email Address.\nValid Characters [a-z][A-Z][0-9][ _ @ . - ].\n\n");
			Element.focus();
			return 0;
		}	
		else
			return 1;
	}//end of function emailvalidation()
	
//payment-details.asp
function chkvalidpayment(val)
{
	if(val!="add")
	{
	var result= true;
		for(var i=0; i < 16 ; i++)  //document.frm.elements.length
		{
			if (document.frm.elements[i].name != "txtophone" &&  document.frm.elements[i].name != "txtattention" )
			{
				if(document.frm.elements[i].value == "")
				{
					result= false;
					emptyAlertMsgPayment(document.frm.elements[i]);
					document.frm.elements[i].focus();
					break;
				}//end of if
				else
				{
						if (document.frm.elements[i].name== "txtfname" || document.frm.elements[i].name== "txtlname" || document.frm.elements[i].name== "txtcity"  )
						{
							if(!goodchar(document.frm.elements[i].value))
							{
								if (document.frm.elements[i].name== "txtfname")
								{
									alert("First Name should be Alphabets!...");
								}
								else if (document.frm.elements[i].name== "txtlname")
								{
									alert("Surname should be Alphabets!...");
								}
								else if (document.frm.elements[i].name== "txtaddress2")
								{
									alert("City name should be Alphabets!");
								}

								document.frm.elements[i].value = "";
								document.frm.elements[i].focus();
								return false;
								break;
							}
						}

						if (document.frm.elements[i].name== "txthphone" )
						{
								//d4=document.frm.elements[i].value.indexOf('(')
								//d5=document.frm.elements[i].value.indexOf(')')
									
								//if(d4==-1 && d5==-1)
								//{
									if ((!goodnum(document.frm.elements[i].value)))
									{
											alert("Home Phone Number must Numeric");
											document.frm.elements[i].value = "";
											document.frm.elements[i].focus();
											return false;
											break;
									}
									//else
									//{
											//if (document.frm.elements[i].value.length < 10 || document.frm.elements[i].value.length > 10  )
											//{
												//alert("Please check your Home Phone Number (10 digits)!..");
												//document.frm.elements[i].value = "";
												//document.frm.elements[i].focus();
												//return false;
												//break;
											//}
											//else
											//{
													//document.frm.elements[i].value =  PhoneFormat(document.frm.elements[i].value);
											//}
									//}
							//}
						}
						
						if (document.frm.elements[i].name == "txtemail" && document.frm.elements[i].value != "" )
						{
								if(!EmailValidation(document.frm.elements[i]))
								 {
									document.frm.elements[i].focus();
									return false;
								  }
						}

						if (document.frm.elements[i].name== "txtstreet")
						{
							document.frm.elements[i].value= rem_zero(document.frm.elements[i].value);
						}	
						
						if (document.frm.elements[i].name== "txtpostcode")
						{
							document.frm.elements[i].value= rem_zero(document.frm.elements[i].value);
						}	
						if (document.frm.elements[i].name== "cardexpiryyear") 
						{
							if ((!goodnum(document.frm.txtcardno.value)))
									{
											alert("Card Number must be Numeric");
											document.frm.txtcardno.value = "";
											document.frm.txtcardno.focus();
											return false;
											break;
									}
							if(isCardMatch(document.frm.cardtype.value,document.frm.txtcardno.value)==false)
							{
								alert("Card Number is not valid type"); 
								document.frm.txtcardno.focus();
								return false;
							}
							today=new Date();
							if(document.frm.cardexpirymonth.value < (today.getMonth() + 1)  && document.frm.cardexpiryyear.value == today.getFullYear())
							 {
							   alert("Card Already Expired");
							   document.frm.cardexpirymonth.focus();
							   return false;
							 }

						}	

				
				}

			}
		else
			{
				if (document.frm.elements[i].name == "txtophone" && document.frm.elements[i].value != "" )
					{
							//d4=document.frm.elements[i].value.indexOf('(')
							//d5=document.frm.elements[i].value.indexOf(')')
								
							//if(d4==-1 && d5==-1)
							//{
								if (!goodnum(document.frm.elements[i].value))
								{
										alert("Business Phone Number must Numeric");
										document.frm.elements[i].value = "";
										document.frm.elements[i].focus();
										return false;
										break;
								}
								//else
								//{
										//if (document.frm.elements[i].value.length < 10 || document.frm.elements[i].value.length > 10  )
										//{
											//alert("Please check your Business Phone Number (10 digits)!..");
											//document.frm.elements[i].value = "";
											//document.frm.elements[i].focus();
											//return false;
											//break;
										//}
										//else
										//{
												//document.frm.elements[i].value =  PhoneFormat(document.frm.elements[i].value);
										//}
								//}
						//}
					}
			}

						if (document.frm.elements[i].name== "txtattention")
						{
							document.frm.elements[i].value= rem_zero(document.frm.elements[i].value);
						}	
						
						if (document.frm.elements[i].name== "txtcsecuritycode")
						{
							if (!goodnum(document.frm.elements[i].value))
								{
										alert("Security Code must Numeric");
										document.frm.elements[i].value = "";
										document.frm.elements[i].focus();
										return false;
										break;
								}
								//document.frm.elements[i].value= rem_zero(document.frm.elements[i].value);
								if(document.frm.txtcsecuritycode.value.length<3)
								{
								alert("The Card Security Code Must be Greater than 2 digts");
								document.frm.txtcsecuritycode.focus();
								return false;
								}
								if(document.frm.cardtype.value=="Amex") 
								{
									if(document.frm.txtcsecuritycode.value.length<4)
									{
									  alert("For Amex Cards Security Code is 4  digts");
									  document.frm.txtcsecuritycode.focus();
									  return false;
									 }
								}
						}	//end sec

		}//end of for  		
	}//end of if for val
		document.frm.act.value=val;
		
		//document.frm.submit();
		 return result;

}//end of function

function emptyAlertMsgPayment(toCheck) 
{
	switch(toCheck.name)
	{
		
		case "txtfname":
		{
			alert("First Name cannot be left empty!");
			break;
		}

		case "txtlname":
		{
			alert("Surname cannot be left empty!");
			break;
		}
		case "txtstreet":
		{
			alert("Street Name cannot be left empty!");
			break;
		}
		case "txtcity":
		{
			alert("City Name cannot be left empty!");
			break;
		}
		case "txtstate":
		{
			alert("State cannot be left empty!");
			break;
		}
		case "txtcountry":
		{
			alert("Country cannot be left empty!");
			break;
		}

		case "txthphone":
		{
			alert("Home Phone cannot be left empty!");
			break;
		}
		case "txtophone":
		{
			alert(" Post Code cannot be left empty!");
			break;
		}
		case "txtemail":
		{
			alert("Email cannot be left empty!");
			break;
		}
		case "cardtype":
		{
			alert("Select Credit Card Type!");
			break;
		}

		case "txtcardno":
		{
			alert( "Credit Card cannot be left empty!");
			break;
		}

		case "cardexpirymonth":
		{
			alert("Select Expired Month!..");
			break;
		}
		case "cardexpiryyear":
		{
			alert("Select Expired year!..");
			break;
		}
		
		case "txtcsecuritycode":
		{
			alert("Security Code Can't be left empty!..");
			break;
		}
		case "txtpostcode":
		{
			alert("Postal Code Can't be left empty!..");
			break;
		}
		

	 }
}



//delivery.asp validations
function chkvalid(val)
{
	if(!isDate(document.frm.txtdate.value))
	     {
			 document.frm.txtdate.focus();
			 document.frm.txtdate.select();
			 return false;
	     }
	   else if(!validOver3(document.frm.txtdate.value))
	     {
			 alert("Delivery date cannot be less than two days from order");
			 document.frm.txtdate.focus();
			 document.frm.txtdate.select();
			 return false;
	    }
		document.frm.saction.value=val;
		document.frm.shiptype.value=1;

  	if(document.frm.ptype[0].checked==false && document.frm.ptype[1].checked==false)  
	{
		var result= true;
		document.frm.shiptype.value=0;
		for(var i=0; i < 16 ; i++)  //document.frm.elements.length
		{
			if (document.frm.elements[i].name != "txtbphone" && document.frm.elements[i].name != "txtemail" && document.frm.elements[i].name != "txtattention" )
			{
				if(document.frm.elements[i].value == "")
				{
					result= false;
					emptyAlertMsg(document.frm.elements[i]);
					if(document.frm.elements[i].name != "txtaddress3")
					document.frm.elements[i].focus();
					break;
				}//end of if
				else
				{
						if (document.frm.elements[i].name== "txtfname" || document.frm.elements[i].name== "txtlname" || document.frm.elements[i].name== "txtaddress2" || document.frm.elements[i].name== "txtfrom" || document.frm.elements[i].name== "txtto"  )
						{
							if(!goodchar(document.frm.elements[i].value))
							{
								if (document.frm.elements[i].name== "txtfname")
								{
									alert("First Name should be Alphabets!...");
								}
								else if (document.frm.elements[i].name== "txtlname")
								{
									alert("Surname should be Alphabets!...");
								}
								else if (document.frm.elements[i].name== "txtaddress2")
								{
									alert("The address should contain Alpha characters only.");
								}
								else if (document.frm.elements[i].name== "txtfrom")
								{
									alert("The Certificate From should contain Alpha characters only.");
								}
								else if (document.frm.elements[i].name== "txtto")
								{
									alert("The Certificate To should contain Alpha characters only.");
								}

								document.frm.elements[i].value = "";
								document.frm.elements[i].focus();
								return false;
								break;
							}
						}

						if (document.frm.elements[i].name== "msg" )
						{
							if(document.frm.msg.value.length>224)
							{
						 	alert("you can enter the message upto 300 charecters only");
						 	document.frm.msg.focus();
						 	return false;
						 	break;
							}
						}
						if (document.frm.elements[i].name== "txthphone" )
						{
								d4=document.frm.elements[i].value.indexOf('(')
								d5=document.frm.elements[i].value.indexOf(')')
									
								if(d4==-1 && d5==-1)
								{
									if ((!goodnum(document.frm.elements[i].value)))
									{
											alert("Home Phone Number must Numeric");
											document.frm.elements[i].value = "";
											document.frm.elements[i].focus();
											return false;
											break;
									}
									else
									{
											if (document.frm.elements[i].value.length < 10 || document.frm.elements[i].value.length > 10  )
											{
												alert("Please check your Home Phone Number (10 digits)!..");
												document.frm.elements[i].value = "";
												document.frm.elements[i].focus();
												return false;
												break;
											}
											else
											{
													document.frm.elements[i].value =  PhoneFormat(document.frm.elements[i].value);
											}
									}
							}
						}
						
						if (document.frm.elements[i].name== "txtaddress")
						{
							document.frm.elements[i].value= rem_zero(document.frm.elements[i].value);
						}	
						
						
						if (document.frm.elements[i].name== "txtpostcode")
						{
							document.frm.elements[i].value= rem_zero(document.frm.elements[i].value);
						}	
				}

			}
		else
			{
				if (document.frm.elements[i].name == "txtbphone" && document.frm.elements[i].value != "" )
					{
							d4=document.frm.elements[i].value.indexOf('(')
							d5=document.frm.elements[i].value.indexOf(')')
								
							if(d4==-1 && d5==-1)
							{
								if (!goodnum(document.frm.elements[i].value))
								{
										alert("Business Phone Number must Numeric");
										document.frm.elements[i].value = "";
										document.frm.elements[i].focus();
										return false;
										break;
								}
								else
								{
										if (document.frm.elements[i].value.length < 10 || document.frm.elements[i].value.length > 10  )
										{
											alert("Please check your Business Phone Number (10 digits)!..");
											document.frm.elements[i].value = "";
											document.frm.elements[i].focus();
											return false;
											break;
										}
										else
										{
												document.frm.elements[i].value =  PhoneFormat(document.frm.elements[i].value);
										}
								}
						}
					}

					if (document.frm.elements[i].name == "txtemail" && document.frm.elements[i].value != "" )
					{
							if(!EmailValidation(document.frm.elements[i]))
							 {
							    document.frm.elements[i].focus();
								return false;
							  }

					}
			}
						if (document.frm.elements[i].name== "txtattention")
						{
							document.frm.elements[i].value= rem_zero(document.frm.elements[i].value);
						}	

		}//end of for
	  }//end of main if
	  return result;

}//end of function

function goodnum(string) 
{
var status=true;
var good="0123456789";

    for (var i = 0; i < string.length; i++) 
	{
       if (good.indexOf(string.charAt(i)) == -1) 
	   {
          status= false;
		  break;
	   }
    }   
	   return status;
} 

function PhoneFormat(p)
{
	var s4="";
	if (p.length == 10)
	{
		s1 = p.substr(0,3);
		s2 = p.substr(3,3);
		s3 = p.substr(6,4);
		s4 = "("+ s1 + ")"+ s2 + "-" + s3 ;
	}
	return s4;
}

function emptyAlertMsg(toCheck) 
{
	switch(toCheck.name)
	{
		
		case "txtfname":
		{
			alert("First Name cannot be left empty!");
			break;
		}

		case "txtlname":
		{
			alert("Surname cannot be left empty!");
			break;
		}
		case "txtaddress":
		{
			alert("Street Name cannot be left empty!");
			break;
		}
		case "msg":
		{
			alert("Enter Personal Message!");
			break;
		}
		case "txtaddress2":
		{
			alert("City Name cannot be left empty!");
			break;
		}
		case "txtaddress3":
		{
			alert("Select the State!");
			break;
		}

		case "txtcountry":
		{
			alert(" Select Country!");
			break;
		}
		case "txtpostcode":
		{
			alert(" Post Code cannot be left empty!");
			break;
		}
		case "txthphone":
		{
			alert(" Home Phone  cannot be left empty!");
			break;
		}
		case "txtbphone":
		{
			alert(" Business Phone Number  cannot be left empty!");
			break;
		}

		case "txtattention":
		{
			alert( " Attention cannot be left empty!");
			break;
		}

		case "txtemail":
		{
			alert("Email Can't be left empty!..");
			break;
		}
		
		case "txtfrom":
		{
			alert("Certificate From Can't be left empty!..");
			break;
		}
		case "txtto":
		{
			alert("Certificate TO Can't be left empty!..");
			break;
		}
		
	 }
}


function goodchar(string) 
{
var status=true;
var good=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    for (var i = 0; i < string.length; i++) 
	{
       if (good.indexOf(string.charAt(i)) == -1) 
	   {
          status= false;
		  break;
	   }
    }   
	   
	   return status;
} 







//end delivery

//validations for payment details
function navgate(id,act) 
{
document.frm.act.value=act;
document.frm.tid.value=id;
document.frm.action="transupdate.asp";
document.frm.submit();
}
function checkvaild_pay()
{  
    today=new Date();
  
	if(rem_spaces(document.frm.txtfname.value)=="")
	{
	alert("Enter the First Name");
	document.frm.txtfname.focus();
	return false;
	}
	else if(rem_spaces(document.frm.txtlname.value)=="")
	{
	alert("Enter the Sur Name");
	document.frm.txtlname.focus();
	return false;
	}
	else if(rem_spaces(rem_zero(document.frm.txtstreet.value))=="")
	{
	alert("Enter the Street Name");
	document.frm.txtstreet.focus();
	return false;
	}
	else if(rem_spaces(document.frm.txtcity.value)=="")
	{
	alert("Enter the City Name");
	document.frm.txtcity.focus();
	return false;
	}

	else if(rem_spaces(document.frm.txtstate.value)=="")
	{
	alert("Enter the State Name");
	document.frm.txtstate.focus();
	return false;
	}
	else if(rem_spaces(document.frm.txtcountry.value)=="")
	{
	alert("Select Country");
	document.frm.txtcountry.focus();
	return false;
	}
	else if(rem_spaces(rem_zero(document.frm.txtpostcode.value))=="")
	{
	alert("Enter the Postal Code");
	document.frm.txtpostcode.focus();
	return false;
	}
	else if(rem_spaces(document.frm.txthphone.value)=="")
	{
	alert("Enter the Home Phone Number");
	document.frm.txthphone.focus();
	return false;
	}
   	else if(rem_spaces(document.frm.txtemail.value)=="")
	{
	alert("Enter the Email Address");
	document.frm.txtemail.focus();
	return false;
	}
	else if(!EmailValidation(document.frm.txtemail))
	{
		document.frm.txtemail.focus();
		return false;
	}//end of else if
   else if(document.frm.cardtype.value == "0") {
	alert("Please select Card type from the list");
	document.frm.cardtype.focus();
    return false;
	}
	else if(rem_spaces(document.frm.txtcardno.value)=="")
	{
	alert("Enter the Card No");
	document.frm.txtcardno.focus();
	return false;
	}
	
	else if(isCardMatch(document.frm.cardtype.value,document.frm.txtcardno.value)==false)
    {
		alert("Card Number is not valid type"); 
        document.frm.txtcardno.focus();
	    return false;
    }
	else if(document.frm.cardexpirymonth.value == "0") {
	alert("Please select Month from the list");
	document.frm.cardexpirymonth.focus();
    return false;
	}
	else if(document.frm.cardexpiryyear.value == "0") {
	alert("Please select year from the list");
	document.frm.cardexpiryyear.focus();
    return false;
	}
	else
	if(document.frm.cardexpiryyear.value < today.getFullYear())
	 {
	    alert("Card Already Expired");
	    document.frm.cardexpiryyear.focus();
	    return false;
	 }
	
	else if(document.frm.cardexpirymonth.value < (today.getMonth() + 1)  && document.frm.cardexpiryyear.value == today.getFullYear())
	 {
	   alert("Card Already Expired");
	   document.frm.cardexpirymonth.focus();
	   return false;
	 }
	
	else if(document.frm.txtcsecuritycode.value.length<3)
	{
	alert("The Card Security Code Must be Greater than 2 digts");
	document.frm.txtcsecuritycode.focus();
	return false;
	}
	else if(document.frm.cardtype.value=="Amex") 
	{
		if(document.frm.txtcsecuritycode.value.length<4)
		{
	      alert("For Amex Cards Security Code is 4  digts");
	      document.frm.txtcsecuritycode.focus();
		  return false;
		 }
	}
	else if(rem_spaces(document.frm.txtcsecuritycode.value)=="")
	{
	alert("Enter the Card Security Code");
	document.frm.txtcsecuritycode.focus();
	return false;
	}
document.frm.txtattention.value=rem_spaces(rem_zero(document.frm.txtattention.value));
document.frm.txtpostcode.value=rem_spaces(rem_zero(document.frm.txtpostcode.value));
	
		return true;
}
//end of payment details


//start of default.asp
function checkchars()
{
 	if(isNaN(document.frm2.totalamt.value))
	{
	alert("Please enter only Numeric Data");
	document.frm2.totalamt.value="";
	document.frm2.totalamt.focus();
	}
	if(parseInt(document.frm2.totalamt.value) < 0)
	{
	alert("Negative values are not allowed for this field.");
	document.frm2.totalamt.value="";
	document.frm2.totalamt.focus();
	return 0;
	}
}// this function check for numaric values


//check  for numeric values only and submiting
function check_number1()
{
  if(event.keyCode == 13)	
    {
	 return proceed();
	}
	
else if ( (event.keyCode < 48 || event.keyCode > 57) )
	{
	  	alert("Invalid input only numeric values accepted");
		event.returnValue = false;
	}
}//end of function check_number()



//check  for numeric values only and submiting
function check_number2()
{
  if(event.keyCode == 13)	
    {
		 ret=proceed1();
		 if(ret==false)
		 return false;
         document.frm2.cetificate.disabled=true;
	     document.frm2.submit();
	}
 else if ( (event.keyCode < 48 || event.keyCode > 57) )
	{
	  	alert("Invalid input only numeric values accepted");
		event.returnValue = false;
	}
	
}//end of function check_number()

function proceed()
{
	
	if(document.frm2.cetificate.value == '' ) {
	alert("Enter Gift Certificate Amount");
	document.frm2.cetificate.focus();
    return false;
	}

   if(isNaN(document.frm2.cetificate.value) ) {
	alert("Enter Numeric Value Only");
	document.frm2.cetificate.focus();
    return false;
	}
   if(parseInt(document.frm2.cetificate.value) <= 0)
	{
	alert("Negative values are not allowed for this field.");
	document.frm2.cetificate.value="";
	document.frm2.cetificate.focus();
	return false;
	}
   	
	document.frm2.ctype.value="certificate";
	return true;
}
function proceed1()
{
    
	retval=testfun();
	if(retval==false)
	 {
	  document.frm2.totalamt.focus();
	  return false;
	 }
	 else
	 {
	   document.frm2.ctype.value="coin";
	   return true;
	 }  
	
}



function testfun(){

var p=document.frm2.totalamt.value;
var len=p.length;
if(isNaN(p)) 
    {
    alert(" Enter amount in numbers");
     document.frm2.totalamt.focus();     
	 return false;
     }
     else if(len==1)
     {
     alert("The amount should be above $ 50 ");
     document.frm2.totalamt.focus();   
	 return false;  
     }


else
{
var coins500 = 0, coins100 = 0, coins50 = 0;
var remsilver = 0, remord = 0;
var amount = 0;
amount = document.frm2.totalamt.value

if( amount > 0 && (amount % 50) == 0  )
{
     coins500 = parseInt(amount / 500);
     remsilver = amount % 500;
     if(remsilver != 0)
     {
          amount           = remsilver;
          coins100      = parseInt(amount / 100);
          amount           = amount % 100;
          if(amount != 0)
          {
               coins50 = parseInt(amount / 50);
          }      
     
     }
	 str="$500 coins: "+ coins500 + "\n\n" + "$100 coins: "+ coins100 + "\n\n " + "$50 coins:  " +coins50;
	 document.frm2.info.value= " $500 coins: "+ coins500 + " " + "$100 coins: "+ coins100 + " " + "$50 coins:  " +coins50;
	// alert("500 coins  =" + coins500 );
  	// alert("100 coins =" + coins100 );
   	//  alert("50  coins  =" + coins50 );
    // alert(str);
}
else
{
     alert("Amount of Coins must be a multiple of 50"); 
	 return false;    
}

}
}//end of function

function popwin(url,w,h) {
  value=document.frm2.pouch.value;
  if(value!=0){
  url=url+"?id="+value;
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width='+w+',height='+h+',screenX=150,screenY=150,top=100,left=150')
 }
}

//end default.asp

//end 
function chkmsg(obj)
{
	if((obj.value.length)>224) 
	{
		alert("Message must less than 300 charecters");
		valmsg=obj.value;
		obj.value=valmsg.substring(0,224);
		
	    return false
	}
	
}



/*  ================================================================
   FUNCTION:  isCreditCard(st)

   INPUT:     st - a string representing a credit card number

   RETURNS:  true, if the credit card number passes the Luhn Mod-10
            test.
          false, otherwise
   ================================================================ */

function isCreditCard(st) {
 // Encoding only works on cards with less than 19 digits
 if (st.length > 19)
   return (false);

 sum = 0; mul = 1; l = st.length;
 for (i = 0; i < l; i++) {
   digit = st.substring(l-i-1,l-i);
   tproduct = parseInt(digit ,10)*mul;
   if (tproduct >= 10)
     sum += (tproduct % 10) + 1;
   else
     sum += tproduct;
   if (mul == 1)
     mul++;
   else
     mul--;
 }
 
// Uncomment the following line to help create credit card numbers
// 1. Create a dummy number with a 0 as the last digit
// 2. Examine the sum written out
// 3. Replace the last digit with the difference between the sum and
//    the next multiple of 10.

//  document.writeln("<BR>Sum      = ",sum,"<BR>");
//  alert("Sum      = " + sum);

 if ((sum % 10) == 0)
   return (true);
 else
   return (false);

} // END FUNCTION isCreditCard()



/*  ================================================================
   FUNCTION:  isVisa()

   INPUT:     cc - a string representing a credit card number

   RETURNS:  true, if the credit card number is a valid VISA number.

          false, otherwise

   Sample number: 4111 1111 1111 1111 (16 digits)
   ================================================================ */

function isVisa(cc)
{
 if (((cc.length == 16) || (cc.length == 13)) &&
     (cc.substring(0,1) == 4))
   return isCreditCard(cc);
 return false;
}  // END FUNCTION isVisa()




/*  ================================================================
   FUNCTION:  isMasterCard()

   INPUT:     cc - a string representing a credit card number

   RETURNS:  true, if the credit card number is a valid MasterCard
            number.

          false, otherwise

   Sample number: 5500 0000 0000 0004 (16 digits)
   ================================================================ */

function isMasterCard(cc)
{
 firstdig = cc.substring(0,1);
 seconddig = cc.substring(1,2);
 if ((cc.length == 16) && (firstdig == 5) &&
     ((seconddig >= 1) && (seconddig <= 5)))
   return isCreditCard(cc);
 return false;

} // END FUNCTION isMasterCard()





/*  ================================================================
   FUNCTION:  isAmericanExpress()

   INPUT:     cc - a string representing a credit card number

   RETURNS:  true, if the credit card number is a valid American
            Express number.

          false, otherwise

   Sample number: 340000000000009 (15 digits)
   ================================================================ */

function isAmericanExpress(cc)
{
 firstdig = cc.substring(0,1);
 seconddig = cc.substring(1,2);
 if ((cc.length == 15) && (firstdig == 3) &&
     ((seconddig == 4) || (seconddig == 7)))
   return isCreditCard(cc);
 return false;

} // END FUNCTION isAmericanExpress()



function isCardMatch (cardType, cardNumber)
{

    cardType = cardType.toUpperCase();
    var doesMatch = true;
	

    if ((cardType == "VISA") && (!isVisa(cardNumber)))
        doesMatch = false;
    if ((cardType == "MASTERCARD") && (!isMasterCard(cardNumber)))
        doesMatch = false;
    if ( ( (cardType == "AMERICANEXPRESS") || (cardType == "AMEX") )
               && (!isAmericanExpress(cardNumber))) doesMatch = false;
    
	
	return doesMatch;

}  // END FUNCTION CardMatch()


function distext(val)
{
	if(val==1)
	 {
		 document.frm.txtfname.disabled=true;
		 document.frm.txtlname.disabled=true;
		 document.frm.txtaddress.disabled=true;
		 document.frm.txtaddress2.disabled=true;
 		 document.frm.txtaddress3.disabled=true;
		 document.frm.txtcountry.disabled=true;
		 document.frm.txtpostcode.disabled=true;
		 document.frm.txthphone.disabled=true;
		 document.frm.txtbphone.disabled=true;
		 document.frm.txtattention.disabled=true;
		 document.frm.txtemail.disabled=true;
		 document.frm.txtfname.value=""
		 document.frm.txtlname.value=""
		 document.frm.txtaddress.value=""
		 document.frm.txtaddress2.value=""
 		 document.frm.txtpostcode.value=""
		 document.frm.txthphone.value=""
		 document.frm.txtbphone.value=""
		 document.frm.txtattention.value=""
		 document.frm.txtemail.value=""
	 }
	 else
	 if(val==2)
	 {
		 document.frm.txtfname.disabled=false;
		 document.frm.txtlname.disabled=false;
		 document.frm.txtaddress.disabled=false;
		 document.frm.txtaddress2.disabled=false;
 		 document.frm.txtaddress3.disabled=false;
		 document.frm.txtcountry.disabled=false;
		 document.frm.txtpostcode.disabled=false;
		 document.frm.txthphone.disabled=false;
		 document.frm.txtbphone.disabled=false;
		 document.frm.txtattention.disabled=false;
		 document.frm.txtemail.disabled=false;
		 
	 }
}

//Country selection



var canadaArray=Array(14);
canadaArray[0]="Canada"; 
canadaArray[1]="Alberta";
canadaArray[2]="British Columbia";
canadaArray[3]="Manitoba";
canadaArray[4]="New Brunswick";			
canadaArray[5]="Newfoundland and Labrador";
canadaArray[6]="Nova Scotia";
canadaArray[7]="Northwest Territories";
canadaArray[8]="Nunavut";
canadaArray[9]="Ontario";
canadaArray[10]="Prince Edward Island";
canadaArray[11]="Quebec";
canadaArray[12]="Saskatchewan";
canadaArray[13]="Yukon";
var usaArray=Array(52);
usaArray[0]="Alabama";
usaArray[1]="Alaska";
usaArray[2]="Arizona";
usaArray[3]="Arkansas";
usaArray[4]="California";
usaArray[5]="Colorado";
usaArray[6]="Connecticut";
usaArray[7]="Delaware";
usaArray[8]="District of Columbia";
usaArray[9]="USA"; 
usaArray[10]="Florida"; 
usaArray[11]="Georgia";
usaArray[12]="Hawaii";
usaArray[13]="Idaho";
usaArray[14]="Illinois";
usaArray[15]="Indiana";
usaArray[16]="Iowa";
usaArray[17]="Kansas";
usaArray[18]="Kentucky";
usaArray[19]="Louisiana";
usaArray[20]="Maine";
usaArray[21]="Maryland";
usaArray[22]="Massachusetts";
usaArray[23]="Michigan";
usaArray[24]="Minnesota";
usaArray[25]="Mississippi";
usaArray[26]="Missouri";
usaArray[27]="Montana";
usaArray[28]="Nebraska";
usaArray[29]="Nevada";
usaArray[30]="New Hampshire";
usaArray[31]="New Jersey";
usaArray[32]="New Mexico";
usaArray[33]="New York";
usaArray[34]="North Carolina";
usaArray[35]="North Dakota";
usaArray[36]="Ohio";
usaArray[37]="Oklahoma";
usaArray[38]="Oregon";
usaArray[39]="Pennsylvania";
usaArray[40]="Rhode Island";
usaArray[41]="South Carolina";
usaArray[42]="South Dakota";
usaArray[43]="Tennessee";
usaArray[44]="Texas";
usaArray[45]="Utah";
usaArray[46]="Vermont";
usaArray[47]="Virginia";
usaArray[48]="Washington";
usaArray[49]="West Virginia";
usaArray[50]="Wisconsin";
usaArray[51]="Wyoming";
function popupcountry(val)
{
for(i=0;i<14;i++)
{
if(val==canadaArray[i])
{
document.frm.txtcountry.value="Canada";
}
}//end of for
for(i=0;i<52;i++)
{
if(val==usaArray[i])
{
document.frm.txtcountry.value="United States";
}
}//end of for

}//end of function

function rem_zero(val)
{
	var retValue = val
	var ch = retValue.substring(0, 1);
   while (ch == "0") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }

   ch = retValue.substring(retValue.length-1, retValue.length);
   return retValue; 
}//end of function


function check_number_ent()
{
  
  
  if(event.keyCode == 13)	
    {
		event.returnValue = false;
		ret=proceed1();
		if(ret==true)
		{		 
			document.frm2.cetificate.disabled=true;
			document.frm2.submit();
        }
      
	}
	
else if ( (event.keyCode < 48 || event.keyCode > 57) )
	{
	  	alert("Invalid input only numeric values accepted");
		event.returnValue = false;
	}
}//end of function check_number()

