﻿// JavaScript Document - Http Requests

function Initialize()
{
	var r;
    try
    {
        r=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
        try
        {
            r=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(oc)
        {
            r=null;
        }
    }

    if(!r && typeof(XMLHttpRequest) != "undefined")
    {
       r= new XMLHttpRequest();
	}
	return r;
} 


function AsyncReqObj()
{
    this.req = Initialize();
    this.lparam = 0;
  
    var oThis = this;
    
    var processStateChange = function () 
    {
		if (oThis.req.readyState == 4) {
        	oThis.onComplete(oThis.req, oThis.lparam);
		}
		else {
			oThis.onWait(oThis.req, oThis.lparam);
		}
    }

    this.invoke = function(method,url,param)
	{
	    if(this.req!=null)
    	{
			this.req.onreadystatechange = processStateChange;
       		this.req.open(method, url, true);
			this.req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			this.req.send(param);
   	 	}
	}
	
 }

function onDivLoad(req, lparam) 
{
	if (this.req.readyState==4) 
	{
		$(lparam).innerHTML = req.responseText;
 	}
}

function LoadDiv(method,url,param,divID)
{
//	var obj = new AsyncReqObj();
//	obj.lparam = divID;
//	obj.onColmplete = onDivLoad;
//	obj.invoke(method,url,param);
	AsyncReq(method,url,param,onDivLoad,divID);
}


function AsyncReq(method, url, param, process_callback, lparam)
{
	var obj = new AsyncReqObj();
	obj.lparam = lparam;
	obj.onComplete = process_callback;
	obj.onWait = loadWaitDiv;
	obj.invoke(method,url,param);
	return obj;
}

function loadWaitDiv(req, lparam) {
	if($(lparam) && $(lparam).innerHTML) {
		$(lparam).innerHTML = "<br /><div align=\"center\"><img align=\"absbottom\" src=\"/design/img/wait2.gif\" alt=\"אנא המתן...\"/> &nbsp; אנא המתן...</div><br />";
	}
}