/* ##################### */
/*general functions to check the users email, alphabets, name, password, 
remove spaces form the Name through trim() etc..*/

function trim (strVar) { 
     if(strVar.length >0)
	 {
	        while(strVar.charAt(0)==" ") 
			strVar=strVar.substring(1,strVar.length); 
			while(strVar.charAt(strVar.length-1)==" ") 
			strVar=strVar.substring(0,strVar.length-1); 			
	 }
	 return strVar; 
}
function isNotAlphabets(str){
		for (var i = 0; i < str.length; i++)
		{
				var ch = str.substring(i, i + 1);
				if((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) 
				{
					return true;
				}
		}
		return false;
}
function isNotNumeric(str){
		for (var i = 0; i < str.length; i++)
		{
				var ch = str.substring(i, i + 1);
				if((ch < '0' || '9' < ch)) 
				{
					if(ch == "-" || ch == ".") continue;
					return true;
				}
		}
		return false;
}

/*To check the Login ID of the User*/

function isNotID(str){
	for (var i = 0; i < str.length; i++)
	{
		var ch = str.substring(i, i + 1);
		if((ch < '0' || '9' < ch) && ((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch))) 
		{
			if(ch == "_") continue;
			return true;
		}
	}
	return false;
}
function isValidEmail(emailid){		
		var l=emailid.length;
		if(l==0)
		{
			return false;	
		}
		if(l!=0)
		{
				var a=emailid.indexOf('@');
				var d=emailid.lastIndexOf('.');
				var str1=emailid.substr(0,a);
				var str2=emailid.substr(a+1,d-a-1);
				var str3=emailid.substr(d+1,l);
				var len1=str1.length;
				var len2=str2.length;
				var len3=str3.length;
				if(a<0 || d<2)
				{
						alert ("Check for missing '@' or '.' ");
						return false;
				}
				else if (a>d)
				{
						alert ("Invalid email. Please enter correct email address");
						return false;
				}				
				if (len1<=1 || len2<=1 || len3 <=1)
				{
						alert ("Invalid email. Please enter correct email address");
						return false;
				}				
		}
		return true;
}

/*Used in All Cp Modules*/
function checkAll(checked)
{
	  for(var i=0;i<document.removeForm.elements.length;i++)
	  {  
		 	var e = document.removeForm.elements[i];
			if(e.type == "checkbox") e.checked = checked;
	  }
}
/*Used in Freight Settings and Freight manager Module. Both these functions have same name accept form name. */
function checkAllFreight(checked)
{
	  for(var i=0;i<document.frmdelStatus.elements.length;i++)
	  {  
		 	var e = document.frmdelStatus.elements[i];
			if(e.type == "checkbox") e.checked = checked;
	  }
}

function checkAllperm(checked)
{
	for(var i=0;i<document.showPermFrm.elements.length;i++)
	{
		var e = document.showPermFrm.elements[i];
		if(e.type == "checkbox") e.checked = checked;
	}
}

function checkAllperm1(checked)
{
	  for(var i=0;i<document.permFrm.elements.length;i++)
	  {  
		 	var e = document.permFrm.elements[i];
			if(e.type == "checkbox") e.checked = checked;
	  }
}

function checkAllcat(checked)
{
	for(var i=0;i<document.createForm.elements.length;i++)
	{
		var e = document.createForm.elements[i];
		var name = e.name;
		name = name.substr(0,3);
		if(e.type == "checkbox" && name == "cat") e.checked = checked;
	}
}

function checkCreateUser(membersForm)
{
//Members Id validation
		  var member = trim(document.membersForm.loginId.value);
		  if(member.length == 0)
		  {
		       alert("Please enter Login ID");
			   document.membersForm.loginId.focus();
			   return false;
		  }
		  var member = document.membersForm.loginId.value;
		  if(member.length < 5)
		  {
		       alert("Login ID should be atleast Five(5) Characters!");
			   document.membersForm.loginId.focus();
			   return false;
		  }
		  if(isNotID(member))
		  {
		       alert("Invalid Characters in Login ID");
			   document.membersForm.loginId.focus();
			   return false;		  
		  }		  
		  //Password Validation
		  var password = trim(document.membersForm.password.value);
		  if(password.length == 0)
		  {
		       alert("Please enter Password");
			   document.membersForm.password.focus();
			   return false;
		  }
		  var password = document.membersForm.password.value;
		  if(password.length < 6)
		  {
		       alert("Password should be atleast Six(6) Characters!");
			   document.membersForm.password.focus();
			   return false;
		  }		  
		  if(isNotID(password))
		  {
		       alert("Invalid Characters in Password");
			   document.membersForm.password.focus();
			   return false;		  
		  }
		  //Confirm Password
		  var confirm_password = document.membersForm.confirm_password.value;
		  if(password != confirm_password)		  		  
		  {
		       alert("Password & Confirm Password mismatch!");
			   document.membersForm.confirm_password.focus();
			   return false;		  
		  }
		  //First Name
		  var fname = trim(document.membersForm.name.value);
		  if(fname.length == 0)
		  {
		       alert("Please enter Name");
			   document.membersForm.name.focus();
			   return false;
		  }
		  //Address
		  var address_1 = trim(document.membersForm.address_1.value);
		  if(address_1.length == 0)
		  {
		       alert("Please enter Street Address - 1");
			   document.membersForm.address_1.focus();
			   return false;
		  }
		  //Country		  		  
		  var country = document.membersForm.country.value;
		  if(country.length == 0)
		  {
		       alert("Please Select Users Country");
			   document.membersForm.country.focus();
			   return false;
		  }
		  //Email		  
		  var email_1 = trim(document.membersForm.email_1.value);
		  if(email_1.length == 0)
		  {
		       alert("Please enter Email - 1");
			   document.membersForm.email_1.focus();
			   return false;
		  }
		  if(isValidEmail(email_1) == 0)
		  {
			   document.membersForm.email_1.focus();
			   return false;		  
		  }		  		  		  
		  return true;
	 }

/* #############Search keyword######################## */

function checkfrmedit(chk)
{
	if(chk.keyword.value == "")
	{
		alert("Please enter keyword to search");
		chk.keyword.focus();
		return false;
	}	
}

/*############### Delete member */

function deleteAlert1()
{
	var i=0;
	var total = 0;
	var msg = "";

	dml=frmdelStatus;
	len=dml.elements.length;

	if(len)
	{
		for (i=0; i<len; i++) 
		{
	  		ss = dml.elements[i].name
  			//s = ss.substr(0, 6);
	     	if (dml.elements[i].type == "checkbox") 
	     		if(dml.elements[i].checked== true)
        			total=total+1;
   		}
   		if(total >0)
			msg = msg + 'Do You Like to remove ' + total +' records ?';
		else
		{
			alert("Please check the items to remove !");
			return false;
		}
		if(msg.length >0)
		{
			var flag;
            flag = confirm(msg + " \n If Yes Press \"OK\" else Press \"Cancel\".");
            if(flag == true)
            return true;
		}
	}
	return false;
}

/*#########  Delete in the CP folder files*/

function deleteAlert(theForm)
{
	 var records = theForm.records.value;
     var total = 0;
     var msg = "";
     if(records>0)
     {
          for(i=0; i<theForm.length; i++)
          {
               e=theForm.elements[i];
               name = e.name;
               name = name.substr(0,4);
               if (e.type=='checkbox' && name == "item")
                    if(eval('e.checked') == true)
                         total= total+1;
          }
          if(total >0)
               msg = msg + 'Do You Like to remove ' + total +' records ?';
          else
          {
               alert("Please check the items to remove !");
               return false;
          }
          if(msg.length >0)
          {
               var flag;
               flag = confirm(msg + " If Yes Press \"OK\" else Press \"Cancel\".");
               if(flag == true)
               return true;
          }
     }
	 //alert("You can not delete items");
     return false;
}
/*new delete*/
function deleteAlert2(theForm)
{
	 var records = theForm.records.value;
     var total = 0;
     var msg = "";
     if(records>0)
     {
          for(i=0; i<theForm.length; i++)
          {
               e=theForm.elements[i];
               if (e.type=='checkbox')
                    if(eval('e.checked') == true)
                         total= total+1;
          }
          if(total >0)
               msg = msg + 'Do You Like to remove ' + total +' records ?';
          else
          {
               alert("Please check the items to remove !");
               return false;
          }
          if(msg.length >0)
          {
               var flag;
               flag = confirm(msg + " If Yes Press \"OK\" else Press \"Cancel\".");
               if(flag == true)
               return true;
          }
     }
	 //alert("You can not delete items");
     return false;
}

/*new delete*/
function createFreight(chk)
{
	if((chk.fctryId.value == "") && (chk.fromCountry.value == ""))
	{
		alert("Please Select From Country Or Add New Country to create Freight...");
		chk.fctryId.focus();
		return false;
	}	
	if((chk.tctryId.value == "") && (chk.toCountry.value == ""))
    {
       alert("Please Select To Country Or Add New Country to create Freight...");
	   chk.tctryId.focus();
	   return false;
	}
}

//###################
function bookmark()
{
	window.external.AddFavorite(url,title);
}

// JavaScript Document
function changecolor(row)
{
	row.className='blue';
}

function restorecolor(row)
{
	row.className='white';
}

var pop='';

function openwin(nm,width,height) {
	var name=nm;
	if (pop && !pop.closed) {
		pop.close();
	}
	pop=eval("window.open('"+name+"','NewWIN','chrome[4],toolbar=no,left=5,top=5,width="+width+",height="+height+",directories=no,menubar=no,SCROLLBARS=yes,left=2,right=2')");
	if (!pop.opener) popUpWin.opener = self;
}

var pop='';
function openwin1(nm,width,height) {
   var name=nm;
   if (pop && !pop.closed) {
      pop.close();
   }
   pop=eval("window.open('"+name+"','NewWIN','chrome[4],toolbar=no,left=5,top=5,width="+width+",height="+height+",directories=no,menubar=no,SCROLLBARS=yes,left=2,right=2')");
   if (!pop.opener) popUpWin.opener = self;
}

function closewin()
{
	window.close();
}

function checkPassword(chk)
{
	if(chk.userName.value.length==0)
	{
		alert("Please Select a User");
		chk.userName.focus();
		return false;
	}
	if(chk.npass.value.length==0)
	{
		alert("Please type new password");
		chk.npass.focus();
		return false;
	}
	if(chk.rpass.value.length==0)
	{
		alert("Please Re-Type the new password");
		chk.rpass.focus();
		return false;
	}
	if(chk.npass.value!=chk.rpass.value)
	{
		alert("New password and Re-Type password does not match");
		chk.npass.value="";
		chk.rpass.value="";
		chk.npass.focus();
		return false;
	}
}

function addUser(chk)
{
	if(chk.userName.value.length==0)
	{
		alert("Please type a user name");
		chk.userName.focus();
		return false;
	}

	if(chk.npass.value.length==0)
	{
		alert("Password field can not be left blank");
		chk.npass.focus();
		return false;
	}
	if(chk.rpass.value.length==0)
	{
		alert("Re-Type Password field can not be left blank");
		chk.rpass.focus();
		return false;
	}
	if(chk.npass.value!=chk.rpass.value)
	{
		alert("Password and Re-Type password does not match");
		chk.npass.value="";
		chk.rpass.value="";
		chk.npass.focus();
		return false;
	}
}

function checkLogin(chk)
{
	if(chk.userName.value.length==0)
	{
		alert("User Name can not be left blank");
		chk.userName.focus();
		return false;
	}
	if(chk.password.value.length==0)
	{
		alert("Password can not be left blank");
		chk.password.focus();
		return false;
	}
}	

function checkAll1(val,val1)
 {
   dml=document.memberform;
   len=dml.elements.length;
   var i=0;
   for (i=0; i<len; i++) {
	   var s = "The quick brown fox jumped over the lazy yellow dog.";
  		ss = dml.elements[i].name
  		s = ss.substr(0, 5);

     	if (dml.elements[i].type == "checkbox" && s==val1) {
        	if (val == 1) { 
           		dml.elements[i].checked=true;
        	} 
			else {
           		dml.elements[i].checked=false;
        	}
     	}   
   	}
}

function chk4() {
     chk2=document.form1;
     len=chk2.elements.length;
	 var i=0;
 	 var pp=1;
   	 for (i=0; i<len; i++) {
        if ((chk2.elements[i].type == "checkbox") && (chk2.elements[i].checked==true)) {
           pp=2;
	    }
	 }
     if (pp==1) {
	    return ("1");
     }  
}

function chktrim(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); // Again, there are two spaces in each of the strings
    }
    return retValue; 
}

		/*For New Member Validations*/

function userValid(chk)
{
	if (chk.email.value.length == 0) 
	{
		alert("E-mail address can't be left blank");
		chk.email.focus();
		return false;
	}
	if (chk.email.value.indexOf('@') == -1)
	{
		alert("Error in e-mail address");
		chk.email.focus();
		return false;
	}
	if (chk.email.value.indexOf('.') == -1) 
   	{
		alert("Error in e-mail address");
		chk.email.focus();
		return false;
	}
	if (chk.email.value.indexOf('@') != chk.email.value.lastIndexOf('@')) 
	{
		alert("Please Specify One E-mail address only");
		chk.email.focus();
		return false;
	}
	if (chk.pass.value == 0) 
	{
		alert("Unable to submit !! Do not leave the Password field blank");
		chk.pass.focus();
		return false; 
	}
	if (chk.yourName.value == 0) 
	{
		alert("Name can't be left blank");
		chk.yourName.focus();
		return false;
	}
	if (chk.bAddress.value == 0) 
	{
		alert("Billing Address can't be left blank");
		chk.bAddress.focus();
		return false;
	}
	if (chk.bCity.value == 0)
	{
		alert("City can't be left blank");
		chk.bCity.focus();
		return false;
	}
	if (chk.bState.value == 0) 
	{
		alert("State can't be left blank");
		chk.bState.focus();
		return false;
	}
	if (chk.bZip.value == 0) 
	{
		alert("Zip/Post Code  can't be left blank");
		chk.bZip.focus();
		return false;
	}
	if (chk.bPhone.value == 0) 
	{
		alert("Phone can't be left blank");
		chk.bPhone.focus();
		return false;
	}
	var val1= chk.bPhone.value;
	if (isNaN(val1)) 
	{
		alert("Enter Valid Phone Number");
		chk.bPhone.focus();
		return false;
	}
	if (!chk.bsStatus.checked) 
	{
		if (chk.sAddress.value == 0) 
		{
			alert("shipping Address can't be left blank");
			chk.sAddress.focus();
			return false;
		}   
		if (chk.sCity.value == 0) 
		{
         alert("City can't be left blank");
         chk.sCity.focus();
         return false;
      }
      if (chk.sState.value == 0) 
      {
         alert("State can't be left blank");
         chk.sState.focus();
         return false;
      }
      if (chk.sZip.value == 0) 
      {
         alert("Zip/Post Code  can't be left blank");
         chk.sZip.focus();
         return false;
      }
      if (chk.sPhone.value == 0) 
      {
         alert("Phone can't be left blank");
         chk.phone2.focus();
         return false;
      }
      var val1= chk.sPhone.value;
       if (isNaN(val1)) 
       {
         alert("Enter Valid Phone Number");
         chk.sPhone.focus();
         return false;
      }
   }
   }

   /*For Old Member Validations*/

function userValid(chk) 
{
   if (chk.yourName.value == 0) 
   {
      alert("Name can't be left blank");
      chk.yourName.focus();
      return false;
   }
   if (chk.bAddress.value == 0) 
   {
      alert("Billing Address can't be left blank");
      chk.bAddress.focus();
      return false;
   }
   if (chk.bCity.value == 0) 
   {
      alert("City can't be left blank");
      chk.bCity.focus();
      return false;
   }
   if (chk.bState.value == 0) 
   {
      alert("State can't be left blank");
      chk.bState.focus();
      return false;
   }
   if (chk.bZip.value == 0) 
   {
      alert("Zip/Post Code  can't be left blank");
      chk.bZip.focus();
      return false;
   }
   if (chk.bPhone.value == 0) 
   {
      alert("Phone can't be left blank");
      chk.bPhone.focus();
      return false;
   }

   var val1= chk.bPhone.value;
   if (isNaN(val1))
   {
      alert("Enter Valid Phone Number");
      chk.bPhone.focus();
      return false;
   }
   if (!chk.bsStatus.checked) 
   {
      if (chk.sAddress.value == 0) 
      {
         alert("shipping Address can't be left blank");
         chk.sAddress.focus();
         return false;
      }
      if (chk.sCity.value == 0) 
      {
         alert("City can't be left blank");
         chk.sCity.focus();
         return false;
      }
      if (chk.sState.value == 0) 
      {
         alert("State can't be left blank");
         chk.sState.focus();
         return false;
      }
      if (chk.sZip.value == 0) 
      {
         alert("Zip/Post Code  can't be left blank");
         chk.sZip.focus();
         return false;
      }
      if (chk.sPhone.value == 0) 
      {
         alert("Phone can't be left blank");
         chk.phone2.focus();
         return false;
      }
      var val1= chk.sPhone.value;
       if (isNaN(val1)) 
       {
         alert("Enter Valid Phone Number");
         chk.sPhone.focus();
         return false;
      }
   }
}
function autoAlertCheck(theForm){
	//Email
	var email = theForm.email.value;
	var name = theForm.name.value;
	if(name.length == 0)
	{
		   alert("Please enter Name");
		   theForm.name.focus();
		   return false;
	}
	if(name.length < 3)
	{
		   alert("Please Atleast THREE (3) characters.");
		   theForm.name.focus();
		   return false;
	}
	if(email.length == 0)
	{
		   alert("Please enter Email ID");
		   theForm.email.focus();
		   return false;
	}
	if(isValidEmail(email) == 0)
	{	   
		   theForm.email.focus();
		   return false;		  
	}
	return true;
}
/*date validation*/
function isValidDate(dd,mm,yy)
{
	if(yy<1000 || yy>9999)
		return false;

	if(mm>12 || mm<1)
		return false;

	if(dd<1)
		return false;

	if(mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12)
	{
		if(dd>31)
			return false;
		return true;
	}
	if(mm==4 || mm==6 || mm==9 || mm==11)
	{
		if(dd>30)
			return false;
		return true;
	}
	if(mm==2)
	{
		if(isLeap(yy))
		{
			if(dd>29)
				return false;
			return true;
		}
		else
			if(dd>28)
				return false;
			return true;
	}
	return true;
}
function isLeap(yy)
{
	if((yy%4==0 && yy%100!=0) || yy%400==0)
		return true;
	return false;
}
/*date validation*/
function checkVenueData(theForm)
{
	if(theForm.showPlace.value.length==0)
	{
		alert("Please Enter Show Place!!");
		theForm.showPlace.focus();
		return false;
	}
	if(theForm.showPlace.value.length<3)
	{
		alert("Show Place should have Atleast three (3) characters!!");
		theForm.rep_name.focus();
		return false;
	}
	if(theForm.city.value.length==0)
	{
		alert("City should not be empty!!");
		theForm.city.focus();
		return false;
	}
	if(theForm.country.value.length==0)
	{
		alert("Country should not be select!!");
		theForm.country.focus();
		return false;
	}
	if(theForm.email.value.length>0)
	{
		if(isValidEmail(theForm.email.value) == 0)
		{
			alert ("Please Enter Valid E-Mail!!");
			theForm.email.focus();
			return false;
		}
	}
	var web=theForm.website.value;
	if(web.length>0)
	{
		if(notValidsite(theForm.website))
		{
			alert ("Please Enter Valid Website!!");
			theForm.website.select();
			return false;
		}		
	}
	return true;
}
function notValidsite( str )
{
	mailRE = new RegExp( );
//	mailRE.compile( '^[\._a-z0-9-]+.[\a-z0-9-]+[.]{1}[a-z]{2,4}$', 'gi');
	mailRE.compile( '^[A-Za-z]+://[A-Za-z0-9-]+\.[A-Za-z0-9]+', 'gi');
	return !(mailRE.test( str.value ));
}
function textLimitCheck(thisArea, maxLength, messageCount)
{
    if (thisArea.value.length > maxLength)
    {
        alert(maxLength + ' characters limit. \rExcessive data will be truncated.');
        thisArea.value = thisArea.value.substring(0, maxLength);
        thisArea.focus();
    }
	messageCount.innerText = thisArea.value.length;
}