/* This function will finds the length of the given string and if it exceeds
   length then it displays an appropriate message. 
   data = string to be checked for length.
   upperLeng = specified string upper length.
   lowerLeng = specified string lower length.

*/
function checkoption(data)
{
 if(data.selectedIndex==0)
 {
   alert(FieldName+" Should Not Be Empty ");
   data.focus();
   return false;
 }
  else return true;
}

function checkLength(data, upperLeng, lowerLeng)
{	
	if(data.value.length > upperLeng )
	{			
		alert("Length Of "+FieldName+" Should Not Be More Than "+upperLeng);		
		data.focus();
		return false
	}
	else if (data.value.length < lowerLeng)
	{	
		if (lowerLeng==1)			
			alert(FieldName+" Should Not Be Empty");
		else if (lowerLeng >1 && lowerLeng<11)
			alert(FieldName+" Atlest "+lowerLeng+" Character Long");
		data.focus();
		return false
	}
	else
		 return true
}

/*
	it checks the number words have been entered in the given field
*/
function checkWordCount(data, upperLeng, lowerLeng)
{
	strValue = data.value
	wordCount = strValue.split(" ")

	if (wordCount.length > upperLeng)
	{
		alert("number of words should not be more than  "+upperLeng +" in the "+data.name)
	data.focus()
		return false
	}
	else if(wordCount.length <= lowerLeng)
	{
		alert("number of words should be more than  "+lowerLeng +" in the "+data.name)
	data.focus()
		return false
	}
	else
	 return true
}

/*
  This function checks whether the data has been sent is numeric or string
  if data is not numeric then it displays an appropriate error message.
*/

function checkPhone(data, leng)
{	//40,41,45,32,44 for (,),-," ",, characters respectively
	var num,i
	result=true
	num=data.value;	
	if(num.length > leng)
	{
		alert(FieldName+"  should not exceed "+leng+" digits");
		data.focus()
		return false
	}
	else
	{
		for(i=0; i<num.length ; i++)
		{
			if((num.charCodeAt(i)!= 44 && num.charCodeAt(i)!= 32 && num.charCodeAt(i)!= 40 && num.charCodeAt(i)!= 41 && num.charCodeAt(i)!= 45 )&&( num.charCodeAt(i)<48 || num.charCodeAt(i)>57 ))
			{
				alert(FieldName+" is invalid")
				data.focus()
				result = false		
				break;
			}
			else
			{
				result = true
			}
		}
		return result
	}
	
}

/*
  This function checks whether the data has been sent is numeric or string
  if data is not numeric then it displays an appropriate error message.
*/

function checkNumeric(data,leng)
{	
	var num,i
	num=data.value;
	result = true

	if(num.length > leng)
	{
		alert("Block should not exceed "+leng+" digits")
		return false
	}
	else
	{
		for(i=0; i<num.length ; i++)
		{
			if( (num.charCodeAt(i)<48 || num.charCodeAt(i)>57) )
			{
				alert(FieldName+" Should Be Numeric Only")
				data.focus()
				result = false
				break;
			}
			else
			{
				result = true
			}
		}
		return result
	}
}


function checkEmail(data)
 {
		strEmailId	=  data.value;
		//HERE EMAIL ID IS AN OPTIONAL FIELD IF NO DATA THEN NO VALIDATION.
		if (strEmailId == "")
		{
			return true // DONT VALIDATE EMAIL FIELD
		}

		 if(strEmailId.indexOf("@") > 0 && strEmailId.indexOf(".") > 1)
             {
		    //checks that last character is not "."
		    if( strEmailId.lastIndexOf(".") == data.value.length - 1)
                {  
			alert("Please correct "+FieldName)
			data.focus()
			return false
		    }
		    else
		 	return true     
             }
             else
             {
                alert("Please correct "+FieldName)
		    data.focus()	
		    return false	

             }
             
          }
function checkSpace(data){
	var Mystring=new String(data.value)
	var Idx=Mystring.search(" ") 
	if (Idx==-1){
	 return true}
	 else{
	 alert ("Please Remove The Space")
	 data.focus()
	 return false
	 }
}

function checkURL(data)
 {
		strEmailId	=  data.value;
		//HERE EMAIL ID IS AN OPTIONAL FIELD IF NO DATA THEN NO VALIDATION.
		if (strEmailId == "")
		{
			return true // DONT VALIDATE EMAIL FIELD
		}

		 if(strEmailId.indexOf(".") > 1)
             {
		    //checks that last character is not "."
		    if( strEmailId.lastIndexOf(".") == data.value.length - 1)
                {  
			alert("Please correct URL")
			data.focus()
			return false
		    }
		    else
		 	return true     
             }
             else
             {
                alert("Please correct URL")
		    data.focus()	
		    return false	

             }
             
          }
          
          
function checkZip(data, leng)
{	//40,41,45,32,44 for " " characters respectively
	var num,i
	result=true
	num=data.value;	
	if(num.length > leng)
	{
		alert(FieldName+" Should Not Be Exceed "+leng+" Digits");
		data.focus()
		return false
	}
	else
	{
		for(i=0; i<num.length ; i++)
		{
			if(num.charCodeAt(i)!= 32&&( num.charCodeAt(i)<48 || num.charCodeAt(i)>57 ))
			{
				alert(FieldName+" is invalid")
				data.focus()
				result = false		
				break;
			}
			else
			{
				result = true
			}
		}
		return result
	}
	
}

function ValidFontFile(x)
{		
				var y=x.value;					
				var fontlen=y.length;
				var fontdotpos=y.lastIndexOf(".");
				var fontext=y.substring(fontdotpos+1,fontlen);
								
				
					if((fontext!="ttf") && (fontext!="TTF") && (fontext!="otf") && (fontext!="OTF"))
					{
						alert("For "+FieldName+" Please select .ttf Only")
						x.select();
						x.focus();
						return false;
					}
				
				return true;
}	

//HANDLES THE KEYPRESS EVENT OF THE TEXTBOX.
function checkTBKeyPress(obj,tbtype,length,precision)
{
	//ADDITIONAL FEATURE to add
	//SPECIAL CHARATERS
	
	//ADD CHECKING FOR TEXTAREA
	
	if(obj.value.length >=length)
	{
		window.event.keyCode=0;
		return;
	}
		
	if(tbtype=="alphanumeric")
	{
		if((window.event.keyCode<65 || window.event.keyCode>90) && 
		   (window.event.keyCode<97 || window.event.keyCode>122) &&
		   (window.event.keyCode<48 || window.event.keyCode>57))
		{
			window.event.keyCode=0;
			return;
		}

		return;
	}

	if(tbtype=="alpha")
	{
		if((window.event.keyCode<65 || window.event.keyCode>90) && 
		   (window.event.keyCode<97 || window.event.keyCode>122))
		{
			window.event.keyCode=0;
			return;
		}
	}	
	
	if(tbtype=="float")
	{			
		if(window.event.keyCode==46)
		{			
			if(precision==0)
			{
				window.event.keyCode=0;
				return;
			}
							
			if(length-obj.value.length==1)
			{
				window.event.keyCode=0;
				return;
			}
			
			if(obj.value.length==0)
			{
				obj.value="0";
				return;
			}
			
			var ind=obj.value.indexOf(".");
			if(ind>=0)
				window.event.keyCode=0;
		}
		else if(window.event.keyCode<48 || window.event.keyCode>57)
		{
			window.event.keyCode=0;
			return;
		}

		var ind=obj.value.indexOf(".");
		//BUG: if we insert characters after .(dot) it doesn't allow to enter 
		//characters before dot even the total length doesn't exceeds
		//Solution : Use regular expression
		if(ind>=0)
		{
			var sstr=obj.value.substring(ind);
			if(sstr.length>precision)
				window.event.keyCode=0;
			return;
		}			
	}

	if(tbtype=="integer")
	{
		if(window.event.keyCode<48 || window.event.keyCode>57)
		{
			window.event.keyCode=0;
			return;
		}
	}		
}
function validateCheckboxConfirmation(form)
{  
	if (!form.checked)
	{
		alert('Please accept the terms and conditions before you proceed!');
		return false;
	}
	else
  		return true;
}

