/******************************************
Module name : Js Function file
Parent module : None
Date created : 10th September 2008
Date last modified : 24th October 2007
Author :  Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : The functions_js.js file contains various functions related to the web directory project.
******************************************/	

/******************************************
Date created : 23rd December 2008
Date last modified : 23rd December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to create order value in session . This fucntion calls an ajax funtion .
******************************************/
function getSelectedOrder(CommaSeperatedString)
{
   doAjax('ajax_action.html', 'action=CreateOrderSession&CommaSeperatedValue='+CommaSeperatedString, '', 'get');
}

function showFunction(item)
{
	//alert(item);
}

/******************************************
Date created : 23rd December 2008
Date last modified : 23rd December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to assign value to the units dependng on the service selected.
******************************************/
function setUnitValue(formname)
{
   if(document.getElementById(formname).frmService.value == 'Translation services' || document.getElementById(formname).frmService.value == 'Proofreading services' || document.getElementById(formname).frmService.value == 'Website localisation' || document.getElementById(formname).frmService.value == 'Software localisation')
   {
	   document.getElementById(formname).frmUnits.value = 'Word';
   }
   else if(document.getElementById(formname).frmService.value == 'Typesetting services')
   {
	    document.getElementById(formname).frmUnits.value = 'Page';
   }
   else if(document.getElementById(formname).frmService.value == 'Simultaneous interpreting' || document.getElementById(formname).frmService.value == 'Telephone interpreting' || document.getElementById(formname).frmService.value == 'Consecutive interpreting')
   {
	   document.getElementById(formname).frmUnits.value = 'Hour';
   }
   else if(document.getElementById(formname).frmService.value == 'Voiceover services' || document.getElementById(formname).frmService.value == 'Conference equipment')
   {
	   document.getElementById(formname).frmUnits.value = 'N/A';
   }
   else
   {
	   document.getElementById(formname).frmUnits.value = 'Units';
   }
   
}



/******************************************
Date created : 1st December 2008
Date last modified : 1st December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate logo list. This fucntion calls an ajax funtion .
******************************************/
function getLogoList(CommaSepImageSrc, varPageNum)
{
   doAjax('ajax_action.html', 'action=showLogoList&ImageSrc='+CommaSepImageSrc+'&PageNum='+varPageNum, 'showLogoList', 'post');
}

/*****************************
Function name : showLeftPanelList
Return type : string
Date created : 1st December 2008
Date last modified : 1st December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showLeftPanelList().
************************************/
function showLogoList(ShowList)
{	
	document.getElementById('client-logos').innerHTML = ShowList;
	document.getElementById('client-logos').style.display = 'block';
	
	//this function is used to give fade out functionality to the client logos
	fadeInfadeOut();
}

/******************************************
Date created : 24th November 2008
Date last modified : 24th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate list boxt depending on the condiion what has been selected in the first list box. This fucntion calls an ajax funtion .
******************************************/
function getLeftPanelList(varPageType, varSelected)
{
  doAjax('index.html', 'action=leftpanel_list&PageType='+varPageType+'&SelectID='+varSelected, 'showLeftPanelList');
}

/*****************************
Function name : showLeftPanelList
Return type : string
Date created : 24th November 2008
Date last modified : 24th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showLeftPanelList().
************************************/
function showLeftPanelList(ShowList)
{	
	document.getElementById('showLeftPanleList').innerHTML = ShowList;
	document.getElementById('showLeftPanleList').style.display = 'block';
}

/******************************************
Date created : 24th November 2008
Date last modified : 24th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate list boxt depending on the condiion what has been selected in the first list box. This fucntion calls an ajax funtion .
******************************************/
function getPageListForLeftPanel(varPageType, varSelected)
{	
  doAjax('index.html', 'action=pagelist_leftpanel&PageType='+varPageType+'&SelectID='+varSelected, 'showListForLeftPanel');
}

/*****************************
Function name : showListForQuote
Return type : string
Date created : 24th November 2008
Date last modified :24th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showListForRightPanel().
************************************/
function showListForLeftPanel(ShowList)
{	
	document.getElementById('showPageList').innerHTML = ShowList;
	document.getElementById('showPageList').style.display = 'block';
}

/******************************************
Date created : 7th November 2008
Date last modified : 7th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate list boxt depending on the condiion what has been selected in the first list box. This fucntion calls an ajax funtion .
******************************************/
function getPageListForRightPanel(varPageType, varSelected)
{	
  doAjax('index.html', 'action=pagelist_rightpanel&PageType='+varPageType+'&SelectID='+varSelected, 'showListForRightPanel');
}

/*****************************
Function name : showListForQuote
Return type : string
Date created : 7th November 2008
Date last modified : 7th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showListForRightPanel().
************************************/
function showListForRightPanel(ShowList)
{	
	document.getElementById('showPageList').innerHTML = ShowList;
	document.getElementById('showPageList').style.display = 'block';
}

/******************************************
Date created : 7th November 2008
Date last modified : 7th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate list boxt depending on the condiion what has been selected in the first list box. This fucntion calls an ajax funtion .
******************************************/
function getRightPanelList(varPageType, varSelected)
{
  doAjax('index.html', 'action=rightpanel_list&PageType='+varPageType+'&SelectID='+varSelected, 'showRightPanelList');
}

/*****************************
Function name : showListForQuote
Return type : string
Date created : 7th November 2008
Date last modified : 7th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showRightPanelList().
************************************/
function showRightPanelList(ShowList)
{	
	document.getElementById('showRightPanleList').innerHTML = ShowList;
	document.getElementById('showRightPanleList').style.display = 'block';
}

/******************************************
Date created : 13th November 2008
Date last modified : 13th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate list boxt depending on the condition what has been selected in the first list box. This fucntion calls an ajax funtion .
******************************************/
function getEditorialList(varPageID, varPageType)
{
   doAjax('index.html', 'action=editorial_list&frmPageID='+varPageID+'&frmPageType='+varPageType, 'showEditorialist');
}

/*****************************
Function name : showListForQuote
Return type : string
Date created : 13th November 2008
Date last modified : 13th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showEditorialist().
************************************/
function showEditorialist(ShowList)
{	
	document.getElementById('EditorialListing').innerHTML = ShowList;
	document.getElementById('EditorialListing').style.display = 'block';
}


/******************************************
Date created : 13th November 2008
Date last modified : 13th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate list boxt depending on the condition what has been selected in the first list box. This fucntion calls an ajax funtion .
******************************************/
function getQuoteList(varPageID, varSelected)
{
  doAjax('index.html', 'action=quote_list&frmPageID='+varPageID+'frmSelectID='+varSelected, 'showQuoteList');
}

/*****************************
Function name : showListForQuote
Return type : string
Date created : 13th November 2008
Date last modified : 13th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showListForQuote().
************************************/
function showQuoteList(ShowList)
{	
	document.getElementById('QuoteListing').innerHTML = ShowList;
	document.getElementById('QuoteListing').style.display = 'block';
}

/******************************************
Date created : 7th November 2008
Date last modified : 7th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate list boxt depending on the condiion what has been selected in the first list box. This fucntion calls an ajax funtion .
******************************************/
function getPageListForQuote(varPageType, varSelected)
{
  doAjax('index.html', 'action=pagelist_quote&PageType='+varPageType+'&SelectID='+varSelected, 'showListForQuote');
}

/*****************************
Function name : showListForQuote
Return type : string
Date created : 7th November 2008
Date last modified : 7th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showListForQuote().
************************************/
function showListForQuote(ShowList)
{	
	document.getElementById('showPageList').innerHTML = ShowList;
	document.getElementById('showPageList').style.display = 'block';
}


/******************************************
Date created : 7th November 2008
Date last modified : 7th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript to generate list boxt depending on the condiion what has been selected in the first list box. This fucntion calls an ajax funtion .
******************************************/
function generatePageList(varPageType, varSelected)
{
  doAjax('index.html', 'action=pagelist&PageType='+varPageType+'&SelectID='+varSelected, 'showPageDropDown');
}

/*****************************
Function name : showPageDropDown
Return type : string
Date created : 7th November 2008
Date last modified : 7th November 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : JavaScript Show the list box which is hidden by default
User instruction : showPageDropDown().
************************************/
function showPageDropDown(ShowList)
{	
	document.getElementById('showPageList').innerHTML = ShowList;
	document.getElementById('showPageList').style.display = 'block';
}

function addPageSnippet(cnt)
{
	var appNav = navigator.appName;
	document.getElementById("SnippetCount").value = parseInt(document.getElementById("SnippetCount").value) + 1;
	if (cnt == "") 	{		
		cnt = document.getElementById("SnippetCount").value;
	}	
	
	var oDiv = document.createElement("DIV");
	oDiv.id = "sub_block"+cnt;
	if(appNav == "Microsoft Internet Explorer")	{
		var frmContent = document.getElementById("main_block").childNodes[0].innerHTML;
	}	
	else{
		var frmContent = document.getElementById("main_block").childNodes[1].innerHTML;
	}
	
	var re = /AUTONUM/g;
	var frmContent1 = frmContent.replace(re,cnt);
	oDiv.innerHTML = frmContent1;
	document.getElementById("main_block").appendChild(oDiv);
}
	
	//Remove member profile profession package
function removePageSnippet(num)
{
	var rmDiv = "sub_block"+num;
	document.getElementById("main_block").removeChild(document.getElementById(rmDiv));
}


/**********************************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;
  }
 }
 
 if(validateForm(formname, 'frmSearchOrderPrice', 'Order Price', 'isNaN'))
 { 
  return true;
 } 
 else 
 {
     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('index.html','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 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]; 
		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 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 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
		{
			document.getElementById(formname).frmAdminOldPassword.value = '';
			document.getElementById(formname).frmAdminNewPassword.value = '';
			document.getElementById(formname).frmAdminConfirmPassword.value = '';
			document.getElementById(formname).frmAdminOldPassword.focus();
			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)
 {
  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 == 'Logo(s)'  )
  {
   document.forms[1].Main.checked=false; 
   elm=document.forms[1].elements;
  }
  else if(listname == 'Client(s)')
  {
	document.forms[1].Main.checked=false; 
   	elm=document.forms[1].elements;  
  }
  else if(listname == 'MainPage(s)')
  {
	  document.forms[1].Main.checked=false; 
   	  elm=document.forms[1].elements;  
  }
  else if(listname == 'InnerPage(s)')
  {
	  document.forms[1].Main.checked=false; 
   	  elm=document.forms[1].elements;  
  }
  else if(listname == 'TextSnippet(s)')
  {
	  document.forms[1].Main.checked=false; 
   	  elm=document.forms[1].elements;  
  }
  else if(listname == 'Quote(s)')
  {
	  document.forms[1].Main.checked=false; 
   	  elm=document.forms[1].elements;  
  }
  else if(listname == 'Order(s)')
  {	
	  document.forms[1].Main.checked=false; 
   	  elm=document.forms[1].elements;  
  }
 else if(listname == 'SearchKeyword(s)')
  {	
	  document.forms[1].Main.checked=false; 
   	  elm=document.forms[1].elements;  
  }
  else if(listname == 'ResponseEmail(s)')
  {	
	  document.forms[1].Main.checked=false; 
   	  elm=document.forms[1].elements;  
  }
  else if(listname == 'RightPanel(s)')
  {	
	  document.forms[0].Main.checked=false; 
   	  elm=document.forms[0].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;
 }
}

/******************************************
Function name : validateContactAddress
Return type : boolean
Date created : 21st October 2008
Date last modified : 21st October 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : Function is used to validate the admin setting contact address form.
User instruction : askConfirm(type)
******************************************/
function validateContactAddress(formname)
{
	if(validateForm(formname,'frmAddressOne','Address','R','frmCounty','County','R', 'frmPostCode', 'Post Code', 'R', 'frmContactEmail', 'General Enquiries Email', 'RisEmail','frmContactPhoneNumber', 'General Enquiries Number', 'R', 'frmTranslationEnquiry', 'Translation Enquries Number', 'R', 'frmInterpretingEnquiry', 'Interpreting Enquries Number', 'R', 'frmCareerEnquiry', 'Career Enquries Number', 'R', 'frmAccountEnquiry', 'Account Enquries Number', 'R', 'frmAtcLinkURL', 'ATC Logo Link URL', 'isUrl', 'frmJPLinkURL', 'JP Link URL', 'isUrl'))
	{	
		return true;
	} 
	else 
	{
		return false;
	} 
}


/******************************END ADMIN SECTION JS FUNCTION********************************************************/

/*****************************
Function name : validBannerForm
Return type : boolean
Date created : 22nd October 2007
Date last modified : 22nd October 2007
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : This function is used to validate admin setting form
User instruction : validBannerForm(formname)
************************************/
function validBannerForm(formname)
{
	if(document.getElementById('Image').style.display=='none')
	{
		
		if(validateForm(document.getElementById(formname).id,'frmBannerTitle', 'Banner Title', 'R', 'frmBannerPosition', 'Banner Position', 'R','frmBannerURL', 'Banner URL', 'isUrl','frmBannerHTMLCode', 'Banner HTML Code', 'R'))
		{
			
			return true;
		}
		else 
		{
			return false;	
		}
		
	}
	if(document.getElementById('HTML').style.display=='none')
	{
	
		if(document.getElementById('frmBannerImageName').value =='' && document.getElementById('frmUploadedImage').value =='')
		{			
		
			if(validateForm(document.getElementById(formname).id,'frmBannerTitle', 'Banner Title', 'R', 'frmBannerPosition', 'Banner Position', 'R','frmBannerURL', 'Banner URL', 'isUrl','frmBannerImageName', 'Banner Image', 'R'))
			{
				return true;
			}
			else 
			{
				return false;	
			}
			
		}
		
		else
		{	
			
			if(validateForm(document.getElementById(formname).id,'frmBannerTitle', 'Banner Title', 'R', 'frmBannerPosition', 'Banner Position', 'R','frmBannerURL', 'Banner URL', 'isUrl'))
			{
				return true;
			}
			else 
			{
				return false;	
			}
		}
		
	}
}
/*****************************
Function name : changeAdminBannerSize
Return type : no
Date created : 8 March 2007
Date last modified : 
Author : Prashant Bhardwaj
Last modified by :
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 : showBannerOptions
Return type : boolean
Date created : 22nd October 2007
Date last modified : 22nd October 2007
Author : Sandeep Kumar
Last modified by : Sandeep Kumar
Comments : This function is used to show Banner Options.
User instruction : showBannerOptions(formname)
************************************/
function showBannerOptions(option)
{
	if(option == 'Image')
	{
		document.getElementById('Image').style.display = 'block';
		document.getElementById('HTML').style.display = 'none';
		document.getElementById('BannerField').innerHTML = '<span class="color_red">* </span><strong>Banner Image :</strong>';
		document.getElementById('frmBannerImageName').focus();
	}
	else
	{
		document.getElementById('Image').style.display = 'none';	
		document.getElementById('HTML').style.display = 'block';
		document.getElementById('BannerField').innerHTML = '<span class="color_red">* </span><strong>Banner HTML Code :</strong>';
		document.getElementById('frmBannerHTMLCode').focus();	
	}
}

/*****************************
Function name : validClientLogoForm
Return type : boolean
Date created : 21st October 2008
Date last modified : 21st October 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate admin client logo form
User instruction : validClientLogoForm(formname)
************************************/
function validClientLogoForm(formname)
{
		/*if(document.getElementById('frmClientLogoImageName').value =='' && document.getElementById('frmUploadedImage').value =='')
		{
			if(validateForm(formname,'frmClientLogoCompanyName', 'Company Name', 'R', 'frmClientLogoDescription', 'Description', 'R', 'frmClientLogoURL', 'URL', 'isUrl','frmClientLogoImageName', 'Logo Image', 'R'))
				{
					return true;
				}
				else 
				{
					return false;	
				}
		}
		else
		{*/
			if(validateForm(formname,'frmClientLogoCompanyName', 'Company Name', 'R', 'frmClientLogoURL', 'Site URL', 'isUrl'))
				{
					return true;
				}
				else 
				{
					return false;	
				}
		//}
}

/*****************************
Function name : validateService
Return type : none
Date created : 22rd Oct 2008
Date last modified : 22rd Oct 2008
Author : Ashok Singh Negi
Last modified by :  Ashok Singh Negi
Comments : This function is used to validate the service form
User instruction : validateService(formname)
************************************/
function validateService(formname)
{
if(validateForm(formname,'frmServiceTitle','Service Title','R','frmServiceSEOFriendlyURL','SEO Friendly URL','RisUrl','frmServiceSEOPageTitle','SEO Page Title','R','frmServiceSEODescription','SEO Description','R','frmServiceSEOKeywords','SEO Keywords','R'))
	{  
		return true;
	} 
	else 
	{
		return false;
	}
}

/*****************************
Function name : validateSector
Return type : none
Date created : 23rd Oct 2008
Date last modified : 23rd Oct 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate the sector form
User instruction : validateSector(formname)
************************************/
function validateSector(formname)
{
if(validateForm(formname,'frmSectorTitle','Sector Title','R','frmSectorSEOFriendlyURL','SEO Friendly URL','RisUrl','frmSectorSEOPageTitle','SEO Page Title','R','frmSectorSEODescription','SEO Description','R','frmSectorSEOKeywords','SEO Keywords','R'))
	{  
		return true;
	} 
	else 
	{
		return false;
	}
}

/*****************************
Function name : validateCasestudy
Return type : none
Date created : 23rd Oct 2008
Date last modified : 23rd Oct 2008
Author : Ashok Singh Negi
Last modified by :  Ashok Singh Negi
Comments : This function is used to validate the service form
User instruction : validateService(formname)
************************************/
function validateCasestudy(formname)
{
if(validateForm(formname,'frmCasestudyTitle','Case Study Title','R','frmCasestudySEOFriendlyURL','SEO Friendly URL','RisUrl','frmCasestudySEOPageTitle','SEO Page Title','R','frmCasestudySEODescription','SEO Description','R','frmCasestudySEOKeywords','SEO Keywords','R'))
	{  
		return true;
	} 
	else 
	{
		return false;
	}
}


/*****************************
Function name : validLogoForm(
Return type : boolean
Date created : 24th October 2008
Date last modified : 24th October 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate admin logo form
User instruction : validLogoForm((formname)
************************************/
function validLogoForm(formname)
{
		if(document.getElementById('frmLogoImageName').value =='' && document.getElementById('frmUploadedImage').value =='')
		{
			if(validateForm(formname,'frmLogoTitle', 'Logo Title', 'R', 'frmLogoImageName', 'Logo Image', 'R'))
				{
					return true;
				}
				else 
				{
					return false;	
				}
		}
		else
		{
			if(validateForm(formname,'frmLogoTitle', 'Logo Title', 'R'))
				{
					return true;
				}
				else 
				{
					return false;	
				}
		}
}

/*****************************
Function name : validateMainPage
Return type : none
Date created : 22rd Oct 2008
Date last modified : 22rd Oct 2008
Author : Ashok Singh Negi
Last modified by :  Ashok Singh Negi
Comments : This function is used to validate the service form
User instruction : validateService(formname)
************************************/
function validateMainPage(formname)
{
if(validateForm(formname,'frmMainPageTitle','MainPage Title','R','frmMainPageSEOFriendlyURL','SEO Friendly URL','R','frmMainPageSEOPageTitle','SEO Page Title','R','frmMainPageSEOKeywords','SEO Keywords','R'))
	{  
		return true;
	} 
	else 
	{
		return false;
	}
}

/*****************************
Function name : validateInnerPage
Return type : none
Date created : 25th Oct 2008
Date last modified : 25th Oct 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate the inner page form
User instruction : validateSector(formname)
************************************/
function validateInnerPage(formname)
{
	if(validateForm(formname,'frmInnerPageTitle','InnerPage Title','R','frmInnerPageSEOFriendlyURL','SEO Friendly URL','R','frmInnerPageSEOPageTitle','SEO Page Title','R','frmInnerPageSEOKeywords','SEO Keywords','R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}
}


/*****************************
Function name : validateInnerPage
Return type : none
Date created : 05th Nov 2008
Date last modified : 05th Nov 2008
Author : Charanjeet Singh
Last modified by : Charanjeet Singh
Comments : This function is used to validate the inner page form
User instruction : validateTextSnippet(formname)
************************************/
function validateTextSnippet(formname)
{
	if(validateForm(formname,'frmSnippetTitle','Snippet Title','R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}
}

/*****************************
Function name : validAssingLogoForm
Return type : none
Date created : 07th Nov 2008
Date last modified : 07th Nov 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate assign logo form
User instruction : validAssingLogoForm(formname)
************************************/
function validAssingLogoForm(formname)
{
	 	var MasterString = getMasterString();
		var errorString = '';
		var bolfocus = false;
		
		if(document.getElementById('frmPageType').value == '') 
		 		  {
						  errorString += '- Page Type is required.\n';	 
						  bolfocus = true; 
						  orderElementID = 'frmPageType';	 
				   }
		if(document.getElementById('frmPageID').value == '') 
		 		  {
						  errorString += '- Page Title is required.\n';	
						  if(! bolfocus)
						  {
						  	bolfocus = true; 
						  	orderElementID = 'frmPageID';	 
						  }
				   }
		if(document.getElementById('frmCheckCount').value == '' || document.getElementById('frmCheckCount').value == 0) 
		 		  {
						  errorString += '- Logo is required.\n';	 
						  //bolfocus = true; 
				   }		   
				   
		if(errorString == '')
				{
					return true;  
				}
				else
				{
						alert(MasterString+'\n'+errorString);  
						if(bolfocus)
						{
						 document.getElementById(orderElementID).focus();
						}
						return false;
						
						   
				 }		   
}

/*****************************
Function name : getCheckCount
Return type : none
Date created : 07th Nov 2008
Date last modified : 07th Nov 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to get the count of the logo selected
User instruction : getCheckCount(formname)
************************************/
function getCheckCount(formname, varobj)
{
	if(varobj.checked)
	{
	 	varCount = parseInt(document.getElementById(formname).frmCheckCount.value) + 1;
	 	document.getElementById(formname).frmCheckCount.value = varCount;
	}
	else
	{
		varCount = parseInt(document.getElementById(formname).frmCheckCount.value) - 1;
	 	document.getElementById(formname).frmCheckCount.value = varCount;
	}
	if(varCount > 4)
	{
		alert('Sorry! You can not select more than 4 Logos.');
		varobj.checked = false;
		return false;
	}

}

/*****************************
Function name : validateQuote
Return type : none
Date created : 12th Nov 2008
Date last modified : 12th Nov 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate quote.
User instruction : validateQuote(formname)
************************************/
function validateQuote(formname)
{
	
	if(document.getElementById('frmOldImage').value =='' && document.getElementById('frmImage').value =='')
		{
			if(validateForm(formname,'frmfkInnerPageID','Editorial Title','R', 'frmImage', 'Image', 'R'))
				{
					return true;
				}
				else 
				{
					return false;	
				}
		}
		else
		{
			if(validateForm(formname,'frmfkInnerPageID','Editorial Title','R'))
				{
					return true;
				}
				else 
				{
					return false;	
				}
		}
	
}

/*****************************
Function name : validAssingQuoteForm
Return type : none
Date created : 12th Nov 2008
Date last modified : 12th Nov 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate quote.
User instruction : validAssingQuoteForm(formname)
************************************/
function validAssingQuoteForm(formname)
{
	if(validateForm(formname,'frmPageType','Page Type','R', 'frmfkPageID', 'Page Title', 'R', 'frmfkInnerPageID', 'Editorial Title', 'R', 'fkQuoteID', 'Quote', 'R'))
		{
			return true;
		}
		else 
		{
			return false;	
		}
}




/*****************************
Function name : validateAddFooter
Return type : none
Date created : 14th Nov 2008
Date last modified : 14th Nov 2008
Author : Sharad Agarwal
Last modified by : Sharad Agarwal
Comments : This function is used to validate footer page.
User instruction : validateAddFooter(formname)
************************************/
function validateFooter(formname)
{

	if(validateForm(formname,'frmfooterPage[]','Page Tile','R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}
	
}


/*****************************
Function name : validateHeaderLink
Return type : none
Date created : 15th Nov 2008
Date last modified : 15th Nov 2008
Author : Ashok Sing Negi
Last modified by : Ashok Sing Negi
Comments : This function is used to validate header page.
User instruction : validateHeaderLink(formname)
************************************/
function validateHeaderLink(formname)
{
	if(validateForm(formname,'frmHeaderLinkID[]','Page Tile','R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}
}



/*****************************
Function name : ValidateAssignRightPanel
Return type : none
Date created : 18th Nov 2008
Date last modified : 18th Nov 2008
Author : Sharad Agarwal
Last modified by : Sharad Agarwal
Comments : This function is used to validate Assign Right Panel
User instruction : ValidateAssignRightPanel(formname)
************************************/

function ValidateAssignRightPanel(formname)
{
	
	if(validateForm(formname,'frmPageType','Page Type','R','frmfkPageID','Page Title','R','frmfkRightPanelID','Right Panel','R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}	
	
}

/*****************************
Function name : ValidateAssignLeftPanel
Return type : none
Date created : 24th Nov 2008
Date last modified : 24th Nov 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate Assign Left Panel
User instruction : ValidateAssignLeftPanel(formname)
************************************/

function ValidateAssignLeftPanel(formname)
{
	
	if(validateForm(formname,'frmPageType','Page Type','R','frmfkPageID','Page Title','R','frmfkLeftPanelID','Left Panel','R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}	
	
}


/*****************************
Function name : validateRightPanel
Return type : none
Date created : 18th Nov 2008
Date last modified : 18th Nov 2008
Author : Sharad Agarwal
Last modified by : Sharad Agarwal
Comments : This function is used to validate Right Panel
User instruction : validateRightPanel(formname)
************************************/


function validateRightPanel(formname)
{
		var MasterString = getMasterString();
		var errorString = '';
		var bolfocus = false;
	
	var pageCount = document.getElementById('SnippetCount').value;
	
       if(document.getElementById('frmRightPanelTitle').value == '' && !bolfocus )  
		 		  {
						  errorString += '- Right Panel Title is required.\n';	 
						  bolfocus = true; 
						  orderElementID = 'frmRightPanelTitle';	 
				   }
   for(var i=0;i<=pageCount;i++)
   {
	   
	   if(document.getElementById('frmSequence['+i+']'))
	   {
	   
			   if(document.getElementById('frmSequence['+i+']').value ==''  && !bolfocus  )
			   {	
					  errorString += '- Order Sequence is required.\n';
					  if(!bolfocus)
					  {
						bolfocus = true; 
						orderElementID = 'frmSequence['+i+']';
					  }
			   }
			 else if(document.getElementById('frmSequence['+i+']').value != ''  && document.getElementById('frmSequence['+i+']')  && !bolfocus)
				{
		
				  var regNumeric = /^([0-9]+)$/;
				  var  val = document.getElementById('frmSequence['+i+']').value;
					if(!regNumeric.test(val))
						{
						  errorString += '- Order Sequence must contain a number.\n';	 
						  if(!bolfocus)
							{
							  bolfocus = true; 
							  orderElementID = 'frmSequence['+i+']';
							}
						}
		
				}   
		}
	   
	  
	    if(document.getElementById('frmMainId['+i+']'))
		 {	 
				if(document.getElementById('frmMainId['+i+']').value == '' && !bolfocus)
				{
				  errorString += '- Page Title is required.\n';	
				  if(!bolfocus)
			      {
					  bolfocus = true; 
					  orderElementID = 'frmMainId['+i+']';
				  }
				
				}
		 }
	   
	   
	   
	   
	   
	   
	   

   }
   


   if(errorString == '')
	{
		return true;  
	}
	else
	{
			alert(MasterString+'\n'+errorString);  
			if(bolfocus)
			{
			 document.getElementById(orderElementID).focus();
			}
			return false;
				   
	 }
   

   
}


/*****************************
Function name : validateContactForm
Return type : none
Date created : 28th Nov 2008
Date last modified : 28th Nov 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate Contact form front end
User instruction : validateContactForm(formname)
************************************/
function validateContactForm(formname)
{
	if(validateForm(formname, 'frmTitle','Title','R', 'frmFirstName','First Name','R','frmLastName','Last Name','R', 'frmOrganisation', 'Organisation', 'R', 'frmEmail', 'Email', 'RisEmail', 'frmTelephone', 'Telephone', 'R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}
}
/*****************************
Function name : validateIntantQuoteForm
Return type : none
Date created : 20th December 2008
Date last modified : 20th December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate Instant Quote form
User instruction : validateIntantQuoteForm(formname)
************************************/
function validateIntantQuoteForm(formname)
{
	if(document.getElementById('estimate').style.display == 'none')
	{
		if(validateForm(formname, 'frmService','Service','R', 'frmFromLanguage','From Language','R','frmIntoLanguage','Into Language','R', 'frmQuantity', 'Quantity', 'RisNumeric'))
		{
			document.getElementById('instanQuoteForm').method = 'POST';
			document.getElementById('instanQuoteForm').action = document.getElementById('FormAction').value;
			document.getElementById('instanQuoteForm').submit();
		} 
		else 
		{
			return false;
		}
	}
	/*else if(document.getElementById('estimate').style.display == 'block')
	{
		if(validateForm(formname, 'frmService','Service','R', 'frmFromLanguage','From Language','R','frmIntoLanguage','Into Language','R', 'frmQuantity', 'Quantity', 'RisNumeric',  'frmOrderUserTitle','Title','R', 'frmOrderUserName','Name','R','frmOrderUserSurName','Surname','R', 'frmOrderUserEmail', 'Email', 'RisEmail', 'frmOrderUserConfirmEmail', 'Confirm Email', 'RisEqualfrmOrderUserEmail:Email'))
		{
			document.getElementById('instanQuoteForm').method = 'POST';
			document.getElementById('instanQuoteForm').action = '/estimate';
			document.getElementById('instanQuoteForm').submit();
		} 
		else 
		{
			return false;
		}
	}*/
}

/*****************************
Function name : validateIntantQuoteForm
Return type : none
Date created : 20th December 2008
Date last modified : 20th December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate Instant Quote form
User instruction : validateIntantQuoteForm(formname)
************************************/
function validateIntantQuoteFrm(formname)
{
	if(validateForm(formname, 'frmService','Service','R', 'frmFromLanguage','From Language','R','frmIntoLanguage','Into Language','R', 'frmQuantity', 'Quantity', 'RisNumeric'))
		{
			return true;
		} 
		else 
		{
			return false;
		}
}
/*****************************
Function name : validateOrderForm
Return type : none
Date created : 23rd December 2008
Date last modified : 23rd December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate order form from front end
User instruction : validateOrderForm(formname)
************************************/
function validateOrderForm(formname)
{
	if(validateForm(formname, 'frmOrderUserTitle','Title','R', 'frmOrderUserName','Name','R','frmOrderUserSurName','Surname','R', 'frmOrderUserEmail', 'Email', 'RisEmail', 'frmOrderUserConfirmEmail', 'Confirm Email', 'RisEqualfrmOrderUserEmail:Email'))
		{  
			document.getElementById('OrderFrom').submit();
		} 
		else 
		{
			return false;
		}
}

/*****************************
Function name : validateEmailForm
Return type : none
Date created : 23rd December 2008
Date last modified : 23rd December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate email form 
User instruction : validateEmailForm(formname)
************************************/
function validateEmailForm(formname)
{
	if(validateForm(formname, 'frmToEmail', 'To', 'RisEmail', 'frmFromEmail', 'From', 'RisEmail', 'frmMessage', 'Message', 'R'))
	{  
		document.getElementById('emailfrm').action = 'send_mail_action.html';
		document.getElementById('emailfrm').method = 'post';
		document.getElementById('emailfrm').submit();
	} 
	else 
	{
		return false;
	}
}

/*****************************
Function name : chageSortOrder
Return type : none
Date created : 23rd December 2008
Date last modified : 23rd December 2008
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to submit the form
User instruction : chageSortOrder(varSortOrder, varID)
************************************/
function chageSortOrder(varSortOrder, varID)
{
	document.getElementById('frmChangeSortOrderValue').value = varSortOrder;
    document.getElementById('frmChangeSortOrderInnerPageId').value = varID;
	document.forms[1].submit();
	return true;  
}

/*****************************
Function name : validateSearchKeyword
Return type : none
Date created : 17th February 2009
Date last modified : 17th February 2009
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate search keyword seach form the form
User instruction : validateSearchKeyword(formname)
************************************/
function validateSearchKeyword(formname)
{
	if(validateForm(formname, 'frmSearchKeywordFequency', 'SearchKeyword Frequency', 'isNumeric'))
	{  
		return dateCompare(formname);
	} 
	else 
	{
		return false;
	}
}

/*****************************
Function name : validateResponseEmail
Return type : none
Date created : 17th February 2009
Date last modified : 17th February 2009
Author : Ashok Singh Negi
Last modified by : Ashok Singh Negi
Comments : This function is used to validate response email edit form
User instruction : validateResponseEmail(formname)
************************************/
function validateResponseEmail(formname)
{
	if(validateForm(formname,'frmEmailTemplateSubject','Response Email Subject','R'))
		{  
			return true;
		} 
		else 
		{
			return false;
		}
}