// JavaScript Document
/* 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 checkFileExtention(form, file)
{
	extArray = new Array(".jpg", ".png", ".bmp", ".pdf" ,".gif");
	
	allowSubmit = false;
	
	if (!file) 
		return;
	
	while (file.indexOf("\\") != -1)
		file = file.slice(file.indexOf("\\") + 1);
	
	ext = file.slice(file.indexOf(".")).toLowerCase();
	
	for (var i = 0; i < extArray.length; i++) 
	{
		if (extArray[i] == ext) 
		{ 
			allowSubmit = true; 
			break;
		}
	}
	
	if (allowSubmit) 
		return true;
	else
	{
		alert("Please only upload files that end in types:  " + (extArray.join("  ")));
		return false;
	}
return true;	
}

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 validZip(frmName, field, msg)
{	
	ptrn = "0123456789";
	fld1 = eval("document."+frmName+"."+field);
	fld = fld1.value;
	if(validBlank(frmName, field, msg))
	{
		for(i=0;i<fld.length;i++)
		{
			if(ptrn.indexOf(fld.charAt(i))<0)
			{
				flag = 1;
				break;
			}
			else
				flag = 0;
		}
		if(flag)
		{
			alert(msg);
			fld1.focus();
			return false;
		}
		else
			return true;
	}
return false;			
}

function validPhone(frmName, field, msg)
{	
	if(validBlank(frmName, field, msg))
	{
		ptrn = /\d{3}-\d{3}-\d{4}/
		//+-+[0-9]+-+[0-9]
		fld1 = eval("document."+frmName+"."+field);
		fld = fld1.value;
		r = ptrn.test(fld);
		if(r== false)
		{
			alert(msg);
			fld1.focus();
			return false;
		}
		else
			return true;
	}
return false;			
}

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 Enter 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"))
		{
			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 setObjectValue(frmName, field, setValue)
{
	str1 = eval("document."+frmName+"."+field);	
	str1.value = setValue;
}

function getObjectValue(frmName, field)
{
	str1 = eval("document."+frmName+"."+field);	
	return str1.value;
}

function getcheckBoxStatus(frmName, field)
{
	str1 = eval("document."+frmName+"."+field);	
	return str1.checked;
}


function getRadioStatus(frmName, field , fldNumber, msg)
{
	var inc = 0;
	str1 = eval("document."+frmName+"."+field);
	
	for(i=0;i<fldNumber;i++)
	{
		if(!str1[i].checked)
			inc++;
		else
			inc = 0;
	}
	
	if(inc == fldNumber)
	{
		alert(msg);
		return false;
	}
	return true;
}

function checkValidDigit(frmName, field , msg) 
{
	str1 = eval("document."+frmName+"."+field);
	str = str1.value;
	var ptrn = /[0-9]/;
	
	var v = ptrn.test(str);

	if(!v)
	{
		alert(msg);
		str1.focus();
		return false;
	}
	
return true;
}

function validDigit(frmName, field , msg) 
{
	str1 = eval("document."+frmName+"."+field);
	str = str1.value;
	var ptrn = /[0-9]/;
	
	var v = ptrn.test(str);

	if(!v || str.length<4)
	{
		alert(msg);
		str1.focus();
		return false;
	}
	
return true;
}

function getValidLimit(frmName, field, LimitLength , msg) 
{
	str1 = eval("document."+frmName+"."+field);
	str = str1.value;
	
	if(str.length < LimitLength)
	{
		alert(msg);
		str1.focus();
		return false;
	}
	
return true;
}

function getValidLimitedAmount(frmName, field, LimitLength , msg) 
{
	str1 = eval("document."+frmName+"."+field);
	str = str1.value;
	
	if(str < LimitLength)
	{
		alert(msg);
		str1.focus();
		return false;
	}
	
return true;
}


function validBlank (frmName, field , msg) 
{
	str1 = eval("document."+frmName+"."+field);
	str = str1.value;
	while (str.charAt(0) == ' ')
		str = str.substring(1);
	while (str.charAt(str.length - 1) == ' ')
		str = str.substring(0, str.length - 1);
	
	if(str.length == 0)
	{
		alert(msg);
		str1.focus();
		return false;
	}
return true;
}

function getBlankStatus (frmName, field ) 
{
	str1 = eval("document."+frmName+"."+field);
	str = str1.value;
	while (str.charAt(0) == ' ')
		str = str.substring(1);
	while (str.charAt(str.length - 1) == ' ')
		str = str.substring(0, str.length - 1);
	
	if(str.length == 0)
	{
		return false;
	}
return true;
}

function validemail(frmName, field , msg)  
{
	var at="@"
	var dot="."
	
	str1 = eval("document."+frmName+"."+field);
	str = str1.value;
	
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	    alert(msg);
		str1.focus();
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	    alert(msg);
		str1.focus();
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert(msg);
		str1.focus();
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		alert(msg);
		str1.focus();
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert(msg);
		str1.focus();
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		alert(msg);
		str1.focus();
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		alert(msg);
		str1.focus();
		return false
	 }

	 return true					
}

// JavaScript Document
function getObjValue(frmName, field)
{
	return eval("document."+frmName+"."+field).value;
}

function explodeArray(myitem,delimiter) {
  tempArray=new Array(1);
  var Count=0;
  var tempString=new String(myitem);

  while (tempString.indexOf(delimiter)>0) {
    tempArray[Count]=tempString.substr(0,tempString.indexOf(delimiter));
    tempString=tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1); 
    Count=Count+1
  }

  tempArray[Count]=tempString;
  return tempArray;
}

function dateCompare(sd,sm,sy,ed,em,ey)
{
	if(sy>ey)
	{
		alert("End Year should be grater or equal to Start Year");
		return false;
	}
	else
	{
		if(em.length<2)
			em = "0"+em;
		if(sm.length<2)
			es = "0"+es;
			
		if(em<sm)
		{
			
			alert("End Month should be grater or equal to Start Month");
			return false;
		}
		
		if(ed.length<2)
			ed = "0"+ed;
			
		if(sd.length<2)
			sd = "0"+sd;
		if(sd > ed)
		{
			alert("End Date should be grater or equal to Start Date");
			return false;
		}
	}
	return true;
}

function checkAll(frmName)
{
	frm_total_record = eval("document."+frmName+".total_record").value;
	
	if(eval("document."+frmName+".chkBox").checked)
	{
		for(i=0;i<frm_total_record;i++)
		{
			id = eval("document."+frmName+".chkSerial_"+i);
			id.checked = true;
		}
	}
	
	if(!eval("document."+frmName+".chkBox").checked)
	{
		for(i=0;i<frm_total_record;i++)
		{
			chkbox = eval("document."+frmName+".chkSerial_"+i);
			chkbox.checked = false;
		}
	}
	
}

function Delete(frmName)
{
	frm_total_record = eval("document."+frmName+".total_record").value;
	var chk_val = 0;
	for(i=0;i<frm_total_record;i++)
	{
		id = eval("document."+frmName+".chkSerial_"+i);
		if(id.checked)
		{
			chk_val++;
		}
	}
	if(chk_val==0)
	{
		alert("Please check at least one checkbox to delete");
		return false;	
	}
	else
	{
		if(confirm("Are you sure you want to delete record(s)?"))
		{
			eval("document."+frmName+".action").value = "delete";
			return true;
		}
		else
		{
			eval("document."+frmName+".action").value = "";
			return false;
		}
	}
return true;
}

function getEmpty(frmName,field)
{
	str1 = eval("document."+frmName+"."+field);
	str = str1.value;
	while (str.charAt(0) == ' ')
		str = str.substring(1);
	while (str.charAt(str.length - 1) == ' ')
		str = str.substring(0, str.length - 1);
	
	if(str.length == 0)
	{
		return false;
	}
return true;

}