//<![CDATA[
	var lxprintSource = '';
	var lxprintCounter = 0;
	var lxprintTimer;

	function lxprintContent(reportFile, reportPane, reportControl)
	{
		lxwinPrint = window.open(reportFile,'mywin','left=20,top=20,width=700,height=700,toolbar=1,resizable=1,scrollbars=yes');
		lxprintSource = document.getElementById(reportPane).innerHTML;
		lxprintCounter = 10;
		lxwaitForTarget(reportControl);
	}
	
	function lxwaitForTarget(reportControl) { 
		lxprintCounter--; 
		if (!lxwinPrint.document.getElementById(reportControl))
		{
			//DO NOTHING
			if (lxprintCounter > 0)
			{
				eval('lxprintTimer=setTimeout("lxwaitForTarget(\'' + reportControl + '\')", 1000); ');
			}
			else
			{
				alert('Unable to load report. Please try again later.');
			}
		}
		else
		{
			lxdoneTarget(reportControl);
		}
	} 
	function lxdoneTarget(reportControl)
	{
		lxwinPrint.document.getElementById(reportControl).innerHTML = lxprintSource;
		lxwinPrint.print();
	}	
	
//UTILITY FUNCTIONS
	function lxExpander(srcText, parentId, tagType, attributeName, autoHide, showAll, showChild)
	{
		var parentObj = document.getElementById(parentId);
		if (parentObj)
		{
			var childTags = parentObj.getElementsByTagName(tagType);
			for (var i = 0; i < childTags.length; i++)
			{
				if (childTags[i].getAttribute(attributeName))
				{
					var isExpander = (childTags[i].getAttribute(attributeName) == srcText);
					var isChildExpander = (showChild == true &&  childTags[i].getAttribute(attributeName).indexOf(srcText)==0);
					if (isExpander ||  isChildExpander ||  showAll == true)
							if (childTags[i].style.display == 'block')
								childTags[i].style.display='none';
							else 
								if (isExpander)
									childTags[i].style.display = 'block';
					else if (autoHide == true)
							childTags[i].style.display = 'none';
				}
			}
		}
	}
	
	function lxSetValue(objectName,Value,checkValue)
	{
		var obj = document.getElementById(objectName);
		if (Value != checkValue && obj)
		{
			obj.value = Value;
		}
	}
	
	var lxSet_ = new Array();
	var lxSet_i = 0;
	function lxSet(src,ModuleID,Name,Value)
	{
		lxSet_[lxSet_i] = new Image();
		lxSet_[lxSet_i].src = src + '/DesktopModules/ListX/xListing.IM.aspx?IX=' + lxSet_i + '&M=' + ModuleID + '&V=' + Value + '&N=' + Name;

		lxSet_i++;
	}
	
	function lxComboSelect(objectName,currentValue)
	{
		var objDrop = document.getElementById(objectName);
		for (i=0;i<objDrop.options.length;i++)
		{
			if (objDrop.options[i].value == currentValue)
			objDrop.options[i].selected = true;
			else
			objDrop.options[i].selected = false;
		}
	}		
	
	function lx_ie_getElementsByTagName(parentObj, str) {
		if (str == "*")
			return parentObj.all
		else
			return parentObj.all.tags(str)
	}

	function lxSmartJoiner(parentObjID, childTagName, valueFunction) {
		childTagName = childTagName.toUpperCase();
		if (valueFunction == null)
			valueFunction = lxGetElementValue;
		var eltParent = document.getElementById(parentObjID);
		var eltsChildren;
		var sJoin = '';
		var sHead = '';
		var sValue;
		var eltChild;
		var arrItems = new Array();

		if (document.all)
			eltsChildren = lx_ie_getElementsByTagName(eltParent, childTagName);
		else
			eltsChildren = eltParent.getElementsByTagName(childTagName);

		if ((eltsChildren != "undefined") && (eltsChildren != null)) {
			for (var iChild=0; iChild < eltsChildren.length; iChild++) {
				eltChild = eltsChildren[iChild];
				sValue = valueFunction(eltChild);
				if (sValue != null)
				{
					arrItems[arrItems.length] = sValue;
				}
			}
		}
		return (lxSmartJoinArray(arrItems));
	}

	function lxSmartJoinArray(values) {
		var sValue;
		var sHead = '';
		var sJoin = '';

		if (values.length > 0)	{		
			for (var iValue=0; iValue<values.length; iValue++)
			{
				sValue = values[iValue];
				if (sValue != null)
				{
					sHead += sValue.length + ';';
					sJoin += sValue;
				}
				else {
					sHead += '0;';
				}
			}
		}
		else {
			sHead = '0;';
		}
		sHead = sHead.length + ':' + sHead;

		return (sHead + sJoin);
	}

	function lxSmartSplitter(sJoinedText) {
		var iPos;
		var sItems = new Array();

		if ((sJoinedText != null) && (sJoinedText.length > 0)) {
			iPos = sJoinedText.indexOf(':');
			if (iPos > 0) {
				var sHeadLen = sJoinedText.substring(0, iPos);
				var iHeadLen = parseInt(sHeadLen);
				if (iHeadLen == sHeadLen) {
					if (sJoinedText.length > (iHeadLen + iPos)) {
						var sHeader = sJoinedText.substring((iPos + 1), (iPos + 1 + iHeadLen)).split(';');
						if ((sHeader != null) && (sHeader.length > 0)) {
							iPos = (iPos + iHeadLen + 1);
							for (var iChunk=0; iChunk < sHeader.length; iChunk ++) {
								var str = sHeader[iChunk];
								var iLen = parseInt(str);
								if (sJoinedText.length >= (iPos + iLen)) {
									if (iLen > 0) {
										sItems[sItems.length] = sJoinedText.substring(iPos, (iPos + iLen));
										iPos += iLen;
									}
									else {
										sItems[sItems.length] = '';
									}
								}
							}
						}
					}
				}
			}
		}
		return (sItems);
	}

	function lxGetElementValue(elementObj) {
		if ((elementObj.getAttribute('type') != "undefined") && (elementObj.getAttribute('type') != null)) {
			if (elementObj.getAttribute('type') == "checkbox") 
				return (elementObj.checked.toString());
			else
				return (elementObj.value);
			}
		else if ((elementObj.getAttribute('value') != "undefined") && (elementObj.getAttribute('value') != null))
			return (elementObj.getAttribute('value'));
		else
			return (elementObj.innerHTML);
	}

	function lxEncodeURI(value) {
		return (encodeURI(value).replace(/&/g, '%26'));
	}
	function lxDecodeURI(value) {
		return (decodeURI(value.replace(/%26/g, '&')));
	}
	
	/*ADDED FOR EXTENDED ADMIN AND USER INTERFACE CONTROLS*/
String.prototype.endsWith = function(svalue)
{
   if (this.length > svalue.length)
	return (this.substr(this.length-svalue.length,svalue.length)==svalue);
   return false;
}

function lxgetCookieVal (offset) 
   {
   var endstr = document.cookie.indexOf (";", offset);
   if (endstr == -1)
      endstr = document.cookie.length;
   return unescape(document.cookie.substring(offset, endstr));
   }

function lxGetCookie (name) 
   {
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var cookiei = 0;
   while (cookiei < clen) 
      {
      var j = cookiei + alen;
      if (document.cookie.substring(cookiei, j) == arg)
         return lxgetCookieVal (j);
      cookiei = document.cookie.indexOf(" ", cookiei) + 1;
      if (cookiei == 0) break; 
      }
   return null;
   }

function lxSetCookie (name, value) 
   {
   var argv = lxSetCookie.arguments;
   var argc = lxSetCookie.arguments.length;
   var expires = (argc > 2) ? argv[2] : null;
   var path = (argc > 3) ? argv[3] : null;
   var domain = (argc > 4) ? argv[4] : null;
   var secure = (argc > 5) ? argv[5] : false;
   document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
   }

function lxDeleteCookie () 
   {
   var exp = new Date();
   exp.setTime (exp.getTime() - 1000000000);  // This cookie is history (changed -1 to make it previous time)
   var cval = lxGetCookie ('DemoName');
   document.cookie ='DemoName' + "=" + cval + "; expires=" + exp.toGMTString();
   }



function lxsetSelectionRange(input, selectionStart, selectionEnd) {
  if (input.setSelectionRange) {
    input.focus();
    input.setSelectionRange(selectionStart, selectionEnd);
  }
  else if (input.createTextRange) {
    var range = input.createTextRange();
    range.collapse(true);
    range.moveEnd('character', selectionEnd);
    range.moveStart('character', selectionStart);
    range.select();
  }
}

function lxreplaceSelection (input, replaceString) {
	if (input.setSelectionRange) {
		var selectionStart = input.selectionStart;
		var selectionEnd = input.selectionEnd;


		var scrollTop = input.scrollTop; // fix scrolling issue with Firefox
                input.value = input.value.substring(0, selectionStart) + replaceString + input.value.substring(selectionEnd);
                input.scrollTop = scrollTop;

		if (selectionStart != selectionEnd){ 
			lxsetSelectionRange(input, selectionStart, selectionStart + 	replaceString.length);
		}else{
			lxsetSelectionRange(input, selectionStart + replaceString.length, selectionStart + 

replaceString.length);
		}

	}else if (document.selection) {
		var range = document.selection.createRange();

		if (range.parentElement() == input) {
			var isCollapsed = range.text == '';
			range.text = replaceString;

			 if (!isCollapsed)  {
				range.moveStart('character', -replaceString.length);
				range.select();
			}
		}
	}
}
function lxsetTab(item)
{
	var cookiei = 0;
	if (lxGetCookie(item.name)!=null) 
		cookiei = parseInt(lxGetCookie(item.name).replace('px',''));
	
	var itemi = parseInt(item.style.height.replace('px',''));
	if (itemi < iMinHeight || cookiei < iMinHeight)
	{
		itemi = iMinHeight;
		lxtxtUp(item);
	}
	else
	{
		item.style.height=lxGetCookie(item.name);
	}
}
var iMinHeight = 50;
var iHitHeight = 50;
function lxtxtUp(item)
{
	var itemi = parseInt(item.style.height.replace('px',''));
	if (itemi >= iMinHeight)
	{
		item.style.height= (itemi+iHitHeight) + 'px';
	}
	else
	{
		item.style.height = iMinHeight + 'px';
	}
	lxSetCookie(item.name,item.style.height);
	return false;
}
function lxtxtDn(item)
{
	var itemi = parseInt(item.style.height.replace('px',''));
	if (itemi > iMinHeight)
	{
		item.style.height= (itemi-iHitHeight) + 'px';
	}
	else
	{
		item.style.height = iMinHeight + 'px';
	}
	lxSetCookie(item.name,item.style.height);
	return false;	
}
function lxtxtTb(item)
{
	lxreplaceSelection(item,String.fromCharCode(9));
	return false;
}
function lxcatchTab(item,e){
	if (!e)
		e = window.event;
	c = e.which ? e.which : e.keyCode;
	if(c==9){
		return lxtxtTb(item);
	}
	else if(c==40 && e.ctrlKey)
	{
		return lxtxtUp(item);
	}
	else if(c==38 && e.ctrlKey)
	{
		return lxtxtDn(item);
	}
}
function lxInit_RichText()
{
	items = document.getElementsByTagName('TEXTAREA');
	for(i=0;i<items.length;i++)
	{
		rtext = items[i].getAttribute('richtext');
		if (rtext && typeof(rtext.lxRTL)=='undefined')
		{
			rtext.lxRTL = true;
			
			//LOAD DEFAULTS
			lxsetTab(items[i]);

			//KEY HANDLER
			items[i].onkeydown = function (event) {return lxcatchTab(this,event)};
			
			//DISPLAY
			var dv = document.createElement('div');
			dv.style.border = '1px solid #cccccc'
			dv.style.background = '#eeeeee';
			dv.style.width = '100%';
			dv.style.fontFamily = 'arial';
			dv.style.fontSize = '9px';
			dv.style.fontWeight = 'normal';
			dv.style.textAlign = 'right';
			dv.style.cursor = 'pointer';
			dv.innerHTML = "Quick Keys: <b><a onclick=\"lxtxtUp(document.getElementById('" + items[i].id + "'));\">Ctrl-Down</a></b> | <b><a onclick=\"lxtxtDn(document.getElementById('" + items[i].id + "'));\">Ctrl-Up</a></b>";
			items[i].parentNode.appendChild(dv);
		}
	}
}	

function lxInit_Delete(TagType)
{
	var items = [];
	if (!TagType)
		TagType = 'INPUT';
		
	items = document.getElementsByTagName(TagType);
	for(i=0;i<items.length;i++)
	{
		if (items[i].src != null && items[i].src.length > 0)
		{
			if (items[i].src.endsWith('delete.gif') && typeof(items[i].lxDL)=='undefined')
			{
				items[i].lxDL = true;
				items[i].onclick = function () { return confirm('Are you certain you want to delete this item?'); };
			}
		}
	}
}
//]]>