
function iszip(passedVal) {					// Is this a number?
			if (passedVal == "") {
				return false
			}
			
			for (i=0; i<passedVal.length; i++) {
				if ((passedVal.charAt(i) > "9") ) {
					return false
				}
			}
			return true
		}

function isphone(passedVal) {					// Is this a number?
			if (passedVal == "") {
				return false
			}

			for (i=0; i<passedVal.length; i++) {
				if ((passedVal.charAt(i) > "9") ) {
					return false
				}
			}
			return true
		}	

		function isfax(passedVal) {					// Is this a number?
			if (passedVal == "") {
				return false
			}

			for (i=0; i<passedVal.length; i++) {
				if ((passedVal.charAt(i) > "9") ) {
					return false
				}
			}
			return true
		}	

		function validEmail(email) {
			invalidChars = " /:,;'&#+!^?\\><{}[]|~`=*%\""
			
			if (email == "") { // cannot be empty
				return false
			}
			for (i=0; i<invalidChars.length; i++) { // does it contain any invalid characters?
				badChar = invalidChars.charAt(i)
				if (email.indexOf(badChar,0) > -1) {
					return false
				}
			}
			atPos = email.indexOf("@",1)			// there must be one "@" symbol
			if (atPos == -1) {
				return false
			}
			if (email.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
				return false
			}
			periodPos = email.indexOf(".",atPos)
			if (periodPos == -1) {					// and at least one "." after the "@"
				return false
			}
			if (periodPos+3 > email.length)	{		// must be at least 2 characters after the "."
				return false
			}
			return true
		}

 	function chk_Competitors(email)
	{
		  
		   var Competitors = new Array ("rightnow","atg","talisma","kana","instranet","instantservice","liveperson","knova","inquira","kaidara","knowledgebase","webtone","transversal","kiwilogic","portraitsoftware","pivotal","rightanswers","frontrange","microsoft","epicor","evergance","nextit","consona","autonomy","tealeaf","neocase","estara","genesyslab","sage","genesys")
    if(email!="")
  	{
		if (validEmail(email))
		{
			  var userMail = (email).split("@")
			  var domainname = userMail[1].split(".")
				if (validEmail(email))
				{
					for (i=0;i<Competitors.length;i++)
					{
						if (domainname[0].toUpperCase()==Competitors[i].toUpperCase())
						{
							   location.href =  "http://www.egain.com/about_us/locations.asp?err=1" 
						}
					}
				}
		}
  }
	return true;

	}

function trimAll(sString) 
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}


function Left(str, n){
 
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
//Ajax code start
var xmlHttp
var isUser
function searchuser(str,doFunc,spanid)
{ 

	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  }
	var url="search_user.asp";
	url=url+"?q="+str+"&strID=" + spanid;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=function() { 
        if (xmlHttp.readyState==4)
            if (xmlHttp.status==200)
                doFunc(xmlHttp, spanid)
				}
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	return isUser
}
function loginuser(xmlHttp, spanid)
{ 
if (xmlHttp.readyState==4)
	{
		var xmlDoc=xmlHttp.responseXML.documentElement;
		document.getElementById(spanid + "1").innerHTML = "&nbsp;"
//		alert(xmlDoc.getElementsByTagName("exist")[0].childNodes[0].nodeValue)
		document.getElementById(spanid + "1").innerHTML=xmlHttp.responseText
	}
 }

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
//Ajax code end

function show_information_text(strField,strVal)
{
 
	
	if (document.getElementById(strField).value==strVal)
	{
		document.getElementById(strField).value=""
		document.getElementById(strField).style.color="#000000"
	}
}
function reset_information_text(strField,strVal)
{
	 
	if (document.getElementById(strField).value=="")
	{
		document.getElementById(strField).value=strVal
				document.getElementById(strField).style.color="#666666"
	}

}

function populate(objForm,selectIndex){
timeA = new Date(objForm.year.options[objForm.year.selectedIndex].text, objForm.month.options[objForm.month.selectedIndex].value,1);
timeB = new Date( timeA - 86400000);
for (var i = 0; i < objForm.day.length; i++)
objForm.day.options[0] = null;
for (var i = 0; i < timeB.getDate(); i++)
objForm.day.options[i] = new Option(i+1);
objForm.day.options[0].selected = true;
}

function populate1(objForm,selectIndex){
timeA = new Date(objForm.year1.options[objForm.year1.selectedIndex].text, objForm.month1.options[objForm.month1.selectedIndex].value,1);
timeB = new Date( timeA - 86400000);
for (var i = 0; i < objForm.day1.length; i++)
objForm.day1.options[0] = null;
for (var i = 0; i < timeB.getDate(); i++)
objForm.day1.options[i] = new Option(i+1);
objForm.day1.options[0].selected = true;
}

 function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
  
   }

/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strMonth=dtStr.substring(0,pos1)
	var strDay=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : mm/dd/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

 
function only_numeric(strCode)
{
	if ((strCode < 46 || strCode > 57) && strCode!=13 && strCode!=47) 
	event.returnValue = false;
}
function only_string(strCode)
{
 	if ((strCode >64 && strCode < 91) || (strCode >96 && strCode < 123) || (strCode==32))
	event.returnValue = true;
	else
	event.returnValue = false;
}

function isValidURL(url){ 
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
    if(RegExp.test(url)){ 
        return true; 
    }else{ 
        return false; 
    } 
} 
function chkValue(strField,strVal)
{

	if (document.getElementById(strField).value==strVal)
	{
		document.getElementById(strField).value=""
		document.getElementById(strField).style.color="#000000"
	}
}
function rsesetValue(strField,strVal)
{
	 
	if (document.getElementById(strField).value=="")
	{
		document.getElementById(strField).value=strVal
				document.getElementById(strField).style.color="#666666"
	}

}