/******************************************
Module name : Js Function file
Parent module : None
Date created : 10th September 2008
Date last modified : 24th October 2007
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 : inviteValidator
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function will return the true or error message after validating checkboxes
User instruction : inviteValidator(btnType)
******************************************/
function inviteValidator(formname)
{
	if(formname)
	{
		var obj = document.getElementById(formname);
		 var error="", flagCheck=0;
		 
		 var len = obj.elements.length; 
		 var flagCheck, i=0;
		 for(i=0;i<len;i++) 
		 {
			  if(obj.elements[i].type=='checkbox')
			  {
				   if(obj.elements[i].checked)
				   {
						obj.submit();
						return false;
				   }
				   else
				   {
						flagCheck = 1;
				   }
			  }
		 }
		 if(flagCheck == 1)
		 {
			 document.getElementById('emptyInviteList').innerHTML = '<div class="error">Please select at least one record.</div>';
			 return false;
		 }
	}
	else
	{
		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 : 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 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;
  }
 }
 
}

/******************************************
Function name : showMessageReciever
Return type : None
Date created : 6th March 2009
Date last modified : 6th March 2009
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function is used to show hide the message reciever
User instruction : showMessageReciever()
******************************************/
function showMessageReciever(varShowID, varHideID, varSendTo)
{
	 document.getElementById(varShowID).style.display = 'block';	
	 document.getElementById(varHideID).style.display = 'none';
	 document.getElementById('frmSendTo').value = varSendTo;
}
/******************************************
Function name : hideMessageReciever
Return type : None
Date created : 6th March 2009
Date last modified : 6th March 2009
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function is used to hide the message reciever
User instruction : hideMessageReciever()
******************************************/
function hideMessageReciever(varShowID, varHideID, varSendTo)
{
	 document.getElementById(varShowID).style.display = 'none';	
	 document.getElementById(varHideID).style.display = 'none';
	 document.getElementById('frmSendTo').value = varSendTo;
}
/******************************************
Function name : validateSendMessage
Return type : None
Date created : 6th March 2009
Date last modified : 6th March 2009
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : Function is used to validate message form
User instruction : validateSendMessage()
******************************************/
function validateSendMessage(formname)
{
	//alert(document.getElementById('frmSendTo').value);
	if(document.getElementById('frmSendTo').value == 'All')
	{
		if(validateForm(formname,'frmMessageSubject','Subject','R', 'frmMessage','Message','R'))
		{	
			return true;
		} 
		else 
		{
			return false;
		} 
	}
	else if(document.getElementById('frmSendTo').value == 'InputFriends')
	{
		if(validateForm(formname, 'friendsList', 'To', 'R', 'frmMessageSubject','Subject','R', 'frmMessage','Message','R'))
		{	
			return true;
		} 
		else 
		{
			return false;
		} 
	}
	else
	{
		if(validateForm(formname, 'frmMessageToUsers', 'To', 'R', 'frmMessageSubject','Subject','R', 'frmMessage','Message','R'))
		{	
			return true;
		} 
		else 
		{
			return false;
		} 
	}
}


function userFriendList(keyword, userFriendList)
{
	fields = 'keyword='+keyword+'&listedFriend='+userFriendList+'&action=importList';
	doAjax('ajax_friends_list.php', fields, 'showAllList', 'post');
	
}

function showAllList(item)
{
	//alert(item);
	document.getElementById('td_ID').style.display = '';
	document.getElementById('Layer2').style.display = 'block';
	document.getElementById('Layer2').innerHTML = item;
}


function getEventDetails(eid)
{
	fields = 'eid='+eid+'&action=getDetails';

	document.getElementById('eid').value = eid;
	doAjax('ajax_event_details.php',fields,'showEventDetails','post');
	

}
function showEventDetails(item)
{
	document.getElementById('sdEventDetail').innerHTML = item;
}


function checkPromotionalCode(value, eventId)
{
	
	if(value == '')
	{
		document.getElementById('proCode').innerHTML ='';	
		return false;	
	}
	
	fields = 'value='+value+'&eventId='+eventId+'&action=checkProCode';
	doAjax('ajax_promotional_offer.php', fields, 'showValidOffer', 'post');
	return false;
}


function showValidOffer(item)
{
	document.getElementById('proCode').innerHTML = item;
	
}




function fob(x)
{
	return document.getElementById(x);
}

function hide_div(div_id)
{
	fob(div_id).style.display='none';
	return false;
}

function set_list(uid, action)
{
	var FriendList = document.getElementById('friendsList').value
	arrFriendList = FriendList.split(',');
	if(arrFriendList != '')
	{
		for (var i= 0; i < arrFriendList.length ; i++)
		{
			if(trim(arrFriendList[i]) != trim(uid))
			{
				document.getElementById('friendsList').value = document.getElementById('friendsList').value + uid + ',';
				document.getElementById('frmMessageToUsers123').value="";
				list_id=x = fob('frmMessageToUsers').value;
				x=uid;
				id="td_ID";
				fields="list_id="+list_id+"&uid="+x+"&action="+action;
				doAjax('ajax_friends_list.php',fields,'SetAllList','post');
				return false;
			}
		}
	}
	else
	{
		document.getElementById('friendsList').value = document.getElementById('friendsList').value + uid + ',';
		document.getElementById('frmMessageToUsers123').value="";
		list_id=x = fob('frmMessageToUsers').value;
		x=uid;
		url="ajax.php";
		id="td_ID";
		fields="list_id="+list_id+"&uid="+x+"&action="+action;
		doAjax('ajax_friends_list.php',fields,'SetAllList','post');
		return false;
	}
	
	
}
function SetAllList(item)
{
	//document.getElementById('frmMessageToUsers').style.display='none';
	document.getElementById('td_ID').style.display='block';
	document.getElementById('td_ID').innerHTML = document.getElementById('td_ID').innerHTML + item;
	document.getElementById('frmMessageToUsers123').value = '';
	document.getElementById('frmMessageToUsers123').focus();
}

function delete_list(uid, action)
{
	//list_id=x=fob('frmMessageToUsers123').value;
	var FriendList = document.getElementById('friendsList').value
	arrFriendList = FriendList.split(',');
	if(arrFriendList != '')
	{
		for (var i= arrFriendList.length-1; i>=0; i--)
		{
			if(trim(arrFriendList[i]) == trim(uid))
			{
				document.getElementById('friendsList').value = FriendList.replace(uid+',','');
				document.getElementById(uid).style.display = 'none';
				document.getElementById('frmMessageToUsers123').focus();
				
			}
		}
	}
	return false;
	/*x=uid;
	url="ajax.php";
	WhereToWrite="td_ID";
	id = WhereToWrite;
	
	fields="list_id="+list_id+"&uid="+x+"&action="+action;
	doAjax('ajax_friends_list.php',fields,'deleteList','post');
	return false;*/
}
function deleteList(item)
{
	document.getElementById(id).style.display='';
	document.getElementById('td_ID').innerHTML = document.getElementById('td_ID').innerHTML + item;
	//document.getElementById(id).innerHTML=item;
}
function set_focus()
{
	fob('frmMessageToUsers123').focus();
	return false;	
}


/******************************************
Function name : showSearchBox
Return type : None
Date created : 20th October 2007
Date last modified : 20th October 2007
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
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 name : checkCapsLock
Return type : none
Date created : 20 june 2008
Date last modified : 20 june 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 : checkUserName
Return type : None
Date created : 10th September 2008
Date last modified : 10th September 2008
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 loadEvents(eventType, eventID)
{
		doAjax('ajax_act.php','type=LoadEvent&eventType='+eventType+'&eventID='+eventID,'loadEvent','GET');
}
function loadEvent(item)
{
	document.getElementById('loadEvent').innerHTML = item;
}
/*****************************
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(Email)','R', 'frmAdminPassword','Password','R'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}
/******************************************
Function name : validator
Return type : boolean
Date created : 
Date last modified : 
Author : 
Last modified by : 
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 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]; 
		var val=document.forms[""+args[0]].elements[""+args[i]];
		
		if (val) 
		{	
			
			nm=mesg; 
			noVal = val;
			val = val.value;
			if(regBlank.test(val))
			{
				if(test.indexOf('isEqual')!=-1)
				{
					result = trim(val);

					if(result.length==0)
					{
											
					errors += '- '+nm+' is required.\n'; 
					}
					else
					{
					equal_obj_val = test.substring(8,test.indexOf(":"));
					mesg_string =test.substring((test.indexOf(":")+1));

						if(val != document.forms[""+args[0]].elements[""+equal_obj_val].value)
						{ 
							errors+='- '+nm+' and '+mesg_string+' must be same.\n';
						}
					}
				}
				else if(test.indexOf('isAlphaNum')!=-1)
				{
					result = trim(val);
					if(result.length==0){
					errors += '- '+nm+' is required.\n'; 
					}else{
						if(!regAlphaNum.test(val))
						{
							errors += '- '+nm+' is not valid.\n';
						}
					}
				
				}
				else if(test.indexOf('isNumeric')!= -1)
				{
						if(!regNumeric.test(val))
						{
							errors += '- '+nm+' must contain a numeric value.\n';
							
						}
				}
				else if(test.indexOf('isDecimal') != -1)
				{
					
					if(!regDecimal.test(val))
					{
						errors += '- '+nm+' must contain a number.\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 Privacy 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 sY=sliptdate[0];
					var sM=sliptdate[1];
					var sD=sliptdate[2];
					
					/*******************Added by rupesh*********************/
					//alert(TM);
				  if(sY>1)
				   {     
						
						if(sY<TY )
						{
						    errors+='- '+nm+' should be greater than current date.\n';
						}
						else if(sM==TM && sD<TD && sY==TY) 
						{ 
	
							errors+='- '+nm+' should be greater than current date.\n';
							
						}
						else if(sM<TM && sY==TY) 
						{ 
	
							errors+='- '+nm+' should be greater than current date.\n';
					    }
				   }
				
				}
		if(errors !="")
		{	if(j<=0)
			{
				focusitem = document.forms[""+args[0]].elements[""+args[i]];
				j++;
			}	
		}
		}
		
	} 
	
  if (errors)
  {
	var MasterString = getMasterString();
	alert(MasterString+'\n'+errors);
	focusitem.focus();
	return false;
   }
   else
	return true;

  document.MM_returnValue = (errors == '');
}
/*****************************
Function name : validateEmailChange
Return type : boolean
Date created : 20 june 2008
Date last modified : 21 june 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : This function is used to validate admin notification email id.
User instruction : validateEmailChange(charToCheck)
************************************/
function validateEmailChange(formname)
{
	if(validateForm(formname, 'frmAdminEmail','Email','RisEmail'))
	{			
		var flag=confirm('Are you sure you want to change notification E-mail?')
		if(flag)
		return true;
		else
		return false;		
	} 
	else 
	{
		return false;
	} 
}
/*****************************
Function name : validateChangePassword
Return type : boolean
Date created : 10th September 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 : 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(document.getElementById(formname).id, 'frmNewPassword', 'New Password','RisSpace','frmConfirmNewPassword', 'Confirm New Password', 'RisEqualfrmNewPassword:New Password'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 

}
/*****************************
Function name : validateAdminForgotPassword
Return type : none
Date created : 10th September 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 : ltrim
Return type : string
Date created : 
Date last modified : 
Author : 
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 : 
Date last modified : 
Author : 
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 : 
Date last modified :
Author : 
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 : 
Date last modified : 
Author : 
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 : checkError
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th 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 : getMasterString
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th 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 : toggleOption
Return type : None
Date created : 10th September 2008
Date last modified : 10th 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 : toggleOption
Return type : None
Date created : 10th September 2008
Date last modified : 10th September 2008
Author : Gulshan Verma
Last modified by : Gulshan Verma
Comments : Function will deselect the main checkbox
User instruction : deSelectCheckbox(spanChk)
******************************************/
function deSelectCheckbox(formname)
{
 document.getElementById('Main').checked = false;
}
 
/******************************************
Function name : setvalidAction
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th September 2008
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)
	{
		// $Value = document.getElementById('frmHiddenDeleteClicked').value;
 		message = "delete selected "+listname; 
  	}
 	else if(value == 'Send Newsletter')
 	{
		message = "send newsletter to selected "+listname; 
 	}
 	else
 	{
 		message = "change status of selected "+listname;
 	}
 	var flag = validator(message,formname);
 	if(flag)
 	{  
		if(listname == 'Event images(s)')
  		{
			document.getElementById('frmHiddenDeleteClicked').value = 'Yes';
 		}
  		formname.submit();
 	}
 	else
 	{
		if(listname == 'Event images(s)')
  		{
			//alert(document.getElementById('frmChkDeleteImage').length);
			//alert(document.forms[0].elements);
			elm=document.forms[0].elements;
			for(i=0;i<elm.length;i++)
			{
				//alert(document.forms[0].elements[i].id);
				if(document.forms[0].elements[i].id == 'frmChkDeleteImage')
				{
					document.forms[0].elements[i].checked = false;	
				}
			}
			return false;
   		}
		else
		{
 			//alert(listname);return false;
			formname.frmChangeAction.value=''; 
			document.getElementById('Main').checked = false;
			if(listname == 'Member(s)'  )
			{
				document.forms[1].Main.checked=false; 
				elm=document.forms[1].elements;
			}
			else  if(listname == 'Message(s)'  )
			{
				document.forms[1].Main.checked=false; 
				elm=document.forms[1].elements;
			}
			else if(listname =='Report Abuse')
			{
				document.forms[1].Main.checked=false;
				elm=document.forms[1].elements;
			}
			else if(listname =='Offline Matches')
			{
				document.forms[1].Main.checked=false;
				elm=document.forms[1].elements;
			}
			else if(listname =='Event(s)')
			{
				document.forms[1].Main.checked=false;
				elm=document.forms[1].elements;
			}
			else if(listname =='Event Pass(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 : validator
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th 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 : askConfirm
Return type : boolean
Date created : 10th September 2008
Date last modified : 10th 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;
 }
}
/****************************************NEWSLETTER SECTION JS END******************************************/
/****************************************CMS JS START******************************************/
/*****************************
Function name : validateCMSForm
Return type : bollean
Date created : 28th February 2008
Date last modified : 28th February 2008
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
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'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}
/****************************************CMS JS END******************************************/
/*****************************
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', 'RisEmail', 'frmVerificationCode', 'Verification Code', 'R'))
	{
		
		document.getElementById(formname).submit();
	}
	else
	{
		return false;
	}
}

/*****************************
Function name : validateResetPassword
Return type : boolean
Date created : 23rd September 2008
Date last modified : 23rd September 2008
Author : Neha Sharma
Last modified by : Neha Sharma
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'))
	{	
		var str = document.getElementById(formname).frmNewPassword.value;
		var len = str.length;
		if(len< 6)
		{
			alert('Password must be of atleast 6 characters or more.');
			return false;
		}
		else
		{		
			document.getElementById(formname).submit();
		}
	} 
	else 
	{
		document.getElementById('frmNewPassword').value='';
		document.getElementById('frmConfirmNewPassword').value='';
		return false;
	} 

}

/*****************************
Function name : validateNewsForm
Return type : boolean
Date created : 23rd February 2009
Date last modified : 23rd February 2009
Author : Neha Sharma
Last modified by : Neha Sharma
Comments : This function is used to validate the News form.
User instruction : validateCMSForm(formname)
************************************/
function validateNewsForm(formname)
{
	
	//var errorString = '';
	if(validateForm(formname,'frmNewsTitle','News Title','R'))   
	{	
		/*
		var sliptdate  = document.getElementById(formname).frmNewsDate.value.split("-");
		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;
		}
		var sM=sliptdate[1];
		var sD=sliptdate[2];
		var sY=sliptdate[0];
		if(sY>1)
		{     
			if(sY<TY)
			{
				errorString += '- Posted Date should not be less than current date.\n';
			}
			else if(sM<TM && sY==TY) 
			{ 
				errorString += '- Posted Date should not be less than current date.\n';
			}
			else if(sD<TD && sM==TM && sY==TY) 
			{ 
				errorString += '- Posted Date should not be less than current date.\n';
			}
			if(errorString)
			{
				masterString =  getMasterString();
				alert(masterString+'\n'+errorString);
				return false;
			}
			else
			{
				return true;
			}
		}*/
		return true;
	  }
	  else
	  {
		 return false;
	  }
}

/*****************************
Function name : validateContactForm
Return type : boolean
Date created : 2nd April 2009
Date last modified : 2nd April 2009
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate the contact form.
User instruction : validateContactForm(formname)
************************************/
function validateContactForm(formname)
{
	if(validateForm(formname,'frmName','Name','R', 'frmOrganization', 'Organization', 'R', 'frmTelephone', 'Telephone', 'isNumeric', 'frmFax', 'Fax', 'isNumeric', 'frmEmail', 'E-mail Address', 'RisEmail'))   
	{	
	   document.getElementById(formname).submit();
	}
	else
	{
		 return false;
	}
}

/*****************************
Function name : validateAnalysisForm
Return type : boolean
Date created : 2nd April 2009
Date last modified : 2nd April 2009
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate the Analysis form.
User instruction : validateAnalysisForm(formname)
************************************/
function validateAnalysisForm(formname)
{
	if(validateForm(formname,'frmName','Name','R', 'frmEmail', 'Email', 'RisEmail', 'frmUrl', 'URL', 'RisUrl'))
	{	
	   document.getElementById(formname).submit();
	}
	else
	{
		 return false;
	}
}

/*****************************
Function name : validateJobForm
Return type : boolean
Date created : 8th April 2009
Date last modified : 8th April 2009
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate the Job form.
User instruction : validateJobForm(formname)
************************************/
function validateJobForm(formname, varToday)
{
	var errorString = '';
	if(validateForm(formname,'frmJobTitle','Job Title','R', 'frmJobLocation', 'Job Location', 'R', 'frmJobDescription', 'Description', 'R', 'frmJobDisplayFrom', 'Job Display From', 'R', 'frmJobDisplayTo', 'Jon Display To', 'R', 'frmJobDeadlineDate', 'Deadline Date', 'R', 'frmJobContactEmail', 'Contact Email', 'isEmail'))
	{	
		var sliptdate  = document.getElementById(formname).frmJobDisplayFrom.value.split("-");
		var varDisplayTodate  = document.getElementById(formname).frmJobDisplayTo.value.split("-");
		var varDisplayDeadline  = document.getElementById(formname).frmJobDeadlineDate.value.split("-");
		
		
		var arrSplitToday = varToday.split("-");
		
		TY = arrSplitToday[0];
		TM = arrSplitToday[1];
		TD = arrSplitToday[2];
		
		
		//Job display from
		var sM=sliptdate[1];
		var sD=sliptdate[2];
		var sY=sliptdate[0];
		
		//Job display To
		var dtM=varDisplayTodate[1];
		var dtD=varDisplayTodate[2];
		var dtY=varDisplayTodate[0];
		
		//Job deadline
		var dlM=varDisplayDeadline[1];
		var dlD=varDisplayDeadline[2];
		var dlY=varDisplayDeadline[0];
		
		if(sY>1)
		{     
			//check for display date from
			if(sY<TY)
			{
				errorString += '- Job Display From date should not be less than current date.\n';
			}
			else if(sM<TM && sY==TY) 
			{ 
				errorString += '- Job Display From date should not be less than current date.\n';
			}
			else if(sD<TD && sM==TM && sY==TY) 
			{ 
				errorString += '- Job Display From date should not be less than current date.\n';
			}
			
			//check for display date to
			if(dtY<TY)
			{
				errorString += '- Job Display To date should not be less than current date.\n';
			}
			else if(dtM<TM && dtY==TY) 
			{ 
				errorString += '- Job Display To date should not be less than current date.\n';
			}
			else if(dtD<TD && dtM==TM && dtY==TY) 
			{ 
				errorString += '- Job Display To date should not be less than current date.\n';
			}
			
			//check for deadline date
			if(dlY<TY)
			{
				errorString += '- Deadline date should not be less than current date.\n';
			}
			else if(dlM<TM && dlY==TY) 
			{ 
				errorString += '- Deadline date should not be less than current date.\n';
			}
			else if(dlD<TD && dlM==TM && dlY==TY) 
			{ 
				errorString += '- Deadline date should not be less than current date.\n';
			}
			
			  
			  //check for from date should be less than to date
			  if(dtY<sY ) 
			  {
			   errorString += '- Job Display To date should be greater than Job Display From date.\n';
			    
			  }
			  else if(dtM==sM && dtD<sD && dtY==sY) 
			  { 
			   errorString += '- Job Display To date should be greater than Job Display From date.\n';
			   
			  }
			  else if(dtM<sM && dtY==sY) 
			  { 
			   errorString += '- Job Display To date should be greater than Job Display From date.\n';
			  }
			//end check
			
			
			//check for deadline date  should not less than display to date
			 if(dlY<sY) 
			  {
			   errorString += '- Deadline date should be greater than Job Display From date.\n';
			    
			  }
			  else if(dlM==sM && dlD<sD && dlY==sY) 
			  { 
			   errorString += '- Deadline date should be greater than Job Display From date.\n';
			   
			  }
			  else if(dlM<sM && dlY==sY) 
			  { 
			   errorString += '- Deadline date should be greater than Job Display From date.\n';
			  }
			//end check 
			
			
			//check for display to date  should not less than deadline date
			 if(dtY<dlY) 
			  {
			   errorString += '- Job Display To date should be greater than Deadline date.\n';
			    
			  }
			  else if(dtM==dlM && dtD<dlD && dtY==dlY) 
			  { 
			   errorString += '- Job Display To date should be greater than Deadline date.\n';
			   
			  }
			  else if(dtM<dlM && dtY==dlY) 
			  { 
			   errorString += '- Job Display To should be greater than Deadline date.\n';
			  }
			//end check 
						
			if(errorString)
			{
				masterString =  getMasterString();
				alert(masterString+'\n'+errorString);
				return false;
			}
			else
			{
				return true;
			}
		}
	  }
	  else
	  {
		 return false;
	  }
}
