function AddCommas(Num){
    Num=RemoveCommas(Num);
	cel=Num;
	dr='';
    for(i=1;i<Num.length;i++){
	 if(Num.substr(i,1)=='.')
	    {j=i;
		 cel=Num.substr(0,j);
		 dr=Num.substr(j,Num.length-j);
		}
     }
	 z=cel.length;
	 Num='';
	 
	 while (z>3)
      {
	   Num=','+cel.substr(cel.length-3,3)+Num;
	   cel=cel.substr(0,cel.length-3);
	   z=cel.length;
	  }

	 Num=cel+Num+dr;
	
	return Num; 
}

function RemoveCommas(Num){
    for(i=1;i<Num.length;i++){
     Num=Num.replace(',','');}
	return Num; 
}

function ValidMyPrice(Num)
{
   var val;
   val=parseFloat(RemoveCommas(Num));
   if(val==RemoveCommas(Num)){return true;}
   else{return false;}
}

function isEmpty(sValue){
		re = /\s*/gi;
		if (sValue.length>0)
		{
			ss=sValue.replace(re,'');
//			window.alert(ss+'; '+ss.length);
			if (ss.length==0)
			{
//				window.alert('!');
				return true;
			};
		}
		else
		{
			return true;
		};
		return false;
	};
	// validating phone number string
	function ValidPhoneNumber(sNumber){
	// more restrictive check (for later use)
	//		// checking for last char
			re=/.*[^\-]$/gi;
			if (sNumber.replace(re,'')) {return false};
			// removing all hyphens and spaces
			re=/\s*\-*/gi;
			ss=sNumber.replace(re,'');
			// checking for correct digits ordering
			re=/(\(\d+\))*\d+/				// allow zero or more code in parentheses and then one or more digits
			ss1=ss.replace(re,'');
			if (ss1.length){return false}
			else{
				re=/\(\)/gi				
				ss1=ss.replace(re,'');
				//if (ss1.length>30){return false};
				return true
			}
	// more relax check (now)
		if (sNumber.length==0){return false};
		re=/[\(\)\-\s01234567890]/gi; // simple check pattern
		re=/[\(\d{1,}\)]+[\d\s\-]+/ //more efficient pattern, but not well tested
		ss=sNumber.replace(re,'');
		if (ss.length==0)
			{return true}
		else
			{return false};
	};
	// validating email
	function ValidEmail(sEmail){
        var result, re , str,i;
	    str = new String(sEmail);
		
		if (sEmail.length==0){return false};
		// ((\w+)(\.\w+)*) - local-part
		// [\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+ - atom
//		re=/([\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+(\.[\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+)*)@([\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+(\.[\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+)*)/;
		re=/([\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+(\.[\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+)*)@([\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+(\.[\x21\x23-\x27\x2a-\x2b\x2d\x2f-\x39\x3d\x3f\x41-\x5a\x5e-\x7e]+)*)/;
		//	re=/(\w+(\.\w+)*)@(\w+(\.\w+)*)/
		ss=sEmail.replace(re,'');
		//window.alert(ss);
		if (ss.length==0)
			{
			  
			   
			   for(i=0;i<str.length-1;i++){
			      if(str.charAt(i)=='.'){return true;}
		       }
			   return false;

			
			}
		else
			{return false};
	};
	// validating last name
	function ValidLastName(sLastName){
		if (sLastName){
			//if (sLastName.length<2){return false};
			// checking for digits existence
			re=/[A-Za-z\s]/gi;
			ss=sLastName.replace(re,'');
			// if there no digits and special symbols in the string then return true else return false
			if (ss.length==0){
				re=/\s/gi;
				ss=sLastName.replace(re,'');
				//if (ss.length<2){return false};
				return true
			}else{
				return false
			};
			return true;
		};
	};
	// validating first name
	function ValidFirstName(sFirstName){
		if (sFirstName){
		
			//if (sFirstName.length<1){return false};
			// checking for digits existence
			re=/[A-Za-z\s]/gi;
			ss=sFirstName.replace(re,'');
			// if there no digits in the string then return true else return false
			if (ss.length==0){
				re=/\s/gi;
				ss=sFirstName.replace(re,'');
				//if (ss.length<1){return false};
				return true
			}else{
				return false
			};
			return true;
		};
	};
	//validating credit card number
	// return false if the card number is uncorrect elsewhere return string of digits 
	function ValidCCNumber(sCCNumber){
		if (sCCNumber.length==0){return false};
		re=/\s*/gi;
		ss=sCCNumber.replace(re,'');
		//window.alert(ss);
		re=/\d{13,25}/gi;
		sss=ss.replace(re,'');
		if (sss.length==0)
			{return ss}
		else
			{return false};
	};
	// addresses validating function
	// validating first address line
	function ValidAddress1(sAddress){
		if (sAddress){
			//if (sAddress.length<5){return false};
			re=/[A-Za-z0-9\s]/gi;
			ss=sAddress.replace(re,'');
			// if there no illegal characters in the string then return true else return false
			if (ss.length==0){
				re=/\s/gi;
				ss=sAddress.replace(re,'');
				//if (ss.length<5){return false};
				return true
			}else{
				return false
			};
			return true;
		};
	};
	// validating second address line
	function ValidAddress2(sAddress1){
		if (sAddress1){
			//if (sAddress1.length<1){return false};
			re=/[A-Za-z0-9\s]/gi;
			ss=sAddress1.replace(re,'');
			// if there no illegal characters in the string then return true else return false
			if (ss.length==0){
				re=/\s/gi;
				ss=sAddress1.replace(re,'');
				return true
			}else{
				return false
			};
			return true;
		};
	};
	// end addresses validating
	// town/city name validating
	function ValidCity(sCity){
		if (sCity){
			//if (sCity.length<2){return false};
			re=/[A-Za-z\s]/gi;
			ss=sCity.replace(re,'');
			// if there no illegal characters in the string then return true else return false
			if (ss.length==0){
				re=/\s/gi;
				ss=sCity.replace(re,'');
				//if (ss.length<2){return false};
				return true
			}else{
				return false
			};
			return true;
		};
	};
	// town/city name validating
	function ValidState(sState){
		if (sState){
			//if (sState.length<2){return false};
			re=/[A-Za-z\s]/gi;
			ss=sState.replace(re,'');
			// if there no illegal characters in the string then return true else return false
			if (ss.length==0){
				re=/\s/gi;
				ss=sState.replace(re,'');
				//if (ss.length<2){return false};
				return true
			}else{
				return false
			};
			return true;
		};
	};
	// postal code validating
	function ValidPostcode(sPostcode){
		if (sPostcode){
			//if (sPostcode.length<2){return false};
			re=/[A-Za-z0-9\s]/gi;
			ss=sPostcode.replace(re,'');
			// if there no illegal characters in the string then checking length of string
			if (ss.length==0){
				re=/\s/gi;
				ss=sPostcode.replace(re,'');
				//if (ss.length<2||ss.length>10){return false};
				return true}
			else
				{return false};
			return true;
		};
	};
	
	function ValidPrice(sCCNumber){
		if (sCCNumber.length==0){return false};
		re=/\d+(\.\d+){0,1}/gi;
		ss=sCCNumber.replace(re,'');
		if (ss.length==0){return true}else{return false};
	};

function windowOpener(fileName)
{
	msgWindow=window.open(fileName,"winName","width=450,height=200,toolbar=0,directories=0,menubar=0,resizable=0,location=no,scrollbars=0,copyhistory=0");
}
function windowSizeOpener(fileName, w, h, l, t){
	msgWindow=window.open(fileName,"winName","width="+w+",height="+h+",left="+l+",top="+t+",toolbar=0,directories=0,menubar=0,resizable=0,location=0,scrollbars=0,copyhistory=0");
}

function ValidSignup()
{
 if(!ValidEmail(signup.email.value)){alert('Please enter your valid email address\n');signup.email.focus();return false;}
 if(signup.psw.value==''){alert('Please enter your password\n');signup.psw.focus();return false;}
 if(signup.mname.value==''){alert('Please enter Memorable name\n');signup.mname.focus();return false;}
 if(signup.name.value==''){alert('Please enter your First name\n');signup.name.focus();return false;}
 if(signup.lname.value==''){alert('Please enter your Last name\n');signup.lname.focus();return false;}
 if(signup.cname.value==''){alert('Please enter your Company/Firm name\n');signup.cname.focus();return false;}
 
 if(signup.addr.value==''){alert('Please enter your address\n');signup.addr.focus();return false;}
 if(signup.city.value==''){alert('Please enter town name\n');signup.city.focus();return false;}
 //if(signup.county.value==''){alert('Please enter county \n');signup.county.focus();return false;}
 if(document.forms.signup.country[document.forms.signup.country.selectedIndex].value=='0'){alert('Please select your country.\n');signup.country.focus(); return false;}
 if(!ValidPostcode(signup.pcod.value)){alert('Please valid postcode\n');signup.pcod.focus();return false;}
 if(signup.tel.value==''){alert('Please enter phone number\n');signup.tel.focus();return false;}
 else {if(!ValidPhoneNumber(signup.tel.value)){alert('Please enter correct phone number\n');signup.tel.focus();return false;}}
 if(signup.fax.value!=''){if(!ValidPhoneNumber(signup.fax.value)){alert('Please enter correct fax number\n');signup.fax.focus();return false;}}
 return true; 
}


