
//***********************Javascript**************************************************************
// Function Name  :initRequest  
// Description    :Initialising XMLHTTPRequest Object
// IN Parameter   :
// Out Parameter  :XMLHTTPRequest
// Modification History : 
//********************************Start initRequest************************************************

  function initRequest(){
    var request;
    var browser;
    browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
      // For Windows Browsers
      request = new ActiveXObject("Microsoft.XMLHttp");
    }else{
      // For Otherthan Windows Browsers
      request = new XMLHttpRequest();
    }
    return request;
  }

//***********************Javascript**************************************************************
// Function Name  :loadAjax  
// Description    :Load Ajax for dynamic request
// IN Parameter   :<code>String</code>url,  <code>String</code>loadableDivLayer ,<code>String</code>dynamicMessageLayer
// Out Parameter  :void
// Modification History : 
//********************************Start funGotoPage************************************************

  function loadAjax(url, loadableDivLayer, dynamicMessageLayer) {
    if (dynamicMessageLayer != ""){
       document.getElementById(dynamicMessageLayer).innerHTML = "";
    }
    var httpRequest = initRequest();
    httpRequest.open('post',url);
    httpRequest.onreadystatechange = function(){handleRequest(httpRequest,loadableDivLayer);}
    httpRequest.send(null);
   }
//***********************Javascript**************************************************************
// Function Name  :loadAjaxPost  
// Description    :Load Ajax for dynamic request
// IN Parameter   :<code>String</code>url,  <code>String</code>loadableDivLayer ,<code>String</code>dynamicMessageLayer
// Out Parameter  :void
// Modification History : 
//********************************Start funGotoPage************************************************

  function loadAjaxPost(url, loadableDivLayer, parameters) {

    var httpRequest = initRequest();
    httpRequest.open('post',url,true);
    httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpRequest.setRequestHeader("Content-length", parameters.length);
	httpRequest.setRequestHeader("Connection", "close");
    httpRequest.onreadystatechange = function(){handleRequest(httpRequest,loadableDivLayer);}
    httpRequest.send(parameters);
    return httpRequest;
   }
//***********************Javascript**************************************************************
// Function Name  :loadAjaxNew 
// Description    :Load Ajax for dynamic request in a new XMLHttpRequest
// IN Parameter   :<code>String</code>url,  <code>String</code>divLayer ,<code>String</code>msgLayer
// Out Parameter  :void
// Modification History : 
//********************************Start funGotoPage************************************************

    function loadAjaxNew(url, divLayer, msgLayer) {
        if (msgLayer != ""){
           document.getElementById(msgLayer).innerHTML = "";
        }
        var req = initRequest();
        req.open('post',url,true);
        req.onreadystatechange = function() {
            if (req.readyState == 1) {
                document.getElementById(divLayer).innerHTML = "<img src='/images/wait.gif'>";
            }
            if (req.readyState == 4) {
                if(req.status==404){ 
                    var url = window.location.href; 
                    var nohttp = url.split('//')[1];
                    var hostPort = nohttp.split('/')[0];
                    window.location='http://'+hostPort+'/Login.do';
                }else if (req.status == 200) {
                    document.getElementById(divLayer).innerHTML = req.responseText;
                } else {
                    document.getElementById(divLayer).innerHTML =
                      "Error while retrieving data. Please Refresh the page.";
                }
            }
        }
        req.send(null);
    }


    function loadAjaxResponseWithFunction(url, divLayer, divMsgLayer) {
        if (divMsgLayer != ""){
           document.getElementById(divMsgLayer).innerHTML = "";
        }
        var req = initRequest();
        req.open('post',url,true);
        req.onreadystatechange = function() {
            if (req.readyState == 1) {
                document.getElementById(divLayer).innerHTML = "<img src='/images/wait.gif'>";
            }
            if (req.readyState == 4) {
                if(req.status==404){ 
                    var url = window.location.href; 
                    var nohttp = url.split('//')[1];
                    var hostPort = nohttp.split('/')[0];
                    window.location='http://'+hostPort+'/Login.do';
                }else if (req.status == 200) {
                	//loadFaceBox(req.responseText,'550px');
                	jQuery.facebox("<div class=\"ajaxPopContent\" style=\"color:#000000;text-align:left;padding:20px;\">"+req.responseText+"</div>");
                } else {
                    document.getElementById(divLayer).innerHTML =
                      "Error while retrieving data. Please Refresh the page.";
                }
            }
        }
        req.send(null);
    }

//***********************Javascript**************************************************************
// Function Name  :handleRequest  
// Description    :Get the response Text after ajax called 
// IN Parameter   :
// Out Parameter  :<code>String</code>response String which should displayed after ajax called
// Modification History : 
//********************************Start handleRequest************************************************

  function handleRequest(httpReq, loadableDivLayer){
    if(httpReq.readyState==1){
      document.getElementById(loadableDivLayer).innerHTML = "<img src='/images/wait.gif'>";
    }
    if(httpReq.readyState==4){
      if (httpReq.status==200){
        document.getElementById(loadableDivLayer).innerHTML  = httpReq.responseText;
      } else {
        document.getElementById(loadableDivLayer).innerHTML  = "Error while retrieving data. Please Refresh the page.";
      }
    }
  }
  function urlEncodeDict(dict)
  { 
    var result = "";
    for (var i=0; i<dict.length; i++) 
    {
     result += "&" + encodeURIComponent(dict[i].name) + "=" + encodeURIComponent(dict[i].value);
    }
    return result;
  }
  function postUrl(url, data, loadableDivLayer)
  {
	var httpRequest = initRequest();
    httpRequest.open('post',url);
    httpRequest.onreadystatechange = function(){handleRequest(httpRequest,loadableDivLayer);}
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    httpRequest.send(data);
  }


function hideAlertDialog(){
  if (alertDialog != null) {
  	alertDialog.hide();
  	alertDialog = null;
  }
}
  
