/*********************************************************************
Author			: Tarunendra Dwivedi
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 = 0;



//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,theCharCounter,maxChars)
{
	var strTemp = "";
	var strCharCounter = 0;
	var currentLength = theField.value.length;
	if(currentLength>maxChars)
	{
		alert("You are not allowed to enter more than "+maxChars+" characters. Your text has been truncated.")
		theField.value = theField.value.substring(0, maxChars);
		theCharCounter.value = "Countdown 0";
		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;
		theCharCounter.value = string;
	}
}
//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)
{
  dArr2 = dateStr.split('-');
  cnt2 = dArr2.length;
  pname2 = dArr2[ cnt2 -1];
  ylen = pname2.length;
  if(ylen < 4)return false;
   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))
			{
				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;
							}
						}

						if((val.charAt(j) == ' ') && iAllowSpace == 0)
						{
							sChangedName = objFrm[i].name.substring(4);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Enter your "+ sChangedName +" with no spaces");

//							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;
							}
						}
						if((val.charAt(j) == ' ') && iAllowSpace == 0)
						{
							sChangedName = objFrm[i].name.substring(4);
							sChangedName = getFormattedmsg(sChangedName)
							alert("Enter your "+ sChangedName +" with no spaces");
							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;					
				}
			}
				
		}
	}
}

function checkObscene(formObj) { 
	var obsceneWordReg = /(\banal\b|\bass\b|\basshole\b|\bbastard\b|\bbang\b|\bgang bang\b|\bblowjob\b|\bbonk\b|\bbugger\b|\bbitch\b|\bbullshit\b|\bcrap\b|\bcopulate\b|\bcunt\b|\bcum\b|\bcumjuice\b|\bcock\b|\bcocksucker\b|\bdick\b|\bdefecate\b|\bejaculate\b|\bejaculation\b|\bfaeces\b|\bfanny\b|\bfisting\b|\bfuck\b|\bfucker\b|\bfornicate\b|\bforeplay\b|\bfelatio\b|\bflaps\b|\bgash\b|\bhorn\b|\bhorny\b|\bhole\b|\bhump\b|\bintercourse\b|\bjuice\b|\bjerk\b|\bkunt\b|\bknob\b|\bknocker\b|\blick\b|\blaid\b|\bmuff\b|\bnuts\b|\bnooky\b|\bnookie\b|\bnob\b|\boral\b|\bprick\b|\bpoop\b|\bpoo\b|\bpiss\b|\bpissflaps\b|\bpee\b|\bpaedophile\b|\bpenis\b|\bplonker\b|\bpoke\b|\bpuss\b|\bpussy\b|\bquim\b|\brod\b|\brodding\b|\bsex\b|\bscrew\b|\bshag\b|\bsquat\b|\bspank\b|\bsod\b|\bsodomist\b|\bswinger\b|\btits\b|\bshit\b|\bshite\b|\bstool\b|\bstonker\b|\bstiffy\b|\bslut\b|\bslit\b|\bsperm\b|\bsemen\b|\bspunk\b|\bslit\b|\bsnatch\b|\btesticles\b|\bturd\b|\btwat\b|\btool\b|\burine\b|\burinate\b|\bvagina\b|\bwhore\b|\bwanker\b|\bwank\b|\bwilly\b|\bwillie\b)/gi
	
	var obsceneMixWordReg = /(\bfruit juice\b|\borange juice\b|\bapple juice\b|\bgrape juice\b|\bpineapple juice\b)/gi
	
	for(i = 0; i<formObj.elements.length; i++) {
		if((formObj.elements[i].type == "text" || formObj.elements[i].type == "textarea") && (formObj.elements[i].name != "TREF_Email" && formObj.elements[i].name != "TREF_Confirm_Email" && formObj.elements[i].name != "TRNSC_Password")) { 
			if(obsceneWordReg.test(formObj.elements[i].value)) { 
				//alert("Please do not use obscene/abusive languages in the details filled in by you. \nYou are not allowed to fill in following words.\n\nanal, ass, asshole, bastard, bang, gang bang, blowjob, bonk, bugger, bitch, bullshit, crap, copulate, cunt, \ncum, cumjuice, cock, cocksucker, dick, defecate, ejaculate, ejaculation, faeces, fanny, fisting, fuck, fucker, \nfornicate, foreplay, felatio, flaps, gash, horn, horny, hole, hump, intercourse, juice, jerk, kunt, knob, knocker, \nlick, laid, muff, nuts, nooky, nookie, nob, oral, prick, poop, poo, piss, pissflaps, pee, paedophile, penis, \nplonker, poke, puss, pussy, quim, rod, rodding, sex, screw, shag, squat, spank, sod, sodomist, swinger, \ntits, shit, shite, stool, stonker, stiffy, slut, slit, sperm, semen, spunk, slit, snatch, testicles, turd, twat, \ntool, urine, urinate, vagina, whore, wanker, wank, willy, willie"); 
				if(formObj.elements[i].value.indexOf("juice") >= 0  || formObj.elements[i].value.indexOf("Juice") >= 0) { 
					for(i = 0; i<formObj.elements.length; i++) {
						if((formObj.elements[i].type == "text" || formObj.elements[i].type == "textarea") && (formObj.elements[i].name != "TREF_Email" && formObj.elements[i].name != "TREF_Confirm_Email" && formObj.elements[i].name != "TRNSC_Password")) { 
							if(!obsceneMixWordReg.test(formObj.elements[i].value)) { 
								alert("Please do not use obscene/abusive languages in the details filled in by you."); 
								formObj.elements[i].focus(); 
								return false;
								break;
							}
						}
					}
				} else { 
					alert("Please do not use obscene/abusive languages in the details filled in by you."); 
					formObj.elements[i].focus(); 
					return false;
					break;
				}
			}
		}
	}
	return true;
}
