var popup, displayBoxPos, isWorking, divobj, req; isWorking = false; function GetPopupDivByName() { var popup = document.getElementById('popupplaceholder'); if(popup==null) { popup = document.body.insertBefore(document.createElement("div"), document.body.firstChild); popup.style.position = 'absolute'; popup.style.display = 'block'; popup.style.zIndex = 100; popup.id = 'popupplaceholder'; } return popup; } function CallbackReload(url) { if(isWorking) return; isWorking = true; var len = url.indexOf("/asp/"); if(len>0) { url = url.substring(len); } req = createXMLHTTPObject(); req.open("GET", url + "&rnd=" + Math.random(), true); req.onreadystatechange = ReloadPage; req.send(null); return true; } function ReloadPage() { if (req.readyState == 4) { var url = window.location.toString(); var len = url.length; if(url.substring(len-1)=="#") url = url.substring(0, len-1); window.location = url; } } function PopupCallback(tmpl, nameValuePairs) { if(isWorking) return; isWorking = true; req = createXMLHTTPObject(); var url = "/asp/pop_up/popup_callback.asp?tmpl=" + tmpl + nameValuePairs + "&rnd=" + Math.random(); req.open("GET", url, true); req.onreadystatechange = CallbackResponse; req.send(null); return true; } function CallbackResponse() { if (req.readyState == 4) { var response = eval("(" + req.responseText + ")"); var template = response.jsonRecord.Template.replace(/"/g, "\""); popup = GetPopupDivByName(); if(popup!=null) { popup.innerHTML = template; popup.style.top = (displayBoxPos[1]) + 'px'; popup.style.left = (displayBoxPos[0]-75) + 'px'; if(displayBoxPos[0]<100) popup.style.left = '100px'; } isWorking = false; divobj.style.cursor = 'default'; setFocus('emailaddress'); setFocus('password'); } } function setFocus(id) { var inputobj = document.getElementById(id); if(inputobj) { inputobj.focus(); } } function findElementPos(obj) { var curleft=0; var curtop = 0; if( obj.offsetLeft == 0 || obj.offsetTop == 0 ) { if (obj.offsetParent) { curleft = obj.offsetLeft curtop = obj.offsetTop while (obj = obj.offsetParent) { curleft += obj.offsetLeft curtop += obj.offsetTop } } } else { curleft = obj.offsetLeft; curtop = obj.offsetTop; } return [curleft,curtop]; } var XMLHttpFactories = [ function () {return new XMLHttpRequest()}, function () {return new ActiveXObject("Msxml2.XMLHTTP")}, function () {return new ActiveXObject("Msxml3.XMLHTTP")}, function () {return new ActiveXObject("Microsoft.XMLHTTP")} ]; function createXMLHTTPObject() { var xmlhttp = false; for (var i=0;i= 0) { this.isIE = true; this.version = parseFloat(ua.substr(i + s.length)); return; } s = "Netscape6/"; if ((i = ua.indexOf(s)) >= 0) { this.isNS = true; this.version = parseFloat(ua.substr(i + s.length)); return; } // Treat any other "Gecko" browser as NS 6.1. s = "Gecko"; if ((i = ua.indexOf(s)) >= 0) { this.isNS = true; this.version = 6.1; return; } } // Global object to hold drag information. var browser = new Browser(); var dragObj = new Object(); dragObj.zIndex = 0; var x, y; function dragStart(event, id) { var el; // If an element id was given, find it. Otherwise use the element being // clicked on. if (id) dragObj.elNode = document.getElementById(id); else { if (browser.isIE) dragObj.elNode = window.event.srcElement; if (browser.isNS) dragObj.elNode = event.target; // If this is a text node, use its parent element. if (dragObj.elNode.nodeType == 3) dragObj.elNode = dragObj.elNode.parentNode; } // Get cursor position with respect to the page. findMousePos(event); // Save starting positions of cursor and element. dragObj.cursorStartX = x; dragObj.cursorStartY = y; dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10); dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10); if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0; if (isNaN(dragObj.elStartTop)) dragObj.elStartTop = 0; // Update element's z-index. dragObj.elNode.style.zIndex = ++dragObj.zIndex; // Capture mousemove and mouseup events on the page. if (browser.isIE) { document.attachEvent("onmousemove", dragGo); document.attachEvent("onmouseup", dragStop); window.event.cancelBubble = true; window.event.returnValue = false; } if (browser.isNS) { document.addEventListener("mousemove", dragGo, true); document.addEventListener("mouseup", dragStop, true); event.preventDefault(); } } function dragGo(event) { findMousePos(event); // Move drag element by the same amount the cursor has moved. dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px"; dragObj.elNode.style.top = (dragObj.elStartTop + y - dragObj.cursorStartY) + "px"; if (browser.isIE) { window.event.cancelBubble = true; window.event.returnValue = false; } if (browser.isNS) event.preventDefault(); } function dragStop(event) { // Clear the drag element global. dragObj.elNode = null; // Stop capturing mousemove and mouseup events. if (browser.isIE) { document.detachEvent("onmousemove", dragGo); document.detachEvent("onmouseup", dragStop); } if (browser.isNS) { document.removeEventListener("mousemove", dragGo, true); document.removeEventListener("mouseup", dragStop, true); } } function findMousePos(event) { if (browser.isIE) { x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft; y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop; } if (browser.isNS) { x = event.clientX + window.scrollX; y = event.clientY + window.scrollY; } }