function validateForm() 

{ 

	var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;

	j=0;

	

	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

	var regBlank = /[^\s]/;

	

	//var regSpace = /^([a-zA-Z0-9_\!#@^&*%~-]+)$/;

	var regSpace = /^([a-zA-Z0-9-/_!#@]+)$/;

    var regAlphaNum = /^([a-zA-Z0-9_#@]+)$/;

	var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/; 

  	var regChar = /^([a-zA-Z\s]+)$/;

	var regNumeric = /^([0-9]+)$/; 

	//var regDecimal = /^([0-9]+|(\.?)[0-9]+)$/;

	var regDecimal = /^([0-9]{0,20}\.?[0-9]{1,2})$/;

	

	for (i=1; i<(args.length-2); i+=3) 

	{	

		mesg=args[i+1];

		test=args[i+2]; 

		val=document.forms[""+args[0]].elements[""+args[i]];

		

		if (val) 

		{	

			

			nm=mesg; 

			noVal = val;

			val = val.value;

			if(regBlank.test(val))

			{

				if(test.indexOf('isEqual')!=-1)

				{

					result = trim(val);



					if(result.length==0)

					{

											

					errors += '- '+nm+' is required.\n'; 

					}

					else

					{

					equal_obj_val = test.substring(8,test.indexOf(":"));

					mesg_string =test.substring((test.indexOf(":")+1));



						if(val != document.forms[""+args[0]].elements[""+equal_obj_val].value)

						{ 

							errors+='- '+nm+' and '+mesg_string+' must be same.\n';

						}

					}

				}

				else if(test.indexOf('isAlphaNum')!=-1)

				{

					result = trim(val);

					if(result.length==0){

					errors += '- '+nm+' is required.\n'; 

					}else{

						if(!regAlphaNum.test(val))

						{

							errors += '- '+nm+' is not valid.\n';

						}

					}

				

				}

				else if(test.indexOf('isNumeric')!= -1)

				{

						if(!regNumeric.test(val))

						{

							errors += '- '+nm+' must contain a numeric value.\n';

							

						}

				}

				else if(test.indexOf('isDecimal') != -1)

				{

					

					if(!regDecimal.test(val))

					{

						errors += '- '+nm+' must contain a number upto 2 decimal places.\n';

					}

				}

			

				

				else if(test.indexOf('isSpace')!=-1)

				{

					result = trim(val);

					

					if(result.length==0)

					{

						errors += '- '+nm+' is required.\n'; 

					}

					else

					{

						if(!regSpace.test(val))

						{

							errors += '- '+nm+' is not valid.\n';

						}

					}

				}

				else if (test.indexOf('isEmail')!=-1) 

				{ 

					p=val.indexOf('@');

					s=val.indexOf('.');

			        if (p<1 || p==(val.length-1))

					{

						errors+='- '+nm+' is not valid.\n';

		

					}

					else if(!regEmail.test(val))

					{

						errors+='- '+nm+' is not valid.\n';

					}

			     }

				else if (test.indexOf('isUrl')!=-1) 

				{ 

					p=val.indexOf('http://');

					s=val.indexOf('.');

			        if (p<0 || p==(val.length-1))

					{

						errors+='- '+nm+' must be valid URL e.g. http://www.abc.com\n';

		

					}

					else if(s<p || s==(val.length-1))

					{

						errors+='- '+nm+' must be valid URL e.g. http://www.abc.com\n';

					}

			     }

				else if (test.indexOf('isChar')!=-1) 

				 { 

					var first_char;

					

					if(val.match(regChar)==null)

					{

					 	errors+='- '+nm+' must contain a character.\n';

					}

			     }

				else if(test.indexOf('isCheckbox')!=-1)//Check is check box is not checked generate error

				{	

					var valueCheckbox = noVal.checked;

					if(!valueCheckbox)

					{

						errors+='- '+' Accept terms and condition.\n';

					}

				}

				else if (test.charAt(0)=='R')

				{

					result = trim(val);

					if(result.length==0){

						

					errors += '- '+nm+' is required.\n'; 

					}

				} 

			

		}

		else if (test.charAt(0)=='R')

		{

			result = trim(val);

				if(result.length==0){

					

				errors += '- '+nm+' is required.\n'; 

				}

		}

		

		 if (test.indexOf('isDate')!=-1) 

				{ 

					//alert("vineet");

					p=val.indexOf('-');

			       // alert(test.indexOf('isDate'));

			       	var sliptdate	= val.split("-");

					

					/*******************Added by rupesh Date is not before current date and month*********************/

					var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate(),TH=today.getHours();

					TM+=1;			

					if(TM<=9) 

					{	

						TM='0'+TM;

					}

					if(TD<=9)

					{

						TD='0'+TD;

					}

					/*******************Added by rupesh*********************/

					

					var sY=sliptdate[0];

					var sM=sliptdate[1];

					var sD=sliptdate[2];

					

					/*******************Added by rupesh*********************/

					//alert(TM);

				  if(sY>1)

				   {     

						

						if(sY<TY )

						{

						    errors+='- '+nm+' should be greater than current date.\n';

						}

						else if(sM==TM && sD<TD && sY==TY) 

						{ 

	

							errors+='- '+nm+' should be greater than current date.\n';

							

						}

						else if(sM<TM && sY==TY) 

						{ 

	

							errors+='- '+nm+' should be greater than current date.\n';

					    }

				   }

				

				}

		if(errors !="")

		{	if(j<=0)

			{

				focusitem = document.forms[""+args[0]].elements[""+args[i]];

				j++;

			}	

		}

		}

		

	} 

	

  if (errors)

  {

	var MasterString = getMasterString();

	alert(MasterString+'\n'+errors);

	focusitem.focus();

	return false;

   }

   else

	return true;



  document.MM_returnValue = (errors == '');

}

 

function validate_admin_login_form(formname)
{
	if(validateForm(formname,'userlogin','Username','R', 'userpass','Password','R')) {	
		return true;
	} else {
		return false;
	} 
}



function validateContactusForm(formname)
{
	if(validateForm(formname,'frmName','Name','R', 'frmNumber','Phone Number','R', 'frmEmail', 'Email Address', 'RisEmail', 'frmComments', 'Comment', 'R', 'frmSecurityCode', 'Verification code', 'R' )) {	
		return true;
	} else {
		return false;
	} 
}

/**
*Function To Validate The Customer Care Form.
**/
function validateCustomerCareForm(formname)
{
	if(validateForm(formname,'frmName','Name', 'R', 'frmAddress', 'Address','R', 'frmLot', 'Lot Number', 'isNumeric','frmHPhone','Phone Number','R', 'frmEmail', 'Email Address', 'isEmail')) {	
		return true;
	} else {
		return false;
	} 
}

function validateInquiryForm(formname)

{

	if(validateForm(formname,'frmName','Contact Name','R', 'frmNumber','Contact Number','R', 'frmEmail', 'Email Address', 'RisEmail', 'frmInquiry', 'Comment', 'R', 'frmSecurityCode' , 'Verification code', 'R'))
	{	
		return true;

	} else {

		return false;
	} 

}

function validateEmailChange(formname)

{

	if(validateForm(formname, 'frmAdminEmail','Email','RisEmail'))

	{			

		var flag=confirm('Are you sure you want to change notification E-mail?')

		if(flag)

		return true;

		else

		return false;		

	} 

	else 

	{

		return false;

	} 

}

 

function validateChangePassword(formname)

{

	if(validateForm(document.getElementById(formname).id,'frmAdminOldPassword', 'Current Password', 'RisSpace', 'frmAdminNewPassword', 'New Password','RisSpace','frmAdminConfirmPassword', 'Confirm New Password', 'RisEqualfrmAdminNewPassword:New Password'))

	{			

		var flag=confirm('Are you sure you want to change password?')

		if(flag)

		{

			return true;

		}

		else

		{

			return false;		

		}

	} 

	else 

	{

		return false;

	} 



}



 

function validateResetPassword(formname)

{

	if(validateForm(document.getElementById(formname).id, 'frmNewPassword', 'New Password','RisSpace','frmConfirmNewPassword', 'Confirm New Password', 'RisEqualfrmNewPassword:New Password'))

	{	

		return true;

	} 

	else 

	{

		return false;

	} 



}





function validateForgotPassword(formname)

{

	if(validateForm(formname,'frmUserName','Username (E-mail) ','RisEmail','frmSecurityCode','Verification code','R'))

	{	

		return true;

	} 

	else 

	{

		return false;

	} 

}





function ltrim(str) { 

	for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);

	return str.substring(k, str.length);

}

 

function rtrim(str) {

	for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;

	return str.substring(0,j+1);

}

 

function trim(str) {

	return ltrim(rtrim(str));

}

 

function isWhitespace(charToCheck) {

	var whitespaceChars = " \t\n\r\f";

	return (whitespaceChars.indexOf(charToCheck) != -1);

}

 

function checkError(error)

{

 var flag=false;

 var MasterString = getMasterString();

 

 if(error != "")

 {

  MasterString = MasterString + error;

  flag=true;

 }

 

 if(flag == true)

 {

  alert(MasterString);

  return false;

 }

 else

  return true;

}

 

function getMasterString()

{

 return "Sorry, we can not complete your request.\nKindly provide us the missing or incorrect information enclosed below.\n";

}

 

 

function toggleOption(spanChk)

{

 

 var xState=spanChk.checked;

 var theBox=spanChk;

 

 elm=theBox.form.elements;

 

 for(i=0;i<elm.length;i++)

 {

  	

	if(elm[i].type=="checkbox" && elm[i].id!=theBox.id && !elm[i].disabled)

  	{

  		if(xState == false)

    		elm[i].checked = false;

   		else

    		elm[i].checked = true;

  	}

 }

}

 

function deSelectCheckbox(formname)

{

 document.getElementById('Main').checked = false;

}

 

 

function  setValidAction(value, formname, listname)

{

	if(value == 'Delete' || value.indexOf ('Delete')>-1)

	 {

	  	message = "delete selected "+listname;  

	 }

	 else

	 {

	  	message = "change status of selected "+listname;

	 }

	 var flag = validator(message,formname);   

	 if(flag)

	 {   

	  	formname.submit();

	 }

	 else

	 {

		formname.frmChangeAction.value=''; 

	  	document.getElementById('Main').checked = false;

	  	if(listname == 'Message(s)' || listname =='Customer(s)' || listname =='Order(s)'|| listname =='Subscriber(s)' ||  listname == 'Category(s)' ||  listname == 'Competitor(s)' ||  listname == 'Loyalty(s)' ||  listname =='Product Accessory(s)' ||  listname =='Product(s)')

	  	{

	   		document.forms[1].Main.checked=false; 

	   		elm=document.forms[1].elements;

	  	}

	 	else

	  	{

		   document.forms[0].Main.checked=false; 

		   elm=document.forms[0].elements; 

	  	}

	  

		for(i=0;i<elm.length;i++)

		{

		   //alert(elm[i].type);

		   if(elm[i].type == "checkbox" )

		   {   

				elm[i].checked = false;

		   }

		}

	 	return false;

	 }

}



var btnType;

function validator(btnType,formname)

{

 

 var obj = formname;

 var error="", flagCheck=0;

 

 var len = obj.elements.length; 

 var i=0;

 for(i=0;i<len;i++) 

 {

  if(obj.elements[i].type=='checkbox')

  {

   if(obj.elements[i].checked)

   {

    //if(btnType == 'Delete')

     return askConfirm(btnType);

    //else

     //return true;

   }

   else

    flagCheck = 1;

  }

 }

 

 if(flagCheck == 1)

  error += "\n Please select at least one record.";

   

 return checkError(error);

}

 

function askConfirm(type)

{ 

 var sen = "Are you sure you want to "+type+"?";

 if(confirm(sen))

 {

  return true;

 }

 else

 {

  return false;

 }

}