function getHTTPObject()
{
	var xmlhttp;
	try
	{
		xmlhttp = new XMLHttpRequest();
	}
	catch(eX)
	{
		try
		{	
			xmlhttp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
		}
		catch(eeX)
		{	
			try
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch (E)
				{
					xmlhttp = false;
				}	

			}
		}
	}	
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
    {
        try
        {
            xmlhttp = new XMLHttpRequest();
        }
        catch (e)
        {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
    {
        alert("Get a newer browser with xmlhttp request object support.");
    }
    return xmlhttp;
}


function MSxmlhttp3()
{

	var argv = MSxmlhttp3.arguments;
	var argc = argv.length;
	this.argv = argv;
	this.argc = argc;
	var intcount = 0;
	this.intcount = intcount;
	var xmlhttp = getHTTPObject();
	this.xmlhttp = xmlhttp;
	this.xmlhttp.onreadystatechange = 
    function ()
    {
        if(parseInt( xmlhttp.readyState, 10 ) == 4)
        {
            argv[0]( xmlhttp.responseText, argv  );
        }	
    };
	this.open = function(a,b,c){ this.xmlhttp.open( a,b,c ) ; };
	this.send = function (a){ this.xmlhttp.send( a ); };
}




function handle_addr()
{
  var res = handle_addr.arguments[0];
  var paramsarray = handle_addr.arguments[1];
  
  var controlid = paramsarray[1]
  
  var siteid = paramsarray[2];

  response = res.split('$;')
    
  var sela = document.getElementById(controlid);
  if(sela && response)
  {
    while (sela.length > 0)
  {
    sela.remove(sela.length -1);	
  }
  if (sela.size > 1) //tova e v slu4aiq kogato selecta e kato menu
  {
    sela.remove(sela.length -1);
  }

  var kk = response
  for(var t = 0; t < kk.length; t=t+2)
  {
    var aopt = document.createElement('option');
    aopt.value = kk[t];
    aopt.text = kk[t+1];
    
    if (aopt.value == siteid) {
	aopt.setAttribute('selected', 'selected');
    }
    
    try
    {    
        var aOld = sela.options[sela.length];  
        sela.add(aopt, aOld); // standards compliant;
    }
    catch(ex)
    {
      sela.add(aopt, sela.length); // IE only
    }
  }
 }	
}


function random_string(leng) 
{
   var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
   var randomstring = '';
   for (var i=0; i<leng; i++) 
    {
           var rnum = Math.floor(Math.random() * chars.length);
           randomstring += chars.substring(rnum,rnum+1);
   }
   return randomstring;
}



function getSites(userid, siteid)
{
    
    var f_o = new MSxmlhttp3(handle_addr, 'site', siteid);

    if(f_o)
    {
        f_o.open("GET", '/order/getSites?userid=' + userid + '&sid=' + random_string(10), true);
        f_o.send(null);
        
        setTimeout("if ($('site').value == 0) {$('newaddress').show();} else {$('newaddress').hide();}", 500);
        
    }
    else
    {
        alert('no xhr object');
    }
}










/*

var f_o = new MSxmlhttp3(func_handle,par1, par2, ...);
if(f_o)
{
    f_o.open("GET", serverscript + "?getpar=" + escape(getp1) + "&getpar2=" + escape(getp2), true);
    f_o.send(null);
}
else
{
    alert('no xhr object');
}

function func_handle()
{
 	var response = trans_handle.arguments[0];
	var paramsarray = func_handle.arguments[1];	
    var par1 = paramsarray[1];
    var par2 = paramsarray[2];
    if(response == 'ok')
    {
        ....
    }
}


*/


