var cptRequest = 0;
function doRequest(url, ID, params) {
	if(window.XMLHttpRequest) // Firefox et autres
		myRequest = new XMLHttpRequest();
	else if(window.ActiveXObject){ // Internet Explorer
		try {
			myRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				myRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e1) {
				myRequest = null;
			}
		}
	}
	if (!myRequest) return false;
	displayObjectID = ID;	
	myRequest.onreadystatechange = displayChanges;
  if (params != undefined && params != '') {
	  myRequest.open('POST', url, true);
	  myRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  	myRequest.send(params);
  } else {
	  myRequest.open('GET', url, true);
	  myRequest.send(null);
	}
}

function getDataFromForm(Form) {
  var data= new Array();
  var key=0;
  var ret='';
  for (key=0;key<Form.elements.length;key++) {
    switch(Form.elements[key].type){
      case 'checkbox':
      case 'radio':
        var currentValue = getValueFromChk(Form.elements[key]);
        break;
      default:
        var currentValue = (Form.elements[key].tagName.toLowerCase()=="select")?getSelectValue(Form.elements[key]): Form.elements[key].value;
        break;
    }
    if(currentValue != undefined){
      ret += encodeURIComponent(Form.elements[key].name)+'='+encodeURIComponent(currentValue)+'&';
    }
  }
  return (ret);
}
function getValueFromChk(obj) {
  if(obj.checked){
    return obj.value;
  }/*else{
    return '';
  }*/
}
function getSelectValue(select) {
  var value="";
  for (var i=0; true; i++) {
    if (select[i]) {
      if (select[i].selected) {
        value += select[i].value + ",";
      }
    } else {
      return value.substr(0, value.length-1);
    }
  }
}
function displayChanges() {
	//if (!myRequest) { return false; }
	if (myRequest.readyState == 4) {	 
		if (myRequest.status == 200) {	
		  var myObj = myRequest.responseText.parseJSON(); //eval("("+myRequest.responseText+")");		  
      if(myObj.id != '' && myObj.id != undefined) { var divID	= myObj.id;}
      else { var divID	= displayObjectID;}
      if(myObj.dest == 'opener') { window.opener.document.getElementById(divID).innerHTML = myObj.flow; }
      else { document.getElementById(divID).innerHTML = myObj.flow; }
      for (divID in myObj.otherFlow) {
        if (divID != 'toJSONString') {
          document.getElementById(divID).innerHTML = myObj.otherFlow[divID];
        }
      }
			if (myObj.functionCall) {			 
			  for(var i=0; i < myObj.functionCall.length; i++) {
          eval(myObj.functionCall[i]);
        }       
			}	
		}
	}
}