﻿function IM_createXMLHttpRequest() {
    try { return new XMLHttpRequest(); } catch (e) { }
    try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
    //alert("XMLHttpRequest not supported");
    return null;
}

var sessionTimeOut;
var mLoginDlgErrMsg;

function mLoginDlgInit(sto, errMsg) {
    mLoginDlgErrMsg = errMsg;
    var w = document.getElementById("mLoginWebId");
    if (w && w.value.length == 15) {
        initmb();
        sessionTimeOut = sto;
        setTimeout("mShowDlgBox('mLoginDlgBox', 270, 180)", sto - 5000);
    }
}

function mShowDlgBox(dlgID, x, y)
{
    sm(dlgID, x, y);
    var o = document.getElementById('mLoginUname');
    if (o) o.focus();
}

var reqObj = IM_createXMLHttpRequest();

function mLoginSend() {
    /*alert("AJAX hivas: " + document.getElementById('mLoginUname').value + ", " + document.getElementById("mLoginPwd").value
    + ", " + document.getElementById("mLoginWebId").value);*/
    //alert(reqObj);
    reqObj.open("post", "RegDataService.asmx/SessionExtension", true);
    reqObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    reqObj.onreadystatechange = mLoginCallback;
    reqObj.send("uname=" + document.getElementById('mLoginUname').value
                    + "&pwd=" + document.getElementById("mLoginPwd").value + "&web_id=" + document.getElementById("mLoginWebId").value);
    var mt = document.getElementById('momentTxt');
    if (mt) mt.style.display = '';
}

function mLoginCallback() {
    if (reqObj.readyState != 4) { return; }
    var mt = document.getElementById('momentTxt');
    if (mt) mt.style.display = 'none';
    if (reqObj.status != 200) {
        alert(reqObj.statusText);
        return;
    }
    var xml = reqObj.responseXML;
    var mLoginResult = xml.getElementsByTagName("string")[0].firstChild.nodeValue;
    if (mLoginResult == 'ok') {
        hm('mLoginDlgBox');
        setTimeout("mShowDlgBox('mLoginDlgBox', 270, 180)", sessionTimeOut - 5000);
    }
    else if (mLoginResult.length == 15) {
        hm('mLoginDlgBox');
        window.location = getStartPage() + "?web_id=" + mLoginResult;
    }
    else {
        alert(mLoginDlgErrMsg);
    }
}

function mLoginCancel() {
    hm('mLoginDlgBox');
    window.location = getStartPage();
}

function getStartPage() {
    var rootIdx = location.href.indexOf("/tarsasag/");
    if (rootIdx < 0)
        return location.protocol + "//" + window.location.host;
    else {
        var rootEndIdx = location.href.indexOf("/", rootIdx + 10);
        if (rootEndIdx < 0)
            rootEndIdx = location.href.indexOf("?", rootIdx + 10);
        return (rootEndIdx < 0 ? location.href : location.href.substring(0, rootEndIdx));
    }
}
