////////////////////////////////////////////////////////////
//	Images
////////////////////////////////////////////////////////////

function js_preloadImages() 
{ //v1.2
  if (document.images) 
  {
    var imgFiles = js_preloadImages.arguments;
    var preloadArray = new Array();
    for (var i=0; i<imgFiles.length; i++) {
      preloadArray[i] = new Image;
      preloadArray[i].src = imgFiles[i];
    }
  }
}

// swap one image list for another
function js_swapImage() 
{
  var i, theObj, j=0, swapArray=new Array, oldArray=document.js_swapImgData;
  for (i=0; i < (js_swapImage.arguments.length-2); i+=3) 
  {
    theObj = eval(js_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1])
    if (theObj != null) 
    {
      // Save the current image source
      swapArray[j++] = theObj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=theObj) ? theObj.src : oldArray[j];

      // Swap in the new image source
      theObj.src = js_swapImage.arguments[i+2];
    } 
  }
  document.js_swapImgData = swapArray; //used for restore
}

// restore to saved state
function js_swapImgRestore()
{
  js_swapImgRestoreTo(document.js_swapImgData);
}

// restore to specified state
function js_swapImgRestoreTo(restoreData)
{
  var restoreArray = restoreData;
  if (restoreArray != null)
    for (var i=0; i<(restoreArray.length-1); i+=2)
      restoreArray[i].src = restoreArray[i+1];
}

// clear saved state
function js_swapImgClear()
{
	var restoreArray = document.js_swapImgData;
	document.js_swapImgData = null;
	return restoreArray;
}

////////////////////////////////////////////////////////////
//	goToURL
////////////////////////////////////////////////////////////

function js_goToURL(url) 
{
  if (url != "") { self.location=url; }
}


////////////////////////////////////////////////////////////
//	Layers
////////////////////////////////////////////////////////////

function js_showHideLayers() 
{
  var i, visStr, args;
  args = js_showHideLayers.arguments;
  for (i=0; i < (args.length-2); i+=3) 
  { 
    //with arg triples (objNS,objIE,visStr)
    visStr   = args[i+2];

    if (navigator.appName == 'Netscape') 
    {
      if (document.layers != null) eval(args[i]+".visibility = '"+visStr+"'");
    } 
    else //IE
    { 
      if (visStr == 'show') visStr = 'visible'; //convert vals
      if (visStr == 'hide') visStr = 'hidden';
      if (document.all != null) eval(args[i+1]+".style.visibility = '"+visStr+"'");
    } 
  }
}

////////////////////////////////////////////////////////////
//	Get URL parameters
////////////////////////////////////////////////////////////
function js_getParamValue(name, win) 
{ 
	if (!(win)) 
		win = window;
	name += "="; 
	var nPos1 = win.location.href.indexOf(name); 
	if (nPos1 < 0) 
		return ""; 
	var nPos2 = win.location.href.indexOf("&", nPos1); 
	return unescape( nPos2 >= nPos1  ? win.location.href.substring(nPos1 + name.length, nPos2) 
					 : win.location.href.substring(nPos1 + name.length) );
} 

