// JavaScript Document
function validateImage(frm,field,msg)
{
    var     doc = "document."
	if(field=='img1')
	{
		boolvar1 = picture();
		if(boolvar1==false)
			return false;
		
		if(document.getElementById('file1').value=='' && boolvar1==true)
		{
			alert(msg);
			eval(doc+frm+"."+field+".focus()")		
			return false;
		}
		else	
		{
			return true;
		}
	}
}

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

function SetChecked(val)
{
	   dml = document.forms[0];
	   
	   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 validsearch(frm)
{  		
       var frm = eval(frm);
       if(frm.keyword1.value == "")
	   {
    	           alert("Please enter a keyword for search");
				   frm.keyword1.focus();
            	   return false;
       }
       frm.action.value = "Search";
}



function searchbydate(frm)
{
	var     doc = "document.";
	startyear=eval(doc+frm+".startyear.value");
	startmonth=eval(doc+frm+".startmonth.value");
	startday=eval(doc+frm+".startday.value");
	expyear=eval(doc+frm+".expyear.value");
	expmonth=eval(doc+frm+".expmonth.value");
	expday=eval(doc+frm+".expday.value");
	
	d1 = new Date(startyear,startmonth,startday);
	d2 = new Date(expyear,expmonth,expday);
	curr_date = new Date();
	
	if(d1.getTime()< curr_date.getTime())
	{
	  alert('Start date must be greater then Today\'s date');
	  return false;
	}
	else if (d2.getTime()<=d1.getTime())
	{
	  alert('Expire date should be greater then start date');
	  return false;
	}
	else
		return true;

}

//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 for validating empty field
function validateBlank(formName,fieldName,msg)
{
   var doc = "document."
   var input = eval(doc+formName+"."+fieldName+".value");
   input = trimAll(input);
	eval(doc+formName+"."+fieldName+".value=input");
	
   var lenth = input.length ;
   var ctr=0 ;

   if(input==""){
		   alert(msg);
		   eval(doc+formName+"."+fieldName+".focus()")
		   return false;
   }

   return true;
}

function confirmdelete()
{
	var agree=confirm("Are you sure you want to delete this record?");
	if (agree)
		return true ;
	else
		return false ;
}

function validatepass(formName,fieldName1,msg)
{
  var     doc = "document."
 msgflag=0;alphacount=0;numcount=0;
var value1 = eval(doc+formName+"."+fieldName1+".value");
for (var i = 0; i < value1.length; i++)
{
var ch = value1.substring(i, i + 1);
//alert(ch)

if ( ((ch < "a" || "z" < ch) && (ch < "A" || "Z" < ch)) && (ch < "0" || "9" < ch) ) msgflag=1;
if ((ch >= "a" && "z" >= ch) || (ch >= "A" && "Z" >= ch)) ++alphacount;
if (ch >= "0" && "9" >= ch ) ++numcount;

//alert(alphacount+"<-char  num-> "+numcount+"    msgflag->"+msgflag+"val-->"+ch);
//return false
}
//if(alphacount < 4 || numcount < 2) msgflag=1;
if(msgflag !=0)		{
alert(msg);
eval(doc+formName+"."+fieldName1+ ".select()")
return false; }
 return true;
}	

function validateconfirmpass(formName,fieldName1,fieldName2,msg)
{
       var     doc = "document."
	   var value1 = eval(doc+formName+"."+fieldName1+".value");
	   var value2 = eval(doc+formName+"."+fieldName2+".value");
		if (value1 != value2){alert(msg);eval(doc+formName+"."+fieldName2+ ".select()"); return false;}
		return true;
}
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
}

//end code

function invalidatedomain(formName,fieldName,msg){
       var     doc = "document."
	  
       var input = eval(doc+formName+"."+fieldName+".value");

       var lenth = input.length ;
       var ctr=0 ;
		
       if(!input.indexOf('.'))
	   {
               alert(msg);
               eval(doc+formName+"."+fieldName+".focus()")
               return false;
       }

       return true
}

//function for Validating Email

function validateEmail(formName,fieldName,msg){
       var doc = "document."
       str=eval(doc+formName+"."+fieldName+".value");

		var	str = str.replace('&','') ;

		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 terms and condition

function validateTermsCondition(formName,fieldName,msg)
{
	  var doc = "document."
       str=eval(doc+formName+"."+fieldName+".checked");
		if(str) 
		{
			return true;
		}
		
		else
		{
			alert(msg);
			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="123456789.";

       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()")
					   //eval(doc+formName+"."+fieldName + ".select()")
                       return false;
                       break;
               }
       }

return true
}

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="123456789-";

       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()")
					   //eval(doc+formName+"."+fieldName + ".select()")
                       return false;
                       break;
               }
       }

return true
}


//Function Created by Shahil , To Validate Age 
function validateAge(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
}
if (fieldValue==0)
{
       alert(msg)
       eval(doc+formName+"."+fieldName + ".select()")
       return false
}
return true
}

function validateHFeet(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
	}

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

return true
}
function validateHInch(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
	}
*/
	if (fieldValue>11)
	{
       alert(msg)
       eval(doc+formName+"."+fieldName + ".select()")
       return false
	}

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;
	   alert(j);
       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 toperform different actions


function Subm(act,first,dosub,opt, msg)
{   
       frm = document.tableform;
       num = ((first) ? slct1st(frm) : numChecked(frm));
	  // frm.no.value=num;
       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;
}


// Function called when active action is performed

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

// Function called when InActive action is performed

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

function checkEdit(msg,action,form)
{
	doc=eval("document."+form);
       rtn=confirm(msg);
       if(rtn==false)
               {       return false;   }
       else
       {       doc.action.value=action;
              doc.submit();           }
}

function checkEdit_new(msg,action,form,loc_id)
{
	doc=eval("document."+form);
	//alert(doc.name)
       rtn=confirm(msg);
       if(rtn==false)
               {       return false;   }
       else
       {       doc.action.value=action;
              doc.submit();           }
}

function updatemenutype(action,form)
{
	doc=eval("document."+form);
	var frm = eval(form);
    doc.action.value=action;
    //frm.submit();
	return true;
}
function validatephone(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
}

function checkemail(src) //email valiadation function
{
     var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
     var regex = new RegExp(emailReg);
     return regex.test(src);
}
  
function trimAll(sString) //trimall function
{
	while (sString.substring(0,1) == ' ')
	{
	sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
	sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function rightTrim(sString) //righttrim function
{
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
	sString = sString.substring(0,sString.length-1);
	}
	return sString;
}


function leftTrim(sString) //lefttrim function
{
		while (sString.substring(0,1) == ' ')
		{
		sString = sString.substring(1, sString.length);
		}
		return sString;
}

//Check add option master form
function chk_addoption(opt_name)
{
	opt_val=trimAll(opt_name.value);
	if(opt_val == '') 
		{			
			alert('Specify Option Name.');
			opt_name.focus();
			return false;
		}
	else
		return true;
}

//Check add option details form
function chk_addoptiondetails(name,det)
{
	name_val=trimAll(name.value);
	det_val=trimAll(det.value);
		if(name_val == '')
		 { alert('Select Option Name. '); name.focus(); return false;}
		else if(det_val == '') 
		 { alert('Specify Option Detail-Name. '); det.value=''; name.focus(); return false;}
		else 
		  return true;	
}

//Check add option details form
function chk_addproductdetails(name,det,price)
{
	name_val=trimAll(name.value);
	det_val=trimAll(det.value);
	price_val=trimAll(price.value);
	
		if(name_val == '')
		 { alert('Select Option Name. '); name.focus(); return false;}
		else if(det_val == '') 
		 { alert('Specify Option Detail-Name. '); det.value=''; name.focus(); return false;}
		else if(price_val == '' || isNaN(price_val))
		 { alert('Invalid Product Price. '); price.value=''; price.focus(); return false;}
		else	
		  return true;	
}

function chk_addpkg(name,sprice,mprice)
{
	name_val=trimAll(name.value);
	sval=trimAll(sprice.value);
	mval=trimAll(mprice.value);
	
	if(name_val == '')
		 { alert('Specify Valid Package Name.'); name.focus(); return false;}
	else if(isNaN(sval) || sval == '')	 
		 { alert('Specify Valid Setup Price.'); sprice.focus(); return false;}
	else if(isNaN(mval) || mval == '')	 
		 { alert('Specify Valid Monthly Price.'); mprice.focus(); return false;}	 
	else
		  return true;	
}

function validatePassword(formName,fieldName,fieldName2)
{	
	var flg = validateBlank(formName,fieldName,"Please Enter Password."); 	

	if(flg)
	{	
       var doc = "document."
       var input = eval(doc+formName+"."+fieldName+".value");
       var lenth = input.length ;
       var ctr=0 ;

		if(lenth < 6)
		{
			alert("Password should be minimum of 6 characters.")
			eval(doc+formName+"."+fieldName+".focus()")
			return false
		}		
		else
			flag = "true";				
	}
	if(flg)
	{	
		flg = validateBlank(formName,fieldName2,"Please Enter Confirm Password.");
	}
	if(flg)
	{
		flg = validateconfirmpass(formName,fieldName,fieldName2,"Password And Confirm Password must be Same.");	   
	}	
	if(flg)
	    return true;
	return false;
}


function validateUsername(formName,fieldName)
{	
	var flg = validateBlank(formName,fieldName,"Please Enter Username"); 	
	
	if(flg)
	{	
       var doc = "document."
       var input = eval(doc+formName+"."+fieldName+".value");
       var lenth = input.length ;

		if((lenth < 3) ||(lenth > 10))
		{
			alert("Username should be of 3 to 10 characters.")
			eval(doc+formName+"."+fieldName+".focus()")
			return false
		}

		var iChars = "!@#$%^&*()+=-[]\\\';,./{} |\":<>?";

		for (var i = 0; i < lenth; i++) 
		{
		  	if (iChars.indexOf(input.charAt(i)) != -1) 
			{
				alert("Please Enter Valid Username.")
				eval(doc+formName+"."+fieldName+".focus()")
				return false
		  	}
	   }
	
		flag = "true";				
	}
	else
		eval("document."+formName+"."+fieldName+".value=''") ;
	if(flg)
	    return true;
	return false;
}

function validateName(formName,fieldName,msg)
{	
   var doc = "document."
   var input = eval(doc+formName+"."+fieldName+".value");
   var lenth = input.length ;

	var iChars = "!@#$%^&*()+=[];,.{}|\":<>?";

	for (var i = 0; i < lenth; i++) 
	{
		if (iChars.indexOf(input.charAt(i)) != -1) 
		{
			alert(msg)
			eval(doc+formName+"."+fieldName+".focus()")
			
			return false
		}
   }
  return true;
}

function validateCompanyName(formName,fieldName,msg)
{	
   var doc = "document."
   var input = eval(doc+formName+"."+fieldName+".value");
   var lenth = input.length ;

	var iChars = "!#$%^*+=[];{}|\":<>?";

	for (var i = 0; i < lenth; i++) 
	{
		if (iChars.indexOf(input.charAt(i)) != -1) 
		{
			alert(msg)
			eval(doc+formName+"."+fieldName+".focus()")
			
			return false
		}
   }
  return true;
}



function validatePostcode(formName,fieldName,msg)
{	
   var doc = "document."
   var input = eval(doc+formName+"."+fieldName+".value");
   var lenth = input.length ;

	var iChars = "!@#$%^&*+()=[]\\\';,./{}|\":<>?";

	for (var i = 0; i < lenth; i++) 
	{
		if (iChars.indexOf(input.charAt(i)) != -1) 
		{
			alert(msg)
			eval(doc+formName+"."+fieldName+".focus()")
			return false
		}
   }
  return true;
}


function isURL(url) {
 	var regexp = /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
	
 	if(regexp.test(url)){ 
        return true; 
    }else{ 
        alert('Please enter valid website URL');
		return false; 
    } 
}


function checkDomain(formName,fieldName)
{
	var arr = new Array(
	'.com','.net','.org','.biz','.coop','.info','.museum','.name',
	'.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
	'.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
	'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
	'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
	'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
	'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
	'.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm',
	'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
	'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
	'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
	'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
	'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
	'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg',
	'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
	'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
	'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
	'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
	'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
	'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
	'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
	'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
	'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
	'.wf','.ye','.yt','.yu','.za','.zm','.zw');
	
	var doc = "document."
	var nname = eval(doc+formName+"."+fieldName+".value");
	
	
	var mai = nname;
	var val = true;
	
	var dot = mai.lastIndexOf(".");
	var dname = mai.substring(0,dot);
	var ext = mai.substring(dot,mai.length);
	var tt = ext.indexOf('/') ;
	if(tt!= -1)
		var ext = ext.substring(0,tt);	
	
	if(dot>2 && dot<57)
	{
		for(var i=0; i<arr.length; i++)
		{
		  if(ext == arr[i])
		  {
			val = true;
			break;
		  }	
		  else
		  {
			val = false;
		  }
		}
		if(val == false)
		{
			 alert("Your domain extension "+ext+" is not correct.");
			 eval(doc+formName+"."+fieldName+".focus()")
			 return false;
		}
		else
		{
			for(var j=0; j<dname.length; j++)
			{
			  var dh = dname.charAt(j);
			  var hh = dh.charCodeAt(0);
			  if((hh > 46 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
			  {
				 if((j==0 || j==dname.length-1) && hh == 45)	
				 {
					 alert("Domain name should not begin are end with '-'");
					 eval(doc+formName+"."+fieldName+".focus()")
					  return false;
				 }
			  }
			else{
				 alert("Your domain name should not have special characters.");
				 eval(doc+formName+"."+fieldName+".focus()")
				 return false;
			  }
			}
		}
	}
	else
	{
	 alert("Please Enter Valid Domain name.");
	 eval(doc+formName+"."+fieldName+".focus()")
	 return false;
	}	
	
	return true;
}


