//<![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);
			var targetTag = false;
			for (var i=0;i<childTags.length && targetTag ==false ; i++)
			{
				if (childTags[i].getAttribute(attributeName) && childTags[i].getAttribute(attributeName) == srcText)
				{
					targetTag = childTags[i];
				}
			}
			var defaultblock = 'none';
			if (!targetTag)
			{
				defaultblock = 'none';
			}
			else
			{
				defaultblock = targetTag.style.display;
			}
			for (var i = 0; i < childTags.length; i++)
			{
				if (childTags[i].getAttribute(attributeName))
				{
					var isExpander = (childTags[i].getAttribute(attributeName) == srcText);
					var isChildExpanded = false;
					if (showChild==true && childTags[i].getAttribute(attributeName).indexOf(srcText)==0)
					{
						isChildExpanded = true;
					}
					if (isExpander == true || showAll == true)
					{
						var blocktype = defaultblock;	
						if (isExpander==false && autoHide==true)
						{
							blocktype = 'none';
						}
						if (childTags[i].style.display==blocktype)
						{
							if (blocktype=='none')
							{
								blocktype = 'block';
							}
							else
							{
								blocktype = 'none';
							}
						}
						if (isExpander==true)
						{
							if (defaultblock=='none')
							{
								blocktype = 'block';
							}
							else
							{
								blocktype = 'none';
							}
						}
						childTags[i].style.display=blocktype;
					}
					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?' + eval('S' + ModuleID) + '&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'));
		return encodeURIComponent(value);
	}
	function lxDecodeURI(value) {
		//return (decodeURI(value.replace(/%26/g, '&')));
		return decodeURIComponent(value);
	}
	
	/*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);  
   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 lxreplaceValue(replaceValue,input)
{
var result = input;
			if (replaceValue==true)
			{
				var re = new RegExp("\\\\+","g");
				var s = '';
				var lindex = 0;

				var m = re.exec(result);
				while(m!=null)
				{
					if (m.index > lindex)
					{
						s = s + result.substring(lindex,m.index);
					}
					s = s + result.substring(m.index,m.index + m.length);
					lindex = m.index+m.length;
					m = re.exec(result);
				}
				if (lindex<result.length)
				{
					s=s + result.substring(lindex);
				}
				result = s;


			re = new RegExp("[\"]","g");
			result = result.replace(re,"\\\"");

			re = new RegExp("[\[]","g");
			result = result.replace(re,"\\[");

			re = new RegExp("[\]]","g");
			result = result.replace(re,"\\]");
		
			re = new RegExp("[\{]","g");
			result = result.replace(re,'\\{');

			re = new RegExp("[\}]","g");
			result = result.replace(re,'\\}');			
			}
			else
			{
				var re = new RegExp("\\\\+","g");
				var s = '';
				var lindex = 0;

				var m = re.exec(result);
				while(m!=null)
				{
					if (m.index > lindex)
					{
						s = s + result.substring(lindex,m.index);
					}
					s = s + result.substring(m.index,m.index + m.length - 1);
					lindex = m.index+m.length;
					m = re.exec(result);
				}
				if (lindex<result.length)
				{
					s=s + result.substring(lindex);
				}
				result = s;
			}
			return result;
}
function lxreplaceSelection (input, replaceString, replaceValue) {
	if (input.setSelectionRange) {
		var selectionStart = input.selectionStart;
		var selectionEnd = input.selectionEnd;


		var scrollTop = input.scrollTop; // fix scrolling issue with Firefox
		if (replaceValue!=undefined && selectionEnd > selectionStart)
		{
			var result = input.value.substring(selectionStart,selectionEnd);
			replaceString = lxreplaceValue(replaceValue,result);
		}
        
        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) {

		if (replaceValue!=undefined)
		{
			var result = range.text;
			replaceString = lxreplaceValue(replaceValue,result);
		}

			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 lxtxtEscape(item)
{
	lxreplaceSelection(item,'',true);
	return false;
}
function lxtxtUnescape(item)
{
	lxreplaceSelection(item,'',false);
	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);
	}
	else if(c==69 && e.ctrlKey)
	{
		//ESCAPE SELECTION
		return lxtxtEscape(item);
	}
	else if(c==82 && e.ctrlKey)
	{
		//REMOVE ESCAPES
		return lxtxtUnescape(item);
	}
}
var xUtilities = document.createElement('span');
xUtilities.msgCtrlDown = 'Press the key combination: [Control+DownArrow] within the text editor to increase the size of the text content area. ';
xUtilities.msgCtrlUp = 'Press the key combination: [Control+UpArrow] within the text editor to decrease the size of the text content area. ';
xUtilities.msgCtrlE = 'Press the key combination: [Control+E] to automatically escape (\\) the selected value within the text area. ';
xUtilities.msgCtrlR = 'Press the key combination: [Control+R] to automatically remove escapes (\\) from the selected value within the text area. ';
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 = 'center';
			dv.style.padding = '2px';
			var btnstyle = 'onmouseover=this.style.background=\'#ffffff\' onmouseout=this.style.background=\'#cccccc\' style=\'margin-right:2px; border: 1px solid #bbbbbb; background: #cccccc;cursor: pointer;\'';
			dv.innerHTML = "&lt;&lt;Use the following QuickKeys:&nbsp;";
			dv.innerHTML += "<a " + btnstyle + " title='Increase the size of this editor.' onclick=\"alert(xUtilities.msgCtrlDown);\">Ctrl-Down</a>";
			dv.innerHTML += "<a " + btnstyle + " title='Decrease the size of this editor.'onclick=\"alert(xUtilities.msgCtrlUp);\">Ctrl-Up</a>";
			dv.innerHTML += "<a " + btnstyle + " title='Escape (backslash) the selected text.'onclick=\"alert(xUtilities.msgCtrlE);\">Ctrl-E</a>";
			dv.innerHTML += "<a " + btnstyle + " title='Remove Escaping (backslash) from the selected text.'onclick=\"alert(xUtilities.msgCtrlR);\">Ctrl-R</a>";
			dv.innerHTML += "&gt;&gt;";
			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?'); };
			}
		}
	}
}

function lxContainerGroup(group)
{
	if (!document.forms[0].__VIEWSTATE)
	{
		window.setTimeout('lxContainerGroup(\'' + group + '\');',200);
	}
	else
	{
		/*GET THE COOKIE VARIABLE*/
		var cki = false;
		var name = false; 
		cki = lxGetCookie('lxCon_' + group);
		if (cki)
		{
			name = cki;
		}
		else
		{
			var containers = document.getElementsByTagName('lxContainer');
			for (var i = 0; i < containers.length; i++)
			{
				if (containers[i].getAttribute('Group'))
				{
					if (containers[i].getAttribute('Group')==group)
					{
						name = containers[i].getAttribute('Name');
						i = containers.length;
					}
				}
			}
		}
		if (name)
		{
			lxContainer(name);
		}
	}
}
function lxContainer(name)
{
	var containers = document.getElementsByTagName('lxContainer');
	/* FIRST IDENTIFY THE ELEMENT BY NAME */
	var srccontainer = false;
	for (var i = 0; i < containers.length; i++)
	{
		if (containers[i].getAttribute('Name'))
		{
			if (containers[i].getAttribute('Name')==name)
			{
				srccontainer = containers[i];
				i = containers.length;
			}
		}
	}
	if (srccontainer)
	{
		var srcGroup = '';
		if (srccontainer.getAttribute('Group'))
		{
			srcGroup = srccontainer.getAttribute('Group');
		}
		for (var i = 0; i < containers.length; i++)
		{
			lxmoduleid=0;
			lxmoduleid=containers[i].getAttribute('ModuleId');
			if (lxmoduleid > 0 && containers[i].getAttribute('Group'))
			{
				if (containers[i].getAttribute('Group')==srcGroup)
				{
					if (containers[i].getAttribute('Name')!=name)
					{
					lxModule(lxmoduleid,false);
					}
					else
					{
					cki = lxSetCookie('lxCon_' + srcGroup,name);
					lxModule(lxmoduleid,true);
					}
				}
			}
		}
	}
}
//]]>