function PrintDOC( iconid )
{
	window.print();
	//getObject( iconid ).style.visibility = 'hidden';
}

/**************************************************
*          JAVASCRIPT ERRORS REPORTING.           *
**************************************************/
	var SHOWERROR	= false;
	var REPORTERROR	= false;
	var DEV			= false;
	window.onerror=ReportError;
	function ReportError(){
		var ErrMessage;
		var aArgs=ReportError.arguments;
		for(var cArg=0;cArg<aArgs.length;cArg++){
			ErrMessage+=aArgs[cArg]+" : ";
		}
		if(REPORTERROR)
		{
			window.parent.frames["hidden"].location.href="../Misc/ReportJsError.aspx?browser="+window.navigator.userAgent+"&msg="+ErrMessage;
		}
		return !SHOWERROR
	}
/**************************************************
*                  CREATE POPUPS.                 *
**************************************************/
	function Popup( url, name, w, h )
	{
		var l = (screen.width)?(screen.width-w)/2:100;
		var t = (screen.height)?(screen.height-h)/2:100;
		window.open( url, name, 'height='+h+',width=' + w + ',top=' + t + ',left=' + l + ',scrollbars=yes').focus();
	}

/**************************************************
*             RETURN AN OBJECT BY THE ID.         *
**************************************************/
	function getObject(obj){
		var theObj
		if(document.all){
			if(typeof obj=="string")
				return document.all(obj)
			else
				return obj.style
		}
		if(document.getElementById){
			if (typeof obj=="string")
				return document.getElementById(obj)
			else
				return obj.style
		}
		return null
	}
/**************************************************
*           SELECT AND LIST FUNCTIONS.            *
**************************************************/
	/*copy all items from list to another*/
	function ListCopyOptions(oFrom,oTo){
		for(var cmpt=0;cmpt<oFrom.options.length;cmpt++){
			ListAdd(oTo,oFrom.options[cmpt].value,oFrom.options[cmpt].text);
		}
	}
	/*add 2 arrays to a list*/
	function ListAddArrays(o,aValue,aText){
		if(o){
			ListClear(o);
			for(var c=0;c<aValue.length;c++){
				ListAdd(o,aValue[c],aText[c]);
			}
		}
	}
	/*remove all selected items*/
	function ListRemoveSelected(o){
		for(var i=0; i<o.options.length; i++) {
			if(o.options[i].selected) {
				o.options[i].value="";
				o.options[i].text="";
			}
		}
		ListBumpUp(o);
	}
	/*remove all items*/
	function ListClear(o){
		o.options.length=0;
	}
	/*move selected item from a list to another list*/
	function ListMove( idFrom, idTo ){
		var oFrom = getObject( idFrom );
		var oTo = getObject( idTo );
		for(var i=0; i<oFrom.options.length; i++) {
			if(oFrom.options[i].selected && oFrom.options[i].value != "" && oFrom.options[i].text != "") {
				var no = new Option();
				no.value = oFrom.options[i].value;
				no.text = oFrom.options[i].text;
				oTo.options[oTo.options.length] = no;
				oFrom.options[i].value = "";
				oFrom.options[i].text = "";
			}
		}
		ListBumpUp(oFrom);
		for(var cmpt=0;cmpt<oFrom.options.length;cmpt++)
			oFrom.options[cmpt].selected=false;
		for(var cmpt=0;cmpt<oTo.options.length;cmpt++)
			oTo.options[cmpt].selected=false;
	}
	/*add an item to a list*/
	function ListAdd(o,value,text){
		var no = new Option();
		no.value = value;
		no.text = text;
		o.options[o.options.length] = no;
	}
	/*trim list to remove white space*/
	function ListBumpUp(o){
		for(var i=0; i<o.options.length; i++) {
			if(o.options[i].value == "")  {
				for(var j=i; j<o.options.length-1; j++) {
					o.options[j].value = o.options[j+1].value;
					o.options[j].text = o.options[j+1].text;
				}
				var ln = i;
				break;
			}
		}
		if(ln < o.options.length){
			o.options.length -= 1;
			ListBumpUp(o);
		}
	}
	/*move selected item up*/
	function ListMoveUp(o){
		if(o.selectedIndex<=0 || o.options.length<=1)
			return;
		var mIndex=o.selectedIndex
		var vvalue1=o.options[mIndex].value;
		var vtext1=o.options[mIndex].text;
		var vvalue2=o.options[mIndex-1].value;
		var vtext2=o.options[mIndex-1].text;
		o.options[mIndex].value=vvalue2;
		o.options[mIndex].text=vtext2;
		o.options[mIndex-1].value=vvalue1;
		o.options[mIndex-1].text=vtext1;
		ListDeSelect(o);
		o.options[mIndex-1].selected=true;
	}
	/*move selected item down*/
	function ListMoveDown(o){
		if(o.selectedIndex==-1 || o.selectedIndex==o.options.length-1 || o.options.length<=1)
			return;
		var mIndex=o.selectedIndex
		var vvalue1=o.options[mIndex].value;
		var vtext1=o.options[mIndex].text;
		var vvalue2=o.options[mIndex+1].value;
		var vtext2=o.options[mIndex+1].text;
		o.options[mIndex].value=vvalue2;
		o.options[mIndex].text=vtext2;
		o.options[mIndex+1].value=vvalue1;
		o.options[mIndex+1].text=vtext1;
		ListDeSelect(o);
		o.options[mIndex+1].selected=true;
	}
	/*select all items*/
	function ListSelect(o){
		for(var cmpt=0;cmpt<o.options.length;cmpt++)
			o.options[cmpt].selected=true;
	}
	/*deselect all item in a list*/
	function ListDeSelect(o){
		for(var cmpt=0;cmpt<o.options.length;cmpt++)
			o.options[cmpt].selected=false;
	}
	

