// JavaScript Document
function rShowSize(txt,fld,n){
	fld=document.getElementById(fld);
	if('value' in txt)
		i=txt.value.length;
	else
		i=txt.innerHTML.length;
	if(n>=i){
		fld.innerHTML=(n-i)+' characters left';
		fld.style.color='#008000';
	}else{
		fld.innerHTML=(i-n)+' characters over';
		fld.style.color='#ff0000';
	}
}
/* ------------- */
function delConfirm(str,strurl)
{
	if (confirm(str)) 
	{
		this.location=strurl;
	}
}
/* ------------- */
function rES(Obj)
{
	var select = Obj;
	select.size = 5;
}
/* ------------- */
function rCS(Obj)
{
	var select = Obj;
	select.size = 1;
}
/* ------------- */
function rAjaxCall(scriptofAjax,getParam,targetDiv,returnToFn)
{

		var xmlHttpReq = false;
		var self = this;
		// Mozilla/Safari
		if (window.XMLHttpRequest) {self.xmlHttpReq = new XMLHttpRequest();}
		// IE
		else if (window.ActiveXObject) {self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");}
		self.xmlHttpReq.open('GET', (scriptofAjax+getParam), true);
		self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		self.xmlHttpReq.onreadystatechange = function() {
		   if (self.xmlHttpReq.readyState == 4) 
		   {
			   	responseText = self.xmlHttpReq.responseText;
			   	if(returnToFn=='no')
				{
					rUpdatePage(targetDiv,responseText);
				}else{
					eval(returnToFn + '("' + responseText + '")' );
				}
		   }
		};
		self.xmlHttpReq.send(null);
}

/* ------------- */
function validCheckoutFrm()
			{
				frm = document.checkoutFrm;
				//alert(document.forms[2].shipAddSameDiff.checked);
				if(frm.shipAddSameDiff[0].checked==false && frm.shipAddSameDiff[1].checked==false)
				{	alert('Please select enter your shipping address or just click on "SHIP TO MY BILLING ADDRESS",\n if your shipping same as billing address.');	return false;
					}
				if(frm.shipAddSameDiff[0].checked==true){
						//filling same info to shipping
						rGetEle('ship_name').value = rGetEle('bill_name').value;
						rGetEle('ship_address1').value = rGetEle('bill_address1').value;
						rGetEle('ship_address2').value = rGetEle('bill_address2').value;
						rGetEle('ship_city').value = rGetEle('bill_city').value;
						rGetEle('ship_state').value = rGetEle('bill_state').value;
						rGetEle('ship_zipcode').value = rGetEle('bill_zipcode').value;
						rGetEle('ship_phone').value = rGetEle('bill_phone').value;
						rGetEle('ship_phone').value = rGetEle('bill_phone').value;
						rGetEle('ship_country').selectedIndex = rGetEle('bill_country').selectedIndex;
					}
				
				//Billing
				if(trim(frm.bill_name.value)=="")
				{
					alert('Please enter billing  name.');
					frm.bill_name.focus();
					return false;
				}
				else if(trim(frm.bill_country.value)==0)
				{
					alert('Please select billing country.');
					frm.bill_country.focus();
					return false;
				}
				else if(trim(frm.bill_address1.value)=="")
				{
					alert('Please enter billing address 1.');
					frm.bill_address1.focus();
					return false;
				}
				else if(trim(frm.bill_city.value)=="")
				{
					alert('Please enter billing city.');
					frm.bill_city.focus();
					return false;
				}
				else if(trim(frm.bill_state.value)=="")
				{
					alert('Please select billing state.');
					frm.bill_state.focus();
					return false;
				}
				else if(trim(frm.bill_zipcode.value)=="")
				{
					alert('Please enter billing postal code.');
					frm.bill_zipcode.focus();
					return false;
				}
				else if(trim(frm.bill_phone.value)=="")
				{
					alert('Please enter billing phone.');
					frm.bill_phone.focus();
					return false;
				}
				else if(trim(frm.email.value)=="")
				{
					alert('Please enter billing email address.');
					frm.email.focus();
					return false;
				}
				else if(!rValidateEmail(frm.email,'Please enter valid billing email address.'))
				{
					return false;
				}
				
				//shipping
				if(trim(frm.ship_name.value)=="")
				{
					alert('Please enter shipping  name.');
					frm.ship_name.focus();
					return false;
				}
				else if(trim(frm.ship_country.value)==0)
				{
					alert('Please select shipping country.');
					frm.ship_country.focus();
					return false;
				}
				else if(trim(frm.ship_address1.value)=="")
				{
					alert('Please enter shipping address 1.');
					frm.ship_address1.focus();
					return false;
				}
				else if(trim(frm.ship_city.value)=="")
				{
					alert('Please enter shipping city.');
					frm.ship_city.focus();
					return false;
				}
				else if(trim(frm.ship_state.value)=="")
				{
					alert('Please select shipping state.');
					frm.ship_state.focus();
					return false;
				}
				else if(trim(frm.ship_zipcode.value)=="")
				{
					alert('Please enter shipping postal code.');
					frm.ship_zipcode.focus();
					return false;
				}
				else if(trim(frm.ship_phone.value)=="")
				{
					alert('Please enter shipping phone.');
					frm.ship_phone.focus();
					return false;
				}
				/*else if(trim(frm.gift_message.value)=="")
				{
					alert('Please enter gift message.');
					frm.gift_message.focus();
					return false;
				}*/
				
				/*
				//CC VALIDATION				
				if(frm.paybycc.checked == true){
					if (checkCreditCard (document.getElementById('CardNumber').value,document.getElementById('CardType').value)) {
						if(trim(document.getElementById('CVV').value) == ''){
								alert('Please enter CVV number');
								return false;
							}else{
								return true;
							}
						
				  	}else{
						alert (ccErrors[ccErrorNo]);
						return false;
					};
				}
				*/
				return true;
			}
/* ------------- */
function rUpdatePage(targetDiv,rt)
{
	document.getElementById(targetDiv).innerHTML = rt;
}
/* ------------- */
function randomString(formName)
{
	//FOR CAPTCHA returning a new random code
	
	if(document.forms[ formName ].elements[ 'Chkval' ].value != '')
	{
	document.forms[ formName ].elements[ 'Chkval' ].value = "";
	var chars = "abcdefghjkmnpqrstwxyz123456789";
	var string_length = 6;
	var randomstring = '';
	for (var i=0; i<string_length; i++) 
	{
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
		document.forms[ formName ].elements[ 'Chkval' ].value = randomstring;
		document.forms[ formName ].elements[ 'NewCapthc' ].value = "";
	}
}
/* ----------------- */
function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf(" ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf(" ")) + retValue.substring(retValue.indexOf(" ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
}
/* ------------- */
function rGetEle(id)
{
	return document.getElementById( id );
	}
/* ------------- */
function rRequireInput(Obj,strError)
{
	var ret = true;
	var val = Obj.value;
	val = val.replace(/^\s+|\s+$/g,"");//trim
	if(eval(val.length) == 0) 
	{ 
	   if(!strError || strError.length ==0) 
	   { 
		 strError = objValue.name + " : Required Field"; 
	   }//if 
	   alert(strError); 
	   Obj.focus();
	   ret=false; 
	}
	return ret;
}
/* ------------- */
function rMaxLen(Obj,strMaxLen,strError)
{
	var ret = true;
    if(parseInt(trim(Obj.value.length)) > parseInt(strMaxLen)) 
    { 
      if(!strError || strError.length ==0) 
      { 
        strError = Obj.name + " : "+ strMaxLen +" characters maximum "; 
      }
      alert(strError);
	  Obj.focus();
      ret = false; 
    }
	return ret;
}
/* ------------- */
function rMinLen(Obj,strMinLen,strError)
{
	var ret = true;
    if(parseInt(trim(Obj.value.length)) <  parseInt(strMinLen)) 
    { 
      if(!strError || strError.length ==0) 
      { 
        strError = Obj.name + " : " + strMinLen + " characters minimum  "; 
      }//if               
      alert(strError); 
	  Obj.focus();
      ret = false;   
    }//if 
	return ret;
}
/* ------------- */
function TestInputType(Obj,strRegExp,strError,strDefaultError)
{
   var ret = true;

    var charpos = Obj.value.search(strRegExp); 
    if(Obj.value.length > 0 &&  charpos >= 0) 
    { 
     if(!strError || strError.length ==0) 
      { 
        strError = strDefaultError;
      }
      alert(strError); 
	  Obj.focus();
      ret = false; 
    } 
 return ret;
}
/* ------------- */
function rReqAlphaNum(Obj,Err)
{	////Alpha Numeric Only without Space
	return TestInputType(Obj,"[^A-Za-z0-9]",Err, Obj.name+": Only alpha-numeric characters allowed ");	
}
function rReqAlphaNumAndSpace(Obj,Err)
{	////Alpha Numeric Only with Space
	return TestInputType(Obj,"[^A-Za-z0-9\\s]",Err, Obj.name+": Only alpha-numeric characters and space allowed ");	
}
function rReqAlphaAndSpace(Obj,Err)
{	////Alpha Only With Space
	return TestInputType(Obj,"[^A-Za-z\\s]",Err, Obj.name+": Only alphabetic characters and space allowed ");	
}
function rReqAlphaOnly(Obj,Err)
{	////Alpha Only without Space
	return TestInputType(Obj,"[^A-Za-z]",Err, Obj.name+": Only alphabetic characters allowed ");
}
function rReqNumOnly(Obj,Err)
{	////Numbers Only wihtout space
	return TestInputType(Obj,"[^0-9]",Err, Obj.name+": Only digits allowed ");
}
function rReqNumOrDecimal(Obj,Err)
{	////Numbers with decimal Point
	return TestInputType(Obj,"[^0-9\.]",Err, Obj.name+": Only digits allowed ");
}
function rValidateEmail(Obj,Err)
{	////Email Validation
    if(Obj.value!="" && !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(Obj.value))){	
		alert(Err);
		Obj.focus();
		return false;	
	}else{	return true;	}
}
function rValidateURL(Obj,Err)
{	////WebURL Validation
	var v = new RegExp("^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([0-9A-Za-z]+\.)");
    if (!v.test(Obj.value)) {
        alert("You must supply a valid URL.");
		Obj.focus();
        return false;
    }
	return true;
}

///===== count characters

function countCharacters(boxName)
{
	var text = document.getElementById(boxName).value;
	return text.length;
}

function displayCharLeft(boxName,displayBoxName, maxChars)
{
	var displayBox = document.getElementById(displayBoxName);
	var count = maxChars - countCharacters(boxName);
	displayBox.innerHTML = count;
	if(count <= 0)
	{
		var text = document.getElementById(boxName).value;
		document.getElementById(boxName).value = text.substring(0,maxChars);
		displayBox.innerHTML = 0;
	}
}
function checkext(strpassed)
{		
		var strr=strpassed.value		
		if(strr != "")
		{
			var lenstrn=strr.length;
			strextn=strr.substr(lenstrn-4)
			strextn=strextn.toUpperCase();
			
			if(strextn!='HTML' && strextn!='.HTM')
			{
				alert("Please enter only .html or .htm extension");
				strpassed.focus();
				return false;
			}						
		}
		return true;
}
