var helpWindow;
var helpURL;
var fullModeURL;

/* 
*** window.open features ***
*
* channelmode = { yes | no | 1 | 0 } Specifies whether to display the window in theater mode and show the channel band. The default is no. 
* directories = { yes | no | 1 | 0 } Specifies whether to add directory buttons. The default is yes. 
* fullscreen = { yes | no | 1 | 0 } Specifies whether to display the browser in full-screen mode. The default is no. Use full-screen mode carefully. Because this mode hides the browser's title bar and menus, you should always provide a button or other visual clue to help the user close the window. ALT+F4 closes the new window. A window in full-screen mode must also be in theater mode (channelmode).  
* height = number Specifies the height of the window, in pixels. The minimum value is 100. 
* left = number Specifies the left position, in pixels. This value is relative to the upper-left corner of the screen. The value must be greater than or equal to 0.  
* location = { yes | no | 1 | 0 } Specifies whether to display the input field for entering URLs directly into the browser. The default is yes. 
* menubar = { yes | no | 1 | 0 } Specifies whether to display the menu bar. The default is yes. 
* resizable = { yes | no | 1 | 0 } Specifies whether to display resize handles at the corners of the window. The default is yes. 
* scrollbars = { yes | no | 1 | 0 } Specifies whether to display horizontal and vertical scroll bars. The default is yes. 
* status = { yes | no | 1 | 0 } Specifies whether to add a status bar at the bottom of the window. The default is yes. 
* titlebar = { yes | no | 1 | 0 } Specifies whether to display a title bar for the window. This parameter is ignored unless the calling application is an HTML Application or a trusted dialog box. The default is yes. 
* toolbar = { yes | no | 1 | 0 } Specifies whether to display the browser toolbar, making buttons such as Back, Forward, and Stop available. The default is yes. 
* top = number Specifies the top position, in pixels. This value is relative to the upper-left corner of the screen. The value must be greater than or equal to 0.  
* width = number Sets the width of the window, in pixels. The minimum value is 100. 
*
*/


function openHelp(customWidth)
{
  var height = window.screen.height - 150;
  var width  = 300;
	if (typeof(customWidth) != 'undefined')
		width = parseInt(customWidth);


	var availW = parseInt((window.screen.width-(width+15)));
	var availH = 0;
	var winPos = 'top=' + availH + ',left=' + availW + ',';
	var winSize = 'height=' + height + ',width=' + width + ',';
	var winOptions = 'toolbar=no,status=no,menubar=no,scrollbars=1,resizable=yes,location=no'
	
	
	if (!helpWindow || helpWindow.closed)
	{
		helpWindow = window.open(helpURL,'helpWindow', winPos + winSize + winOptions);
	}
	else
	{
		helpWindow.close();
		helpWindow = window.open(helpURL,'helpWindow', winPos + winSize + winOptions)
	}	
}

function openPopup(windowObj, WindowName, URL, width, height, options)
{
  if (width == null)
    width = 479;
  if (height == null)
    height = 353;

	var availW = parseInt((window.screen.width - width) / 2);
	var availH = parseInt((window.screen.height - height) / 2);
	var winPos = 'top=' + availH + ',left=' + availW + ',';
	if (options == null)
		options = ',toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,location=no'
	else
		options = ',' + options;
		
	if (!windowObj || windowObj.closed)
	{
		windowObj = window.open(URL, WindowName, winPos + 'height=' + height + ',width=' + width + options);
	}
	else
	{
		windowObj.location.href = URL;
		windowObj.focus();
	}
	return windowObj;
}


function getForm(formName)
{
		if (window.navigator.appName.toLowerCase().indexOf('netscape') > -1) 
			return document.forms[formName];
		else 
			return document.forms(formName);
}


function body_load()
{
  if (typeof(page_load) != 'undefined')
    page_load();
}


function elem(elementId)
{
  return document.getElementById(elementId);
}



/* GENERIC HELPER FUNCTIONS */

function isNumeric(sText)
{
  var c;
  var validChars = '0123456789.';
  
  if (sText == '')
    return false;
    
  for(i=0; i<sText.length; i++)
  {
    c = sText.charAt(i);
    if (validChars.indexOf(c) == -1)
    {
      if ((i==0) && (c == '-'))
        continue;
      return false;
    }
  }
  return true;
}

function trim(s) 
{
  // Remove leading spaces and carriage returns
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  {
    s = s.substring(1,s.length);
  }

  // Remove trailing spaces and carriage returns
  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function isValidEmail(emailText)
{
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if (filter.test(emailText))
    return true;
  else
    return false;
}

/******************************/
function opacity(id, opacStart, opacEnd, millisec) 
{
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout('changeOpac(' + i + ',\'' + id + '\')',(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout('changeOpac(' + i + ',\'' + id + '\')',(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) 
{
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = 'alpha(opacity=' + opacity + ')';
} 

function checkEnter(evt, element) 
{
    var keyCode = evt.keyCode ? evt.keyCode :
                  evt.charCode ? evt.charCode :
		          evt.which ? evt.which : void 0;
    if (keyCode == 13) 
    {
      document.getElementById(element).click();
      return false;
    }
    else
    {
			return true;
    }
}


