/*********************************************************************
Author			: L.K.Lalitesh
Project			: 
Purpose			: This page contains some common javascript functions use to validate forms
Method			: checkNumericVals      => validate for numeric numbers only
				  objChecked		    => check if a checkbox is checked or not
				  fn_ValidateZipPhone   => validate zip/phone for a fixed no. of characters
				  CheckConfirmPassword  => matches the password and confirm password
				  CheckAll			=> Used to check a set of checkboxes
				  fnRemoveSpaces		=> Used to remove spaces from the string
				  fnFixSpace			=> Used to remove spaces
				  ValidateEMail			=> Used to validate an email address
				  changeCase			=> Changes first letter to upper case and other to lower case
				  ValidateForm			=> Validate form controls 
				 	
Organization	: Olive E-Business Pvt. Ltd
Created On		: Sept 20, 2005

*********************************************************************/

var sInvalidChars
sInvalidChars = "1234567890";
var iTotalChecked = 0;

//variables added to allow spaces and plus sign validation for phone and faxes
var iAllowPlus  = 0;
var iAllowSpace = 1;



//All Function relevent to the user registration goes here...........
var reg_leisureChecked = 0;
var reg_sportsChecked = 0;
var reg_holidayChecked = 0;
var reg_foodChecked = 0;
var reg_luxuryChecked = 0;
var reg_musicChecked = 0;
var reg_goingOutChecked = 0;
var reg_tvFilmsChecked = 0;

function reg_OnInterestOptionCheck(section,obj)
{
	switch(section)
	{
		case "leisure":
			if(obj.checked)
				reg_leisureChecked = reg_leisureChecked + 1
			else
				reg_leisureChecked = reg_leisureChecked - 1
		break;
		
		case "sports":
			if(obj.checked)
				reg_sportsChecked = reg_sportsChecked + 1
			else
				reg_sportsChecked = reg_sportsChecked - 1
		break;
		
		case "holiday":
			if(obj.checked)
				reg_holidayChecked = reg_holidayChecked + 1
			else
				reg_holidayChecked = reg_holidayChecked - 1
		break;
		
		case "food":
			if(obj.checked)
				reg_foodChecked = reg_foodChecked + 1
			else
				reg_foodChecked = reg_foodChecked - 1
		break;
		
		case "luxury":
			if(obj.checked)
				reg_luxuryChecked = reg_luxuryChecked + 1
			else
				reg_luxuryChecked = reg_luxuryChecked - 1
		break;
		
		case "music":
			if(obj.checked)
				reg_musicChecked = reg_musicChecked + 1
			else
				reg_musicChecked = reg_musicChecked - 1
		break;
		
		case "goingOut":
			if(obj.checked)
				reg_goingOutChecked = reg_goingOutChecked + 1
			else
				reg_goingOutChecked = reg_goingOutChecked - 1
		break;
		
		case "tvFilms":
			if(obj.checked)
				reg_tvFilmsChecked = reg_tvFilmsChecked + 1
			else
				reg_tvFilmsChecked = reg_tvFilmsChecked - 1
		break;
		
	}
	
}

//function to keep a countdown of the no. of characters entered in the textarea/textfield
function textCounter(theField,maxChars,fieldname)
{
	var strTemp = "";
	var strCharCounter = 0;
	var currentLength = theField.value.length;
	if(currentLength>maxChars)
	{
		alert("You are not allowed to enter more than "+maxChars+" characters in "+fieldname+". Your text has been truncated.")
		theField.value = theField.value.substring(0, maxChars);		
		return false;
	}
	else
	{
		for (var i = 0; i < theField.value.length; i++)
		{
			var strChar = theField.value.substring(i, i + 1);
			if (strChar == '\n')
			{
				strTemp += strChar;
				strCharCounter = 1;
				
			}
			else
			{
				strTemp += strChar;
				strCharCounter ++;
			}
		}
		var remainingChars = maxChars - strTemp.length;
		var string = "Countdown "+remainingChars;
		
	}
}
//function to check whether the email and confirm email are same or not
function checkConfirmEmail(emailObj,confirmEmailObj)
{
	if(emailObj.value!=confirmEmailObj.value)
	{
		alert("Email Address and Confirm Email Address don't match!")
		confirmEmailObj.focus();
		return false;
	}
}

//function to check whether no. of characters typed exceed the no. of characters allowed
function checkMaxLength(obj, maxChar,fldName)
{
	
	if(obj.value.length>1 && obj.value.length>maxChar)
	{
		alert("You are not allowed to enter more than "+maxChar+" characters in the "+fldName+" field. Your text has been truncated.")
		obj.value = obj.value.substring(0, maxChar);
		return false;
	}
}

//function to check whether no. of characters typed is less than the min. characters allowed
function checkMinLength(obj, minChar,fldName)
{
	var objVal = fnFixSpace(obj.value);
	if(objVal.length>1 && objVal.length<minChar)
	{
		alert(fldName+" should have at least "+ minChar+" characters.")
		return false;
	}
	if(objVal.length==0)
	{
		obj.value="";
	}
}

//This function validates the date taking date and format as parameters
function isValidDate(dateStr, format)
{
   if (format == null) { format = "MDY"; }
   format = format.toUpperCase();
   if (format.length != 3) { format = "MDY"; }
   if ((format.indexOf("M") == -1) || (format.indexOf("D") == -1) || (format.indexOf("Y") == -1)) { format = "MDY"; }
   if (format.substring(0, 1) == "Y") { // If the year is first
	 var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
	 var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
   } else if (format.substring(1, 2) == "Y") { // If the year is second
	 var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
	 var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
   } else { // The year must be third
	 var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
	 var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   }
   // If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
   if ((reg1.test(dateStr) == false) && (reg2.test(dateStr) == false)) { return false; }
   var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
   // Check to see if the 3 parts end up making a valid date
   if (format.substring(0, 1) == "M") { var mm = parts[0]; } 
   else if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
   if (format.substring(0, 1) == "D") { var dd = parts[0]; } 
   else if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } 
   else if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
   var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
   if (parseFloat(dd) != dt.getDate()) { return false; }
   if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
   return true;
}
	
function checkNumericVals(objV,  msg)
{
	for(var i = 0;i < sInvalidChars.length;i++)
	{
		if(objV.value.indexOf(sInvalidChars.charAt(i))!= -1)
		{
			alert(msg);
			objV.focus();
			return false;
		}
	}
	return true;
}//end of the function


totalDocumentsSelected = 0;
function objChecked(obj,checkAllObj,formObj)
{ 
	if(obj.checked)
	{
		iTotalChecked = iTotalChecked + 1
	}
	else
	{
		iTotalChecked = iTotalChecked - 1
		if(checkAllObj!="")
		checkAllObj.checked= false;
	}
	
}//end of the function




function fn_ValidateZipPhone(obj, iLen, sMsg)
{
	if(obj.value.length < iLen)
	{
		alert(sMsg);
		obj.select();
		obj.focus();
		return false;
	}
	return true;
}//end of the function



function fnRemoveSpaces(sFldval)
{
	var sTemp = sFldval;
	var sNewval = sTemp;
	for(var i = 0;i < sTemp.length;i++)
	{	
		if(sTemp.charAt(i)!= " ")
			break;
		else
			sNewval = sTemp.substring(i+1);
	}
	return sNewval;
}//end of the function


//Purpose	: This function is used to remove spaces. 
//Arguments : text field object value
function fnFixSpace(sFldval)
{
	
	var sTemp = sFldval;
	  var sReversedString = "";
	  var sTemp1;
	  
	  //remove spaces from the front
	  sNewval = fnRemoveSpaces(sTemp);
	  
	  // reverse n remove spaces from the front
	  for(var i = sNewval.length-1;i >= 0;i--)
		sReversedString = sReversedString + sNewval.charAt(i);
	sTemp1 = fnRemoveSpaces(sReversedString);
	//reverse again
	sReversedString = "";
	for(var i = sTemp1.length-1;i >= 0;i--)
		sReversedString = sReversedString + sTemp1.charAt(i);
	sNewval = sReversedString;
	return sNewval;
}


//Purpose	: This function is used to validate email. 
//Arguments : Email object
function ValidateEMail(objName)
{
	var sobjValue;
	var iobjLength;
	
	sobjValue = objName;
	iobjLength = sobjValue.length;
	iFposition = sobjValue.indexOf("@");
	iSposition = sobjValue.indexOf(".");
	iTmp = sobjValue.lastIndexOf(".");	
	iPosition = sobjValue.indexOf(",");
	iPos = sobjValue.indexOf(";");
	
	if (iobjLength != 0)
	{
		if ((iFposition == -1)||(iSposition == -1))
		{
			return false;
		}
		else if(sobjValue.charAt(0) == "@" || sobjValue.charAt(0) == ".")
		{
			return false;				
		}
		else if(sobjValue.charAt(iobjLength) == "@" ||
			sobjValue.charAt(iobjLength) == ".")
		{
			return false;				
		}	
		else if((sobjValue.indexOf("@",(iFposition+1))) != -1)
		{	
			return false;
		}
		else if ((iobjLength - (iTmp + 1) < 2)||(iobjLength - (iTmp + 1) > 5))
		{
			return false;
		}
		else if ((iPosition != -1) || (iPos != -1))
		{
			return false;
		}
		else
		{
			return true;
		}		
	}		
}

/*--------------------------------------------------------------------------------------
	this sub routine checks for the mandatory fields, their data types and maximum length
	also validates valid email entered or not
	Return : True/False
	Input : objFrm ( form object name)
	**** new validateForm that check numerics in first name, last name etc  ---TRC,TLN  ,,      PHR, PHN -  phone numbers along with hyper and spaces , 
----------------------------------------------------------------------------------------*/
function ValidateForm(objFrm)
{
	var iConventionPos;
	var sChangedName;

	for( var i = 0; i < objFrm.length;i++)
	{
		if(objFrm[i].type =='text' || objFrm[i].type == 'textarea' || objFrm[i].type == 'select-one' || objFrm[i].type == 'select-multiple' || objFrm[i].type == 'password')
		{
			if(objFrm[i].type == 'text' || objFrm[i].type == 'textarea' || objFrm[i].type == 'password')
				objFrm[i].value = fnFixSpace(objFrm[i].value);

			var objDataTypeHolder = objFrm[i].name.substring(0,3);
			
			if(objFrm[i].name.substring(0,4) == 'TRC_')
					objDataTypeHolder = objFrm[i].name.substring(0,4);
			if(objFrm[i].name.substring(0,4) == 'TNC_')
					objDataTypeHolder = objFrm[i].name.substring(0,4);
			if(objFrm[i].name.substring(0,4) == 'TLN_')
					objDataTypeHolder = objFrm[i].name.substring(0,4);
			if(objFrm[i].name.substring(0,5) == 'TRFN_')
					objDataTypeHolder = objFrm[i].name.substring(0,5);
			if(objFrm[i].name.substring(0,5) == 'TNFN_')
					objDataTypeHolder = objFrm[i].name.substring(0,5);
			if(objFrm[i].name.substring(0,6) == 'TRURL_')
					objDataTypeHolder = objFrm[i].name.substring(0,6);
			if(objFrm[i].name.substring(0,6) == 'TNURL_')
					objDataTypeHolder = objFrm[i].name.substring(0,6);
			if(objFrm[i].name.substring(0,5) == 'TREF_' || objFrm[i].name.substring(0,5) == 'TNEF_')
				objDataTypeHolder = objFrm[i].name.substring(0,5);
			
			if(objFrm[i].name.substring(0,6) == 'TRNSC_' || objFrm[i].name.substring(0,6) == 'TNNSC_')
				objDataTypeHolder = objFrm[i].name.substring(0,6);
			
			if(objFrm[i].name.substring(0,4) == 'TRD_' || objFrm[i].name.substring(0,6) == 'TND_')
				objDataTypeHolder = objFrm[i].name.substring(0,4);		

			if((objFrm[i].type == 'select-one' && objFrm[i].options[objFrm[i].selectedIndex].value == '' && objDataTypeHolder == "TR_"))
			{
				sChangedName = objFrm[i].name.substring(3);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please select "+ sChangedName +".");
				objFrm[i].focus();
				return false;
				break;
			}
			
			// This is coding for multiple select list boxes 
			if(objFrm[i].type == 'select-multiple' && objDataTypeHolder == "TR_")
			{
				var optselected = false;
				for(var j = 0;j < objFrm[i].length;j++) 
				{
					if(objFrm[i].options[j].selected == true)
					{
						optselected = true;
						break;
					}
				}
				
				if(optselected == false) 
				{
					sChangedName = objFrm[i].name.substring(3);
					sChangedName = getFormattedmsg(sChangedName);
					alert("Please select "+ sChangedName +".");
					objFrm[i].focus();
					return false;
					break;
				}
			}

			
			if(objFrm[i].type=='password' && objFrm[i].value!='' && objFrm[i].value.indexOf(" ")!=-1)
			{
				alert("Spaces are not allowed in password.");
				objFrm[i].select();
				return false;
				break;
			}
			if(objFrm[i].type=='password' && objFrm[i].name=='TR_Confirm_Password' && objFrm[i].value!=objFrm.TR_Password.value)
			{
				alert("New Password and Confirm Password do not match.");
				objFrm[i].select();
				return false;
				break;
			}
			if(objFrm[i].type=='password' && objFrm[i].name=='TN_Confirm_Password' && objFrm[i].value!=objFrm.TN_Password_temp.value)
			{
				alert("New password and Confirm Password do not match.");
				objFrm[i].select();
				return false;
				break;
			}
			
			if(objFrm[i].name=='TREF_Confirm_Email' && objFrm[i].value!=objFrm.TREF_Email.value)
			{
				alert("Email and Confirm Email do not match.");
				objFrm[i].select();
				return false;
				break;
			}
			if(objFrm[i].name=='TNEF_Confirm_Email' && objFrm[i].value!=objFrm.TNEF_Email.value)
			{
				alert("Email and Confirm Email do not match.");
				objFrm[i].select();
				return false;
				break;
			}
			
			if((objDataTypeHolder == "TR_" || objDataTypeHolder == "TRC_" || objDataTypeHolder == "TRFN_" || objDataTypeHolder == "TL_" ||objDataTypeHolder == "IR_" || objDataTypeHolder == "MR_"  )&& (objFrm[i].value == ''))
			{	
				
				if(objDataTypeHolder == "TRC_")
					sChangedName = objFrm[i].name.substring(4);
				else
					sChangedName = objFrm[i].name.substring(3);

				if(objDataTypeHolder == "TRFN_")
					sChangedName = objFrm[i].name.substring(5);
				else
					sChangedName = objFrm[i].name.substring(3);


				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter "+ sChangedName +".");
				objFrm[i].focus();
				return false;
				break;
			}

			if((objDataTypeHolder == "TR_" ||  objDataTypeHolder == "TRC_" || objDataTypeHolder == "TRFN_" || objDataTypeHolder == "TL_" ||objDataTypeHolder == "IR_" || objDataTypeHolder == "MR_"  )&& (objFrm[i].value==''))
			{	
				if(objDataTypeHolder == "TRC_")
					sChangedName = objFrm[i].name.substring(4);
				else
					sChangedName = objFrm[i].name.substring(3);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter "+ sChangedName +".");
				objFrm[i].focus();
				return false;
				break;
			}

			if((objDataTypeHolder == "TRNSC_"  )&& (objFrm[i].value == ''))
			{	
				sChangedName = objFrm[i].name.substring(6);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter "+ sChangedName +".");
				objFrm[i].focus();
				return false;
				break;
			}
			
			
			if((objDataTypeHolder == "TRNSC_" || objDataTypeHolder == "TNNSC_"  )&& (objFrm[i].value != ''))
			{	
				sChangedName = objFrm[i].name.substring(6);
				sChangedName = getFormattedmsg(sChangedName)
				var invalidChars = /[\/\\:*?"'<>|]/
				if(invalidChars.test(objFrm[i].value)) {
					alert("Special Characters like / \\ ' : * ? \" < > | are not allowed in "+sChangedName);
					objFrm[i].focus();
					return false;
					break;
				} 
			}
			
			if((objDataTypeHolder == "TRD_"  )&& (objFrm[i].value == ''))
			{	
				sChangedName = objFrm[i].name.substring(4);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter "+ sChangedName +".");
				objFrm[i].focus();
				return false;
				break;
			}
			
			if((objDataTypeHolder == "TRD_" || objDataTypeHolder == "TND_"  )&& (objFrm[i].value != ''))
			{	
				sChangedName = objFrm[i].name.substring(4);
				sChangedName = getFormattedmsg(sChangedName)
				var dateValue = objFrm[i].value;
				if(!isValidDate(dateValue,'DMY')) {
					alert("Please enter a valid date either in dd-mm-yyyy or dd/mm/yyyy format.");
					objFrm[i].focus();
					return false;
					break;
				} 
			}
			
			if(objDataTypeHolder == "TRC_" && objFrm[i].value != '')
			{
				bb11 = objFrm[i].value.length;
				x = objFrm[i].value;
				for( p = 0;p < bb11;p++)
				{
					z = x.substring(p,p+1);
					if (  (z >= "1" && z <= "9") || (bb11 > 30 )||z == '"' || z == "'")
						{
							sChangedName = objFrm[i].name.substring(4);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Please enter correct "+ sChangedName +".");
							objFrm[i].focus();
							objFrm[i].select();
							return false;
						}
				}
			}

			if(objDataTypeHolder == "TNC_" && objFrm[i].value != '')
			{
				bb11 = objFrm[i].value.length;
				x = objFrm[i].value;
				for( p = 0;p < bb11;p++)
				{
					z = x.substring(p,p + 1);
					if (  (z  >= "1" && z <= "9") || (bb11 > 30 )||z == '"' || z == "'")
						{
							sChangedName = objFrm[i].name.substring(4);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Please enter correct "+ sChangedName +".");
							objFrm[i].focus();
							objFrm[i].select();
							return false;
						}
				}
			}

			if((objDataTypeHolder == "TL_" || objDataTypeHolder == "TLN_")&& objFrm[i].value != '')
			{
				bb11 = objFrm[i].value.length;
				x = objFrm[i].value;
				for( p = 0;p < bb11;p++)
				{
					z = x.substring(p,p + 1);
//					alert(z);
					if (  isNaN(z) && z != '-' && z != " ")
						{
							sChangedName = objFrm[i].name.substring(3);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Only numbers, space & - are allowed in "+ sChangedName +".");
							objFrm[i].focus();
							objFrm[i].select();
							return false;
						}
				}
			}

			if(objDataTypeHolder == "TREF_" && objFrm[i].value == '')
			{
				sChangedName = objFrm[i].name.substring(5);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter "+ sChangedName +".");
				objFrm[i].focus();
				objFrm[i].select();
				return false;
				break;
			}

			if((objDataTypeHolder == "IR_" || objDataTypeHolder == "MR_" )&& (isNaN(objFrm[i].value)))
			{
				sChangedName = objFrm[i].name.substring(3);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter numeric value in "+ sChangedName +".");
				objFrm[i].focus();
				objFrm[i].select();
				return false;
				break;
			}
			if((objDataTypeHolder == "IR_" || objDataTypeHolder == "MR_" )&& (objFrm[i].value < 0))
			{
				alert("sdsd");
				sChangedName = objFrm[i].name.substring(3);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter valid "+ sChangedName +".");
				objFrm[i].focus();
				objFrm[i].select();
				return false;
				break;
			}

			if((objDataTypeHolder == "IN_" || objDataTypeHolder == "MN_" )&& (isNaN(objFrm[i].value) && objFrm[i].value != '' ))
			{
				sChangedName = objFrm[i].name.substring(3);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter numeric "+ sChangedName +".");
				objFrm[i].focus();
				objFrm[i].select();
				return false;
				break;
			}

			if((objDataTypeHolder == "IN_" || objDataTypeHolder == "MN_" )&& (objFrm[i].value < 0 && objFrm[i].value != ''))
			{
				sChangedName = objFrm[i].name.substring(3);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter valid "+ sChangedName +".");
				objFrm[i].focus();
				objFrm[i].select();
				return false;
				break;
			}
			
			if((objDataTypeHolder == "MNX_" )&& (objFrm[i].value < 0 && objFrm[i].value != ''))
			{
				sChangedName = objFrm[i].name.substring(3);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter valid "+ sChangedName +".");
				objFrm[i].focus();
				objFrm[i].select();
				return false;
				break;
			}

			if((objDataTypeHolder == "IR_" || objDataTypeHolder == "IN_" ) && (objFrm[i].value.indexOf(".") != -1))
			{
				sChangedName = objFrm[i].name.substring(3);
				sChangedName = getFormattedmsg(sChangedName)
				alert("Please enter valid "+ sChangedName +".");
				objFrm[i].focus();
				objFrm[i].select();
				return false;
				break;
			}

			if((objDataTypeHolder == "TREF_") || (objDataTypeHolder == "TNEF_" && objFrm[i].value != '' ))
			{
				if(!ValidateEMail(objFrm[i].value))
				{
					sChangedName = objFrm[i].name.substring(5);
					sChangedName = getFormattedmsg(sChangedName)
					alert("Please enter valid "+ sChangedName);

//					alert("Please enter valid email.");
					objFrm[i].focus();
					objFrm[i].select();
					return false;
					break;
				}
			}


			//ValidateNumber(objName)
			if((objDataTypeHolder == "MR_") || (objDataTypeHolder == "MN_" && objFrm[i].value != '' ))
			{
				if(!ValidatePrice(objFrm[i].value))
				{
					sChangedName = objFrm[i].name.substring(3);
					sChangedName = getFormattedmsg(sChangedName)
					alert("Please enter valid "+ sChangedName +".");
					//alert("Please enter valid email.");
					objFrm[i].focus();
					objFrm[i].select();
					return false;
					break;
				}
			}

			if((objDataTypeHolder == "NR_"))
			{
				if(!ValidateNumber(objFrm[i].value))
				{
					objFrm[i].focus();
					return false;
					break;
				}
			}			

			if(objDataTypeHolder == "PHR")
			{
				var val = objFrm[i].value;
				if (val != "")
				{
					for(var j = 0; j < val.length;j++)
					{
						//The following can be used to validate phone numbers that start with +
						//Phone start with + sign
						if(val.charAt(0)!='+' && iAllowPlus==1)
						{
							sChangedName = objFrm[i].name.substring(4);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Please enter valid "+ sChangedName +". Example '+1234567'");
							objFrm[i].focus();
							objFrm[i].select();
							return false;
							break;
						}

						if((val.charAt(j) != '(')&&(val.charAt(j) != ')') &&(val.charAt(j)!="-") &&(val.charAt(j)!=" ") && !((val.charAt(j)>=0)&&(val.charAt(j)<=9)))
						{
							if(j == 0 && iAllowPlus == 1) 
							{
								//Nothing to do
							}
							else
							{
								sChangedName = objFrm[i].name.substring(4);
								sChangedName = getFormattedmsg(sChangedName)
								alert("Special characters other than ( ) - are not allowed in "+sChangedName+".");
								//alert("Enter your "+ sChangedName +" with no special chars other than ( ) - ");

	//							alert("Please enter valid Phone Number");
								objFrm[i].focus();
								objFrm[i].select();
								return false;
								break;
							}
						}

						
					}
				}
				else
				{
					sChangedName = objFrm[i].name.substring(4);
					sChangedName = getFormattedmsg(sChangedName)
					alert("Please Enter "+ sChangedName +".");

//					alert("Please Enter Phone Number");
					objFrm[i].focus();
					objFrm[i].select();
					return false;
					break;
				}
			}



			//ValidateNumber(objName)
			if((objDataTypeHolder == "NR_"))
			{
				if(!ValidateNumber(objFrm[i].value))
				{
					objFrm[i].focus();
					return false;
					break;
				}
				if(parseFloat(objFrm[i].value) <= 0)
				{
					objFrm[i].focus();	
					alert('Price should be greater then 0');
					return false;
				}
			}

			if(objDataTypeHolder == "PHN")
			{
				var val=objFrm[i].value;
				if (val!="")
				{
					for(var j = 0; j < val.length;j++)
					{
						//Phone start with + sign
						if(val.charAt(0)!='+' && iAllowPlus == 1)
						{
							sChangedName = objFrm[i].name.substring(4);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Please enter valid "+ sChangedName +". Example '+1234567'");
							objFrm[i].focus();
							objFrm[i].select();
							return false;
							break;
						}


						if((val.charAt(j)!='(')&&(val.charAt(j)!=')')&&(val.charAt(j)!="-")&&(val.charAt(j)!=' ')&& !((val.charAt(j)>=0)&&(val.charAt(j)<=9)))
						{
							if(j == 0 && iAllowPlus == 1) 
							{
								//Nothing to do
							}
							else
							{
								sChangedName = objFrm[i].name.substring(4);
								sChangedName = getFormattedmsg(sChangedName)
								alert("Please enter valid "+ sChangedName +".");

	//							alert("Please enter valid Phone Number");
								objFrm[i].focus();
								objFrm[i].select();
								return false;
								break;
							}
						}

						if(val.charAt(j) == ' ' && iAllowSpace == 0)
						{
							sChangedName = objFrm[i].name.substring(4);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Please do not enter spaces in "+ sChangedName +".");

//							alert("Please enter valid Phone Number");
							objFrm[i].focus();
							objFrm[i].select();
							return false;
							break;
						}
					}
				}				
			}

			if((objDataTypeHolder == "TRURL_") )
			{
				sChangedName = objFrm[i].name.substring(6);
				sChangedName = getFormattedmsg(sChangedName)
				if(objFrm[i].value == "")
				{
					alert("Please enter "+ sChangedName +".");

//					alert("Link cannot be left blank");
					objFrm[i].focus();
					objFrm[i].select();
					return false;
					break;
				}
				//alert(isURL(objFrm[i].value));
				if(!isURL(objFrm[i].value,sChangedName))
				{
					objFrm[i].focus();
					objFrm[i].select();
					return false;
					break;
				}
			}

			if((objDataTypeHolder == "TNURL_") )
			{
				sChangedName = objFrm[i].name.substring(6);
				sChangedName = getFormattedmsg(sChangedName)
				if(objFrm[i].value != "")
				{
					//alert(isURL(objFrm[i].value));
					if(!isURL(objFrm[i].value,sChangedName))
					{
						objFrm[i].focus();
						objFrm[i].select();
						return false;
						break;
					}
				}
			}


		if((objDataTypeHolder == "TRFN_"))
			{
				sChangedName = objFrm[i].name.substring(5);
				sChangedName = getFormattedmsg(sChangedName)
				if(!onlyString(objFrm[i].value))
				{
					alert("Please enter valid "+ sChangedName +".");
					objFrm[i].focus();
					objFrm[i].select();
					return false;
					break;
				}	
			}

		if((objDataTypeHolder == "TNFN_") )
			{
				sChangedName = objFrm[i].name.substring(5);
				sChangedName = getFormattedmsg(sChangedName)
				if(objFrm[i].value != "")
				{
					if(!onlyString(objFrm[i].value))
					{
						alert("Please enter valid "+ sChangedName +".");
						objFrm[i].focus();
						objFrm[i].select();
						return false;
						break;
					}
				}
			}

			//validate fax number
			if(objDataTypeHolder == "FXR_")
			{
				var val=objFrm[i].value;
				if (val!="")
				{
					for(var j = 0; j < val.length;j++)
					{
						//Fax start with + sign
						if(val.charAt(0) != '+' && iAllowPlus == 1)
						{
							sChangedName = objFrm[i].name.substring(4);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Please enter valid "+ sChangedName +". Example '+1234567'");
							objFrm[i].focus();
							objFrm[i].select();
							return false;
							break;
						}

						if((val.charAt(0)!='+')&&(val.charAt(j)!='(')&&(val.charAt(j)!=')')&&(val.charAt(j)!="-")&&(val.charAt(j)!=" ")&& !((val.charAt(j)>=0)&&(val.charAt(j)<=9)))
						{
							if(j == 0 && iAllowPlus == 1 ) 
							{
								//Nothing to do
							}
							else
							{
								sChangedName = objFrm[i].name.substring(4);
								sChangedName = getFormattedmsg(sChangedName)
								//alert("Please enter valid "+ sChangedName +".");
								alert("Enter your "+ sChangedName +" with no special chars other than ( ) - +");
								objFrm[i].focus();
								objFrm[i].select();
								return false;
								break;
							}
						}
						
					}
				}
				else
				{
					sChangedName = objFrm[i].name.substring(4);
					sChangedName = getFormattedmsg(sChangedName)
					alert("Please Enter "+ sChangedName +".");
					objFrm[i].focus();
					objFrm[i].select();
					return false;
					break;
				}
			}
			//end of fax number
/////////////////////////////////////////////////////////////////////////////
		}
	}
	return true;
}


function ValidateImg(objName,objImg, isRequired)
{
	if(isRequired == 1 && objImg.value == '')
	{
		alert("Please select the "+objName+" using browse button");
		//objImg.focus();
		return false;
	}
	if(objImg.value.length!=0)
	{
		if(objImg.value.length<5)
		{
			alert("Please select valid "+objName+".");
			//objImg.focus();
			//objImg.select();
			return false;
		}
		var iPos = objImg.value.lastIndexOf(".")
		var sExt = objImg.value.substring(iPos);
//		if((sExt.toUpperCase()=='.JPEG') || (sExt.toUpperCase()=='.JPG') || (sExt.toUpperCase()=='.GIF') || (sExt.toUpperCase()=='.BMP') )
		if((sExt.toUpperCase()=='.JPEG') || (sExt.toUpperCase()=='.JPG'))
		{
			return true;
		}
		else
		{
			alert("Please select valid "+objName+". Only JPEG/JPG images are allowed.");
			//objImg.focus();
			//objImg.select();
			return false;
		}
	}
	return true;
}



function ValidateNumber(objName)
{
	
	var h;
	var x;
	
	h=objName.length;
	x = objName;
	if (h==0)
	{
		alert("Price cannot be left blank");
		return false;
	}			
	for( i=0;i<h;i++)
	{
		z = x.substring(i,i+1);
		if ( z=="'"||z=='"' || (z >= "a" && z <= "z" ) || (z >= "A" && z <= "Z") )
		{
			alert("Price Can be numeric only");
			return false;
		}			
	}
	jj=x.indexOf(".");
	if (jj != "-1") 
		{
		hh=x.substring(jj);
		ll=hh.length;
		if (ll > 3) 
			{
			alert("Price Can have upto 2 decimal places");
			return false;
			}
		}
	return true;
	
}




function getFormattedmsg(sVal)
{
	while(sVal.indexOf("_")!=-1)
	{
		sVal = sVal.replace("_", " ")
	}
	var b;
	b=sVal.charAt(0).toUpperCase();
	b=b+sVal.substring(1);
	return b;
	
}



function isURL(argvalue,urlname)
{
    if (argvalue.indexOf(" ") != -1)
 {
  alert("Spaces not allowed in "+ urlname +"!");
     return false;
 }
  else if (argvalue.indexOf("http://") == -1)
    {
  alert(urlname +" must begin with a http://");
     return false;
 }
  else if (argvalue == "http://")
    {
  alert("Please enter complete "+ urlname +"!");
     return false;
 }
  else if (argvalue.indexOf("http://") > 0)
    {
  alert("http:// must come in the beginning of a "+ urlname);
     return false;
 }
 
  argvalue = argvalue.substring(7, argvalue.length);
  if (argvalue.indexOf(".") == -1)
   {
  alert("Please enter an extension like .com, .edu(etc) for "+ urlname +"!");
     return false;
 }
  else if (argvalue.indexOf(".") == 0)
   {
  alert("Please enter correct "+ urlname +"!");
     return false;
 }
  else if (argvalue.charAt(argvalue.length - 1) == ".")
    {
  alert("Please enter an extension after . like com, edu(etc) for "+ urlname +"!");
     return false;
 }
 
  if (argvalue.indexOf("/") != -1) {
    argvalue = argvalue.substring(0, argvalue.indexOf("/"));
    if (argvalue.charAt(argvalue.length - 1) == ".")
      {
  alert("Please enter correct "+ urlname +"!");
     return false;
 }
  }
 
if (argvalue.indexOf(":") != -1) {
    if (argvalue.indexOf(":") == (argvalue.length - 1))
     {
  alert("Please enter correct "+ urlname +"!");
     return false;
 }
    else if (argvalue.charAt(argvalue.indexOf(":") + 1) == ".")
      {
  alert("Please enter correct "+ urlname +"!");
     return false;
 }
    argvalue = argvalue.substring(0, argvalue.indexOf(":"));
    if (argvalue.charAt(argvalue.length - 1) == ".")
      {
  alert("Please enter correct "+ urlname +"!");
     return false;
 }
  }
 return true;
}




//Purpose	: This function is used to validate price. 
//Arguments : price object
function ValidatePrice(objName)
{
	var sobjValue;
	var iobjLength;
	
	sobjValue=objName;
	iobjLength=sobjValue.length;
	iSposition=sobjValue.indexOf(".");
	iTmp=sobjValue.lastIndexOf(".");	
	iPosition=sobjValue.indexOf(",");
	iPos=sobjValue.indexOf(";");
	
	if (iobjLength!=0)
	{
		if(sobjValue.charAt(0)==".")
		{
			return false;				
		}
		else if(sobjValue.charAt(iobjLength)==".")
		{
			return false;				
		}	
		else if ((iTmp!=-1) && ((iobjLength-(iTmp+1)>2) || (iobjLength==(iTmp+1))))
		{
			return false;
		}
		else if ((iPosition!=-1) || (iPos!=-1))
		{
			return false;
		}
		else
		{
			return true;
		}		
	}		
}

//Description: This Function checks that the string value passed to the function does contains some characters.
function onlyno()
{
	if (event.keyCode < 45 || event.keyCode > 57) 
		event.returnValue = false;
}


//Description: This Function checks that the character entered is only character
function onlychar()
{
	if((event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 97 && event.keyCode <= 122) || event.keyCode == 32 )
	{
	}
	else
	{
		event.returnValue = false;
	}
}



//Description: This Function checks that the character entered is only character or space used in validate form function
function onlyString(TempString)
{
	bb11= TempString.length;
	x= TempString;
	flag=0;

	for( p=0;p<bb11;p++)
	{
		vAscii = x.charCodeAt(p)
		
		//z = x.substring(p,p+1);
		 if((vAscii >= 65 && vAscii <= 90) || (vAscii >= 97 && vAscii <= 122))
			{
				flag=1;		
			}
			else
			{
				flag=0;
				break;
			}
	}
	if(flag==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}
//Converts the First letter of each word to upper case and rest of the letters to lower case
function changeCase(frmObj) 
{
	var index;
	var tmpStr;
	var tmpChar;
	var preString;
	var postString;
	var strlen;
	tmpStr = frmObj.value.toLowerCase();
	strLen = tmpStr.length;
	if (strLen > 0)  
	{
		for (index = 0; index < strLen; index++)  
		{
			if (index == 0)  
			{
				tmpChar = tmpStr.substring(0,1).toUpperCase();
				postString = tmpStr.substring(1,strLen);
				tmpStr = tmpChar + postString;
			}
			else 
			{
				tmpChar = tmpStr.substring(index, index+1);
				if (tmpChar == " " && index < (strLen-1))  
				{
					
					tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
					preString = tmpStr.substring(0, index+1);
					postString = tmpStr.substring(index+2,strLen);
					tmpStr = preString + tmpChar + postString;
		        }
			}
		}
	}
	frmObj.value = tmpStr;
}



function objChecked(obj,checkAllObj,formObj)
{ 
	if(obj.checked)
	{
		iTotalChecked = iTotalChecked + 1
	}
	else
	{
		iTotalChecked = iTotalChecked - 1
		if(checkAllObj!="")
		checkAllObj.checked= false;
	}
	
}//end of the function

//Purpose	: This function is used to check all the checkboxes based on state of chk checkbox. 
//Arguments : checkbox object
function CheckAll(chk,frm)
{
	totalDocumentsSelected=0;	
	iTotalChecked--;
	for (var i=0;i < document.forms[frm].elements.length;i++)
	{
		var e = document.forms[frm].elements[i];
		if (e.type == "checkbox")
		{
			e.checked = chk.checked;
			var myarr = e.value.split(",");
			var fileType = myarr[2];
			if(chk.checked==true)
			{
				iTotalChecked++;
				if(fileType=='d')
					totalDocumentsSelected++;
			}
			else
			{
				iTotalChecked = 0;
				if(fileType=='d')
				{
					totalDocumentsSelected=0;					
				}
			}
				
		}
	}
}
