// JavaScript Document

function popupImage(theURL,winName,features)
{
  window.open(theURL,winName,features);
}

function IsNumeric(frmName, sTextVal, msg)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	
	str1 = eval("document."+frmName+"."+sTextVal);
	str = str1.value;
	
	for (i = 0; i < str.length && IsNumber == true; i++) 
	{ 
		Char = str.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	if(!IsNumber)
	{
		alert(msg);
		str1.focus();
	    return false;
	}
	return IsNumber;	
}

function Disable(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+".chk_"+i);
		if(id.checked)
		{
			chk_val++;
		}
	}
	if(chk_val==0)
	{
		alert("Please check at least one checkbox to disable");
		return false;	
	}
	else
	{
		eval("document."+frmName+".action").value = "disable";
		eval("document."+frmName).submit();
	}
return true;
}

function Enable(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+".chk_"+i);
		if(id.checked)
		{
			chk_val++;
		}
	}
	if(chk_val==0)
	{
		alert("Please check at least one checkbox to enable");
		return false;	
	}
	else
	{
		eval("document."+frmName+".action").value = "enable";
		eval("document."+frmName).submit();
	}
return true;
}

function ValidUploadFileType(frmName, field, msg)
{
	var y= eval("document."+frmName+"."+field).value;
	var imglen = y.length;
	var imgdotpos = y.lastIndexOf(".");
	var imgext = y.substring(imgdotpos+1,imglen);
	if(y.value!="")
	{
		if((imgext.toLowerCase()!="doc") && (imgext.toLowerCase()!="zip") && (imgext.toLowerCase()!="txt") && (imgext.toLowerCase()!="xls"))
		{
			alert(msg);
			eval("document."+frmName+"."+field).focus();
			return false;
		}
	}
return true;
}

function ValidImgFileType(frmName, field, msg)
{
	var y= eval("document."+frmName+"."+field).value;
	var imglen = y.length;
	var imgdotpos = y.lastIndexOf(".");
	var imgext = y.substring(imgdotpos+1,imglen);
	if(y.value!="")
	{
		if((imgext.toLowerCase()!="jpg") && (imgext.toLowerCase()!="gif") && (imgext.toLowerCase()!="bmp") && (imgext.toLowerCase()!="png") && (imgext.toLowerCase()!="swf"))
		{
			alert(msg);
			eval("document."+frmName+"."+field).focus();
			return false;
		}
	}
return true;
}

function validCompare (frmName, field1, field2 , msg) 
{
	str1 = eval("document."+frmName+"."+field1);
	str2 = eval("document."+frmName+"."+field2);
	
	if(str1.value != str2.value)
	{
		alert(msg);
		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 validemail(frmName, field , msg)  
{
	var regEx = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	var str1 = eval("document."+frmName+"."+field);

    var isValidE = regEx.test(str1.value);
	
	if (isValidE)
		return true;
	else
    {
		alert(msg);
		str1.focus();
		return false;
	}
}

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+".chk_"+i);
			id.checked = true;
		}
	}
	
	if(!eval("document."+frmName+".chkBox").checked)
	{
		for(i=0;i<frm_total_record;i++)
		{
			chkbox = eval("document."+frmName+".chk_"+i);
			chkbox.checked = false;
		}
	}
	
}

function DeleteWithMsg(frmName,msg, cMsg)
{
		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+".chk_"+i);
			if(id.checked)
			{
				chk_val++;
			}
		}
		if(chk_val==0)
		{
			alert(msg);
			return false;	
		}
		else
		{
			if(confirm(cMsg))
			{
				eval("document."+frmName+".action").value = "delete";
				eval("document."+frmName).submit();
			}
		}
return true;
}

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+".chk_"+i);
		if(id.checked)
		{
			chk_val++;
		}
	}
	if(chk_val==0)
	{
		alert("Please check at least one checkbox to delete");
		return false;	
	}
	else
	{
		eval("document."+frmName+".action").value = "delete";
		eval("document."+frmName).submit();
	}
return true;
}

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 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 setObjectValue(frmName, field, setValue)
{
	str1 = eval("document."+frmName+"."+field);	
	str1.value = setValue;
}

function deleteFileImage(frmName, field, setValue)
{
	str1 = eval("document."+frmName+"."+field);	
	str1.value = setValue;
	eval("document."+frmName).submit();
}

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 validUrl(frmName, field, msg) 
{
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	s = eval("document."+frmName+"."+field);
	
	if(!regexp.test(s.value))
	{
		alert(msg);
		s.focus();
		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 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 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 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;

}

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
	}
	
}

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;
}	

//To Make given field to blank
//Use this to treset the form
function resetfield(frmName, field)
{
	var y= eval("document."+frmName+"."+field);
	y.value = "";
}

//HANDLES THE KEYPRESS EVENT OF THE TEXTBOX.
function checkTBKeyPress(obj,tbtype,length,precision)
{
	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(".");

		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;
		}
	}		
}