// Javascript sees numbers with leading zeros as octal values
// so strip zeros
function StripZeros(inputStr)
{
	var result = inputStr;
	
	while (result.substring(0,1) == "0")
	{
       result = result.substring(1, result.length);
	}
	
	return result;
}
//------------------------------------------------------------------
function GetElementValueById(elementId)
{
   var result = "";
   var form = document.forms[0];

   if (form != null)
   {
	    for (i=0; i < form.elements.length; i++)
	    {
	        if (form.elements[i] != null)
	        {
	           var id = form.elements[i].id;
	           var cleanedId = id.substring(id.length - elementId.length);
	           
	           if (elementId == cleanedId)
               {
                  result = form.elements[i].value;
                  break;
               }
	        }
	    }
    }
    
    return result;
}
//--------------------------------------------------------------------------------------------
function replaceAll(source, value, replacement)
{
   if (source.indexOf(value) == -1)
   {
      return source;
   }
   else
   {
      var pos   = 0;
      var temp2 = "";
      var temp  = source;
   
      while (temp.indexOf(value) != -1)
	  {
	    pos    = temp.indexOf(value);
	   
	    temp2 += temp.substring(0, (pos + value.length));
	    temp2  = temp2.replace(value, replacement); 
	   
	    temp = temp.substring(pos + value.length);
	  }  

      return temp2 + temp;
   }
}
//--------------------------------------------------------------------------------------------
function isNumber(str)
{
	for (var i = 0; i < str.length; i++)
	{
		var oneChar = str.substr(i, 1);
		
  	    if (oneChar < "0" || oneChar > "9") 
		   return false;
	}
	
	return true;
}
//--------------------------------------------------------------------------------------------
function isNumeric(s)
{
	var i;
	
	for (i = 0; i < s.length; i++)
	{
	    if (s.charCodeAt(i) == 46 || s.charCodeAt(i) == 44) // Looks for "." and ","
	    {
	       // Continue
	    }
	    else
	    {
		   if (s.charCodeAt(i) < 48 || s.charCodeAt(i) > 57)
			  return false;
		}
	}
	
	return true;
}
//--------------------------------------------------------------------------------------------
function rtrim(s)
{
	var spaceAt = -1;
	var i;
	
	if (s.length == 0)
		return "";

	for (i = s.length -1; i >= 0; i--)
	{
		if (s.charAt(i) != " ")
			break;
		else
			spaceAt = i;
	}
	
	if (spaceAt == 0)
		return "";
	
	if (i == 0)
		return s.charAt(0);
		
	if (i - 1 > 0)
		return s.substring(0, i + 1);
	else if (i -1 < 0)
		return "";
	else
		return s;
}
//--------------------------------------------------------------------------------------------
function ltrim(s)
{
	var spaceAt = -1;
	var i;
	
	if (s.length == 0)
		return "";

	for (i = 0; i < s.length; i++)
	{
		if (s.charAt(i) != " ")
			break;
		else
			spaceAt = i;
	}
		
	if (i == 0)
		return s;
		
	if (i > 0)
	{
		return s.substr(i, s.length - i);
	}
}
//--------------------------------------------------------------------------------------------
function trim(s)
{
	return ltrim(rtrim(s));
}
//---------------------------------------------------------------------------------------------
function getListCount(theListName)
{
   var element = document.getElementById(theListName);
   var lstCnt  = 0;
    
   if (element != null)
   {  
      lstCnt  = element.options.length;
   }   
   
   return lstCnt;
}
//--------------------------------------------------------------------------------------------
function isNetscape()
{
	return !document.all;
}
//---------------------------------------------------------------------------------------------
function SetFocus(theElement)
{
   if (document.getElementById(theElement) != null)
   {
      document.getElementById(theElement).focus();
   }
}
//---------------------------------------------------------------------------------------------
function MoveToElement(theEvent, theElement)
{
   var charCode = getKeyCode(theEvent);
      
   //if return key?
   if (charCode == 13) 
   {
	   SetFocus(theElement);	
   }
}
//--------------------------------------------------------------------------------------------
function getKeyCode(theEvent)
{
   return isNetscape() ? theEvent.which : theEvent.keyCode;
}
//------------------------------------------------------------------------------------------------------------------------------------------------------
function PopUpAdWindow(hRef)
{
   PopUpWindow(hRef, "yes", "yes", "yes", "yes", "AdWnd");
}
//------------------------------------------------------------------------------------------------------------------------------------------------------
function PopUpImageWindow(hRef)
{
   PopUpWindow(hRef, "no", "yes", "yes", "no", "ImageWnd");
}
//------------------------------------------------------------------------------------------------------------------------------------------------------
function PopUpWindow(hRef, MenuBar, ScrollBars, Sizable, ToolBar, WindowHandle)
{
   var lheight = screen.height - 150;
   var lwidth  = screen.width - 150;
   
   var lTop  = (screen.height / 2) - (lheight/2);
   var lLeft = (screen.width / 2) - (lwidth/2);
 
   if (lTop < 0)
     lTop =0;
      
   if (lheight < 0)
     lheight =0;
   
   if (trim(hRef) != "")
   {
      var winstring = "height=" + lheight +",width="+ lwidth +",left=" + lLeft + ",top=" + lTop + ",menubar="  + MenuBar + ", toolbar=" + ToolBar + ",resizable=" + Sizable + ",status=no,scrollbars=" + ScrollBars;
    
      hRef = replaceAll(hRef," ", "%20");

      dialog = window.open(hRef,WindowHandle,winstring);

      if (dialog != null)
      {
         dialog.focus();
      }
   }
}
//---------------------------------------------------------------------------------------------	
function GetRadioGroupValue(elementName)
{
    var result = "";
    var form = document.forms[0];
    
    if (form.elements[elementName] != null)
    {
		for (var i = 0; i < form.elements[elementName].length; i++)
		{
			if (form.elements[elementName][i].checked)
			{ 
				result = form.elements[elementName][i].value;
				break;
			}   
		}
    } 
       
    return result;
}
//---------------------------------------------------------------------------------------------	
function isValidDate(datePassed) 
{
    datePassed = padDate(datePassed);
	
	if (datePassed != "")
    {	
	   datePassed = datePassed.substring(0, 6) + datePassed.substring(datePassed.length - 2, datePassed.length);
	}
	   
	var err = 0
	var valid = "0123456789/"
	var ok = "yes";
	var temp;
	
	for (var i=0; i< datePassed.length; i++) {
	   temp = "" + datePassed.substring(i, i+1);
	   if (valid.indexOf(temp) == "-1") err = 1;
	}
	
	if (datePassed.length != 8) err=1
	b = datePassed.substring(0, 2) // month
	c = datePassed.substring(2, 3)// '/'
	d = datePassed.substring(3, 5) // day
	e = datePassed.substring(5, 6)// '/'
	f = datePassed.substring(6, datePassed.length) // year
 
  	if (b<1 || b>12) err = 1
	if (c != '/') err = 1
	if (d<1 || d>31) err = 1
	if (e != '/') err = 1
	if (f<0 || f>99) err = 1
	
	if (b==4 || b==6 || b==9 || b==11)
	{
	   if (d==31) err=1
	}
	
	if (b==2)
	{
	   var g=parseInt(f/4)
	   if (isNaN(g)) 
	   {
	      err=1
	   }
	
	   if (d>29) err=1
	   if (d==29 && ((f/4)!=parseInt(f/4))) err=1
	}

	if (err==1)
	   return false;
	else 
	   return true;
}
//--------------------------------------------------------------------------------------------
function padDate(theDate)
{
	var pos1 = 0, pos = 0;
	
	if (theDate == "")
		return "";
		
	pos1 = theDate.indexOf("/", 0);
	
	if (pos1 == 1)	// no leading zero
		theDate = "0" + theDate;
		
	pos2 = theDate.indexOf("/", 3);
	
	if (pos2 == 4)
		theDate = theDate.substr(0, 3) + "0" + theDate.substr(3, 4);
		
	return theDate;
}
//----------------------------------------------------------------------------------
function SetRadioGroupValue(elementName, value)
{
    var form = document.forms[0];
    
    if (form.elements[elementName] != null)
    {
  		for (var i = 0; i < form.elements[elementName].length; i++)
		{
  			if (form.elements[elementName][i].value == value)
			{ 
				form.elements[elementName][i].checked = true;
				break;
			}   
		}
    } 
}
//---------------------------------------------------------------------------------------------	
function PopUpWindowReturnHandle(hRef, Height, Width, MenuBar, ScrollBars, Sizable, ToolBar, WindowHandle)
{
   var lheight = Height;
   var lwidth  = Width;
   
   var lTop  = (screen.availheight / 2) - (lheight/2);
   var lLeft = (screen.availwidth / 2) - (lwidth/2);
 
   if (lTop < 0)
     lTop =0;
      
   if (lheight < 0)
     lheight =0;
   
   var dialog = null;
   
   if (trim(hRef) != "")
   {
      var winstring = "height=" + lheight +",width="+ lwidth +",left=" + lLeft + ",top=" + lTop + ",menubar="  + MenuBar + ", toolbar=" + ToolBar + ",resizable=" + Sizable + ",status=no,scrollbars=" + ScrollBars;
    
      hRef = replaceAll(hRef," ", "%20");

      dialog = window.open(hRef,WindowHandle,winstring);
      
      if (dialog != null)
      {
         dialog.focus();
      }
   }
   
   return dialog;
}
//------------------------------------------------------------------------------------------
function TriggerScreen(href, target)
{
   window.open(href, target);
}
//---------------------------------------------------------------------
function CheckPasswordCase(password)
{
   var result = false;

   if (password.length > 0)
   {
      var _char = "";
      
      var digits = "1234567890";
      var lowerAlpha = "abcdefghijklmnopqrstuvwxyz";
      var upperAlpha = "abcdefghijklmnopqrstuvwxyz".toUpperCase();

      var bdigits     = false;
      var bUpperAlpha = false;
      var bLowerAlpha = false;
      
      for (i=0; i < password.length; i++)
      {
 	
 		  _char = password.substring(i, i+1);
	
		  if (bdigits == false && digits.indexOf(_char) > -1)
		  {
		  	  bdigits = true;
	 	  }

     	  if (bLowerAlpha==false && lowerAlpha.indexOf(_char)> -1)
		  {
		     bLowerAlpha = true;
		  }

    
   		  if (bUpperAlpha == false && upperAlpha.indexOf(_char)> -1)
		  {
		     bUpperAlpha = true;
  	      }
      }   

      if (bdigits && bLowerAlpha && bUpperAlpha)
      {
         result = true;       
      }   
            
   }
   
   return result;
}
//--------------------------------------------------------------------------------------------
function ValidateTime(timePassed)
{
   var oTime = timePassed.split(":");

   if (timePassed == "")
   {
      return true;    
   }
   if (oTime.length == 2)
   {
      if (oTime[1].length == 2)
      {
         oTime[0] =  oTime[0].replace("0", "");
         
         var iHour = parseInt(oTime[0]);
         var iMin  = parseInt(oTime[1]);
      
         if (iHour > 0 && iHour < 13)
         {
            if (iMin > -1 && iMin < 60)
            {
               return true;    
            }
            else
               return false;        
         }
         else
            return false;
      }
      else
         return false;      
   }
   else
      return false;
}
//--------------------------------------------------------------------------------------------

