/** $Id:$ */

function ResponseParserForSendPassword(strResponse)
{
    
    var doc;
    // code for IE
    if (window.ActiveXObject)
    {
        doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async="false";
        doc.loadXML(strResponse);
    }
    // code for Mozilla, Firefox, Opera, etc.
    else
    {
        var parser=new DOMParser();
        doc = parser.parseFromString(strResponse, "text/xml");
    }

    
    this.ajaxSuccess = doc.documentElement.childNodes[0].childNodes[0].nodeValue == 'OK';

    this.parseAndFillSelect = function()
    {
        if ( !this.ajaxSuccess )
        {
            var errorMessage = doc.documentElement.childNodes[1].attributes[0].nodeValue;
            alert(errorMessage);
        }else
        {
            var successMessage = doc.documentElement.childNodes[1].attributes[0].nodeValue;
            alert(successMessage);
        }
        return this.ajaxSuccess; 
    }
}

function ResponseParserForLogIn(strResponse)
{
    
    var doc;
    // code for IE
    if (window.ActiveXObject)
    {
        doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async="false";
        doc.loadXML(strResponse);
    }
    // code for Mozilla, Firefox, Opera, etc.
    else
    {
        var parser=new DOMParser();
        doc = parser.parseFromString(strResponse, "text/xml");
    }

    this.ajaxSuccess = doc.documentElement.childNodes[0].childNodes[0].nodeValue == 'OK';
    this.parseAndFillSelect = function()
    {
        if ( !this.ajaxSuccess )
        {
            var errorMessage = doc.documentElement.childNodes[1].attributes[0].nodeValue;
            alert(errorMessage);
        }
        return this.ajaxSuccess; 
    }
}

function sendPasswordOnEmail()
{
    var serviceManager = new SendPasswordServiceManager();
    var text = document.getElementById("MailID").value;
    serviceManager.setParamString("TYPE_HANDLER=SendpasswordHandler" + "&mailAdddress=" + text);
    serviceManager.process();
}

function preLogInCheck()
{
    var serviceManager = new LogInServiceManager();
    var pass = document.getElementById("j_password").value;
    var user = document.getElementById("j_username").value;
    serviceManager.setParamString("TYPE_HANDLER=LogInHandler" + "&j_password=" + pass + "&j_username=" + user );
    serviceManager.process();
}


function SendPasswordServiceManager()
{
    var paramStr  = "";
    
    this.setParamString = function(paramString)
    {
        paramStr = paramString;
    }
    
    this.process = function()
    {
        function localCallback(responseText)
        {
            var parser = new ResponseParserForSendPassword(responseText);
            parser.parseAndFillSelect();
        }

        function makeRequest()
        {
            var ai = new AJAXInteraction(paramStr, localCallback);
            ai.doGet();
        }

        window.setTimeout(makeRequest, 1000);
    }
}

function LogInServiceManager()
{
    var paramStr  = "";
    
    this.setParamString = function(paramString)
    {
        paramStr = paramString;
    }
    
    this.process = function()
    {
        function localCallback(responseText)
        {
            var parser = new ResponseParserForLogIn(responseText);
            var isSuccess = parser.parseAndFillSelect();
            if( isSuccess == true)
            {
                var form = document.getElementById("loginForm");
                form.onsubmit = "return true";
                var button = document.getElementById("submitButton");
                button.onclick=function(){ return true;};
                button.click();
            }
        }

        function makeRequest()
        {
            var ai = new AJAXInteraction(paramStr, localCallback);
            ai.doPost();
        }
        window.setTimeout(makeRequest, 1);
    }
}


