/******************************************
Module name : Js Function file
Parent module : None
Date created : 03 September 2008
Date last modified : 03 September 2008
Author :  Gulshan Verma
Last modified by : Gulshan Verma
Comments : The functions_js.js file contains various functions related to the web directory project.
******************************************/	
/*****************************
Function name : validateAdminForm
Return type : integer
Date created : 20 june 2008
Date last modified : 20 june 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This is used to check admin login authentications.
User instruction : validateAdminForm(charToCheck)
************************************/
function validateAdminLogin(formname)
{
	if(validateForm(formname,'frmAdminUserName','Username','R', 'frmAdminPassword','Password','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}

/*****************************
Function name : checkCapsLock
Return type : none
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to display alert message when caps lock is on.
User instruction : checkCapsLock( e , FieldID) 
************************************/
function checkCapsLock(e , FieldID) 
{
	var myKeyCode=0;
	var myShiftKey=false;
	var myMsg='Caps Lock is ON.\n\nTo prevent entering your password incorrectly,\nYou should press Caps Lock to turn it OFF.';

	// Internet Explorer 4+
	if ( document.all ) {
		myKeyCode=e.keyCode;
		myShiftKey=e.shiftKey;

	// Netscape 4
	} else if ( document.layers ) {
		myKeyCode=e.which;
		myShiftKey=( myKeyCode == 16 ) ? true : false;

	// Netscape 6
	} else if ( document.getElementById ) {
		myKeyCode=e.which;
		myShiftKey=( myKeyCode == 16 ) ? true : false;

	}
	
	if(document.getElementById(FieldID).value.length==0) {

		// Upper case letters are seen without depressing the Shift key, therefore Caps Lock is on
		if ( ( myKeyCode >= 65 && myKeyCode <= 90 ) && !myShiftKey ) {
			alert( myMsg );
			//return;
	
		// Lower case letters are seen while depressing the Shift key, therefore Caps Lock is on
		} else if ( ( myKeyCode >= 97 && myKeyCode <= 122 ) && myShiftKey ) {
			alert( myMsg );
		//	return;
		}
		return false;
	}
}


/******************************************
Function name : showSearchBox
Return type : None
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function is used to show hide the seacch box
User instruction : showSearchBox()
******************************************/
function showSearchBox(varDocumentID, varShow)
{
	if(varShow == 'show')
	{
	 document.getElementById(varDocumentID).style.display = 'block';	
	}
	else
	{
	  document.getElementById(varDocumentID).style.display = 'none';
	}
	
}
function changeBannerSize(varPosition)
{
	if(varPosition=='Top' || varPosition=='Bottom')
	{
		document.getElementById('BannerSize').innerHTML = '(Max banner size = 692 x 134)';
	}
	if(varPosition=='Left' || varPosition=='Right')
	{
		document.getElementById('BannerSize').innerHTML = '(Max banner size = 194 x 534)';
	}
}
/*****************************
Function name : changeAdminBannerSize
Return type : no
Date created : 03  September 2008
Date last modified : 
Author : Gulshan Verma
Last modified by :Gulshan Verma
Comments : This function is used to check banner size.
User instruction : changeAdminBannerSize(formname)
************************************/
function changeAdminBannerSize(varPosition)
{
	if(varPosition=='Top' || varPosition=='Bottom')
	{
		
		document.getElementById('meMsgID').style.display = 'none';
		document.getElementById('BannerSize').innerHTML = '(Max banner size = 692 x 134 px.)';
	}
	if(varPosition=='Left' || varPosition=='Right')
	{
		document.getElementById('meMsgID').style.display = 'none';	
		document.getElementById('BannerSize').innerHTML = '(Max banner size = 194 x 534 px.)';
	}
}
/******************************************
Function name : checkUserName
Return type : None
Date created : 17th October 2007
Date last modified : 17th October 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 checkUserEmail(mailID)
{ 
	
	doAjax('ajax_act.php','type=signUp&userEmail='+mailID,'showUserEmail','GET');
}

function showUserEmail(item)
{
		
	if(item)
	{
			
		document.getElementById('showUserName').style.display = 'none';	
	}
	else
	{
		document.getElementById('showUserName').style.display = 'inline';
	}

}
function checkUserPass() 
{
	var alphaNum = /^[0-9a-zA-Z_@.]+$/;	
	var UserName = document.getElementById('frm_login').frmAdminUserName.value;
	var UserPass = document.getElementById('frm_login').frmAdminPassword.value;
	var charArray = new Array();
	var tString = "";
	for(i = 0; i < UserPass.length; i++) 
	{
		charArray[i] = UserPass.charAt(i);
	}

	for(i = 0; i < charArray.length; i++) 
	{
		if (charArray[i].match(alphaNum))
		{
			tString += charArray[i];
		}
	}	
	
	if (tString != "")
	{
		
		checkPass(tString , UserName );
	}	
}

function checkPass(pass , UserName)
{ 
	doAjax('ajax_act.php','type=signUpPass&userPass='+pass+'&userName='+UserName,'showUserPass','GET');
}

function showUserPass(item)
{
	
	if(item)
	{
		document.getElementById('showUserPass').style.display = 'none';	
	}
	else
	{
		document.getElementById('showUserPass').style.display = 'inline';
	}
	

}
/* END OF AJAX LOGIN CHECK CODE */


/*****************************
Function name : full_image
Return type : string
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function take to selected page
User instruction : full_image(argStr)
************************************/
function full_image(path,w,h)
{
//	alert(path + w + h);
	window.open (path,"imageviewer","width="+w+",height="+h); 
}

/*****************************
Function name : changePageing
Return type : string
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function take to selected page
User instruction : changePageing(argStr)
************************************/
function changePaging(argStr, argPageNum)
{
  var QueryStr = argStr+''+argPageNum;
  location.href = QueryStr;
}

/******************************************
Function name : SetChecked
Return type : None
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to select all the check boxes
User instruction : toggleOption(1, check_all, frmName)
/* Check all function */
function SetChecked(val, formname) 
{
	dml=document.forms[formname];
	len = dml.elements.length;
	var i=0;
	for( i=0 ; i<len ; i++) 
	{
		if (dml.elements[i].type=='checkbox') 
		{
			dml.elements[i].checked=val;
		}
	}
}

/******************************************
Function name : toggleOption
Return type : None
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : checkEmail
Return type : boolean
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will return the true or false according to email field validation
User instruction : checkEmail(address)
******************************************/
function checkEmail(address)
{
	if ((address == "") || (address.indexOf ('@') == -1) || (address.indexOf ('.') == -1))
		return false;
	return true;
}

/******************************************
Function name : getMasterString
Return type : boolean
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : validator
Return type : boolean
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will return the true or error message after validating checkboxes
User instruction : validator(btnType)
******************************************/

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 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,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.disabled) 
		{	
			
			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.\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+' must contain an e-mail Address.\n';
		
					}
					else if(!regEmail.test(val))
					{
						errors+='- '+nm+' must contain a valid e-mail Address.\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 Policy.\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 sM=sliptdate[0];
					var sD=sliptdate[1];
					var sY=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 name : checkImageExt
Return type : boolean
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function chekc the image extension and return true or fasle depending on the condition.
User instruction : checkImageExt(val)
******************************************/
function checkImageExt(val)
{
var isOK = false;

var lent =  document.frmAddProductImage.elements.length;

with (val)
  { 
	for (var i = 0; i < lent ; i++)
    { 
	
      if ((document.frmAddProductImage.elements[i].type == "file") )
      { isOK = true;
	   	var imagePath = document.frmAddProductImage.elements[i].value;
		ext=imagePath;
		ext = ext.substring(ext.length-3,ext.length);
		ext = ext.toLowerCase();		
		//var imageExt = imagePath.split('.');	
		if(imagePath!='')
		  {
			if (ext == 'jpeg' || ext == 'gif' || ext == 'png' || ext == 'jpg' || ext == 'bmp' || ext == 'undefined')      
			{
			  isOK = true;
			 
			} 
			else
			{
				isOK = false;
			}
		
	   } }
	} 
 }
 
  if (!(isOK)) 
  { 
  	alert("Please select image!"); 
	return false; 
  }
}
/******************************************
Function name : stripHTML
Return type : string
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma

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 : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
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 : validateAdminForm
Return type : integer
Date created : 2nd Jan 2008
Date last modified : 2nd Jan 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This is used to check admin login authentications.
User instruction : validateAdminForm(charToCheck)
************************************/
function validateAdminForm(formname)
{
	if(validateForm(formname,'frmAdminUserName','Username','RisEmail', 'frmAdminPassword','Password','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
	
}

/*****************************
Function name : validAdminChangePass
Return type : integer
Date created : 24th October 2007
Date last modified : 24th October 2007
Author : Charanjeet Singh
Last modified by : Charanjeet Singh
Comments : This is used to validate admin password and confirm passwords.
User instruction : validAdminChangePass(charToCheck)
************************************/
function validAdminChangePass(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 name : validateEmailID
Return type : integer
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate admin notification email id.
User instruction : validateEmailID(charToCheck)
************************************/
function validateEmailID(formname)
{
	if(validateForm(formname,'frmAdminEmail','Admin E-mail','RisEmail'))
	{	
		
		return true;
	} 
	else 
	{
		return false;
	} 
	
}

/*****************************
Function name : validLogin
Return type : integer
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate username and password.
User instruction : validLogin(charToCheck)
************************************/
function validLogin(formname)
{
	if(validateForm(formname,'frmEmail','Email','RisEmail', 'frmPassword','Password','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
	
}


/*****************************
Function name : validLogin
Return type : integer
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate check_all function.
User instruction : validLogin(charToCheck)
************************************/
function  validAction(value, formname, fileName)
{
	
	if(fileName=='users')
	{		
		if(value == 'Delete')
		{
			value = "delete selected user(s) ";		
		}
		else
		{
			value = "change status of selected user(s) ";
		}
		var flag = validator(value,formname);			
		if(flag)
		{
			formname.submit();
		}
		else
		{
			formname.frmChangeAction.value='';	
				
			elm=document.forms[1].elements;
			for(i=0;i<elm.length;i++)
			{
				if(elm[i].type=="checkbox")
				{			
					elm[i].checked = false;
				
				}
			}
			
			return false;
			
		}
	}
/*  TO offer */
if(fileName=='offers')
	{		
		if(value == 'Delete')
		{
			value = "delete selected offer(s) ";		
		}
		else
		{
			value = "change status of selected offer(s) ";
		}
		var flag = validator(value,formname);			
		if(flag)
		{
			formname.submit();
		}
		else
		{
			formname.frmChangeAction.value='';	
				
			elm=document.forms[1].elements;
			for(i=0;i<elm.length;i++)
			{
				if(elm[i].type=="checkbox")
				{			
					elm[i].checked = false;
				
				}
			}
			
			return false;
			
		}
	}
	
/*  TO application */
if(fileName=='application')
	{		
		if(value == 'Delete')
		{
			value = "delete selected application(s) ";		
		}
		else
		{
			value = "change status of selected application(s) ";
		}
		var flag = validator(value,formname);			
		if(flag)
		{
			formname.submit();
		}
		else
		{
			formname.frmChangeAction.value='';	
				
			elm=document.forms[1].elements;
			for(i=0;i<elm.length;i++)
			{
				if(elm[i].type=="checkbox")
				{			
					elm[i].checked = false;
				
				}
			}
			
			return false;
			
		}
	}
	/*  TO communications */
if(fileName=='message')
	{		
		if(value == 'Delete')
		{
			value = "delete selected message(s) ";		
		}
		else
		{
			value = "change status of selected message(s) ";
		}
		var flag = validator(value,formname);			
		if(flag)
		{
			formname.submit();
		}
		else
		{
			formname.frmChangeAction.value='';	
				
			elm=document.forms[1].elements;
			for(i=0;i<elm.length;i++)
			{
				if(elm[i].type=="checkbox")
				{			
					elm[i].checked = false;
				
				}
			}
			
			return false;
		}
	}
	
	if(fileName=='rating')
	{		
		if(value == 'Delete')
		{
			value = "delete selected rating(s) ";		
		}
		var flag = validator(value,formname);			
		if(flag)
		{
			formname.submit();
		}
		else
		{
			formname.frmChangeAction.value='';	
				
			elm=document.forms[1].elements;
			for(i=0;i<elm.length;i++)
			{
				if(elm[i].type=="checkbox")
				{			
					elm[i].checked = false;
				
				}
			}
			
			return false;
		}
	}

}// End of the validAction Function

/*****************************
Function name : validateLoginForm
Return type : none
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate forgot password form.
User instruction : validateLoginForm(charToCheck)
************************************/
function validateLoginForm(formname)
{
	if(validateForm(formname,'frmUserName','Username','RisEmail','frmUserPassword','Password','R','frmSecurityCode','Verification code','R'))
	{	
		
		return true;
	} 
	else 
	{
			
		return false;
	} 
}

/*****************************
Function name : validateSettings
Return type : boolean
Date created : 22nd October 2007
Date last modified : 22nd October 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate admin setting form
User instruction : submitForm(formname)
************************************/
function validateSettings(formname)
{
	 if(validateForm(formname,'frmAdminEmail','Admin Email','RisEmail','frmFeaturedListing','Featured Listing','R','frmPremiumListing','Premium Listing','R', 'frmRegularList', 'Regular Listing', 'R'))
	{	
		
		return true;
	} 
	else 
	{
			
		return false;
	} 
}

/*****************************
Function name : validCustomizationForm
Return type : boolean
Date created : 26th December 2007
Date last modified : 26th December 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate Bolling form
User instruction : validBillingForm(formname)
************************************/
function validCustomizationForm(formname)
{
	if(document.getElementById('frmConversion').checked)
	{
		if(validateForm(formname,'frmName','Name','R','frmEmail','E-mail','RisEmail',  'frmPhone','Phone','RPhone','frmAddress','Address','R','frmConversionComments','Comments','R','frmUserIsAgreeTerm','','RisCheckbox'))
		{	
			return true;
		} 
		else 
		{
			return false;
		} 
	}
	if(document.getElementById('frmChangeType').checked)
	{
		if(validateForm(formname,'frmName','Name','R','frmEmail','E-mail','RisEmail',  'frmPhone','Phone','RPhone','frmAddress','Address','R','frmDesignComments','Comments','R','frmUserIsAgreeTerm','','RisCheckbox'))
		{	
			return true;
		} 
		else 
		{
			return false;
		} 
	}
		
}







/*****************************
Function name : searchTemplateByPrice
Return type : boolean
Date created : 22nd October 2007
Date last modified : 22nd October 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate template search by price in template listing.
User instruction : searchTemplateByPrice(fieldID)
************************************/
function searchTemplateFree(fieldID)
{
	document.getElementById('frmPriceFrom').disabled = true;
	document.getElementById('frmPriceTo').disabled = true;
}
function searchTemplateByPrice(fieldID)
{	
	document.getElementById('frmPriceFrom').disabled = false;
	document.getElementById('frmPriceTo').disabled = false;
}

/*****************************
Function name : validateAdminEmailChange
Return type : boolean
Date created : 22nd October 2007
Date last modified : 22nd October 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate email of admin.
User instruction : validateAdminEmailChange(formname)
************************************/

function validateAdminEmailChange(formname)
{
	if(validateForm(document.getElementById(formname).id,'frmAdminEmail', 'Email','RisEmail'))
	{			
			var flag=confirm('Are you sure you want to change Admin E-mail?')
			if(flag)
			return true;
			else
			return false;		
		
	} 
	else 
	{
		return false;
	} 
}
/******************************************
Function name : toggleOption
Return type : None
Date created : 5th June 2007
Date last modified : 5th June 2007
Author : vivek Avasthi
Last modified by : vivek Avasthi
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 && elm[i].id!='frmFormStatus')
		{
			if(xState == false)
			{
				elm[i].checked = false;
			}
			else
			{
				elm[i].checked = true;
			}
		}
	}
}

function deSelectCheckbox(formname)
{
	document.getElementById('Main').checked = false;
}

/******************************************
Function name : setvalidAction
Return type : boolean
Date created : 19th November 2007
Date last modified : 19th November 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma 
Comments : Function will ask for confirmation of updating records
User instruction : setValidAction(value, formname,listname)
******************************************/
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 == 'Enquiry(s)' || listname == 'Order(s)' || listname == 'Template(s)' || listname == 'User(s)' || listname == 'Category(s)' || listname == 'Products(s)' || listname == 'Offer(s)' || listname == 'Blog(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;
	}
}
/******************************************
Function name : Increment Count of clicks on TAG
Return type : boolean
Date created : 28th September 2007
Date last modified : 28th September 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will call the ajax function.
******************************************/

function incrementCount(varField)
{
	doAjax('rmi.php','TagID='+varField, 'giveFieldDetails','post');
}

function giveFieldDetails(showDetails)
{
	document.getElementById('incremented').innerHTML = showDetails;
	
}

/******************************************
Function name : Increment Count of clicks on Template
Return type : boolean
Date created : 28th September 2007
Date last modified : 28th September 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will call the ajax function.
******************************************/

function incrementTemplateCount(varField)
{
	doAjax('rmi.php','TemplateID='+varField, 'giveTemplateFieldDetails','post');
}

function giveTemplateFieldDetails(showDetails)
{
	document.getElementById('incrementedTemplate').innerHTML = showDetails;
	
}

/******************************************
Function name : incrementBannerViewCount
Return type : boolean
Date created : 28th September 2007
Date last modified : 28th September 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will call the ajax function.
******************************************/

function incrementBannerViewCount(varField)
{
	doAjax('rmi.php','BannerID='+varField, '','post');
}

/******************************************
Function name : Get Template name on basis of its type.
Return type : boolean
Date created : 28th September 2007
Date last modified : 28th September 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will call the ajax function.
******************************************/

function getTemplateName(varField)
{
	doAjax('ajax_act.php','TemplateType='+varField, 'giveTemplateNameDetails','post');
}

function giveTemplateNameDetails(showDetails)
{
	document.getElementById('TemplateName').innerHTML = showDetails;
	
}
/******************************************
Function name : getTemplatePrice
Return type : boolean
Date created : 28th September 2007
Date last modified : 28th September 2007
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will call the ajax function.
******************************************/

function getTemplatePrice(varField)
{
	alert(varField);
	doAjax('rmi.php','TemplateType='+varField, 'giveTemplatePriceDetails','post');
}

function giveTemplatePriceDetails(showDetails)
{
	document.getElementById('TemplatePrice').innerHTML = showDetails;
	
}
/*****************************
Function name : changePaymentStatus
Return type : integer
Date created : 22th Aprail 2008
Date last modified : 22th Aprail 2008
Author : Vineet Kumar
Last modified by : Vineet Kumar
Comments : This function is used to validate the User.
User instruction : validateUser(formname)
************************************/
function changePaymentStatus(payment,recordID)
 {
   
   if(payment == "Paid")
   {
	var flag=confirm('Are you sure you want to change payment status?')
	 if(flag) 
	  {
	    
		document.forms[1].action='order_action.php?RecordID='+recordID;
		document.forms[1].submit();
	    return true;  
	  }
	 else
	  {
		var PaymentStatus = 'frmPaymentStatus'+recordID;
      
		document.getElementById(PaymentStatus).value='Unpaid';
	  
		return false;    
      }
	}
  }
function PaymentStatus(showDetails)
{
	var str = showDetails;
	arr = str.split(",");
	if(arr[1]=='Paid')
	{
		document.getElementById('PaymentStatus'+arr[0]).innerHTML = arr[1];
		window.location.reload();		
	}
}
/*****************************
Function name : changeOrderStatus
Return type : integer
Date created : 22th Aprail 2008
Date last modified : 22th Aprail 2008
Author : Vineet Kumar
Last modified by : Vineet Kumar
Comments : This function is used to validate the User.
User instruction : validateUser(formname)
************************************/
function changeOrderStatus(OrderStatus,recordID)
{
	
  if(OrderStatus != "Pending")
   {
	 var flag=confirm('Are you sure you want to change order status?')
	 if(flag) 
	  {
	    
		document.forms[1].action='order_action.php?OrderStatus='+OrderStatus+'&RecordID='+recordID;
		document.forms[1].submit();
	    return true;  
	  }
	 else
	  {
		var OrderStatus = 'frmOrderStatus'+recordID;
		
		document.getElementById(OrderStatus).value='Pending';
	    return false;    
      }
	}
  }
function OrderStatus(showDetails)
{
	var str = showDetails;
	arr = str.split(",");
	document.getElementById('OrderStatus'+arr[0]).innerHTML = arr[1];
	window.location.reload();
}
/******************************************
Function name : showPriceField
Return type : boolean
Date created : 7th jan 2008
Date last modified : 7th jan 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will call the ajax function.
******************************************/
function showPriceField(FieldValue)
{
	if(FieldValue=='')
	{
		document.getElementById('frmPrice').disabled=true;
	}
	else
	{
		document.getElementById('frmPrice').disabled=false;
	}
	
}
/******************************************
Function name : validateTemplateSearch
Return type : boolean
Date created : 7th jan 2008
Date last modified : 7th jan 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will validate the Template search.
******************************************/
function validateTemplateSearch(formname)
{
	if(validateForm(formname,'frmPriceFrom','Price Range From ','isNan','frmPriceTo','Price Range To','isNan'))
	{	
		return true;
	} 
	else 
	{
			
		return false;
	} 
		
}
/******************************************
Function name : validFrontSearch
Return type : boolean
Date created : 7th jan 2008
Date last modified : 7th jan 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will validate the Frontend search.
******************************************/
function validFrontSearch(formname)
{
	
	if(validateForm(formname,'frmPriceFrom','Price Range From','isNan','frmPriceTo','Price Range To','isNan'))
	{	
		if(document.getElementById('frmPriceTo').value < document.getElementById('frmPriceFrom').value)
		{
			alert('Price Range To must be greater than Price Range From.');
			return false;
		}
		else
		{
			return true;
		}
	} 
	else 
	{
			
		return false;
	} 
		
}
/******************************************
Function name : validateOrderSearch
Return type : boolean
Date created : 7th jan 2008
Date last modified : 7th jan 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will validate the order search.
******************************************/
function validateOrderSearch(formname)
{
	if(document.getElementById('frmOperator').value!='')
	{
		if(validateForm(formname,'frmPrice','Order Price','RisNan'))
		{	
			return true;
		} 
		else 
		{
				
			return false;
		} 
	}
}
/*****************************
Function name : validateChangePassword
Return type : boolean
Date created : 28 february 2008
Date last modified : 
Author : Gulshan Verma
Last modified by :
Comments : This is used to validate admin password and confirm passwords.
User instruction : validateChangePassword(formname)
************************************/
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 name : validateEmailChange
Return type : boolean
Date created : 28 february 2008
Date last modified : 
Author : Gulshan Verma
Last modified by :
Comments : This function is used to validate admin notification email id.
User instruction : validateEmailChange(formname)
************************************/
function validateEmailChange(formname)
{
	if(validateForm(document.getElementById(formname).id,'frmAdminEmail', 'E-mail','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 name : validateAdminForgotPassword
Return type : none
Date created : 28 February 2008
Date last modified : 
Author : Gulshan Verma
Last modified by :
Comments : This function is used to validate forgot password form.
User instruction : validateAdminForgotPassword(formname)
************************************/
function validateForgotPassword(formname)
{
	if(validateForm(formname,'frmUserName','Username (E-mail) ','RisEmail','frmSecurityCode','Verification code','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}

/*****************************
Function name : dateCompare
Return type : boolean
Date created : 19 March 2007
Date last modified : 
Author : Gulshan Verma
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 TM = FromDate[0];  //Month
	var TD = FromDate[1];  //Date
    var TY = FromDate[2];   //Year
	/******************* To Date *********************/

	var sM=sliptdate[0];  //Month
	var sD=sliptdate[1];  //Date
	var sY=sliptdate[2];  //Year		
	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 : validateUser
Return type : none
Date created : 03 September 2008
Date last modified :03 September 2008
Author :Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate the Domain form
User instruction :  validateUser(formname)
************************************/

function validateUser(formname)
{
	if(document.getElementById(formname).frmPasswordIsSet.value == 'No' && document.getElementById(formname).frmConPasswordIsSet.value == 'No')
	{
		if(validateForm(formname, 'frmUserFirstName', 'First Name', 'R', 'frmUserLastName', 'Last Name', 'R', 'frmUserUserName', 'Username', 'RisEmail', 'frmUserPassword', 'Password', 'RisSpace', 'frmUserConfirmPassword', 'Confirm Password', 'RisEqualfrmUserPassword:Password', 'frmUserCountry', 'Country', 'R', 'frmUserState', 'State', 'R', 'frmUserCity', 'City', 'R', 'frmUserZipcode', 'Zipcode', 'isNum', 'frmUserPhone', 'Phone', 'R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}
	}
	else
	{
		if(document.getElementById(formname).frmPasswordIsSet.value == 'Yes' && document.getElementById(formname).frmConPasswordIsSet.value == 'Yes')
		{
			if(validateForm(formname, 'frmUserFirstName', 'First Name', 'R', 'frmUserLastName', 'Last Name', 'R', 'frmUserUserName', 'Username', 'RisEmail', 'frmUserCountry', 'Country', 'R', 'frmUserState', 'State', 'R', 'frmUserCity', 'City', 'R', 'frmUserZipcode', 'Zipcode', 'isNum', 'frmUserPhone', 'Phone', 'R'))
			{  
				return true;
			} 
			else 
			{
				return false;
			}
		}		
	}
}
/*****************************
Function name : validateCMSForm
Return type : bollean
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate the CMS form.
User instruction : validateCMSForm(formname)
************************************/
function validateCMSForm(formname)
{
	if(validateForm(formname,'frmPageTitle','Page Title','R','frmPageKeywords','Meta Keywords','R','frmPageDescription','Meta Description','R',   'frmViewOneDescription', 'View One Description', 'R', 'frmViewOnePostedBy', 'View One Posted By', 'R', 'frmViewTwoDescription', 'View Two Description', 'R', 'frmViewTwoPostedBy', 'View Two Posted By', 'R',  'frmViewThreeDescription', 'View Three Description', 'R', 'frmViewThreePostedBy', 'View Three Posted By', 'R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}
/**************************************************************************
Function name : validateBlogForm
Return type : boolean
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to show validate blog form..
User instruction : validateBlogForm(formname)
***************************************************************************/
function validateBlogForm(formname)
{
	
	if(validateForm(formname,'frmBlogTitle','Title','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}
/**************************************************************************
Function name : validateBlogForm
Return type : boolean
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to show validate blog form..
User instruction : validateBlogForm(formname)
***************************************************************************/
function validateBlogCommentForm(formname)
{
	
	if(validateForm(formname,'frmBlogID','Blog','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}
/*****************************
Function name : changePaymentStatus
Return type : integer
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate the User.
User instruction : validateUser(formname)
************************************/
function changePaymentStatus(payment,recordID)
 {
   
   if(payment == "Paid")
   {
	var flag=confirm('Are you sure you want to change payment status?')
	 if(flag) 
	  {
	    
		document.forms[1].action='order_action.php?RecordID='+recordID;
		document.forms[1].submit();
	    return true;  
	  }
	 else
	  {
		var PaymentStatus = 'frmPaymentStatus'+recordID;
      
		document.getElementById(PaymentStatus).value='Unpaid';
	  
		return false;    
      }
	}
  }

/*****************************
Function name : changeOrderStatus
Return type : integer
Date created : 03 September 2008
Date last modified : 03 September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate the User.
User instruction : validateUser(formname)
************************************/
function changeOrderStatus(OrderStatus,recordID)
{
	
  if(OrderStatus != "Pending")
   {
	 var flag=confirm('Are you sure you want to change order status?')
	 if(flag) 
	  {
	    
		document.forms[1].action='order_action.php?OrderStatus='+OrderStatus+'&RecordID='+recordID;
		document.forms[1].submit();
	    return true;  
	  }
	 else
	  {
		var OrderStatus = 'frmOrderStatus'+recordID;
		
		document.getElementById(OrderStatus).value='Pending';
	    return false;    
      }
	}
  }
  /**********************************COMMMOM ADMIN FUNCTION IS NEEDED FOR THE ADMIN LOGIN & LOGOUT & SETTINMG OF THE ADMIN ****************/
/*****************************
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 : 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 resetStartDate()
{
 document.forms[0].frmAddDate.value = "From";
 document.forms[0].frmAddTodate.value = "To";
}

/*****************************
Function name : validateCourse
Return type :boolean
Date created : 15th october 2008
Date last modified :15th october 2008
Author :Twarita Sharma
Last modified by : Twarita Sharma
Comments : This function is used to validate the Domain form
User instruction :  validateUser(formname)
************************************/
function validateEditCourse(formname)
{
   if(validateForm(formname, 'frmCourseName','Name','R','frmCourseDescription', 'Description', 'R', 'frmCourseObjective', 'Objective', 'R', 'frmCourseFee', 'Fee', 'RisDecimal', 'frmCourseDuration', 'Duration', 'RisDecimal'))
  {  
	 return true;
  } 
  else 
  {
			return false;
  }
}


function validateCourse(formname)
{
   if(validateForm(formname, 'frmCourseName','Name','R','frmCourseDescription', 'Description', 'R', 'frmCourseObjective', 'Objective', 'R', 'frmCourseFee', 'Fee', 'RisDecimal', 'frmCourseDuration', 'Duration', 'RisDecimal','frmImageFile_1',
'Upload Course','R'))
  {  
	 return true;
  } 
  else 
  {
			return false;
  }
}

function NewsletterReciever(value)
{
	if(value == 'AllCourses')
	{
		document.getElementById('frmCourseID[]').disabled=true;
	}
	if(value=='Course')
	{
		document.getElementById('frmCourseID[]').disabled=false;
	}
}
/*****************************
Function name : validatePromotionalOffer
Return type : integer
Date created : 28 April 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : This is used to check Offer form.
User instruction : validatePromotionalOffer(charToCheck)
************************************/
function validatePromotionalOffer(formname)
{
	if(validateForm(formname,'frmCourseID[]','To','R','frmOfferTitle','Offer Title','R', 'frmDate', 'Offer Start Date', 'RisDate', 'frmTodate', 'Offer Expiry Date', 'R', 'frmOfferDiscount', 'Offer Discount', 'RisDecimal'))
	{	
		
		   var sliptdate	= document.getElementById(formname).frmTodate.value.split("-");
		   var FromDate  = document.getElementById(formname).frmDate.value.split("-");
			
		 
			/*********************** From Date *****************/
			
			var TM = FromDate[0];  //Month
			var TD = FromDate[1];  //Date
			var TY = FromDate[2];  //Year
			/******************* To Date *********************/
			
			var sM=sliptdate[0];  //Month
			var sD=sliptdate[1];  //Date
			var sY=sliptdate[2];  //Year
			/*******************Added by rupesh*********************/
			//alert(TM);
		
			if(sY<TY ) 
			{
				
				alert("'Expiry' date should be greater than 'Start' date.");
				return false;	  
			}
			else if(sM==TM && sD<TD && sY==TY) 
			{ 

				alert("'Expiry' date should be greater than 'Start' date.");
				return false;
				
			}
		   else if(sM<TM && sY==TY) 
		    { 
                alert("'Expiry' date should be greater than 'Start' date.");
				return false;
			}
			if(document.getElementById('frmDiscountTypes').checked)
			{
				var offerDiscount = document.getElementById('frmOfferDiscounts').value;
				if(offerDiscount>100)
				{
					alert('Coupan discount should not greater than 100.');
					return false;
				}
			}
	       return true;
	} 
	else 
	{
		return false;
	} 
}
/**************************************************/
function makeDelieverd(oID)
{
	var flag = confirm('Are you sure you want to deliver this ?');
	if(flag)
	{
		
		location.href='order_action.php?oid='+oID;
	}
	else
	{
		return false;
	}
}

//CODE ADDDED FOR MULTPLE UPLOAD FUNCTIONALITY
//*** function for add - remove file upload box 
//*** message for file upload box add
function addMorePackage()
{	
	
	if(document.getElementById("frmImageCount").value)
	{
		
		var appNav = navigator.appName;
		var cnt = document.getElementById("frmImageCount").value;
		
		var sub_package_block = document.getElementById("sub_package_block").innerHTML;
		var main_package_block = document.getElementById("main_package_block");
		document.getElementById("frmImageCount").value = parseInt(document.getElementById("frmImageCount").value) + 1;
		var oDiv=document.createElement("DIV");
		oDiv.id = "sub_package_group"+document.getElementById("frmImageCount").value;
		
		if(appNav == "Microsoft Internet Explorer")
		{
			var frmContent = document.getElementById("main_package_block").childNodes[0].innerHTML;
		}
		else
		{
			var frmContent = document.getElementById("main_package_block").childNodes[1].innerHTML;
		}
		
		var re = /AUTONUM/g;
		var frmContent1 = frmContent.replace(re,document.getElementById("frmImageCount").value);
		oDiv.innerHTML = frmContent1;
		
		document.getElementById("main_package_block").appendChild(oDiv);
		var delB = document.getElementById("delButton_"+document.getElementById("frmImageCount").value);		
		if(cnt == '0')
		{ 
		  delB.style.display = 'none';		
		}
	   else
	   {
		  delB.style.display = 'inline';	
	   }
	}
}

//*** function for remove file upload box 
function removeThisPackage(num)
{
	var rmDiv = "sub_package_group"+num;
	document.getElementById("main_package_block").removeChild(document.getElementById(rmDiv));	
	//document.getElementById("frmImageCount").value = parseInt(document.getElementById("frmImageCount").value);
}
function removeCourse(divID)
{
	document.getElementById(divID).innerHTML = '';
    //document.getElementById('editCount').value= document.getElementById('editCount').value-1;
}


/*****************************
Function name : dateCompare
Return type : boolean
Date created : 15 March
Date last modified : 29th October 2007
Author : Vineet Kumar
Last modified by : Vineet Kumar
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 offerDateCompare(formname)
{
	
		   var sliptdate	= document.getElementById(formname).frmTodate.value.split("-");
		   var FromDate  = document.getElementById(formname).frmDate.value.split("-");
			
		  if(document.getElementById(formname).frmTodate.value)
		   {
			/*********************** From Date *****************/
			
				var TM = FromDate[0];  //Month
				var TD = FromDate[1];  //Date
				var TY = FromDate[2];   //Year
			/******************* To Date *********************/
		
				var sM=sliptdate[0];  //Month
				var sD=sliptdate[1];  //Date
				var sY=sliptdate[2];  //Year		
			
			/*******************Added by rupesh*********************/
			//alert(TM);
		
				if(sY<TY ) 
				{
					
					alert("'Expiry To' date should be greater than ' Expiry From' date.");
					return false;	  
				}
				else if(sM==TM && sD<TD && sY==TY) { 
	
					alert("'Expiry To' date should be greater than ' Expiry From' date.");
					return false;
					
				}
				else if(sM<TM && sY==TY) { 
				   alert("'Expiry To' date should be greater than ' Expiry From' date.");
					return false;
				}
		  }
   
   
        
		   var sliptdate1 = document.getElementById(formname).frmAddTodate.value.split("-");
		   var FromDate1  = document.getElementById(formname).frmAddDate.value.split("-");
			
		   if(document.getElementById(formname).frmAddTodate.value)
		    {
				/*********************** From Date *****************/
				var TM = FromDate[0];  //Month
				var TD = FromDate[1];  //Date
				var TY = FromDate[2];   //Year
				/******************* To Date *********************/
				
				var sM=sliptdate[0];  //Month
				var sD=sliptdate[1];  //Date
				var sY=sliptdate[2];  //Year		

		       /*******************Added by rupesh*********************/
				//alert(TM);
			
					if(sY<TY ) 
					{
						
						alert("'Start To' date should be greater than 'Start From' date.");
						return false;	  
					}
					else if(sM==TM && sD<TD && sY==TY) 
					{ 
		
						alert("'Start To' date should be greater than ' Start From' date.");
						return false;
						
					}
					else if(sM<TM && sY==TY) 
					{ 
						alert("'Start To' date should be greater than 'Start From' date.");
						return false;
					}
		   }
  
     }
	 
/*****************************
Function name : validateRegisterForm
Return type : boolean
Date created :2nd December 2008
Date last modified : 2nd December 2008
Author : Neha Sharma
Last modified by : Neha Shrama
Comments : This function is used to validate user Register Form
User instruction : 
************************************/
function validateRegisterForm(formname)
{
	if(validateForm(formname,'frmUserFirstName', 'First Name', 'R', 'frmUserLastName', 'Last Name', 'R', 'frmUserUserName', 'Email (Username)','RisEmail', 'frmUserPassword', 'Password', 'R', 'frmUserConfirmPassword', 'Confirm Password', 'RisEqualfrmUserPassword:Password', 'frmUserCountry', 'Country', 'R','frmUserState','State','R', 'frmUserCity', 'City', 'R', 'frmUserPolicy','Privacy policy','isCheckbox'))
	{
		return true;
	}
	else
	{
		return false;
	}
}	 
	 
/*****************************
Function name : validateLoginForm
Return type : boolean
Date created : 2nd December 2008
Date last modified :2nd December 2008
Author : Neha Sharma
Last modified by : Neha Shrama
Comments : This function is used to validate user Login Form
User instruction : validateEmailID(charToCheck)
************************************/
function validateLoginForm(formname)
{
	if(validateForm(formname,'frmUserUserName', 'Username(Email)', 'RisEmail', 'frmUserPassword', 'Password', 'R'))
	{
		return true;
	}
	else
	{
		return false;
	}
}	 

/*****************************
Function name : validateEditForm
Return type : boolean
Date created :2nd December 2008
Date last modified : 2nd December 2008
Author : Neha Sharma
Last modified by : Neha Shrama
Comments : This function is used to validate user Register Form
User instruction : 
************************************/
function  validateEditForm(formname)
{
	if(validateForm(formname,'frmUserFirstName', 'First Name', 'R', 'frmUserLastName', 'Last Name', 'R', 'frmUserCountry', 'Country', 'R','frmUserState','State','R', 'frmUserCity', 'City', 'R'))
	{
		return true;
	}
	else
	{
		return false;
	}
}	 
/*****************************
Function name : validateForgotPasswordForm
Return type : boolean
Date created : 25 November 2008
Date last modified : 25 November 2008
Author : Neha Sharma
Last modified by : Neha Shrama
Comments : This function is used to validate user Register Form
User instruction : validateEmailID(charToCheck)
************************************/
function validateForgotPasswordForm(formname)
{
	
	if(validateForm(formname,'frmUserUserName', 'Username(Email)', 'RisEmail', 'frmVerificationCode', 'Verification Code', 'R'))
	{
		return true;
	}
	else
	{
		return false;
	}
}

/*****************************
Function name : validateResetPassword
Return type : boolean
Date created : 23rd September 2008
Date last modified : 23rd September 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This is used to validate admin password and confirm passwords.
User instruction : validateResetPassword(formname)
************************************/
function validateResetPassword(formname)
{
	if(validateForm(formname, 'frmNewPassword', 'New Password','RisSpace','frmConfirmNewPassword', 'Confirm New Password', 'RisEqualfrmNewPassword:New Password'))
	{	
		return true;
	} 
	else 
	{
		document.getElementById('frmNewPassword').value='';
		document.getElementById('frmConfirmNewPassword').value='';
		return false;
	} 

}

/*****************************
Function name : validateUserChangePassword
Return type : boolean
Date created : 5th January 2008
Date last modified : 5th January 2008
Author : Vineet Kumar
Last modified by : Vineet Kumar
Comments : This is used to validate admin password and confirm passwords.
User instruction : validChangePass(charToCheck)
************************************/
function validateUserChangePassword(formname)
{
	if(validateForm(document.getElementById(formname).id,'frmUserOldPassword', 'Current Password', 'RisSpace', 'frmUserNewPassword', 'New Password','RisSpace','frmUserConfirmPassword','Confirm New Password','RisEqualfrmUserNewPassword:New Password'))
	{			
		var flag=confirm('Are you sure you want to change password?')
		if(flag)
		{
			return true;
		}
		else
		{
			document.getElementById('frmUserOldPassword').value='';
			document.getElementById('frmUserNewPassword').value='';
			document.getElementById('frmUserConfirmPassword').value='';
			document.getElementById('frmUserOldPassword').focus();
			return false;		
		}
	} 
	else 
	{
		document.getElementById('frmUserOldPassword').value='';
		document.getElementById('frmUserNewPassword').value='';
		document.getElementById('frmUserConfirmPassword').value='';
		document.getElementById('frmUserOldPassword').focus();
	    return false;
	} 
}


/*****************************
Function name : validateCardForm
Return type : integer
Date created : 28 April 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : This is used to check Offer form.
User instruction : validatePromotionalOffer(charToCheck)
************************************/
function validateCardForm(formname)
{
	if(validateForm(formname,'frmUserCardNumber','Card Number','R', 'frmUserCardExpiryDate', 'Card Expiry Date', 'RisDate'))
	{	
		
		   var sliptdate	= document.getElementById(formname).frmUserCardExpiryDate.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
			
			/*******************Added by rupesh*********************/
			//alert(TM);
		
			if(sY<TY ) 
			{
				
				alert("'Expiry' date should be greater than 'Current' date.");
				return false;	  
			}
			else if(sM==TM && sD<TD && sY==TY) 
			{ 

				alert("'Expiry' date should be greater than 'Current' date.");
				return false;
				
			}
		   else if(sM<TM && sY==TY) 
		    { 
                alert("'Expiry' date should be greater than 'Current' date.");
				return false;
			}
	       return true;
	} 
	else 
	{
		return false;
	} 
}

/*****************************
Function name : chkCardDetails
Return type : boolean
Date created : 28 April 2008
Date last modified : 
Author : Prashant Bhardwaj
Last modified by : 
Comments : This is used to check Offer form.
User instruction : chkCardDetails()
************************************/

var d = new Date();
var curr_month = d.getMonth();
curr_month = curr_month+1;
var curr_year = d.getFullYear();
var error = '';

function chkCardDetails()
{
	var error = '';
	var focusitem = '';
	if(document.getElementById('frmUserCardOwnerName').value == '')
	{
		error += "\n- Card Owner Name is required.";
		focusitem = document.getElementById('frmUserCardOwnerName');
	}
	if(document.getElementById('frmUserCreditCardType').value == '')
	{
		error += "\n- Card Type is required.";
		focusitem = document.getElementById('frmUserCreditCardType');
	}
	if(document.getElementById('frmUserCardNumber').value == '')
	{
		error += "\n- Card Number is required.";
		if(focusitem == '')
		{
			focusitem = document.getElementById('frmUserCardNumber');
		}
	}
	if(document.getElementById('frmUserCreditCardType').value != '' && document.getElementById('frmUserCardNumber').value != '')
	{
		
		if(!checkCreditCard (document.getElementById('frmUserCardNumber').value,document.getElementById('frmUserCreditCardType').value)) 
		{
			error += "\n"+ccErrors[ccErrorNo];
		}
	}
	
	if(document.frmCreditCard.frmUserCardExpiryDate.value != '')
	{
		var Str = document.frmCreditCard.frmUserCardExpiryDate.value;
		var pattern = /(0[1-9]|1[0-9]|2[0-9]|3[01])\/(19|20)\d\d$/;
		if(pattern.test(Str))
		{
			DateYear = Str.split('/');
			var month = DateYear[0];
			var year = DateYear[1];
			if((year.length == 4) && !isNaN(year) && (month.length == 2) && !isNaN(month))
			{
				if(year < curr_year)
				{
					error += "\n- Card Expiry Date can not be before current year.";
					if(focusitem == '')
					{
						focusitem = document.getElementById('frmUserCardExpiryDate');
					}
				}
				else if(year == curr_year)
				{
					if(month < curr_month)
					{
						error += "\n- Card Expiry Date can not be before current month.";
						if(focusitem == '')
						{
							focusitem = document.getElementById('frmUserCardExpiryDate');
						}
					}
				}
				else
				{
					if(month > 12)
					{
						error += "\n- Card Expiry Date must be valid.";
						if(focusitem == '')
						{
							focusitem = document.getElementById('frmUserCardExpiryDate');
						}
					}
				}
			}
			else
			{
				error += "\n- Card Expiry Date must be valid.";
				if(focusitem == '')
				{
					focusitem = document.getElementById('frmUserCardExpiryDate');
				}
			}
		}
		else
		{
			error += "\n- Card Expiry Date must be valid.";
			if(focusitem == '')
			{
				focusitem = document.getElementById('frmUserCardExpiryDate');
			}
		}
	}
	else
	{
		error += "\n- Card Expiry Date is required.";
		if(focusitem == '')
		{
			focusitem = document.getElementById('frmUserCardExpiryDate');
		}
	}
	if(error == '')
	{
		return true;
	}
	else
	{
		
		var MasterString = getMasterString();
		alert(MasterString+'\n'+error);
		//focusitem.focus();
		return false;
	}
}


/*****************************
Function name : validateComment
Return type : boolean
Date created : 28 April 2008
Date last modified : 
Author : Neha Sharma
Last modified by : 
Comments : This is used to check validate form.
User instruction : validateComment()
************************************/
function validateComment(formname)
{
	if(validateForm(formname, 'frmComment', 'Comment','R'))
	{	
		return true;
	} 
	else 
	{
		
		return false;
	} 

}

/*****************************
Function name : validateSearch
Return type : boolean
Date created : 15th December
Date last modified : 
Author : Neha Sharma
Last modified by : 
Comments : This is used to check validate form.
User instruction : validateComment()
************************************/

function validateSearch(formname)
{
	if(validateForm(formname, 'frmSearchKeyword', 'Search Keyword','R'))
	{	
		return true;
	} 
	else 
	{
		
		return false;
	} 
}


/*****************************
Function name : validateContactusForm
Return type : boolean
Date created : 15th December
Date last modified : 
Author : Neha Sharma
Last modified by : 
Comments : This is used to check validate form.
User instruction : validateComment()
************************************/

function validateContactusForm(formname)
{
	if(validateForm(formname, 'frmUserUserName', 'Email','RisEmail','frmUserName', 'Name', 'R', 'frmUserSubject', 'Subject', 'R', 'frmUserMessage', 'Message', 'R'))
	{	
		return true;
	} 
	else 
	{
		
		return false;
	} 
}

/*****************************
Function name : validateContactusForm
Return type : boolean
Date created : 15th December
Date last modified : 
Author : Neha Sharma
Last modified by : 
Comments : This is used to check validate form.
User instruction : validateComment()
************************************/
function deleteProduct(cID)
{
	var flag = confirm('Are you sure you want to delete this?');
	if(flag)
	{
		location.href='course_action.php?cid='+cID+'&action=delete';
	}
	else
	{
		return false;
	}
}