

var tempKey = "" // this variable is global to SelectFeature function 

// This function adds the new feature to the Select combo box. 
//It allows user to select the particular value by just pressing the keys. 
function SelectFeature(formName, selectName)
{
	var intkey = window.event.keyCode
	var strkey = String.fromCharCode(intkey)
	tempKey = tempKey + strkey
		
	var strTemp, strTemp1
	var blnFlag = false
	
	for (inti=0; inti < document[formName][selectName].length; inti++)
	{
		strTemp = document[formName][selectName].options[inti].text
		strTemp1 = strTemp.substring(0,tempKey.length)
		//alert(strTemp1)
		if (tempKey.toUpperCase() == strTemp1.toUpperCase())
		{
			document[formName][selectName].options[inti].selected = true
			blnFlag = true
			break 
		} 			
	}  
	if (blnFlag == false)
	{
		tempKey = tempKey.substring(0,(tempKey.length - 1))
	}
	//alert(tempKey)
	window.event.returnValue = false
}



function SpaceCheck(message)
{
	var id, tempcount
	id = message
	tempcount = id.length
	for (i=0; i<tempcount; i++)
	{			
		id = id.replace(" ","")			
	}
	if(id.length == 0 )
	{
		return false
	}
	else
		return true
}


function isDate(Year,Mon,Day)
{
  var flag = true;
  if(Mon == 4 || Mon == 6 || Mon == 9 || Mon == 11) 
  {
		 if (Day > 30) 
		   flag = false;
  }
  if(Mon == 2)
  {
		if( ((Year % 4) == 0) && (Day > 29) )
		{
			flag = false;
		}
		else
		{
		  if( ((Year % 4) != 0) && (Day > 28) )
		  {
			flag = false ;
		  }
		}
   }
  return flag;
}


function isDeptgtArrDate(YearFrom,MonFrom,DayFrom,YearTo,MonTo,DayTo,FromTitle,ToTitle)
{
	var d1 = new Date(YearFrom,MonFrom-1,DayFrom);
	var d2 = new Date(YearTo,MonTo-1,DayTo);
	if( (d1.getTime() - d2.getTime()) > 0) 
	{
		alert(ToTitle + " Must be greater than " + FromTitle)
		return false;
	}
	else
		return true;
}


function isInputValid(strInput)
{
	var intCode
	if(SpaceCheck(strInput)==false)
	{
		return false
	}
	for (inti=0; inti< parseInt(strInput.length); inti++)
	{				
		intCode = strInput.charCodeAt(inti)
				
		//Check for chars: "1" to "9", "a" to "z", "A" to "Z", "-", "_"
		if ((intCode == 45) || (intCode >= 48 && intCode <= 57) || (intCode >= 65 && intCode <= 90) || (intCode == 95) || (intCode >= 97 && intCode <= 122))
		{			
		}
		else	//when error
		{
			return false
		}
	}
	return true
}

function isEmailValid(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}


function isEmailValid1(strEmail) // this function is no longer in use
{	
	//check for e-mail format											
	if(strEmail != "")
	{ 
		EmailLen = strEmail.length;
		
		isSpace = strEmail.indexOf(" ")		//Space check		
		isAt = strEmail.indexOf("@")		//@ check
		isDot = strEmail.lastIndexOf(".")	//Dot Check
		//check for the below error conditions											
		if ((isAt == 0)||(isSpace != -1) || (isAt == -1) ||(isDot == -1) ||(isAt+1 == isDot)|| (isDot == EmailLen-1) || (isDot < isAt) )
		{				
			return false;
		}
	}
	return true;
	
}
function isFromDategtToDate(YearFrom, MonFrom, DayFrom, YearTo, MonTo, DayTo)
{
	var d1 = new Date(YearFrom,MonFrom-1,DayFrom);
	var d2 = new Date(YearTo,MonTo-1,DayTo);

	if( (d1.getTime() - d2.getTime()) > 0) 
	{	
		return true;
	}
	else	//when error
	{
		return false;
	}
}

function isURLValid(strURL)
{
	//check for URL format
	if (strURL != "")
	{
		 URLLen = strURL.length;
		 isSpace = strURL.indexOf(" ");  //Space check	
		 isWWW = strURL.indexOf("www"); //WWW check
		 isFdot = strURL.lastIndexOf("."); //First Dot check
		 isLdot = strURL.lastIndexOf(".");   // Last Dot Check
		 
		 //check for the below error conditions	
		if((isSpace != -1) || (isWWW == -1) || (isFdot == -1) ||(isLdot == -1) ||(isWWW+1 == isFdot)||(isFdot != isLdot)||(isLdot == URLLen-1) )
		{				
			return false;
		}
	}
	return true;
	
}




function isTelephoneValid(strTelephone)
{	
	var strTemp
	for (inti=0; inti< parseInt(strTelephone.length); inti++)
	{
			
		strTemp = strTelephone.substring(inti,inti+1)
		if (strTemp >= 0 || strTemp <= 9 || strTemp == "(" || strTemp == ")" || strTemp == " " || strTemp == "+" || strTemp == "-" || strTemp == ",")
		{	
			
		}
		else
		{
			return false;
		}
	}
	return true;		
		
	
		
}
function isCatalogNumber(str)
{
	var strTemp
	if (SpaceCheck(str)==false)
	{
		return false
	}
	else
	{
		for (inti=0; inti< parseInt(str.length); inti++)
		{
				
			strTemp = str.substring(inti,inti+1)
			if (strTemp >= 0 || strTemp <= 9 || strTemp == "_" || strTemp == "-" || strTemp == " " ||(intCode == 45) || (intCode >= 48 && intCode <= 57) || (intCode >= 65 && intCode <= 90) || (intCode == 95) || (intCode >= 97 && intCode <= 122))
			{
				
			}
			else	//When error
			{				
				return false
			}
		}
	}
	return true
}
function isFaxValid(strFax)
{	
	var strTemp
	for (inti=0; inti< parseInt(strFax.length); inti++)
	{
			
		strTemp = strFax.substring(inti,inti+1)
		if (strTemp >= 0 || strTemp <= 9 ||  strTemp == " " || strTemp == "-" || strTemp == "_")
		{	
			
		}
		else
		{
			return false;	
		}
	}
	return true;	
		
}
//--function for checking only the number in the field	
function isNumeric(id)
{
	
	
	for(j=1;j<=id.length;j++)
	{					
		if  (id.substring(j-1,j) >="0" && id.substring(j-1,j) <= "9") 
		{
			
		}
		else//when error
		{
			return false;
		}
	}	
	return true;		
}
//Check for quotes...
function checkForQuotes(name)
{
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 ";
	var checkStr = name
	var allValid = true;
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		 if (ch == checkOK.charAt(j))
		 break;
		if (j == checkOK.length)
		{
		 allValid = false;
		  break;
		}
	}
	if (!allValid)
	{
		//alert("Enter valid name!")
		//alert("Please enter only letter characters in the \"E-mail\" field.");
		return false
	}
  return true;
}

//--Validation for " character
function isDbQuote(id)
{
	var errflag = false;
	
	if(! errflag)
	{	
		//--check for space as 1st character	
		if(id.value.substring(0,1) == " ")
		{
			alert("First character shouldn't be space");
			id.focus();
			id.select();
			errflag= true;									
		}		
	}
	
	//--check for " character: 34
	if(! errflag)
	{	
		for (inti=0; inti< parseInt(id.value.length); inti++)
		{				
			intCode = id.value.charCodeAt(inti);
			if(intCode == 34)
			{
				alert("Special character \" is not allowed");
				id.focus();
				id.select();
				errflag = true;
				break;			
			}
		}
	}
	
	//--return values accordingly
	if(errflag == true)
		return false;
	else
		return true;	
}

function isLetter(Name)
 {
	 var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \t\r\n\f";
	 var checkStr = Name
	 var allValid = true;
	 for (i = 0;  i < checkStr.length;  i++)
	 {
	   ch = checkStr.charAt(i);
	   for (j = 0;  j < checkOK.length;  j++)
	     if (ch == checkOK.charAt(j))
	       break;
	   if (j == checkOK.length)
	   {
	     allValid = false;
	     break;
	   }
	 }
	return allValid;
 }
function isDigitLetter(Field)
{
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789- \t\r\n\f";
  var checkStr = Field;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
     return (false);
  }
  return (true);
}
function isspecialchar(fname) {

if (fname.value.indexOf("`") != "-1" ||
    fname.value.indexOf("~") != "-1" ||
    fname.value.indexOf(",") != "-1" ||
    fname.value.indexOf("!") != "-1" ||
    fname.value.indexOf("@") != "-1" ||
    fname.value.indexOf("#") != "-1" ||
    fname.value.indexOf("$") != "-1" ||
    fname.value.indexOf("%") != "-1" ||
    fname.value.indexOf("^") != "-1" ||
    fname.value.indexOf("&") != "-1" ||
    fname.value.indexOf("*") != "-1" ||
    fname.value.indexOf("(") != "-1" ||
    fname.value.indexOf(")") != "-1" ||
    fname.value.indexOf("+") != "-1" ||
    fname.value.indexOf("=") != "-1" ||
    fname.value.indexOf("{") != "-1" ||
    fname.value.indexOf("}") != "-1" ||
    fname.value.indexOf("|") != "-1" ||
    fname.value.indexOf("?") != "-1" ||
    fname.value.indexOf("<") != "-1" ||
    fname.value.indexOf(">") != "-1" ||
    fname.value.indexOf(":") != "-1" ||
    fname.value.indexOf(";") != "-1" ||
    fname.value.indexOf('"') != "-1" ||
    fname.value.indexOf("\[") != "-1" ||
    fname.value.indexOf("\]") != "-1" ||
    fname.value.indexOf("\/") != "-1" 
    ) 
    {
    return true;
    }
   // else return false;
}

//*******************Amit J.***************************************************

function isInputValidNumber(strInput)
{
	var intCode
	if(SpaceCheck(strInput)==false)
	{
		return false
	}
	for (inti=0; inti< parseInt(strInput.length); inti++)
	{				
		intCode = strInput.charCodeAt(inti)
				
		//Check for chars: "1" to "9"
		if ((intCode == 45) || (intCode >= 48 && intCode <= 57) )
		{			
		}
		else	//when error
		{
			return false
		}
	}
	return true
}



// This function checks if the given day is a sunday
function isSunday(dtDate)
{
	var strDate = dtDate.toString();
	var arrDay;
	arrDay = strDate.split(" ")
	if (arrDay[0] == "Sun")
	{
		return true;
	}
	else
	{
		return false;
	}
}

// Added for alphanumeric change
function isAlphaNumeric(Field)
{
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  var checkStr = Field;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
     return (false);
  }
  return (true);
}

function LTrim(str)
{
	var whitespace = new String(" \t\n\r");
	var s = new String(str);

	if (whitespace.indexOf(s.charAt(0)) != -1) 
	{
		var j=0, i = s.length;
		
		while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
			j++;
		s = s.substring(j, i);
	}
	return s;
}

function RTrim(str)
{
	var whitespace = new String(" \t\n\r");
	var s = new String(str);
	if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
	{
		var i = s.length - 1;
		while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
			i--;
	    s = s.substring(0, i+1);
	}
	return s;
}

function Trim(str)
{
	return RTrim(LTrim(str));
}


function DateValidation(From,To)
{
	/////////////////////
	var chkStatus=0;
	var txtSearchFrom=From;
	var txtSearchTo=To;	
	if((txtSearchFrom=="") && (txtSearchTo==""))
	{
		chkStatus=1;
		return true;
	}
	if((txtSearchFrom=="") || (txtSearchTo==""))
	{
			if (txtSearchFrom=="")
			{
				alert('Please select the From Date.');
				chkStatus=1;
				return false;
			}
			if (txtSearchTo=="")
			{
				alert('Please select the To Date.');
				chkStatus=1;
				return false;
			}
	}
	else
	{
		
		// Breaking From Dates in Month, Day and Year - Yogesh - 20-01-2005
		var Sp1F=txtSearchFrom.indexOf("-",0);
		var Sp2F=txtSearchFrom.indexOf("-",(parseInt(Sp1F)+1));	
		//var strDayFrom=txtSearchFrom.substring(Sp1F+1,Sp2F);
		//var strMonthFrom=txtSearchFrom.substring(0,Sp1F);
		var strDayFrom=txtSearchFrom.substring(0,Sp1F);
		var strMonthFrom=txtSearchFrom.substring(Sp1F+1,Sp2F);
		var strYearFrom=txtSearchFrom.substring(Sp2F+1,txtSearchFrom.length);
		
		// Breaking To Dates in Month, Day and Year - Yogesh - 20-01-2005		
		var Sp1T=txtSearchTo.indexOf("-",0);
		var Sp2T=txtSearchTo.indexOf("-",(parseInt(Sp1T)+1));	
		//var strDayTo=txtSearchTo.substring(Sp1T+1,Sp2T);
		//var strMonthTo=txtSearchTo.substring(0,Sp1T);
		var strDayTo=txtSearchTo.substring(0,Sp1T);
		var strMonthTo=txtSearchTo.substring(Sp1T+1,Sp2T);
		var strYearTo=txtSearchTo.substring(Sp2T+1,txtSearchTo.length);

//		return false;
		if(isFromDategtToDate(strYearFrom,strMonthFrom,strDayFrom,strYearTo,strMonthTo,strDayTo)==true)
		{
			alert("From Date cannot be greater then To Date");
			chkStatus=1;
			return false;
		}
		else
		return true;
	}
	/////////////////////
	
	
			/*YearFrom=From.substring(6,10);
			DayFrom=From.substring(0,2);
			MonFrom=From.substring(3,6);
			YearTo=To.substring(6,10);
			DayTo=To.substring(0,2);
			MonTo=To.substring(3,6);
			
			var d1 = new Date(YearFrom,MonthFrom,DayFrom);
			var d1 = new Date(YearTo,MonthTo,DayTo);
			alert(d1);
			//d1 = new Date(From);
			//d2 = new Date(To);*/
			
			/*if (d1>d2)
			{
				alert('From Date Cant Be Greate Than To Date.');
				chkStatus=1;
				//return false;
			}
			
		}*/

		if(chkStatus==1)
	{
		
		return false;
	}
	else
		return true;
		
}