function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}


//suitable changes have been made to work in this website

var reqLabel,reqField;
var content,flag=0;

function requestContent(dropBox,url,data,field,key,flag) {
  
  /*
   * dropBox = name of element where data will be dumped (state)
   * url     = remote url to call (0)
   * data    = data to be passed to remote url (0)
   * field   = area/state (0)
   * key     = country id (222)      
   */
   //alert(":"+dropBox+":");
   field = dropBox;
   content = dropBox;

  var url = "getAreaState.php?country="+key+"&field="+field;
  
  getObject(dropBox+"Field").innerHTML = '&nbsp;<img style="vertical-align:middle" src="loading.gif">Please wait...';
  
  reqLabel = getXMLHTTPObject();
  reqField = getXMLHTTPObject();
  
  if ((reqLabel != null) && (reqField != null)) {
    //alert("Calling with: "+url+"&data=label");
    reqLabel.onreadystatechange = processLChange;
    reqLabel.open("GET", url+"&data=label", true); 
    reqLabel.send(null);
    //alert("Calling with: "+url+"&data=box");
    reqField.onreadystatechange = processFChange; 
    reqField.open("GET", url+"&data=box", true); 
    reqField.send(null);

    if((key == "222") && (flag == 1)) {
      setTimeout('requestContent(\'area\',0,0,0,\'222\',flag);',2000);
      flag=0;
    }
    else {
      getObject('areaLabel').innerHTML = '';
      getObject('areaField').innerHTML = '';
    }
  }
}

function processLChange() {
  //alert("Label:"+reqLabel.readyState+":"+reqLabel.status);

  if(reqLabel.readyState == 4 && reqLabel.status == 200) {
    //alert("insideb4label="+reqLabel.responseText+":"+"b4label"+content+"Label");
    getObject(content+"Label").innerHTML = reqLabel.responseText;
    //alert("insideafterlabel"+content+"Label");
  }
}

function processFChange() {
  //alert("Field:"+reqField.readyState+":"+reqField.status);

  if(reqField.readyState == 4 && reqField.status == 200) {
    //alert("insideb4field="+reqField.responseText+":"+"b4field"+content+"Field");
    getObject(content+"Field").innerHTML = reqField.responseText;
    //alert("insideafterfield"+content+"Field");
  }  
}

function getXMLHTTPObject() {
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } 
  catch(e) { 
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    catch(oc) {
      xmlhttp = null;
    } 
  } 
  if (!xmlhttp && typeof XMLHttpRequest != "undefined") {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

function getObject(name) { 
   var ns4 = (document.layers) ? true : false; 
   var w3c = (document.getElementById) ? true : false; 
   var ie4 = (document.all) ? true : false; 

   if (ns4) return eval('document.' + name); 
   if (w3c) return document.getElementById(name); 
   if (ie4) return eval('document.all.' + name); 
   return false; 
}
