// form validate functions
/*
==================================================================
LTrim(string) : Returns a copy of a string without leading spaces.
==================================================================
*/

/* 

Function to display or hide the division 
// arg1 (t) is the element id.
 
 START 
*/

function dispriceshow(t,f){
	eval("document.getElementById('" + t + "').style.display = ''");
	if(f){eval("document.getElementById('" + f + "').disabled = false");}
}
function dispricehide(t,f){
	eval("document.getElementById('" + t + "').style.display = 'none'");
		if(f){eval("document.getElementById('" + f + "').disabled = true");}
}
function disshow(t,tbl,f){
	eval("document.getElementById('" + t + "').style.display = ''");
	eval("document.getElementById('" + tbl + "').style.display = ''");
	if(f){eval("document.getElementById('" + f + "').disabled = false");}
}
function dishide(t,tbl,f){
	eval("document.getElementById('" + t + "').style.display = 'none'");
	eval("document.getElementById('" + tbl + "').style.display = 'none'");
		if(f){eval("document.getElementById('" + f + "').disabled = true");}
}

/*    END    */


function LTrim(str)
/*
   PURPOSE: Remove leading blanks from our string.
   IN: str - the string we want to LTrim
*/
{
   var whitespace = new String(" tnr");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) {
      // We have a string with leading blank(s)...

      var j=0, i = s.length;

      // Iterate from the far left of string until we
      // don't have any more whitespace...
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;

      // Get the substring from the first non-whitespace
      // character to the end of the string...
      s = s.substring(j, i);
   }
   return s;
}

/*
==================================================================
RTrim(string) : Returns a copy of a string without trailing spaces.
==================================================================
*/
function RTrim(str)
/*
   PURPOSE: Remove trailing blanks from our string.
   IN: str - the string we want to RTrim

*/
{
   // We don't want to trip JUST spaces, but also tabs,
   // line feeds, etc.  Add anything else you want to
   // "trim" here in Whitespace
   var whitespace = new String(" tnr");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      // We have a string with trailing blank(s)...

      var i = s.length - 1;       // Get length of string

      // Iterate from the far right of string until we
      // don't have any more whitespace...
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;


      // Get the substring from the front of the string to
      // where the last non-whitespace character is...
      s = s.substring(0, i+1);
   }

   return s;
}

/*
=============================================================
Trim(string) : Returns a copy of a string without leading or trailing spaces
=============================================================
*/
function Trim(str)
/*
   PURPOSE: Remove trailing and leading blanks from our string.
   IN: str - the string we want to Trim

   RETVAL: A Trimmed string!
*/
{
   return RTrim(LTrim(str));
}

function check(field)
{

	for (i = 0; i < field.length; i++)
	{
		field[i].checked = true;
	}
}


function CheckLength(formName,field,len,msg) 
{

	field1 = eval("document."+formName+"."+field+".value");
	length1 = field1.length;
//	var len_field = field1.length;

	if(length1<len)
	{
		alert(msg);
		return false;
	}
	return true;
}

function SetChecked(frm,val) 
{
        var frm = eval(frm);
        dml = frm;
                
        len = dml.elements.length;
        var i=0;
        for( i=0 ; i<len ; i++) 
                        dml.elements[i].checked=val;
}
/*
function SetChecked(val) 
{
	dml = document.tableform;

	len = dml.elements.length;
	var i=0;
	for( i=0 ; i<len ; i++) 
			dml.elements[i].checked=val;
}
*/

function uncheck(field)
{
	for (i = 0; i < field.length; i++)
	{
		field[i].checked = false;
	}
}

function validsearchFrame(frm)
{
	/*var frm = eval(frm);
	if(frm.txtSearch.value == "")
	{
		alert("Please enter a keyword for search");
		frm.txtSearch.focus();
		return false;
	}*/
	//this is to pass the store_id when searching, now no changes in sytax are needed
	//frm.select_store.value = module.select_store.value; //Modified by Neha
	
	frm.action.value = "Search";
}
function validsearch(frm)
{
	var frm = eval(frm);
	if(frm.txtSearch.value == "")
	{
		alert("Please enter a keyword for search");
		frm.txtSearch.focus();
		return false;
	}
	//this is to pass the store_id when searching, now no changes in sytax are needed
	//frm.select_store.value = module.select_store.value; //Modified by Neha
	
	frm.action.value = "Search";
}
//function for checking user selects a select field


function chkSelectField(formName,fieldName,msg){

	fieldLength = parseInt(eval("document."+formName+"."+fieldName+".length"))
	for(i=0;i<fieldLength;i++){
		if(eval("document."+formName+"."+fieldName+"["+i+"].selected")){
			fieldValue = eval("document."+formName+"."+fieldName+"["+i+"].value")
			if(fieldValue == ""){
				alert(msg)
				eval("document."+formName+"."+fieldName+".focus()")
				return false;
				break;
			}	
		}
	}
return true
}

// function for checking if any option is selected or not


function chk_IsOptionSelected(formName,fieldName){

	fieldLength = parseInt(eval("document."+formName+"."+fieldName+".length"))
	for(i=0;i<fieldLength;i++){
		if(eval("document."+formName+"."+fieldName+"["+i+"].selected")){
			return true;
		}
	}
	return false;

}
function chk_IsOptionChecked(formName,fieldName){

	fieldLength = parseInt(eval("document."+formName+"."+fieldName+".length"))
	for(i=0;i<fieldLength;i++){
		if(eval("document."+formName+"."+fieldName+"["+i+"].checked")){
			return true;
		}
	}
	return false;

}

function chkOptionChecked(formName,fieldName,msg){
	fieldLength = parseInt(eval("document."+formName+"."+fieldName+".length"))
	for(i=0;i<fieldLength;i++){
		if(eval("document."+formName+"."+fieldName+"["+i+"].checked")){			
			return true;
		}
	else
	alert(msg);
	return false;
	}
}
//function for validating empty field

function validateBlank(formName,fieldName,msg){
	var	doc = "document.";
	var input = Trim(eval(doc+formName+"."+fieldName+".value"));
	var lenth = input.length;
	var ctr=0 ;
	alert(input);
	if(input==""){		
		alert(msg);
		eval(doc+formName+"."+fieldName+".focus()");
		return false;		
	}
	return true;
}


function chkPercentageAmount(formName,fieldName1,fieldName2,msg)
{
	var	doc = "document."
	if(eval(doc+formName+"."+fieldName1+".value") == 'P')
	{
		if(eval(doc+formName+"."+fieldName2+".value") > 100)
		{
				alert(msg);
				eval(doc+formName+"."+fieldName2+".focus()");
				return false;
		}
	}
	else
	{
		return true;
	}
}

//Check password and confirm password


function validateconfirmpass(formName,fieldName1,fieldName2,msg)
{
	var	doc = "document."
	//alert(eval(doc+formName+"."+fieldName1+".value"));
	//alert(eval(doc+formName+"."+fieldName2+".value"));
	 
	if(eval(doc+formName+"."+fieldName1+".value") != eval(doc+formName+"."+fieldName2+".value"))
	{
		alert(msg);
		eval(doc+formName+"."+fieldName2+".focus()")
		return false;
	}
	return true
}


//End confirm password


function validateDecimal(formName,fieldName,msg){

var	doc = "document."

a=eval(doc+formName+"."+fieldName)
fieldValue=eval(doc+formName+"."+fieldName + ".value")


if (fieldValue.length<1)
{
	alert(msg)
	eval(doc+formName+"."+fieldName + ".select()")
	return false
}

chk1="123456789.0";

	for(i=0;i!=fieldValue.length;i++)
	{
		ch1=fieldValue.charAt(i);
		rtn1=chk1.indexOf(ch1);
		if(rtn1==-1)
		{
			alert(msg);
			eval(doc+formName+"."+fieldName + ".focus()")
			return false;
			break;
		}
	}
return true
}    


//function for Validating Email
function checkEmailAddress(formName,fieldName,msg)
{
  //var field = vEmail; // email field
  var doc = "document.";
  var str = eval(doc+formName+"."+fieldName+".value");

 // var str = vEmail; // email string
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
  if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
    return true;
  }
  else { 
	 alert("Please Enter Valid Email Address"); // this is optional
	 eval(doc+formName+"."+fieldName + ".focus()");
	 return false;
  }
}

function validateEmail(formName,fieldName,msg){

	var doc = "document.";
	str=eval(doc+formName+"."+fieldName+".value");
	
//	var input = document.userlogin.vemail.value ;
	var input = eval(doc+formName+"."+fieldName+".value");
	var obj = eval(doc+formName+"."+fieldName);
	var lenth = input.length ;
	var ctr=0 ;
  	for ( i = 0; i < lenth; i++ )
	if ( ( input.charAt(i) == '!' ) || ( input.charAt(i) == '#' ) )
    {
	  alert(msg) ;
	  obj.focus();
      return false;
    }
	if (input == "")
	{
		alert(msg) ;
	    obj.focus();
		return false ;
	}
	if(input.length == 40)
	{
		alert(msg) ;
	    obj.focus();
		return false;
	}

	for ( i=0; i < lenth; i++ )
	{
		var oneChar = input.charAt(i) ;
		if(oneChar == "@")
		{
			ctr = ctr+1 ;
		}
		if ( (i == 0 && oneChar == "@") || (i == 0 && oneChar == ".") || ( oneChar == " " ) )
		{
			alert (msg) ;
	        //obj.focus();
			return false ;
		}
		if ( (oneChar == "@" && input.charAt(i+1) == ".") || 
			(oneChar == "." && input.charAt(i+1) == "@") ||
			(oneChar == "." && input.charAt(i+1) == ".") )
		{
			alert (msg) ;
	        obj.focus();
			return false ;
		}
		if( input.indexOf("@") < 2 )
		{
			alert (msg) ;
	        obj.focus();
			return false ;
		}
		if(input.indexOf(".")<4)
		{
			alert (msg) ;
	        obj.focus();
			return false ;
		}
		if (ctr > 1)
		{
			alert (msg) ;
	        obj.focus();
			return false ;
		}
	}
return true;
/*	
	var doc = "document.";
	str=eval(doc+formName+"."+fieldName+".value");
	alert("formName "+formName);
	alert("fieldName "+fieldName);
	alert(eval(str+".value"));
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(str)){return true}
	else
	{
		alert(msg)
		eval(doc+formName+"."+fieldName+".select()")
		return false
	}
	*/
}


//function for validating Number

function validateNumber(formName,fieldName,msg){

var	doc = "document."

a=eval(doc+formName+"."+fieldName)
fieldValue=eval(doc+formName+"."+fieldName + ".value")

if (fieldValue.length<1)
{
	alert(msg)
	eval(doc+formName+"."+fieldName + ".select()")
	return false
}

chk1="1234567890-";

	for(i=0;i!=fieldValue.length;i++)
	{
		ch1=fieldValue.charAt(i);
		rtn1=chk1.indexOf(ch1);
		if(rtn1==-1)
		{
			alert(msg);
			eval(doc+formName+"."+fieldName + ".focus()")
			return false;
			break;
		}
	}

return true	
}
//added by Amit Shah on 2005-1-19 to validate phone/fax numbers
function validateCallNumber(formName,fieldName,msg){


var	doc = "document."

a=eval(doc+formName+"."+fieldName)
fieldValue=eval(doc+formName+"."+fieldName + ".value")

if (fieldValue.length<1)
{
	alert(msg)
	eval(doc+formName+"."+fieldName + ".select()")
	return false
}

chk1="1234567890-";

	for(i=0;i!=fieldValue.length;i++)
	{
		ch1=fieldValue.charAt(i);
		rtn1=chk1.indexOf(ch1);
		if(rtn1==-1)
		{
			alert(msg);
			eval(doc+formName+"."+fieldName + ".focus()")
			return false;
			break;
		}
	}

return true	
}



// This functions are used on the forms listing the data like productlist, couponlist, categorylist etc.

// Returns the count of the checkbox selected

function numChecked(frm)
{
	j=0;
	for(i=0;i< frm.length;i++)
	{
		e=frm.elements[i];
		if (e.type=='checkbox' && e.name != 'allbox' && e.checked)
			j++;	
	}
	
	return j;
}

function slct1st()
{
	j=0;
	
	for(i=0;i< frm.length;i++)
	{
		e=frm.elements[i];
		if (e.type=='checkbox' && e.name != 'allbox' && e.checked)
			if(j==1) 
				e.checked=false;
			else 
				j=1;
	}
	return j;
}

// On the listing form we need to apply this function for each button to perform different actions

function Submit(act,first,dosub,opt, msg)
{
//alert(msg);
	frm = document.tableform;
	num = ((first) ? slct1st(frm) : numChecked(frm));
	if (num>0)
	{
		if(opt==1)
			checkDelete(msg);
		else if(opt==2)
			checkActive(msg);
		else if(opt==3)
			checkInActive(msg);
		if (dosub)
			return true;
	}
	else
		alert("Please select Checkbox.");

	return false;
}


// This functions can be added for each new action

// Function called when delete action is performed

function checkDelete(frm,msg)
{
	rtn =  confirm(msg);
	if(rtn==false){
		return false;
	}else{
		frm.action.value="Delete";
		frm.submit();
	}
}
function checkDeleteImage(frm,msg)
{
//	alert(msg);
	rtn =  confirm(msg);
	if(rtn==false){
		return false;
	}else{
		frm.action.value="DeleteImage";
		frm.submit();
	}
}
// Function called when active action is performed

function checkActive(frm,msg)
{
	rtn=confirm(msg);
	if(rtn==false)
		{	return false;	}
	else
	{	
		frm.action.value="Active";
		frm.submit();		
	}
}


// Function called when InActive action is performed

function checkInActive(frm,msg)
{
	rtn=confirm(msg);
	if(rtn==false)
		{	return false;	}
	else
	{	
		frm.action.value="InActive";
		frm.submit();		}
}

function checkWholeseller(frm,msg)
{
alert("hello");
	rtn=confirm(msg);
	if(rtn==false)
		{	return false;	}
	else
	{	
		frm.action.value="Wholeseller";
		frm.submit();		}
}

function mycallback(value)
{
alert(value);
}

// count the number of checkbox checked.
function numChecked_Checkbox(frm)
{
	j=0;
	for(i=0;i<frm.length;i++)
	{
		e=frm.elements[i];
		if (e.type=='checkbox' && e.checked)
			j++;	
	}
	return j;
}

function CheckedCheckbox(frm,msg)
{
	j=0;
	for(i=0;i<frm.length;i++)
	{alert(frm.length);
		e=frm.elements[i];
		if (e.type=='checkbox' && e.checked)
			j++;	
			alert(msg);
	}
	return j;
}


function SubmitAct(frmname,opt, msg, setact)
{
	var frm = eval(frmname);
	var num=numChecked(frm);
	//alert(num);
	//alert("test");
    var estatus='';
	if (num>0)
	{
		if(opt==1)
		{
            estatus='Delete';
			//confirm(msg);
			if(!checkDelete(msg))
				return false;
		}
		else if(opt==2)
			{ //alert(num);
            estatus='Active';
   			//chkActive(msg);
	}
		else if(opt==3)
		{
            estatus='Inactive';
		}
        if(frm.estatus)
        {
            frm.estatus.value=estatus;
        }
	}
	else
	{
		alert("Please select Checkbox.");
		return false;
	}
	if(setact!=null)
	{
		frm.action=setact+'';
		frm.submit();
	}
	return true;
}
function Subm(frm,act,first,dosub,opt,msg)
{
	//frm = document.tableform;
	var frm = eval(frm);
	num = ((first) ? slct1st(frm) : numChecked(frm));
	if (num>0)
	{
		if(opt==1)
			checkDelete(frm,msg);
		else if(opt==2)
			checkActive(frm,msg);
		else if(opt==3)
			checkInActive(frm,msg);
		else if(opt==4)
			checkHold(frm,msg);
		else if(opt==5)
			checkSuspend(frm,msg);
		else if(opt==6)
			checkforgot_password(frm);
		else if(opt==7)
			checkBanned(frm,msg);
		else if(opt==8)
			checkSetOrder(frm,msg);
		else if(opt==9)
			checkOrderPosting(frm,msg);
		else if(opt==10)
			checkDeleteImage(frm,msg);
		else if(opt==11)
		checkWholeseller(frm,msg);
		if (dosub)
			return true;
	}
	else
		alert("Please select Checkbox.");
	return false;
}

function validateBlank(formName,fieldName,msg)
{
 var doc = "document." 
 var input = eval("document."+formName+"."+fieldName+".value");
 var lenth = input.length;
 var ctr=0 ; 
 if(input=="")
 {  
  alert(msg);
  eval(doc+formName+"."+fieldName+".focus()")
  return false;  
 } 
 return true
}
function numChecked_radio(frm)
{
	j=0;
	for(i=0;i< frm.length;i++)
	{
		e=frm.elements[i];
		if (e.type=='radio' && e.name != 'allbox' && e.checked)
			j++;	
	}
	//alert(j);
	return j;
}

function validateCheckedByName(fieldName,msg)
{//alert('in');
 var elem=document.getElementsByName(fieldName+"[]");
 var flg=false;
 for(i=0; i<elem.length; i++)
 {
 	if(elem[i].checked) flg=true;
 }
 if(flg==false)
 {  
  alert(msg);
  return false;  
 
 } 
 else{
	 return true;
 }
}

function validaccount(formName,fieldName,msg)
{
 var doc = "document."
  str = eval(doc+formName+"."+fieldName+".value");
  
  var filter=/^[\w-]+$/i
    if(filter.test(str)){return true}
        else
        {
            alert(msg)
                eval(doc+formName+"."+fieldName+".select()")
                return false
        }
  }
  function GetRadioButtonValue(fieldName,formName)
	 {
	 ln=eval("document."+formName+".elements.length");
	 
	 
	  for(i=0;i<ln;i++)
	  {
	     fldobj=eval("document."+formName+".elements["+i+"]");
    	 fld=fldobj.name;
		  if(fieldName == fld)
		  	{
					if(fldobj.checked)
					{
					  return fldobj.value;
					
					}	
			}
	  
	  }
	  
	}
	
	/* The following function added by bejoy to check the file upload extention is valid*/
	
	/* */
function nonEmptyUploadFile(formName,fieldName,msg){
	var val1=trim(eval("document."+formName+"."+fieldName+".value"));
	if(val1.length>0){ 
		f=get_exten(val1);
		flg=check_valid_ext(f);
		if(!flg){
			alert(msg);
			eval("document."+formName+"."+fieldName+".focus()");
			return false;	
		}
		return true;
	}
}

function check_valid_ext(f){
	f=f.toLowerCase();
	extarr=new Array("jpg","jpeg","JPG","JPEG");
	totext=extarr.length;
	flag=0;
	for(i=0;i<totext;i++){
		if(extarr[i].indexOf(f) !=-1){flag=1;}
	}
	if(flag==1){return true;}else{return false;}
}
function trim(s) {
	while (s.substring(0,1) == ' ') {
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ') {
		s = s.substring(0,s.length-1);
	}
	return s;
}

function get_exten(f){
  	var ex="",cut=f;
	tot=f.length;
	while (f.substring(f.length-1,f.length) != '.') {
		f=f.substring(0,f.length-1);
		ext=cut.substring(f.length,tot);
	}
	return ext;
}


//function for Validating Email
function checkEmailAddress_m(formName,fieldName,msg)
{
  //var field = vEmail; // email field
  var doc = "document.";
  var str = eval(doc+formName+"."+fieldName+".value");

 // var str = vEmail; // email string
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
  if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
    return true;
  }
  else { 
	 alert(msg); // this is optional
	 eval(doc+formName+"."+fieldName + ".focus()");
	 return false;
  }
}

	/* */