String.prototype.trim = function(){
	return this.replace(/^\s*|\s*$/g, '');
	}
function objCount(refObj){
	if(refObj.length){return refObj.length;}
	var i = 0;
	for(var k in refObj){
		if(refObj.hasOwnProperty(k)){
			i++;
			}
		}
	return i;
	}
function trim(str){
	return str.replace(/^\s*|\s*$/g, '');
	}
function str_pad(input, pad_length, pad_string, pad_type){
	var half = '', pad_to_go;
	var str_pad_repeater = function(s, len){
		var collect = '', i;
		while(collect.length < len) collect += s;
		collect = collect.substr(0, len);
		return collect;
		};
	input += '';
	if (pad_type != 'STR_PAD_LEFT' && pad_type != 'STR_PAD_RIGHT' && pad_type != 'STR_PAD_BOTH'){pad_type = 'STR_PAD_RIGHT';}
	if ((pad_to_go = pad_length - input.length) > 0){
		if (pad_type == 'STR_PAD_LEFT'){
			input = str_pad_repeater(pad_string, pad_to_go) + input;
			}else if (pad_type == 'STR_PAD_RIGHT'){
			input = input + str_pad_repeater(pad_string, pad_to_go);
			}else if (pad_type == 'STR_PAD_BOTH'){
			half = str_pad_repeater(pad_string, Math.ceil(pad_to_go/2));
			input = half + input + half;
			input = input.substr(0, pad_length);
			}
		}
	return input;
	}
// Browser functions
function printPage(){
	print(document);
	}
function docSize(){
	var myWidth = 0, myHeight = 0;
	if(typeof(window.innerWidth) == 'number'){
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
		}else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)){
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
		}else if(document.body && (document.body.clientWidth || document.body.clientHeight)){
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
		}
	return new Array(myWidth, myHeight);
	}
function docScrollArea(){
	var arrTmp = new Array();
	arrTmp[0] = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : ((document.body && document.body.scrollTop) ? document.body.scrollTop : 0);
	arrTmp[1] = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : ((document.body && document.body.scrollLeft) ? document.body.scrollLeft : 0);
	arrTmp[2] = (document.documentElement && document.documentElement.scrollWidth) ? document.documentElement.scrollWidth : ((document.body && document.body.scrollWidth) ? document.body.scrollWidth : 0);
	arrTmp[3] = (document.documentElement && document.documentElement.scrollHeight) ? document.documentElement.scrollHeight : ((document.body && document.body.scrollHeight) ? document.body.scrollHeight : 0);
	return arrTmp;
	}
// Cookie functions
function readCookie(name){
	var cookieValue = "";
	var search = name + "=";
	if(document.cookie.length > 0){
		offset = document.cookie.indexOf(search);
		if (offset != -1){
			offset += search.length;
			end = document.cookie.indexOf(";", offset);
			if (end == -1) end = document.cookie.length;
			cookieValue = unescape(document.cookie.substring(offset, end))
			}
		}
	return cookieValue;
	}
function writeCookie(name, value, hours){
	var expire = "";
	if(hours != null){
		expire = new Date((new Date()).getTime() + hours * 3600000);
		expire = "; expires=" + expire.toGMTString();
		document.cookie = name + "=" + escape(value) + expire;
		}else{
		document.cookie = name + "=" + escape(value);
		}
	}
// String functions
function replaceCharacters(conversionString, inChar, outChar){
	var convertedString = conversionString.split(inChar);
	convertedString = convertedString.join(outChar);
	return convertedString;
	}
function wrapString(inputString, wrapLength, delimiter){
	if (!delimiter) delimiter = '\n';
	if (!wrapLength) wrapLength = inputString.length.buildString = '';
	for (i=0; i < inputString.length; i+=wrapLength){
		buildString += inputString.slice(i,i+wrapLength) + delimiter;
		}
	return buildString.slice(0,(buildString.length - delimiter.length));
	}
function innerStr(refObj){
	return (refObj.innerText) ? refObj.innerText : ((refObj.textContent) ? refObj.textContent : '');
	}
function htmlspecialchars(str){
	if (typeof(str) == "string"){
		str = str.replace(/&/g, "&amp;");
		str = str.replace(/"/g, "&quot;");
		str = str.replace(/'/g, "&#039;");
		str = str.replace(/</g, "&lt;");
		str = str.replace(/>/g, "&gt;");
		}
	return str;
	}
// Miscallenous functions
function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
			}
		}else if (obj.x){
		curleft += obj.x;
		}
	return curleft;
	}
function findPosY(obj){
	var curtop = 0;
	var nes = obj;
	if (nes.offsetParent){
		while (nes.offsetParent){
			curtop += nes.offsetTop;
			nes = nes.offsetParent;
			}
		}else if (nes.y){
		curtop += nes.y;
		}
	return curtop;
	}
function varAttribute(refObj, atrbt){
	if (refObj.hasAttribute){
		return refObj.hasAttribute(atrbt);
		}else{
		if (refObj.attributes){
			return refObj.attributes[atrbt] ? true : false;
			}else{
			return false;
			}
		}
	}
function ConfirmAction(){
	if (confirm('Please confirm this action!')){
		return true;
		}else{
		return false;
		}
	}
function setOpacity(id, opc){
	var o = document.getElementById(id).style;
	o.opacity = (opc / 100);
	o.MozOpacity = (opc / 100);
	o.KhtmlOpacity = (opc / 100);
	o.filter = 'alpha(opacity=' + opc + ')';
	return false;
	}
function switchAgTab(activeIndex, captionPrefix, bodyPrefix, activeClass, passiveClass){
	for(i=0; i<10; i++){
		if(document.getElementById(captionPrefix + i)){
			var tc = document.getElementById(captionPrefix + i);
			if(i == activeIndex){
				tc.className = activeClass;
				}else{
				tc.className = passiveClass;
				}
			}
		if(document.getElementById(bodyPrefix + i)){
			var tb = document.getElementById(bodyPrefix + i);
			if(i == activeIndex){
				tb.style.display = '';
				}else{
				tb.style.display = 'none';
				}
			}
		}
	return true;
	}
// Ajax functions
function MouseX(e){
	var retVal = 0;
	if (!e) var e = window.event;
	if (e.pageX){
		retVal = e.pageX;
		}else if (e.clientX){
		retVal = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		}
	return retVal;
	}
function MouseY(e){
	var retVal = 0;
	if (!e) var e = window.event;
	if (e.pageY){
		retVal = e.pageY;
		}else if (e.clientY){
		retVal = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
		}
	return retVal;
	}
function ajaxObject(){
	var xmlHttp = null;
	try{ // Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
		}catch(e){ // Internet Explorer
		try{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
			}catch(e){
			try{
				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
				}catch(e){
				try{
					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
					}catch(e){
					xmlHttp = null;
					}
				}
			}
		}
	return xmlHttp;
	}
function agJavascriptLibrary(){
	var ben = this;
	this.get = function(url, resultfunc, timeout, additionals){
		var xmlObj = ben.object();
		if (xmlObj == null){return false;}
		if (typeof(timeout) == 'undefined'){timeout = 0;}
		if (typeof(additionals) == 'undefined'){additionals = null;}
		xmlObj.onreadystatechange = function(){
			if (xmlObj.readyState == 4){
				if (xmlObj.status == 200 || xmlObj.status == 304 || (xmlObj.status > 400 && xmlObj.status < 407) || (xmlObj.status > 500 && xmlObj.status < 506)){
					if(timeout){clearTimeout(requestTimer);}
					resultfunc(xmlObj.responseText, additionals);
					}
				}
			return false;
			}
		if(timeout){var requestTimer = setTimeout(function(){xmlObj.abort(); resultfunc('TO:', additionals); return false;}, timeout);}
		xmlObj.open('GET', url, true);
		xmlObj.send(null);
		return false;
		}
	this.post = function(url, resultfunc, timeout, postvars, additionals){
		var xmlObj = ben.object();
		if (xmlObj == null){return false;}
		if (typeof(timeout) == 'undefined'){timeout = 0;}
		if (typeof(additionals) == 'undefined'){additionals = null;}
		xmlObj.onreadystatechange = function(){
			if (xmlObj.readyState == 4){
				if (xmlObj.status == 200 || xmlObj.status == 304 || (xmlObj.status > 400 && xmlObj.status < 407) || (xmlObj.status > 500 && xmlObj.status < 506)){
					if(timeout){clearTimeout(requestTimer);}
					resultfunc(xmlObj.responseText, additionals);
					}
				}
			return false;
			}
		if(timeout){var requestTimer = setTimeout(function(){xmlObj.abort(); resultfunc('TO:', additionals); return false;}, timeout);}
		xmlObj.open('POST', url, true);
		xmlObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlObj.setRequestHeader("Content-length", postvars.length);
		xmlObj.setRequestHeader("Connection", "close");
		xmlObj.send(postvars);
		return false;
		}
	this.getsync = function(url){
		var xmlObj = ben.object();
		if (xmlObj == null){return false;}
		xmlObj.open('GET', url, false);
		xmlObj.send(null);
		return xmlObj.responseText;
		}
	this.postsync = function(url, postvars){
		var xmlObj = ben.object();
		if (xmlObj == null){return false;}
		xmlObj.open('POST', url, false);
		xmlObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlObj.setRequestHeader("Content-length", postvars.length);
		xmlObj.setRequestHeader("Connection", "close");
		xmlObj.send(postvars);
		return xmlObj.responseText;
		}
	this.buildpostdata = function(formObj){
		var pstr = '';
		for(i=0; i<formObj.elements.length; i++){
			var typ = formObj.elements[i].type;
			typ = typ.toLowerCase();
			if (typ == 'text' || typ == 'password' || typ == 'hidden' || typ == 'textarea' || typ == 'select-one'){
				pstr += ((pstr != '') ? '&' : '') + formObj.elements[i].name + '=' + encodeURIComponent(formObj.elements[i].value);
				}else if((typ == 'radio' || typ == 'checkbox') && formObj.elements[i].checked == true){
				pstr += ((pstr != '') ? '&' : '') + formObj.elements[i].name + '=' + encodeURIComponent(formObj.elements[i].value);
				}
			}
		return pstr;
		}
	this.object = function(){
		var xmlHttp = null;
		try{ // Firefox, Opera 8.0+, Safari
			xmlHttp = new XMLHttpRequest();
			}catch(e){ // Internet Explorer
			try{
				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
				}catch(e){
				try{
					xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
					}catch(e){
					try{
						xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
						}catch(e){
						xmlHttp = null;
						}
					}
				}
			}
		if (xmlHttp == null){alert('Your browser does not have XmlHttpRequest support!');}
		return xmlHttp;
		}
	this._imageUploadCallBack = function(){
		if(!document.getElementById('ifrUploadHolderForAj')){return false;}
		var ifr = document.getElementById('ifrUploadHolderForAj');
		var idc = null;
		if(ifr.contentDocument){
			idc = ifr.contentDocument;
			}else if(ifr.contentWindow.document){
			idc = ifr.contentWindow.document;
			}else if(ifr.document){
			idc = ifr.document;
			}
		if(idc.location == '' || idc.location == 'about:blank'){return false;}
		if(idc == null){return false;}
		var str = trim(idc.body.innerHTML);
		if(ben.uploadLastOperationCBfunc != null && typeof(ben.uploadLastOperationCBfunc) == 'function'){
			ben.uploadLastOperationCBfunc(str, ben.uploadLastOperationForm, ben.uploadLastOperationAdditionals);
			}
		return true;
		}
	window.onload = function(){
		if(!document.getElementById('ifrUploadHolderForAj')){
			document.body.innerHTML += '<iframe id="ifrUploadHolderForAj" name="IFRTARGETFORPUPLOAD" frameborder="1" height="60" width="100" src="about:blank" onload="aj._imageUploadCallBack()" style="position:absolute; left:-200px; top:-200px; display:none;"></iframe>';
			}
		}
	var uploadLastOperationCBfunc = null;
	var uploadLastOperationForm = null;
	var uploadLastOperationAdditionals = null;
	this.upload = function(theForm, resultfunc, additionals){
		if(!document.getElementById('ifrUploadHolderForAj')){return false;}
		var ifr = document.getElementById('ifrUploadHolderForAj');
		if(ifr.contentWindow.stop){
			ifr.contentWindow.stop();
			}else if(ifr.contentWindow.document){
			ifr.contentWindow.document.execCommand('Stop');
			}
		ben.uploadLastOperationCBfunc = resultfunc;
		ben.uploadLastOperationForm = theForm;
		ben.uploadLastOperationAdditionals = additionals;
		theForm.target = 'IFRTARGETFORPUPLOAD';
		theForm.submit();
		}
	var codeToEvalAfterMessageClose = '';
	this.ShowMessage = function(mesStr, mesType, evalAfterClose){
		var arr = docScrollArea();
		if(mesType == null){mesType = 'in';}
		if(evalAfterClose == null || evalAfterClose == ''){evalAfterClose = 'var i = 1;';}
		ben.codeToEvalAfterMessageClose = evalAfterClose;
		mesType = mesType.toLowerCase(); // in, er, ex, pr, ....
		if (mesType != 'in' && mesType != 'er' && mesType != 'ex' && mesType != 'pr'){mesType = 'ot';}
		var bgc = '';
		if (mesType == 'er'){
			var bgc = '#FFCC99';
			}else if (mesType == 'ex'){
			var bgc = '#FFFF99';
			}else if (mesType == 'in'){
			var bgc = '#CCFF99';
			}else if (mesType == 'pr'){
			var bgc = '#CCFFFF';
			}else{
			var bgc = '#F0F0F0';
			}
		if (!document.getElementById('tblMessageOnTop')){
			var tdiv = document.createElement('div');
			tdiv.setAttribute('id', 'divMessageOnTop');
			tdiv.style.position = 'absolute';
			tdiv.style.left = arr[1] + 'px';
			tdiv.style.top = arr[0] + 'px';
			tdiv.style.width = '100%';
			tdiv.style.height = '100%';
			tdiv.style.backgroundColor = '#FFF';
			tdiv.style.opacity = '.01';
			tdiv.style.MozOpacity = '.01';
			tdiv.style.KhtmlOpacity = '.01';
			tdiv.style.filter = 'alpha(opacity=1)';
			tdiv.style.display = 'none';
			tdiv.style.zIndex = '9998';
			var dtxt = document.createTextNode(' ');
			tdiv.appendChild(dtxt);
			var ttbl = document.createElement('table');
			ttbl.setAttribute('border', '0');
			ttbl.setAttribute('id', 'tblMessageOnTop');
			ttbl.setAttribute('cellpadding', '0');
			ttbl.setAttribute('cellspacing', '0');
			ttbl.setAttribute('width', '100%');
			ttbl.setAttribute('height', '100%');
			ttbl.style.position = 'absolute';
			ttbl.style.left = arr[1] + 'px';
			ttbl.style.top = arr[0] + 'px';
			ttbl.style.display = 'none';
			ttbl.style.zIndex = '9999';
			var tbdy = document.createElement("tbody");
			var trow = document.createElement('tr');
			trow.setAttribute('align', 'center');
			var tcll = document.createElement('td');
			tcll.setAttribute('id', 'tdMessageContent');
			var ttxt = document.createTextNode(' ');
			tcll.appendChild(ttxt);
			trow.appendChild(tcll);
			tbdy.appendChild(trow);
			ttbl.appendChild(tbdy);
			document.body.appendChild(tdiv);
			document.body.appendChild(ttbl);
			}
		var str = '<table border="0" cellpadding="0" cellspacing="0" style="border:3px solid #FFF;"><tr bgcolor="' + bgc + '"><td style="border:3px solid #000; padding:15px 25px; cursor:default;">';
		str += '<table border="0" cellpadding="0" cellspacing="0">';
		str += '<tr class="txV tx12" style="cursor:default;">';
		str += '<td valign="top"><img border="0" src="images/icon_' + mesType + '.gif" width="32" height="32"></td><td width="25">&nbsp;</td>';
		str += '<td align="left">' + mesStr + '</td>';
		str += '</tr>';
		if (mesType != 'pr'){
			str += '<tr height="20"><td colspan="3">&nbsp;</td></tr>';
			str += '<tr class="txV tx12" align="center">';
			str += '<td colspan="3"><button id="btnHideMsgBox" class="txV tx12" style="height:24px; padding-left:15px; padding-right:15px;" onClick="aj.HideMessage()" onKeyDown="if(event.keyCode==27){aj.HideMessage();}">Okay</button></td>';
			str += '</tr>';
			}
		str += '</table></td></tr></table>';
		document.getElementById('tdMessageContent').innerHTML = str;
		document.getElementById('divMessageOnTop').style.display = '';
		document.getElementById('tblMessageOnTop').style.display = '';
		if (document.getElementById("btnHideMsgBox")){
			var btn = document.getElementById("btnHideMsgBox");
			if (btn.style.display != 'hidden'){
				setTimeout('document.getElementById(\'btnHideMsgBox\').focus();', 100);
				}
			}
		return false;
		}
	this.HideMessage = function(){
		if (document.getElementById('tdMessageContent')) {
			document.getElementById('tdMessageContent').innerHTML = '';
			}
		if (document.getElementById('tblMessageOnTop')) {
			document.getElementById('tblMessageOnTop').style.display = 'none';
			}
		if (document.getElementById('divMessageOnTop')) {
			document.getElementById('divMessageOnTop').style.display = 'none';
			}
		if (ben.codeToEvalAfterMessageClose != ''){
			eval(ben.codeToEvalAfterMessageClose);
			ben.codeToEvalAfterMessageClose = '';
			}
		return false;
		}
	this.keepFocusOnMsgboxButton = function(e){
		if(!document.getElementById('divMessageOnTop') || !document.getElementById('tblMessageOnTop') || !document.getElementById('tdMessageContent') || !document.getElementById('btnHideMsgBox')){
			return true;
			}
		var dmt = document.getElementById('divMessageOnTop');
		var tmt = document.getElementById('tblMessageOnTop');
		var tmc = document.getElementById('tdMessageContent');
		var btn = document.getElementById('btnHideMsgBox');
		if(dmt.style.display == 'none' || tmt.style.display == 'none' || tmc.style.display == 'none' || btn.style.display == 'none'){
			return true;
			}
		setTimeout('document.getElementById(\'btnHideMsgBox\').focus();', 100);
		return true;
		}
	if(document.addEventListener){
		document.addEventListener("click", ben.keepFocusOnMsgboxButton, false);
		}else if(document.attachEvent){
		document.attachEvent("onclick", ben.keepFocusOnMsgboxButton);
		}else{
		document.onclick = ben.keepFocusOnMsgboxButton;
		}
	this.keepVisibleTheMessageBox = function(){
		if(!document.getElementById('divMessageOnTop') || !document.getElementById('tblMessageOnTop') || !document.getElementById('tdMessageContent')){
			return true;
			}
		var dmt = document.getElementById('divMessageOnTop');
		var tmt = document.getElementById('tblMessageOnTop');
		var tmc = document.getElementById('tdMessageContent');
		if(dmt.style.display == 'none' || tmt.style.display == 'none' || tmc.style.display == 'none'){
			return true;
			}
		var arr = docScrollArea();
		dmt.style.left = arr[1] + 'px';
		dmt.style.top = arr[0] + 'px';
		tmt.style.left = arr[1] + 'px';
		tmt.style.top = arr[0] + 'px';
		return true;
		}
	var ContentLayerVars = {};
	function DrawContentWindow(contentHtml, winCaption, showClose, layerLevel, bgOpacity){
		var arr = docScrollArea();
		if(typeof(winCaption) == 'undefined'){winCaption = '&nbsp;';}
		if(typeof(showClose) == 'undefined'){showClose = true;}
		var cHtml = '<table border="0" cellpadding="0" cellspacing="0" style="border:0px none #666;">';
		cHtml += '<tr bgcolor="#BAD2EA" style="cursor:default;">';
		cHtml += '<td style="border:1px solid #333;">';
		cHtml += '<div style="border-top:1px solid #FFF; border-left:1px solid #FFF; border-bottom:1px solid #3FCEF2; border-right:1px solid #3FCEF2;">';
		cHtml += '<table border="0" cellpadding="0" cellspacing="7">';
		cHtml += '<tr class="txV tx12 b" style="white-space:nowrap; color:#3A526A;">';
		cHtml += '<td align="left">' + winCaption + '</td><td width="10">&nbsp;</td><td align="right">';
		cHtml += showClose ? '<img border="0" src="images/closewin.gif" width="28" height="15" onClick="aj.HideContentLayer(this)">' : '&nbsp;';
		cHtml += '</td></tr>';
		cHtml += '<tr class="txV tx12" bgcolor="#FFFFFF" align="left">';
		cHtml += '<td colspan="3" style="border:1px solid #AAC2DA;">' + contentHtml + '</td>';
		cHtml += '</tr>';
		cHtml += '</table>';
		cHtml += '</div>';
		cHtml += '</td>';
		cHtml += '</tr>';
		cHtml += '</table>';
		var cdiv = document.getElementById('divLayerForContent' + layerLevel);
		var ctbl = document.getElementById('tblLayerForContent' + layerLevel);
		document.getElementById('tdLayerForContent' + layerLevel).innerHTML = cHtml;
		cdiv.style.opacity = '' + bgOpacity;
		cdiv.style.MozOpacity = '' + bgOpacity;
		cdiv.style.KhtmlOpacity = '' + bgOpacity;
		cdiv.style.filter = 'alpha(opacity=' + (bgOpacity * 100) + ')';
		cdiv.style.display = '';
		ctbl.style.display = '';
		cdiv.style.top = arr[0] + 'px';
		cdiv.style.left = arr[1] + 'px';
		ctbl.style.top = arr[0] + 'px';
		ctbl.style.left = arr[1] + 'px';
		if(document.getElementById('tdLayerForContent' + layerLevel).focus()){document.getElementById('tdLayerForContent' + layerLevel).focus();}
		return true;
		}
	this.ShowContentLayer = function(contentFileOrHtml, windowCaption, queryStr, showCloseButton, layerLevel, bgOpacity, ajaxTimeout, ajaxLoadMessage){
		if(typeof(windowCaption) == 'undefined'){windowCaption = '&nbsp;';}
		if(typeof(showCloseButton) == 'undefined'){showCloseButton = true;}
		if(typeof(contentFileOrHtml) == 'undefined'){contentFileOrHtml = '&nbsp;';}
		if(typeof(queryStr) == 'undefined'){queryStr = '';}
		if(typeof(ajaxTimeout) != 'number'){ajaxTimeout = 15000;}
		ajaxTimeout = ajaxTimeout < 250 ? 250 : (ajaxTimeout > 900000 ? 900000 : ajaxTimeout);
		if(typeof(ajaxLoadMessage) != 'string'){ajaxLoadMessage = '...';}
		if(layerLevel == null || typeof(layerLevel) != 'number' || layerLevel == 0){
			for(i=1; i<10; i++){
				if(!document.getElementById('divLayerForContent' + i) || !document.getElementById('tblLayerForContent' + i)){
					layerLevel = i;
					break;
					}else if(document.getElementById('divLayerForContent' + i).style.display == 'none' || document.getElementById('tblLayerForContent' + i).style.display == 'none'){
					layerLevel = i;
					break;
					}
				}
			if(layerLevel == null || typeof(layerLevel) != 'number' || layerLevel == 0){layerLevel = 1;}
			}
		layerLevel = layerLevel < 1 ? 1 : (layerLevel > 9 ? 9 : layerLevel);
		if(bgOpacity == null || typeof(bgOpacity) != 'number'){bgOpacity = .5;}
		bgOpacity = bgOpacity < 0 ? 0 : (bgOpacity > 1 ? 1 : bgOpacity);
		ContentLayerVars['lyr' + layerLevel] = {fileorhtml: contentFileOrHtml, wincaption: windowCaption, query: queryStr, closebut: showCloseButton, level: layerLevel, opacity: bgOpacity, timeout: ajaxTimeout};
		if (!document.getElementById('tblLayerForContent' + layerLevel)){
			var tdiv = document.createElement('div');
			tdiv.setAttribute('id', 'divLayerForContent' + layerLevel);
			tdiv.style.position = 'absolute';
			tdiv.style.left = document.body.scrollLeft + 'px';
			tdiv.style.top = document.body.scrollTop + 'px';
			tdiv.style.width = '100%';
			tdiv.style.height = '100%';
			tdiv.style.backgroundColor = '#000';
			tdiv.style.opacity = '.50';
			tdiv.style.MozOpacity = '.50';
			tdiv.style.KhtmlOpacity = '.50';
			tdiv.style.filter = 'alpha(opacity=50)';
			tdiv.style.display = 'none';
			tdiv.style.zIndex =  layerLevel + '08';
			var dtxt = document.createTextNode(' ');
			tdiv.appendChild(dtxt);
			var ttbl = document.createElement('table');
			ttbl.setAttribute('border', '0');
			ttbl.setAttribute('id', 'tblLayerForContent' + layerLevel);
			ttbl.setAttribute('cellpadding', '0');
			ttbl.setAttribute('cellspacing', '0');
			ttbl.setAttribute('width', '100%');
			ttbl.setAttribute('height', '100%');
			ttbl.style.position = 'absolute';
			ttbl.style.left = document.body.scrollLeft + 'px';
			ttbl.style.top = document.body.scrollTop + 'px';
			ttbl.style.display = 'none';
			ttbl.style.zIndex = layerLevel + '09';
			var tbdy = document.createElement("tbody");
			var trow = document.createElement('tr');
			trow.setAttribute('align', 'center');
			var tcll = document.createElement('td');
			tcll.setAttribute('id', 'tdLayerForContent' + layerLevel);
			var ttxt = document.createTextNode(' ');
			tcll.appendChild(ttxt);
			trow.appendChild(tcll);
			tbdy.appendChild(trow);
			ttbl.appendChild(tbdy);
			document.body.appendChild(tdiv);
			document.body.appendChild(ttbl);
			}
		var i = contentFileOrHtml.lastIndexOf('.');
		var ext = '';
		if(i > 0){ext = contentFileOrHtml.substr(i, contentFileOrHtml.length).toLowerCase();}
		if(ext == '.php' || ext == '.htm' || ext == '.html' || ext == '.txt' || ext == '.asp' || ext == '.aspx' || ext == '.log'){
			if(queryStr != '' && queryStr.substr(0, 1) != '?'){queryStr = '?' + queryStr;}
			ben.ShowMessage(ajaxLoadMessage, 'pr');
			ben.get(contentFileOrHtml + queryStr, function(rtxt){
				ben.HideMessage();
				rtxt = trim(rtxt);
				var rst = rtxt.substr(0, 3);
				var str = trim(rtxt.substr(3, rtxt.length));
				if(rst == 'OK:'){
					// birinci script...
					var KodOncesiScript = null;
					var n1 = str.indexOf('<script language');
					var n2 = str.indexOf('</script>');
					if (n1 > -1 && n2 > -1 && n2 > n1){
						var n3 = str.indexOf('>', n1 + 1) + 1;
						var scr = str.substr(n3, n2 - n3);
						scr = trim(scr);
						if(scr.substr(0, 4) == '<!--'){
							scr = scr.substr(4, scr.length);
							}
						if(scr.substr(scr.length - 5, 5) == '//-->'){
							scr = scr.substr(0, scr.length - 5);
							}
						scr = trim(scr);
						KodOncesiScript = scr;
						var scr = str.substr(n1, (n2 + 9) - n1);
						str = replaceCharacters(str, scr, '');
						}
					// ikinci script...
					var KodSonrasiScript = null;
					var n1 = str.lastIndexOf('<script language');
					var n2 = str.indexOf('</script>', n1 + 1);
					if (n1 > -1 && n2 > -1 && n2 > n1){
						var n3 = str.indexOf('>', n1 + 1) + 1;
						var scr = str.substr(n3, n2 - n3);
						scr = trim(scr);
						if(scr.substr(0, 4) == '<!--'){
							scr = scr.substr(4, scr.length);
							}
						if(scr.substr(scr.length - 5, 5) == '//-->'){
							scr = scr.substr(0, scr.length - 5);
							}
						scr = trim(scr);
						KodSonrasiScript = scr;
						var scr = str.substr(n1, (n2 + 9) - n1);
						str = replaceCharacters(str, scr, '');
						}
					if(KodOncesiScript != null){eval(KodOncesiScript);}
					DrawContentWindow(trim(str), windowCaption, showCloseButton, layerLevel, bgOpacity);
					if(KodSonrasiScript != null){eval(KodSonrasiScript);}
					}else if(rst == 'ER:'){
					aj.ShowMessage(str, 'ex');
					}else if(rst == 'TO:'){
					aj.ShowMessage('<b>No response from server!</b><br>No response from server has been received within expected period of time.<br>Please try again.', 'ex');
					}else{
					aj.ShowMessage('<b>Invalid response from server!</b><br>An invalid response from server has been received.<br>Please try again.', 'ex');
					}
				}, ajaxTimeout);
			}else{
			DrawContentWindow(contentFileOrHtml, windowCaption, showCloseButton, layerLevel, bgOpacity);
			}
		return false;
		}
	this.HideContentLayer = function(refObj){
		var svy = 0;
		if(typeof(refObj) == 'undefined' || refObj == null){
			for(i=9; i>0; i--){
				if(document.getElementById('divLayerForContent' + i) && document.getElementById('tblLayerForContent' + i)){
					if(document.getElementById('divLayerForContent' + i).style.display == '' || document.getElementById('tblLayerForContent' + i).style.display == ''){
						svy = i;
						break;
						}
					}
				}
			}else{
			var oElem = refObj;
			var bulundu = false;
			var yazi = '';
			while(bulundu == false){
				oElem = oElem.parentNode;
				if(oElem.tagName == 'BODY'){break;}
				yazi = oElem.id.toString();
				if(yazi.substr(0, 17) == 'tdLayerForContent' || yazi.substr(0, 18) == 'tblLayerForContent'){
					bulundu = true;
					}
				}
			if(bulundu){
				var svy = 0;
				if(oElem.id.substr(0, 17) == 'tdLayerForContent'){
					svy = oElem.id.substr(17, oElem.id.length);
					}
				if(oElem.id.substr(0, 18) == 'tblLayerForContent'){
					svy = oElem.id.substr(18, oElem.id.length);
					}
				}
			}
		if(svy > 0){
			document.getElementById('tdLayerForContent' + svy).innerHTML = '';
			document.getElementById('divLayerForContent' + svy).style.display = 'none';
			document.getElementById('tblLayerForContent' + svy).style.display = 'none';
			}
		return true;
		}
	this.RefreshContentLayer = function(layerLevel){
		if(typeof(layerLevel) != 'number'){layerLevel = 0;}
		var topLayer = 0;
		for(i=9; i>0; i--){
			if(document.getElementById('divLayerForContent' + i) && document.getElementById('tblLayerForContent' + i)){
				topLayer = i;
				break;
				}
			}
		if(layerLevel < 1){layerLevel = topLayer + layerLevel;}
		if(layerLevel < 1 || layerLevel > 9 || !ContentLayerVars['lyr' + layerLevel]){return false;}
		var vars = ContentLayerVars['lyr' + layerLevel];
		ben.ShowContentLayer(vars.fileorhtml, vars.wincaption, vars.query, vars.closebut, vars.level, vars.opacity, vars.timeout);
		return true;
		}
	this.keepVisibleTheContentWin = function(){
		var arr = docScrollArea();
		for(i=1; i<10; i++){
			if(document.getElementById('divLayerForContent' + i) || document.getElementById('tblLayerForContent' + i) || document.getElementById('tdLayerForContent' + i)){
				var dvc = document.getElementById('divLayerForContent' + i);
				var tbc = document.getElementById('tblLayerForContent' + i);
				var tdc = document.getElementById('tdLayerForContent' + i);
				if(dvc.style.display != 'none' && tbc.style.display != 'none' && tdc.style.display != 'none'){
					dvc.style.left = arr[1] + 'px';
					dvc.style.top = arr[0] + 'px';
					tbc.style.left = arr[1] + 'px';
					tbc.style.top = arr[0] + 'px';
					}
				}
			}
		return true;
		}
	if(window.addEventListener){
		window.addEventListener("resize", ben.keepVisibleTheMessageBox, false);
		window.addEventListener("scroll", ben.keepVisibleTheMessageBox, false);
		window.addEventListener("resize", ben.keepVisibleTheContentWin, false);
		window.addEventListener("scroll", ben.keepVisibleTheContentWin, false);
		}else if(window.attachEvent){
		window.attachEvent("onresize", ben.keepVisibleTheMessageBox);
		window.attachEvent("onscroll", ben.keepVisibleTheMessageBox);
		window.attachEvent("onresize", ben.keepVisibleTheContentWin);
		window.attachEvent("onscroll", ben.keepVisibleTheContentWin);
		}else{
		window.onresize = ben.keepVisibleTheMessageBox;
		window.onscroll = ben.keepVisibleTheMessageBox;
		}
	this.switchTab = function(selectedIndex, controlsPrefix, classNameForActive, classNameForPassive, callBackBefore, callBackAfter){
		if(typeof(classNameForActive) != 'string'){classNameForActive = 'activetab';}
		if(typeof(classNameForPassive) != 'string'){classNameForPassive = 'passivetab';}
		var cbPrevIndex = -1;
		var cbPostIndex = -1;
		for(i=0; i<10; i++){
			if(!document.getElementById(controlsPrefix + 'Cap' + i) || !document.getElementById(controlsPrefix + 'Bdy' + i)){
				break;
				}
			var tc = document.getElementById(controlsPrefix + 'Cap' + i);
			var tb = document.getElementById(controlsPrefix + 'Bdy' + i);
			if(tc.className == classNameForActive && tb.style.display == ''){
				cbPrevIndex = i;
				break;
				}
			}
		if(cbPrevIndex == selectedIndex){return false;}
		if(typeof(callBackBefore) == 'function'){
			if(!callBackBefore(cbPrevIndex, selectedIndex, controlsPrefix)){return false;}
			}
		for(i=0; i<10; i++){
			if(!document.getElementById(controlsPrefix + 'Cap' + i) || !document.getElementById(controlsPrefix + 'Bdy' + i)){
				break;
				}
			var tc = document.getElementById(controlsPrefix + 'Cap' + i);
			var tb = document.getElementById(controlsPrefix + 'Bdy' + i);
			if(i == selectedIndex){
				tc.className = classNameForActive;
				tb.style.display = '';
				cbPostIndex = i;
				}else{
				tc.className = classNameForPassive;
				tb.style.display = 'none';
				}
			}
		if(typeof(callBackAfter) == 'function' && cbPostIndex > -1){
			callBackAfter(cbPrevIndex, cbPostIndex, controlsPrefix);
			}
		return true;
		}
	}
var aj = new agJavascriptLibrary();
