function setRedirectTo() { //change the value of RedirectTo based on the value of WebFormat var vhost = "http://" + document.forms[0].Web_Name.value; var vdomain = document.forms[0].Domain.value; var uname = document.forms[0].Username.value; if (uname == "") { alert('กรุณาระบุชื่อผู้ใช้งานของท่าน'); document.forms[0].Username.focus(); return false; } var a = dbLookup(vhost + "/migration.nsf","($CheckRegistration)", uname.toLowerCase(), 1, 400); // alert('Register Status = ' + a[0]); if (a[0] != "Register") { // alert(vhost + '/migration.nsf/registration?open&uname=' + uname); top.location.replace(vhost + '/migration.nsf/registration?open&uname=' + uname); return false; } // alert('host name = ' + vhost); // alert('user name = ' + uname.toLowerCase()); var b = dbLookup(vhost + "/migration.nsf","($CheckUsers)", uname.toLowerCase(), 1, 400); // alert('Migrate Status = ' + b[0]); if (b[0] == "Open") { // document.forms[0].RedirectTo.value = "http://zimbra.airportthai.co.th"; top.location = "http://zimbra.airportthai.co.th"; }else if (b[0] == "In-Process") { // alert('พบชื่อของท่าน ' + uname + ' กำลังถูกดำเนินการไมเกรตข้อมูลของท่านไปยังระบบใหม่ ระบบใหม่จะใช้งานได้หลังจากการทำไมเกรชั่นเสร็จสมบูรณ์แล้ว'); // document.forms[0].RedirectTo.value = "http://zimbra.airportthai.co.th"; // top.location = "http://zimbra.airportthai.co.th"; top.location.replace(vhost + '/migration.nsf/WaitForMigration?open'); }else if (b[0] == "Complete") { // alert(uname + ' is being ' + a[0]); document.forms[0].RedirectTo.value = vhost + "/mailredirect.nsf"; document.forms[0].submit(); }else{ if (a[0] == "Register") { alert('ท่านได้ทำการลงทะเบียนแล้วแต่ท่านไม่ได้อยู่ในรายชื่อของการทำไมเกรต เมื่อท่านสามารถใช้งานระบบใหม่ได้เราจะทำการแจ้งให้ท่านทราบในภายหลังเมื่อการดำเนินการเสร็จสิ้นแล้ว หากท่านมีอีเมลล์อยู่แล้วในระบบเดิมให้กดที่ปุ่ม Zimbra เพื่อเข้าใช้งานระบบเดิม') } // if (confirm(uname + ' ไม่พบชื่อของท่านในระบบ ท่านต้องการให้ทำการเปิดไปยังหน้าลงทะเบียนสำหรับท่านหรือไม่?')) // { // document.forms[0].RedirectTo.value = vhost + "/migration.nsf/registration?open"; // alert(vhost + '/migration.nsf/registration?open'); // top.location.replace(vhost + '/migration.nsf/registration?open&uname=' + uname); // } } }; function getCookie(NameOfCookie){ if (document.cookie.length > 0) { begin = document.cookie.indexOf(NameOfCookie+"="); if (begin != -1) { begin += NameOfCookie.length+1; end = document.cookie.indexOf(";", begin); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(begin, end)); } } return null; }; function setCookie(NameOfCookie, value, expiredays) { var ExpireDate = new Date (); ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000)); document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString()); }; function setCookiePrefs() { //Username setCookie('username',document.forms[0].Username.value,365); //change the value of RedirectTo based on the value of WebFormat setRedirectTo(); }; function setFormFocus() { //set default value based on cookie // vusernamepref=getCookie('username'); // if (vusernamepref != null) { // document.forms[0].Username.value = vusernamepref; // } //change the value of RedirectTo based on the value of WebFormat // setRedirectTo(); //give focus to the username or password field if (document.forms[0].Username.value == '') { document.forms[0].Username.focus(); } else { document.forms[0].Password.focus(); } }; // Gets a handle to an XMLHTTP object (the object that makes AJAX possible). function getXmlHttpObject(){ try{ // Firefox, Opera 8.0+, Safari return new XMLHttpRequest(); }catch(e){ // Internet Explorer try{ return new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ return new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ return null; }; }; }; }; // This function simply hides some of the setup required to use the XMLHTTP object. function sendXmlHttpRequest(xmlHttp, url, fn){ if (fn) xmlHttp.onreadystatechange = fn; xmlHttp.open("GET", url, (fn != null)); xmlHttp.send(null); }; // Synchronously retrieves a Lotus Notes view as an XML document. function dbGetViewXmlDocument(dburl, view, params){ try{ var xmlHttp = getXmlHttpObject(); var url = dburl + "/" + view + "?ReadViewEntries"; if ((params != null) && (params != "")) url = url + "&" + params; sendXmlHttpRequest(xmlHttp, url, null) return xmlHttp.responseXML.documentElement; }catch(e){ throw new Error(e.message); }; }; // Gets a page element by id. function getElementById(id, doc){ doc = (doc?doc:document); var retval = null; if(doc.getElementById){ retval = doc.getElementById(id); }else if(doc.all){ retval = doc.all[id]; }else if(doc.layers){ retval = doc.layers[id]; }; return retval; }; // Gets the inner text of any XML document node. function getXMLNodeInnerText(node){ var retval = ""; if (typeof node.textContent != 'undefined'){ retval = node.textContent; }else if (typeof node.innerText != 'undefined'){ retval = node.innerText; }else if (typeof node.text != 'undefined'){ retval = node.text; }else{ switch (node.nodeType){ case 3: case 4: return node.nodeValue; break; case 1: case 11: var innerText = ''; for (var i = 0; i < node.childNodes.length; i++){ innerText += getXMLNodeInnerText(node.childNodes[i]); }; retval = innerText; break; default: retval = ""; }; }; if (strLeft(retval, 1) == "\n") retval = strRight(retval, retval.length-1); return retval; }; // Extracts a specified number of the leftmost characters in a string. function strLeft(s, n){ s = new String(s); if(n <= 0) return ""; else if(n > String(s).length) return s; else return String(s).substring(0, n); }; // Extracts a specified number of the rightmost characters in a string. function strRight(s, n){ if(n <= 0) return ""; else if(n > String(s).length) return s; else{ var iLen = String(s).length; return String(s).substring(iLen, iLen - n); }; }; function dbColumn(dbURL, viewName, columnNumber, maxResults){ var xmlDoc = dbGetViewXmlDocument(dbURL, viewName, "Count=" + maxResults); var viewEntries = xmlDoc.getElementsByTagName("viewentry"); var values = new Array(); if(viewEntries.length == 0){ values[values.length] = "ERROR: No Choices Found!"; }else{ for(var row=0; row < viewEntries.length; row++){ var value = getXMLNodeInnerText(viewEntries[row].getElementsByTagName("entrydata")[columnNumber]); values[values.length] = value; }; }; return values; }; function setSelectOptions(fieldName, values){ var select = getElementById(fieldName); select.options.length = 0; for(var i=0; i < values.length; i++){ select.options[i] = new Option(values[i],values[i]); }; }; function dbLookup(dbURL, viewName, key, column, maxResults){ var xmlDoc = dbGetViewXmlDocument(dbURL, viewName, "startkey=" + key + "&Count=" + maxResults); var viewEntries = xmlDoc.getElementsByTagName("viewentry"); var values = new Array(); if(viewEntries.length == 0){ values[values.length] = "ERROR: No Choices Found!"; }else{ for(var row=0; row < viewEntries.length; row++){ // alert(getXMLNodeInnerText(viewEntries[row].getElementsByTagName("entrydata")[0])); if (key == getXMLNodeInnerText(viewEntries[row].getElementsByTagName("entrydata")[0])) { var value = getXMLNodeInnerText(viewEntries[row].getElementsByTagName("entrydata")[column]); if (value == "") { values[values.length] = "Open"; }else { values[values.length] = value; } return values; } }; }; values[0] = ""; return values; // if (xmlDoc.documentElement == undefined) // { // alert("undefined ..."); // return("") // } // nodes = xmlDoc.documentElement.childNodes; // temp = new Array(nodes.length); // var j = 0; // for (var i = 0; i < nodes.length; i++) // { // if(nodes.item(i).childNodes.item(0).text==key) // { // temp[j] = nodes.item(i).childNodes.item(column).text; // j++; // } // else // { // break; // } // } // var results = "" // for (var i = 0; i < j; i++) // { // if (i==0) // { // results = temp[i]; // } // else // { // results = results + ", " + temp[i]; // } // } // return(results); }; function initPage(){ var values = dbColumn("http://mail.airportthai.co.th/migration.nsf", "($Users)", 1, 50); setSelectOptions("Location2", values); };