MyImages=new Array();
//preload all images
//imagesPreloaded = new Array(31)
//for (var i = 0; i < MyImages.length ; i++)
//{
//imagesPreloaded[i] = new Image(81,31)
//imagesPreloaded[i].src=MyImages[i]
//}

//global functions

/**
 * This function parses comma-separated name=value argument pairs from
 * the query string of the URL. It stores the name=value pairs in
 * properties of an object and returns that object.
 */
function getArgs() {
    var args = new Object();
    var query = location.search.substring(1);		// Get query string.
    var pairs = query.split("&");					// Break at amp.
    for(var i = 0; i < pairs.length; i++) {
		var pos = pairs[i].indexOf('=');			// Look for "name=value".
		if (pos == -1)
			continue;								// If not found, skip.
		var argname = pairs[i].substring(0,pos);	// Extract the name.
		var value = pairs[i].substring(pos+1);		// Extract the value.
		args[argname] = unescape(value);			// Store as a property.
    }
    return args;
}

/** Uses the format function (below) to format currency correctly. */
function /*String*/ formatCurrency( /*Number*/ n ) {
	var formatted = format( n, 2 );
	if( formatted>=0 ) {
		return "$" + formatted;
	} else {
		return "($" + format( -n, 2 ) + ")";
	}
}

function /*Number*/ parseCurrency( /* String */ s ) {
	var toParse = "";
	var c = null;
	var i;
	for( i=0; i<s.length; i++ ) {
		c = s.charAt( i );
		if( c == "(" ) {
			toParse += "-";
		} else if( c=='0'||c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'||c=='8'||c=='9'||
				   c=='.'||c=='-' ) {
			toParse += c;
		}
	}

	return parseFloat( toParse );
}

/**
 * This function formats a number with trailing zeros.
 * For example: format( 22, 2 ) -> 22.00
 *              format( 123.45, 6 ) -> 123.450000
 */
function /*String*/ format( /*Number*/ n, scale ) {
	var p = Math.pow(10,scale);
	var s = (Math.round( parseFloat(n)*p ) / p).toString();
	var d = s.indexOf(".");
	if( d == -1 ) {
		s = s + ".";
		d = 1;
	} else {
		d = s.length - d;
	}
	var i;
	for( i=0; i<=(scale-d); i++ ) {
		s = s + "0";
	}

	return s;
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i>d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}

var helpPopupProperties =
	"channelmode=no ," +
	"directories=no ," +
	"fullscreen =no ," +
	"height     =600," +
	"location   =no ," +
	"menubar    =no ," +
	"resizable  =yes," +
	"scrollbars =yes," +
	"status     =no ," +
	"titlebar   =no ," +
	"toolbar    =no ," +
	"width      =800 "
;

function help( /*url*/ url ) {
	var helpWindow = window.open( url, "help", helpPopupProperties );
	helpWindow.focus();
}

/** The javascript that warns the user when they move off a page that has had edits
 * To mark a page as edited call windowChanged()
 */
window.changed = false;
function checkForChanges( /*event*/ evt ) {
	// IE supports evt.returnValue to cancel in the onBeforeUnload handler
	// firefox supports evt.preventDefault() in the onUnload handler
	//    (but onBeforeUnload appears to work also so we are using that).
	if ( window.changed && ! window.openingWindow ) {
		if ( evt.preventDefault ) {
			evt.preventDefault();
		} else {
			evt.returnValue = "This window has changed";
		}
	}
}
function recordChange() {
	window.changed = true;
}
function clearChangeNotification() {
	window.changed = false;
}

/** Translates the infamous MS Word characters to latin1 look-alikes */
/*string*/ function MSWordToLatin1( /*string*/ s ) {
	result = "";
	code = 0;
	for ( i=0; i<s.length; i++ ) {
		code = s.charCodeAt(i);
		switch ( code ) {
			case 8211: /* %u2013 en/short dash */
				result += '-';
				break;
			case 8212: /* %u2014 em/long dash */
				result += '--';
				break;
			case 8216: /* %u2018 open single quote */
				result += "'";
				break;
			case 8217: /* %u2019 close single quote */
				result += "'";
				break;
			case 8220: /* %u201C open double quote */
				result += '"';
				break;
			case 8221: /* %u201D close double quote */
				result += '"';
				break;
			default:
				result += s.charAt(i);
		}
	}
	return result;
}
