        function showOptions(option, count, displayState)
        {
            var i;
            for (i = 1; i < count+1; i++)
            {
               setTableRowVisibility(option +i, displayState );
            }
        }
        
        function setTableRowVisibility(tableRowId, displayState)
        {
            var row = document.getElementById(tableRowId);
            if (displayState == 1)
            { 
                row.style.display = '';
            }
            else
            {
              row.style.display = 'none';
            }
        }

        function closeDiv()
        {
            var divTag;
            divTag = document.getElementById("dbResults");          
            divTag.style.visibility = "hidden";
        } 
        
        
        function showHideFunc(flag, objName)
        {            
            var checkList = document.getElementById(objName);                                
            if (checkList!=null)
            {            
                if (flag == 1)
                {
                    checkList.style.height = "auto";
                    checkList.style.visibility = "visible";                                   
                }
                else if (flag == 0)
                {                    
                    checkList.style.height = "0px";
                    checkList.style.visibility = "hidden";                
                }            
            }            
        }
        
        function toggleDiv(objID)
        {   
            if (document.getElementById(objID).style.display == "none")
            {                                
                slidedown(objID);                                    
            } 
            else 
            {                
                slideup(objID);                            
            }       
        }        
                
                
        var timerlen = 5;
        var slideAniLen = 200;

        var timerID = new Array();
        var startTime = new Array();
        var obj = new Array();
        var endHeight = new Array();
        var moving = new Array();
        var dir = new Array();

        function slidedown(objname){
                if(moving[objname])
                        return;

                
                if(document.getElementById(objname).style.display != "none")
                        return; // cannot slide down something that is already visible

                moving[objname] = true;
                dir[objname] = "down";
                startslide(objname);                
        }

        function slideup(objname){
                if(moving[objname])
                        return;

                if(document.getElementById(objname).style.display == "none")
                        return; // cannot slide up something that is already hidden

                moving[objname] = true;
                dir[objname] = "up";
                startslide(objname);                
        }

        function startslide(objname)
        {      
                obj[objname] = document.getElementById(objname);

                endHeight[objname] = parseInt(obj[objname].style.height);
                startTime[objname] = (new Date()).getTime();

                if(dir[objname] == "down")
                {                       
                        obj[objname].style.height = "1px";
                }
                
                obj[objname].style.display = "block";
                timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
        }

        function slidetick(objname){
                var elapsed = (new Date()).getTime() - startTime[objname];

                if (elapsed > slideAniLen)
                        endSlide(objname)
                else {
                        var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                        if(dir[objname] == "up")
                                d = endHeight[objname] - d;

                        obj[objname].style.height = d + "px";
                }

                return;
        }

        function endSlide(objname){
                clearInterval(timerID[objname]);

                if(dir[objname] == "up")
                {
                        obj[objname].style.display = "none";                        
                        setNotSelected(objname);                        
                } 
                else 
                {                        
                        setSelected(objname);                              
                }
                
                
                obj[objname].style.height = endHeight[objname] + "px";

                delete(moving[objname]);
                delete(timerID[objname]);
                delete(startTime[objname]);
                delete(endHeight[objname]);
                delete(obj[objname]);
                delete(dir[objname]);

                return;
        }
                                 
          function setSelected(objToSet)
          {
            if (objToSet==null) return;
            document.getElementById(objToSet + 'A').innerHTML = "Hide regions/states/cities";            
            document.getElementById(objToSet + 'outer').style.background = "#b2e4e1";         
          }     
       
          function setNotSelected(objToSet)
          {
            if (objToSet==null) return;            
            document.getElementById(objToSet + 'A').innerHTML = "View regions/states/cities";     
            document.getElementById(objToSet + 'outer').style.background = "transparent";     
            //document.getElementById(objToSet + 'CheckBox').checked = false;      
          }
          
       
          function setHiddenField(fieldID, fieldValue, countryName, lat, lon)
          { 
            var obj = document.getElementById(fieldID);
            if (obj != null)
            {
               obj.value = fieldValue;                   
            }                     
            
            var objCountry = document.getElementById("HiddenCountryName");
            objCountry.value = countryName
            
            var latHiddenField = document.getElementById("hide_lat");
            latHiddenField.value = lat
                                     
            var lonHiddenField = document.getElementById("hide_lon");
            lonHiddenField.value = lon;    
            
            var statusDiv;
            statusDiv = document.getElementById("statusDIV");          
            statusDiv.innerHTML = "Loading data...<br><img src='images/loading.gif'>";
                    
            document.form1.submit();       
         }

 
	  function CheckValues()
	  { 
	  
	    var object_Website = document.getElementById("Years_covered");
	 	if (IsNumeric(object_Website.value) == false)
	  	{
	  		alert('Please enter a numeric value for the years covered.\nValid characters are (0123456789.,)');
	  		object_Website.focus();
	  		object_Website.select();
	  		return false;
	  	}
	    
	    var objectDB_size_2007 = document.getElementById("DB_size_2007");	    
	    if (IsNumeric(objectDB_size_2007.value) == false)
	  	{
	  		alert('Please enter a valid number for the year 2007 database size field.\nValid characters are (0123456789.,).');	 
	  		objectDB_size_2007.focus();
	  		objectDB_size_2007.select();		  		
	  		return false;
	  	}
	  	
//	    var objectDB_size_2006 = document.getElementById("DB_size_2006");
//	    if (IsNumeric(objectDB_size_2006.value) == false)
//	  	{
//	  		alert('Please enter a valid number for the year 2006 database size field.\nValid characters are (0123456789.,).');	  
//	  		objectDB_size_2006.focus();
//	  		objectDB_size_2006.select();		  		
//	  		return false;
//	  	}
//	  	
//	  	var object_DB_size_2005 = document.getElementById("DB_size_2005");
//	  	if (IsNumeric(object_DB_size_2005.value) == false)
//	  	{
//	  		alert('Please enter a valid number for the year 2005 database size field.\nValid characters are (0123456789.,)');
//	  		object_DB_size_2005.focus();
//	  		object_DB_size_2005.select();
//	  		return false;
//	  	}
//	  	
//	  	var object_DB_size_2004 = document.getElementById("DB_size_2004");
//	  	if (IsNumeric(object_DB_size_2004.value) == false)
//	  	{
//	  		alert('Please enter a valid number for the year 2004 database size field.\nValid characters are (0123456789.,)');
//	  		object_DB_size_2004.focus();
//	  		object_DB_size_2004.select();
//	  		return false;
//	  	}

//        var object_DB_size_2003 = document.getElementById("DB_size_2003");
//	  	if (IsNumeric(object_DB_size_2003.value) == false)
//	  	{
//	  		alert('Please enter a valid number for the year 2003 database size field.\nValid characters are (0123456789.,)');
//	  		object_DB_size_2003.focus();
//	  		object_DB_size_2003.select();
//	  		return false;
//	  	}

//        var object_DB_size_2002 = document.getElementById("DB_size_2002");
//	   	if (IsNumeric(object_DB_size_2002.value) == false)
//	  	{
//	  		alert('Please enter a valid number for the year 2002 database size field.\nValid characters are (0123456789.,)');
//	  		object_DB_size_2002.focus();
//	  		object_DB_size_2002.select();
//	  		return false;
//	  	}

//        var object_DB_size_2001 = document.getElementById("DB_size_2001");
//  		if (IsNumeric(object_DB_size_2001.value) == false)
//	  	{
//	  		alert('Please enter a valid number for the year 2001 database size field.\nValid characters are (0123456789.,)');
//	  		object_DB_size_2001.focus();
//	  		object_DB_size_2001.select();
//	  		return false;
//	  	}

//        var object_DB_size_2000 = document.getElementById("DB_size_2000");
//		if (IsNumeric(object_DB_size_2000.value) == false)
//	  	{
//	  		alert('Please enter a valid number for the year 2000 database size field.\nValid characters are (0123456789.,)');
//	  		object_DB_size_2000.focus();
//	  		object_DB_size_2000.select();
//	  		return false;
//	  	}
//	  	
//	  	var object_DB_size_1999 = document.getElementById("DB_size_1999");
//		if (IsNumeric(object_DB_size_1999.value) == false)
//	  	{
//	  		alert('Please enter a valid number for the year 1999 database size field.\nValid characters are (0123456789.,)');
//	  		object_DB_size_1999.focus();
//	  		object_DB_size_1999.select();
//	  		return false;
//	  	}

//        var object_DB_use_cost = document.getElementById("DB_use_cost");
//	  	if (IsNumeric(object_DB_use_cost.value) == false)
//	  	{
//	  		alert('Please enter a valid money amount for the cost of the database.');
//	  		object_DB_use_cost.focus();
//	  		object_DB_use_cost.select();
//	  		return false;
//	  	}

        
	    
	    var object_Contact_name = document.getElementById("Database_name");
		if (object_Contact_name.value == '')
		{
		    alert("Please supply name of the database");
		    object_Contact_name.focus();
		    object_Contact_name.select();
		    return false;
	    }
        
        var object_Contact_name = document.getElementById("Contact_name");
		if (object_Contact_name.value == '')
		{
		    alert("Please supply contact name");
		    object_Contact_name.focus();
		    object_Contact_name.select();
		    return false;
	    }

        var object_Email = document.getElementById("Email");
		if (object_Email.value == '')
		{
		    alert("Please supply your email address");
			object_Email.focus();
			object_Email.select();
			return false;
		}
        
	  	if (echeck(object_Email.value) == false)
	  	{
	  		alert('Please enter a valid contact person email address');
	  		object_Email.focus();
	  		object_Email.select();
	  		return false;
	  	}

        var object_Phone = document.getElementById("Phone");
	  	if (checkInternationalPhone(object_Phone.value) == false)
	  	{
	  		alert('Please enter a valid contact person phone number');
	  		object_Phone.focus();
	  		object_Phone.select();
	  		return false;
	  	}

        var object_Web_url = document.getElementById("Web_url");
	  	if (check_it(object_Web_url.value) == false)
	  	{
	  		alert('Please enter a full valid web site address (Ex: http://www.website.com)');
	  		object_Web_url.focus();
	  		object_Web_url.select();
	  		return false;
	  	}

        var object_Website = document.getElementById("Website");
	  	if (check_it(object_Website.value) == false)
	  	{
	  		alert('Please enter a full valid contact web site address (Ex: http://www.website.com)');
	  		object_Website.focus();
	  		object_Website.select();
	  		return false;
	  	}
	  	
	  	var object_Email = document.getElementById("dbAdminEmail");
		if (object_Email.value == '')
		{
		    alert("Please supply an email address");
			object_Email.focus();
			object_Email.select();
			return false;
		}
        
	  	if (echeck(object_Email.value) == false)
	  	{
	  		alert('Please enter a valid cemail address');
	  		object_Email.focus();
	  		object_Email.select();
	  		return false;
	  	}
	    
		    return true;		
	    }


		function check_it(str)
        {
        	if (str.length == 0)
        	{
        		return true;
        	}
            var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
            if (tomatch.test(str))
            {
            	return true;
            }
            else
            {
				return false;
            }
        }



        var digits = "0123456789";
        var phoneNumberDelimiters = "()- ";
        var validWorldPhoneChars = phoneNumberDelimiters + "+";
        var minDigitsInIPhoneNumber = 10;

        function isInteger(s)
        {   var i;
            for (i = 0; i < s.length; i++)
            {
                var c = s.charAt(i);
                if (((c < "0") || (c > "9"))) return false;
            }
            return true;
        }

        function stripCharsInBag(s, bag)
        {   var i;
            var returnString = "";
            for (i = 0; i < s.length; i++)
            {
                var c = s.charAt(i);
                if (bag.indexOf(c) == -1) returnString += c;
            }
            return returnString;
        }

        function checkInternationalPhone(strPhone)
        {
        	if (strPhone.length == 0) return true;
        	s=stripCharsInBag(strPhone,validWorldPhoneChars);
        	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
        }



 		function echeck(str) {

  		var at="@"
  		var dot="."
  		var lat=str.indexOf(at)
  		var lstr=str.length
  		var ldot=str.indexOf(dot)

		if 	(str.length == 0){
			return true
		}

  		if (str.indexOf(at)==-1){
  		   return false
  		}

  		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
  		   return false
  		}

  		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
  		    return false
  		}

  		 if (str.indexOf(at,(lat+1))!=-1){
  		    return false
  		 }

  		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
  		    return false
  		 }

  		 if (str.indexOf(dot,(lat+2))==-1){
  		    return false
  		 }

  		 if (str.indexOf(" ")!=-1){
  		    return false
		 }

 		 return true;

		}

      function IsNumeric(strString)
      {
         var strValidChars = "0123456789.,";
         var strChar;
         var blnResult = true;

         if (strString.length == 0) return true;

         //  test strString consists of valid characters listed above
         for (i = 0; i < strString.length && blnResult == true; i++)
            {
            strChar = strString.charAt(i);
            if (strValidChars.indexOf(strChar) == -1)
               {
               blnResult = false;
               }
            }
         return blnResult;
      }