/******************************************
Module name : Js Function file
Parent module : None
Date created : 28 February 2008
Date last modified : 
Author :  Prashant Bhardwaj
Last modified by : 
Comments : The functions_js.js file contains various functions related to the web directory project.
******************************************/	

/*****************************
Function name : resetDate
Return type : none
Date created : 10 March 2007
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : This function is used to reset the date of a form
User instruction : resetDate()
************************************/
function resetDate()
{
	document.forms[0].frmDate.value = "From";
	document.forms[0].frmTodate.value = "To";
}

/*****************************
Function name : dateCompare
Return type : boolean
Date created : 19 March 2007
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : This function is used to validate the date compare form and to date.[ From date should be less than to date. ]
User instruction : dateCompare(formname)
************************************/
function dateCompare(formname)
{
	var sliptdate	= document.getElementById(formname).frmTodate.value.split("-");
   	var FromDate  = document.getElementById(formname).frmDate.value.split("-");
	/*********************** From Date *****************/
	var TY = FromDate[0];  //Year
	var TM = FromDate[1];  //Month
	var TD = FromDate[2];  //Date
	/******************* To Date *********************/
	var sY=sliptdate[0];  //Year
	var sM=sliptdate[1];  //Month
	var sD=sliptdate[2];  //Date
			
	if(document.getElementById(formname).frmDate.value != 'From' && document.getElementById(formname).frmTodate.value != 'To')
	{
		if(sY<TY ) 
		{
			alert("'To' date should be greater than 'From' date.");
			return false;	  
		}
		else if(sM==TM && sD<TD && sY==TY) 
		{ 
			alert("'To' date should be greater than 'From' date.");
			return false;
		}
		else if(sM<TM && sY==TY) 
		{ 
			alert("'To' date should be greater than 'From' date.");
			return false;
		}
	}
	
	if(validateForm(formname, 'frmSearchOrderPrice', 'Order Price', 'isNaN'))
	{	
		return true;
	} 
	else 
	{
    	return false;
	} 
	
}

/******************************************
Function name : showSearchBox
Return type : None
Date created : 28 February 2007
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : Function is used to show hide the seacch box
User instruction : showSearchBox(varDocumentID, varShow)
******************************************/
function showSearchBox(varDocumentID, varShow)
{
	if(varShow == 'show')
	{
	 document.getElementById(varDocumentID).style.display = 'block';	
	}
	else
	{
	  document.getElementById(varDocumentID).style.display = 'none';
	}
	
}
/******************************************
Function name : checkUserName
Return type : None
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function is used to login check using ajax.The ajax login check is a combination of functions all are using to check login system.
User instruction : checkUserName()
******************************************/
/* AJAX LOGIN CHECK CODE START FROM HERE */
function checkUserName() 
{
	
	var alphaNum = /^[0-9a-zA-Z_@.]+$/;
	var Usermail = document.getElementById('frm_login').frmAdminUserName.value;
	var charArray = new Array();
	var tString = "";
	for(i = 0; i < Usermail.length; i++) 
	{
		charArray[i] = Usermail.charAt(i);
	}

	for(i = 0; i < charArray.length; i++) 
	{
		if (charArray[i].match(alphaNum))
		{
			tString += charArray[i];
		}
	}	
	
	if (tString != "")
	{
		checkUserEmail(tString);
	}	
}
 
/******************************************
Function name : checkUserEmail
Return type : None
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function is used to email check using ajax. 
User instruction : checkUserEmail(mailID)
******************************************/ 
function checkUserEmail(mailID)
{ 
	doAjax('ajax_act.php','type=signUp&userEmail='+mailID, 'showUserEmail', 'GET');
}

/******************************************
Function name : showUserEmail
Return type : None
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function is used to display username using ajax. 
User instruction : showUserEmail(item)
******************************************/ 
function showUserEmail(item)
{	

  if(item)
	{
		document.getElementById('showUserName').style.display = 'none';
	}
	else
	{
		document.getElementById('showUserName').style.display = 'block';
	}
}

/******************************************
Function name : toggleOption
Return type : None
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function will toggle the select all checkbox option.
User instruction : toggleOption(spanChk)
******************************************/
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)
		{
			if(xState == false)
				elm[i].checked = false;
			else
				elm[i].checked = true;
		}
	}
}

/******************************************
Function name : checkPhone
Return type : boolean
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function will return the true or false according to phone field validation
User instruction : checkPhone(phone)
******************************************/
function checkPhone(phone)
{
	var phoneRequired = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
	if(!phoneRequired.test(phone))
		return false;
	return true;
}

/******************************************
Function name : getMasterString
Return type : boolean
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function will return the main string
User instruction : getMasterString()
******************************************/
function getMasterString()
{
	return "Sorry, we can not complete your request.\nKindly provide us the missing or incorrect information enclosed below.\n";
}

/******************************************
Function name : checkError
Return type : boolean
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function will return the true or false acording to form validation
User instruction : checkError(error)
******************************************/
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 name : askConfirm
Return type : boolean
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function will return the true or false after asking for confirmation
User instruction : askConfirm(type)
******************************************/
function askConfirm(type)
{	
	var sen = "Are you sure you want to "+type+"?";
	if(confirm(sen))
		return true;
	else
		return false;
}

/******************************************
Function name : validator
Return type : boolean
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function will return the true or error message after validating checkboxes
User instruction : validator(btnType)
******************************************/
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 name : validateForm
Return type : boolean
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function will validate the required form
User instruction : validateForm()
******************************************/
function validateForm() 
{ 
	var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;
	j=0;
	//	/^([-a-zA-Z0-9._]+@[-a-zA-Z0-9.]+(\.[-a-zA-Z0-9]+)+)$/;
	var regEmail = /^[0-9a-zA-Z]+(([\.\-_])[0-9a-zA-Z]+)*@[0-9a-zA-Z]+(([\.\-])[0-9a-z-A-Z]+)*\.[a-zA-Z]{2,4}$/;
	var regBlank = /[^\s]/;
	//var regSpace = /[\s]/;
	var regSpace = /^([a-zA-Z0-9_#@!]+)$/;
	//var regAlphaNum = /^([a-zA-Z0-9-/_ :;#!@\n\r.,$*&%?^~`=+(){}\[\]\"\'\\]+)$/;
	var regAlphaNum = /^([a-zA-Z0-9_#@!]+)$/;
	 var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/; 
   var regChar = /^([a-zA-Z]+)$/;
   var regNumeric = /^([0-9]+)$/; 
	// var regDecimal = /^([0-9]+|(\.?)[0-9]+)$/;
	var regDecimal = /^([0-9]+\.?[0-9]+)$/;
	
	//alert (validateForm.arguments[1].name);
	//alert("sss--->"+document.forms[""+args[0]].elements[""+args[0]].value);
	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(test=='BLNK')
			{
			 if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
			 if (val<0) errors+='- '+nm+' must contain a number.\n';
			 }			
			 else if(test=='CHKURL' && val !="")
				{
					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(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';
							//errors+='- '+nm+': Only Alpha Numeric and "_ , . - ! @ # () {} [] " coma,  single cots and Chars Allowed.\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.\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+': Only Alpha Numeric and "_ - ! @ # " Allowed.\n';
						//errors += '- '+nm+' is not valid.\n';
					}
				}
				}
				else if (test.indexOf('isDate')!=-1) 
				{ 
					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<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';
						
					}
					
					/*************************Added by rupesh********************/
					else if (p != 4 || sY.length != 4 || sM.length != 2 || sD.length != 2 )
					{
						errors+='- '+nm+' must contain Valid Date YYYY-MM-DD.\n';
		
					}
					else if(!regDate.test(val))
					{
						errors+='- '+nm+'  must contain Valid Date YYYY-MM-DD.\n';
					}
					else if(sM>12 || sD>31 || sY<2006)
					{
						errors+='- '+nm+'  must contain Valid Date YYYY-MM-DD.\n';
					}
			     }
				 else if (test.indexOf('isBackDate')!=-1) 
				 { 
					p=val.indexOf('-');
			       // alert(test.indexOf('isDate'));
			       	var sliptdate	= val.split("-");
					
					/*******************Added by Gulshan Date is not after 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 Gulshan*********************/
					var sY=sliptdate[0];
					var sM=sliptdate[1];
					var sD=sliptdate[2];
					/*******************Added by Gulshan*********************/
					if(sY>TY ) {
						
						errors+='- '+nm+' should be lesser than current date.\n';
					}
					else if(sM==TM && sD>TD && sY==TY) { 

						errors+='- '+nm+' should be lesser than current date.\n';
						
					}
					else if(sM>TM && sY==TY) 
					{ 
						errors+='- '+nm+' should be lesser than current date.\n';
					}
					
					/*************************Added by rupesh********************/
					else if (p != 4 || sY.length != 4 || sM.length != 2 || sD.length != 2 )
					{
						errors+='- '+nm+' must contain Valid Date YYYY-MM-DD.\n';
		
					}
					else if(!regDate.test(val))
					{
						//alert("pp");
						errors+='- '+nm+'  must contain Valid Date YYYY-MM-DD.\n';
					}
					/*else if(sM>12 || sD>31 || sY<2006)
					{
						alert("ppq2qqqq");
						errors+='- '+nm+'  must contain Valid Date YYYY-MM-DD.\n';
					}*/
			     }
				else if (test.indexOf('isEmail')!=-1) 
				{ 
					p=val.indexOf('@');
					s=val.indexOf('.');
			        if (p<1 || p==(val.length-1))
					{
						errors+='- '+nm+' must contain a valid e-mail Address.\n';
		
					}
					//else if(s<p || s==(val.length-1))
					else if(!regEmail.test(val))
					{
						errors+='- '+nm+' must contain a valid e-mail Address.\n';
					}
			     }
				else if (test.indexOf('isUrl')!=-1) 
				{ 
					val = 'http://'+val;
					p=val.indexOf('http://');
					//p=val.indexOf('www.');
					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('isMp3')!=-1)
				 {
					function reverse(val) 
					{	
						var length = val.length;
						var letters = new Array(length);
						var letters2 = new Array(length);
						var backword = "";
						for (i=0; i<=length-1; i++) 
						{
							letters[i] = val.substring(i, i+1);
						}
						f = 0
						for (j=i-1; j>=0; j--) 
						{
							letters2[f] = letters[j];
							f++;
						}
						for (h=0; h<=letters2.length-1; h++) 
						{
							backword +=letters2[h];
						}
					 	return backword;
					}
					var back = reverse(val);
					var ValExt	= back.split(".");
					var ValExt = reverse(ValExt[0]);
					
					if (ValExt == "mp3" || ValExt == "MP3") 
					{
						flag="yes";
					} 
					else 
					{
						flag="no";						
					} 
					if(flag=="no")
					{
						errors+='- '+nm+' must be (mp3).\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 Policy.\n';
					}
				}
	   			 else if (test!='R' || test=='Numbers') 
				 {
				 result = trim(val);
					if(result.length==0){
						
						if(errors.indexOf('Phone') == -1)
					errors += '- '+nm+' is required.\n'; 
					}
					
				    if (isNaN(val)) 
					{
					 if(errors.indexOf('Phone') == -1)
					 errors+='- '+nm+' must contain a number.\n';
					}
					else
					{
					if(test=='Numbers' && !isNaN(val))
					{
					var i1;
					var num1=0;
						for (i1 = 0; i1 < val.length; i1++)
						{   
							// Check that current2 character is number.
							var c = val.charAt(i1);
							if (((c < "0") || (c > "9"))) num1=1;
						}
						if(num1==1)
						{
							if(errors.indexOf('Phone') == -1)
							errors+='- '+nm+' can only contain numbers.\n';
						}
					}
				 }
					if (test.indexOf('inRange') != -1) 
					{ num = parseFloat(val);
						p=test.indexOf(':');
						min=test.substring(8,p); 
						max=test.substring(p+1);
						
						if (num<min || max<num) 
							if(min==max)
							{
							  if(min==1 && max==1 & num==0)
								{
							errors+='- '+nm+' should  be more than '+min+'.\n';
							    }
								if(min!=1 && max!=1 && min==max)
								{
							errors+='- '+nm+' should not be more than '+min+'.\n';
								}
							}				
							
						else
						{
						errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
						}
					} 
					if (val.indexOf('-') != -1) 
					{ 
						errors='- '+nm+' must contain a number.\n';
					} 
					if (val.indexOf('+') != -1) 
					{ 
						errors='- '+nm+' must contain a number.\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' || test=='Numbers'){
				if(errors.indexOf('Phone') == -1 && test=='Numbers')
				{
				errors += '- '+nm+' is required.\n'; 
				}
				if (test.charAt(0) == 'R')
				{					
				errors += '- '+nm+' is required.\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 name : stripHTML
Return type : string
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : Function will return the main string after removing HTML tags
User instruction : stripHTML(str)
******************************************/
function stripHTML(str){
      var re= /<\S[^><]*>(&nbsp;)*/g ;
      return str.replace(re, "") ;
}
/******************************************
Function name : ltrim
Return type : string
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : Function will return the main string after removing white spaces from the left
User instruction : ltrim(str)
******************************************/
function ltrim(str) { 
	for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);
	return str.substring(k, str.length);
}
/******************************************
Function name : rtrim
Return type : string
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : Function will return the main string after removing white spaces from the right
User instruction : rtrim(str)
******************************************/
function rtrim(str) {
	for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
	return str.substring(0,j+1);
}
/******************************************
Function name : trim
Return type : string
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : Function will return the main string after removing white spaces from the right and left of the main string
User instruction : trim(str)
******************************************/
function trim(str) {
	return ltrim(rtrim(str));
}
/******************************************
Function name : isWhitespace
Return type : integer
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : Function will return the index of white space encounter in the string.
User instruction : isWhitespace(charToCheck)
******************************************/
function isWhitespace(charToCheck) {
	var whitespaceChars = " \t\n\r\f";
	return (whitespaceChars.indexOf(charToCheck) != -1);
}


/*****************************
Function name : deSelectCheckbox
Return type : none
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : This function is used to deselect check box
User instruction : deSelectCheckbox(formname)
************************************/
function deSelectCheckbox(formname)
{
	document.getElementById('Main').checked = false;
}





/*****************************
Function name : checkSearchDate
Return type : none
Date created : 28 february 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : This function is used to put check on serach date.
User instruction : checkSearchDate(obj)
************************************/
function checkSearchDate(obj)
{
	var error = "";
	if((obj.frmFromDate.value > obj.frmToDate.value) && obj.frmFromDate.value!='From' && obj.frmToDate.value!='To' )
	{
		//alert("vineet");die;
		error += "\n- 'To' date will be set after 'From' date.";
	}
	
	if(error != "")
	{
		checkError(error);
		return false;
	}
	else
		return true;
}

/*****************************
Function name : changePageing
Return type : string
Date created : 28 february 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
Comments : This function take to selected page
User instruction : changePageing(argStr)
************************************/
function changePaging(argStr, argPageNum)
{
  var QueryStr = argStr+argPageNum;
  location.href = QueryStr;
}

/******************************************
Function name : getMasterString
Return type : boolean
Date created : 28 February 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : Function will return the main string
User instruction : getMasterString()
******************************************/
function getMasterString()
{
	return "Sorry, we can not complete your request.\nKindly provide us the missing or incorrect information enclosed below.\n";
}
/*****************************
Function name : validateContactUs
Return type : boolean
Date created : 5 Sep 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : This function is used to validate Contact Us form
User instruction : validateContactUs(formname)
************************************/
function validateContactUs(formname)
{
	/*if(validateForm(formname, 'frmName', 'Name', 'R', 'frmEmail', 'E-mail', 'RisEmail', 'frmComments', 'Comments', 'R', 'frmSequirtyCode', 'Verification Code', 'R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	}*/ 
	var i = 0;
	var j = 0;
	
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	var regSpace = /^([a-zA-Z0-9_#@!-]+)$/;
	var regAlphaNum = /^([a-zA-Z0-9_#@]+)$/;
	var regChar = /^([a-zA-Z]+)$/;
	var regNumeric = /^([0-9]+)$/; 
	var MasterString = getMasterString();
	var errorString = '';
	var bolfocus = false;
	var regNumeric = /^([0-9]+)$/; 
	var varElementID;
	var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/;
	
	if(document.getElementById(formname).frmName.value == '' || document.getElementById(formname).frmName.value == 'Name*') 
	{
		errorString += '- Name is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmName';	 
		}
	}
	if(document.getElementById(formname).frmEmail.value == "" || document.getElementById(formname).frmEmail.value == 'Email*') 
	{
		errorString += '- Email is required.\n';	 
		bolfocus = true; 
		varElementID = 'frmEmail';	 
	}
	else if(!regEmail.test(document.getElementById(formname).frmEmail.value))
	{
		errorString += '- Email must contain a valid e-mail Address.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmEmail';	 
		} 
	} 
	
	if(trim(document.getElementById(formname).frmComments.value) == "" || trim(document.getElementById(formname).frmComments.value) == 'Comments*')
	{
		errorString += '- Comments is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmComments';	 
		}
	} 
	if(document.getElementById(formname).frmSequirtyCode.value == "" || document.getElementById(formname).frmSequirtyCode.value == 'Enter Verification Code*')
	{
		errorString += '- Verification Code is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmSequirtyCode';	 
		}
	}
	
	if(errorString == '')
	{
		//document.frmContactUs.submit();
		document.getElementById('frmContactUs').submit();
		return true;  
	}
	else
	{
		alert(MasterString+'\n'+errorString);  
		if(bolfocus)
		{
			//document.getElementById(varElementID).focus();
		}
		return false;
	}
}

/**************************************************************************
Function name : validateSubscriberEmail
Return type : boolean
Date created : 19 March 2009
Date last modified : 
Author : Prashant Kumar
Last modified by : 
Comments : This function is used to show validate subscribers Email .
User instruction : validateSubscriberEmail(formname)
***************************************************************************/
function validateSubscriberEmail(formname)
{	
	var MasterString = getMasterString();	
	var varEmail = document.getElementById('frmSubscriberEmail').value;
	if(varEmail == 'Enter your email address' || varEmail == '')
	{
		var errorMessage = getMasterString()+ '\n - Enter your Email address.';
		alert(errorMessage);  
		return false;
	}
	else
	{
		if(validateForm(formname,'frmSubscriberEmail', 'Email address', 'RisEmail'))
		{	
			document.getElementById('frmNewsLetter').submit();
			//document.frmNewsLetter.submit();
			return true;
		} 
		else 
		{
			return false;
		}
	}
}


/*****************************
Function name : validateInviteFriendForm
Return type : boolean
Date created : 5 Sep 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : This function is used to validate Invite form
User instruction : validateInviteFriendForm(formname)
************************************/
function validateInviteFriendForm(formname)
{
	/*if(validateForm(formname, 'frmName', 'Name', 'R', 'frmEmail', 'E-mail', 'RisEmail', 'frmComments', 'Comments', 'R', 'frmSequirtyCode', 'Verification Code', 'R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	}*/ 
	var i = 0;
	var j = 0;
	
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	var regSpace = /^([a-zA-Z0-9_#@!-]+)$/;
	var regAlphaNum = /^([a-zA-Z0-9_#@]+)$/;
	var regChar = /^([a-zA-Z]+)$/;
	var regNumeric = /^([0-9]+)$/; 
	var MasterString = getMasterString();
	var errorString = '';
	var bolfocus = false;
	var regNumeric = /^([0-9]+)$/; 
	var varElementID;
	var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/;
	
	if(document.getElementById(formname).frmName.value == '' || document.getElementById(formname).frmName.value == 'Name*') 
	{
		errorString += '- Name is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmName';	 
		}
	}
	if(document.getElementById(formname).frmEmail.value == "" || document.getElementById(formname).frmEmail.value == 'Email*') 
	{
		errorString += '- Email is required.\n';	 
		bolfocus = true; 
		varElementID = 'frmEmail';	 
	}
	else if(!regEmail.test(document.getElementById(formname).frmEmail.value))
	{
		errorString += '- Email must contain a valid e-mail Address.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmEmail';	 
		} 
	} 
	
	if(document.getElementById(formname).frmFriendEmail.value == "" || document.getElementById(formname).frmFriendEmail.value == "Friend email*")
	{
		errorString += "- Friend email is required.\n";	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmFriendEmail';	 
		}
	}
	if(document.getElementById(formname).frmFriendEmailSubject.value == "")
	{
		errorString += '- Subject is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmFriendEmailSubject';	 
		}
	}
	
	
	
	if(document.getElementById(formname).frmComments.value == "")
	{
		errorString += '- Comments is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmComments';	 
		}
	}
	if(document.getElementById(formname).frmSequirtyCode.value == "" || document.getElementById(formname).frmSequirtyCode.value == 'Enter Verification Code*')
	{
		errorString += '- Verification Code is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmSequirtyCode';	 
		}
	}
	
	if(errorString == '')
	{
		 //document.frmInvite.submit();
		 document.getElementById('frmInvite').submit();
		return true;  
	}
	else
	{
		alert(MasterString+'\n'+errorString);  
		if(bolfocus)
		{
			//document.getElementById(varElementID).focus();
		}
		return false;
	}
}

/*****************************
Function name : validateAffiliateRegisterForm
Return type : boolean
Date created : 19 March 2009
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : This function is used to validate Invite form
User instruction : validateAffiliateRegisterForm(formname)
************************************/	
function validateAffiliateRegisterForm() 
{        
	var i = 0;
	var j = 0;
	
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	var regSpace = /^([a-zA-Z0-9_#@!-]+)$/;
	var regAlphaNum = /^([a-zA-Z0-9_#@]+)$/;
	var regChar = /^([a-zA-Z]+)$/;
	var regNumeric = /^([0-9]+)$/; 
	var MasterString = getMasterString();
	var errorString = '';
	var bolfocus = false;
	var regNumeric = /^([0-9]+)$/; 
	var varElementID;
	var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/;
	
	var affiliateName = $("#frmAffiliateRegisterName").val();
	var affiliateEmail = $("#frmAffiliateRegisterEmail").val();
	var affiliateContactNumber = $("#frmAffiliateRegisterContact").val();
	var sequirtyCode = $("#frmSequirtyCode").val();
	//alert(affiliateName+"===="+affiliateEmail+"===="+affiliateContactNumber+"===="+sequirtyCode)
	if(affiliateName == '' || affiliateName == 'Name*') 
	{
		errorString += '- Name is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmAffiliateRegisterName';	 
		}
	}
	if(affiliateEmail == "" || affiliateEmail == 'Email*') 
	{
		errorString += '- Email is required.\n';	 
		bolfocus = true; 
		varElementID = 'frmAffiliateRegisterEmail';	 
	}
	else if(!regEmail.test(affiliateEmail))
	{
		errorString += '- Email must contain a valid e-mail Address.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmAffiliateRegisterEmail';	 
		} 
	} 
	
	
	if(sequirtyCode == "" || sequirtyCode == 'Enter Code Here*')
	{
		errorString += '- Verification Code is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmSequirtyCode';	 
		}
	}
	
	if(errorString == '')
	{
		$.ajax({
			type: "GET",
			url: 'affiliate_action.php',
			data: "action=register&name="+affiliateName+"&email="+affiliateEmail+"&contact="+affiliateContactNumber+"&sequrity_code="+sequirtyCode,
			beforeSend: function() 
			{               
				// Add loading code here ...
				$("#processingDiv").html('<img src="common/images/ajax_loader.gif" />');
			},   
		
			success: function(msg1) 
			{                                    
				// Off loader here ...
				$("#processingDiv").html('');
				//alert("====="+msg1+"=========="); // alert(msg) = echo $msg in php
				
				if(msg1 == 'success')
				{
					//alert("IN F");
					$("#frmAffiliateRegisterName").val('Name*');
					$("#frmAffiliateRegisterEmail").val('Email*');
					$("#frmAffiliateRegisterContact").val('Contact Number');
					$("#frmSequirtyCode").val('Enter Code Here*');
					$("#frmDisplayResultDiv").html('<div class="success">Registered successfully.</div>');
				}
				else if(msg1 == 'already')
				{
					//alert("IN ELSE IF");
					$("#frmAffiliateRegisterName").val(affiliateName);
					$("#frmAffiliateRegisterEmail").val(affiliateEmail);
					$("#frmAffiliateRegisterContact").val(affiliateContactNumber);
					$("#frmSequirtyCode").val('Enter Code Here*');
					$("#frmDisplayResultDiv").html('<div style="border: medium none  ! important; float: none; display: block;" class="error">Email already exists!</div>');
				}
				else if(msg1 == 'seq_invalid')
				{
					//alert("IN ELSE ELSE IF");
					$("#frmAffiliateRegisterName").val(affiliateName);
					$("#frmAffiliateRegisterEmail").val(affiliateEmail);
					$("#frmAffiliateRegisterContact").val(affiliateContactNumber);
					$("#frmSequirtyCode").val('Enter Code Here*');
					$("#frmDisplayResultDiv").html('<div style="border: medium none  ! important; float: none; display: block;" class="error">Incorrect verification code.</div>');
				}
				
				//location.href='affiliate.html';
			}
		});
	}
	else
	{
		alert(MasterString+'\n'+errorString);  
		if(bolfocus)
		{
			//document.getElementById(varElementID).focus();
		}
		return false;
	}
}

/*****************************
Function name : validateAffiliateLoginForm
Return type : boolean
Date created : 19 March 2009
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : This function is used to validate Invite form
User instruction : validateAffiliateLoginForm(formname)
************************************/	
function validateAffiliateLoginForm() 
{        
	var i = 0;
	var j = 0;
	
	var regEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var regBlank = /[^\s]/;
	var regSpace = /^([a-zA-Z0-9_#@!-]+)$/;
	var regAlphaNum = /^([a-zA-Z0-9_#@]+)$/;
	var regChar = /^([a-zA-Z]+)$/;
	var regNumeric = /^([0-9]+)$/; 
	var MasterString = getMasterString();
	var errorString = '';
	var bolfocus = false;
	var regNumeric = /^([0-9]+)$/; 
	var varElementID;
	var regDate = /^([0-9_]+-[0-9][0-9]+-[0-9][0-9]+)$/;
	
	var affiliateUserName = $("#frmAffiliateLoginUserName").val();
	var affiliatePasssword = $("#frmAffiliateLoginPassword").val();
	//alert(affiliateUserName+"===="+affiliatePasssword);
	if(affiliateUserName == '' || affiliateUserName == 'User Name') 
	{
		errorString += '- User Name is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmAffiliateLoginUserName';	 
		}
	}
	else if(!regEmail.test(affiliateUserName))
	{
		errorString += '- User Name must contain a valid e-mail Address.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmAffiliateLoginUserName';	 
		} 
	} 
	
	
	if(affiliatePasssword == "" || affiliatePasssword == 'password')
	{
		errorString += '- Password is required.\n';	 
		if(!bolfocus )
		{
			bolfocus = true; 
			varElementID = 'frmAffiliateLoginPassword';	 
		}
	}
	
	if(errorString == '')
	{
		//alert(affiliateUserName+"===="+affiliatePasssword);
		$.ajax({
			type: "GET",
			url: 'affiliate_action.php',
			data: "action=login&user_name="+affiliateUserName+"&password="+affiliatePasssword,
			beforeSend: function() 
			{               
				// Add loading code here ...
				$("#processingLoginDiv").html('<img src="common/images/ajax_loader.gif" />');
			},   
		
			success: function(msg) 
			{                                    
				// Off loader here ...
				$("#processingLoginDiv").html('');
				//alert(msg); // alert(msg) = echo $msg in php
				
				if(msg == 'success')
				{
					/*$("#frmAffiliateLoginUserName").val('User Name');
					$("#frmAffiliateLoginPassword").val('password');
					$("#frmDisplayLoginResultDiv").html('<div class="success">Login successfully.</div>');*/
					location.href='test.html';
				}
				else if(msg == 'login_fail')
				{
					//alert("IN ELSE");
					$("#frmAffiliateLoginUserName").val(affiliateUserName);
					$("#frmAffiliateRegisterEmail").val(affiliatePasssword);
					$("#frmDisplayLoginResultDiv").html('<div style="float: none; display: block; border:#000000 0px solid; width:180px;" class="error">Username/Password Invalid.</div>');
				}
				
				//location.href='affiliate.html';
			}
		});
	}
	else
	{
		alert(MasterString+'\n'+errorString);  
		if(bolfocus)
		{
			//document.getElementById(varElementID).focus();
		}
		return false;
	}
	
	                     
}


