

/***********************************************************

 base.js
 
 Generic java script functionality for pages, including
 opening/closing dialogs, ESC functionality, etc.

 ***********************************************************/



/***********************************************************
                     OPEN WINDOW
 ***********************************************************/


	// this function opens a fresh window, or if it's already open, just re-focuses it
	var myWindows = {};
	function openWindow(url, name, top, left, width, height)
	{

		if (myWindows[name] != null && myWindows[name].closed == false)
			myWindows[name].focus();
		else
			myWindows[name] = window.open(url, name, 'left=' + left + ', top=' + top + ', width=' + width + ', height=' + height);
		
		return myWindows[name];
	}





/***********************************************************
                     OPENING DIALOG
 ***********************************************************/


	function showPopUp(dialog, argin, width, height)
	{
		if (window.showModalDialog) {
			return(
			window.showModalDialog(	dialog, 
									argin,
									"dialogWidth:" + width + "px;dialogHeight:" + height + "px" + ";status:no;resizable:yes;"));
		} 
		else {
			return(
			window.open(	dialog,
							argin,
							'height=' + height + ',width=' + width + ',toolbar=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=yes,modal=yes'));
		}
	}

	function showPopUpCustom(url, args, width, height, toolbar, directories, status, menubar, scrollbars, resizable, modal) {

		if (window.showModalDialog) {
			return(
			window.showModalDialog( url,
									args,
									'dialogWidth:' + width + 'px;' +
									'dialogHeight:' + height + 'px;' +
									'toolbar:' + toolbar + ';' + 
									'directories:' + directories + ';' + 
									'status:' + status + ';' + 
									'menubar:' + menubar + ';' + 
									'scrollbars:' + scrollbars + ';' + 
									'resizable:' + resizable + ';' + 
									'modal:' + modal + ';' ));
		} 
		else {
			return(
			window.open(url,
						args,
						'Width=' + width + 'px, ' +
						'Height=' + height + 'px, ' +
						'Toolbar=' + toolbar + ', ' + 
						'Directories=' + directories + ', ' + 
						'Status=' + status + ', ' + 
						'Menubar=' + menubar + ', ' + 
						'Scrollbars=' + scrollbars + ', ' + 
						'Resizable=' + resizable + ', ' + 
						'Modal=' + modal ));
		}

	}


/***********************************************************
                    DIALOG FUNCTIONS
 ***********************************************************/



	//esc close window
	function escClose(evt)
	{
  		//GET KEY CODE
		var charCode = (evt.which) ? evt.which : event.keyCode;

		//if cancel key is pressed exit this 
		if (charCode == 27)
			window.close();
	}



			
/***********************************************************
                    MISCELLANEOUS
 ***********************************************************/
	
	
	function getQueryVariable(variable)
	{
		var query = window.location.search.substring(1);
		var vars = query.split("&");
		
		for (var i=0;i<vars.length;i++) {
			var pair = vars[i].split("=");
			if (pair[0] == variable) {
				return pair[1];
			}
		} 
	}
	
	
	function isInteger(s)
	{   var i;
		for (i = 0; i < s.length; i++)
		{   
			// Check that current character is number.
			var c = s.charAt(i);
			if (((c < "0") || (c > "9"))) return false;
		}
		// All characters are numbers.
		return true;
	}


/***********************************************************
                    IMAGE ROLLOVER
 ***********************************************************/
 
 
 
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_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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];}
}

