

/***********************************************************

 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;
	}



