function element(a){return document.getElementById(a)}function value(b){var a=element(b).value;return a?trim(a):null}function setValue(b,a){element(b).value=a}function formElement(b,a){return a.forms[0][b]}function trim(a){return a.replace(/(^\s+)|($\s+)/g,"")}function empty(a){return !a||trim(a).length==0}function escapeHtml(a){return a.replace(/&/gmi,"&amp;").replace(/"/gmi,"&quot;").replace(/>/gmi,"&gt;").replace(/</gmi,"&lt;")}function unescapeHtml(a){return a.replace(/&lt;/gmi,"<").replace(/&gt;/gmi,">").replace(/&quot;/gmi,'"').replace(/&amp;/gmi,"&")}function focus(a){setTimeout("element('"+a+"').focus()",0)}function position(c){var b=c.offsetLeft;var a=c.offsetTop;while(c=c.offsetParent){b+=c.offsetLeft;a+=c.offsetTop}return{x:b,y:a}}function eventPosition(a){var c,b;if(a.pageX||a.pageY){c=a.pageX;b=a.pageY}else{if(a.clientX||a.clientY){c=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;b=a.clientY+document.body.scrollTop+document.documentElement.scrollTop}}return{x:c,y:b}}function isEmailAddress(a){var b=/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;return b.test(a)}function setOnLoad(b){var a=window.onload;if(a){window.onload=function(){a();b()}}else{window.onload=b}};var req;var callback;var result;function sendRequest(a,c,b){if(window.XMLHttpRequest){req=new XMLHttpRequest()}else{if(window.ActiveXObject){req=new ActiveXObject("Microsoft.XMLHTTP")}}callback=b;req.onreadystatechange=handleResponse;req.open("POST",a,true);req.setRequestHeader("Content-type","application/x-www-form-urlencoded");req.send(c)}function handleResponse(){if(req.readyState==4){if((req.status==200)&&req.responseText){result=eval("("+req.responseText+")");setTimeout(callback+"(result)",0)}}};function showDialog(b,a){hideDialog();dialog=createDialog(b);dialog.style.maxWidth="30em";setDialogPosition(dialog,a);dialog.style.visibility="visible";setFocus(dialog);return false}function createDialog(c){var b=element(c);var a=document.createElement("DIV");a.id="dialog";a.className="dialog";a.innerHTML=b.innerHTML;fixDialogIds(a);document.body.appendChild(a);return a}function setFocus(a){if(a.tagName=="INPUT"){a.focus();return true}else{var b=a.firstChild;while(b){if(setFocus(b)){return true}b=b.nextSibling}}return false}function fixDialogIds(b){if(b.childNodes){for(var a=0;a<b.childNodes.length;a++){var c=b.childNodes[a];if(c.id){c.id="dialog_"+c.id}fixDialogIds(c)}}}function hideDialog(){var a=element("dialog");if(a){document.body.removeChild(a)}return false}function getDialogX(){var a=element("dialog");return a?a.offsetLeft:-1}function getDialogY(){var a=element("dialog");return a?a.offsetTop+a.scrollHeight:-1}function storeDialogPosition(a){a+="&dialogX="+getDialogX();a+="&dialogY="+getDialogY();return a}function loadDialogPosition(a){var b=new Object();b.pageX=a.dialogX;b.pageY=a.dialogY;return b}function setDialogPosition(a,b){var d;var c;if(b){a.className+=" floatDialog";var f=eventPosition(b);c=f.y-a.scrollHeight;d=f.x}else{a.className+=" headerDialog";var e=element("header");c=e.clientHeight+1;d=e.clientWidth-a.clientWidth-2}a.style.top=c+"px";a.style.left=d+"px"}function dialogElement(a){return element("dialog_"+a)}function dialogValue(a){return value("dialog_"+a)}function setDialogValue(b,a){setValue("dialog_"+b,a)}function dialogFocus(a){setTimeout("dialogElement('"+a+"').focus()",0)}function setDialogMessage(b,c,a){clearMessages(a);addMessage(b,c,false,a);setFocus(a.parentNode)};var MSG_ERROR="messageError";var MSG_WARN="messageWarn";var MSG_INFO="messageInfo";function addMessage(c,d,b,a){if(!a){a=element("messages")}if(a){a.appendChild(createMessage(c,d,b))}}function createMessage(c,d,a){if(typeof a=="undefined"){a=true}var g=document.createElement("DIV");g.className="message "+c;var f=document.createElement("SPAN");f.className="messageText";f.innerHTML=d;g.appendChild(f);if(a){var e=document.createElement("A");e.className="messageClose";e.href="#";e.innerHTML="Close";e.onclick=function(){return closeMessage(this)};g.appendChild(e)}var b=document.createElement("DIV");b.className="clearFloat";g.appendChild(b);return g}function closeMessage(a){a.parentNode.parentNode.removeChild(a.parentNode);if(window.setupPage){setupPage()}return false}function clearMessages(a){if(!a){a=element("messages")}while(a.firstChild){a.removeChild(a.firstChild)}};