
//** show/hide areas
var state = 'none';
var show = false;

function showhide(layer_ref) {

	if (document.getElementById(layer_ref).style.display == 'none' || arguments[1]) document.getElementById(layer_ref).style.display = 'block';
	else if (document.getElementById(layer_ref).style.display == 'block' || !arguments[1]) document.getElementById(layer_ref).style.display = 'none';

}


//** fetch data

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
	  xmlhttp.overrideMimeType("text/xml"); 
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object

//** do update
var items = new Array();
var isWorking = false;

function updateForm(url,itemsin,layer) {
	if (!isWorking && http) {
	  	items = itemsin;
	  	show = true;    
		var id = document.getElementById('id').value;
		if (id == 0) {
   			for (i=0; i<items.length;i++) {	
      				document.getElementById(items[i]).value = "";
			}
			showhide(layer, false);	
		} else {
    			http.open("GET", url + '&id=' + escape(id), true);
					http.onreadystatechange = handleHttpResponse;
					isWorking = true;
					http.send(null);
					showhide(layer, true);
				}
  	}
}
var formName = "";
var elementName = "";

function postForm(url,itemsin,formNm,elemNm,layer) {
  	if(!isWorking && http) {
		var urlApp = "";
		formName = formNm;
		elementName = elemNm;
		for (i=0;i<itemsin.length;i++) {
			urlApp += "&" + itemsin[i] + "=" + document.forms[formName][itemsin[i]].value;
			document.forms[formName][itemsin[i]].value = "";
		}
		http.open("GET", url+urlApp, true);
		http.onreadystatechange = handlePostHttpResponse;
		isWorking = true;
		http.send(null);
		show = false;
		showhide(layer);
	}
}

function handlePostHttpResponse() {
	if (http.readyState == 4) {
		if (http.responseText.indexOf('invalid') == -1) {
			var xmlDocument = http.responseXML; 
			var index = document.forms[formName][elementName].options.length;
			var id = xmlDocument.getElementsByTagName('id').item(0).firstChild.data;
			var val = xmlDocument.getElementsByTagName('val').item(0).firstChild.data;
			document.forms[formName][elementName].options[index] = new Option(val, id);
			document.forms[formName][elementName].options[index].selected = true;
			document.getElementById(elementName).style.backgroundColor="#FFFF99";
		}
		isWorking = false;
	}
}
	
	

//** handle data return
function handleHttpResponse() {
  if (http.readyState == 4) {
    if (http.responseText.indexOf('invalid') == -1) {
    	var data = new Array(items.length);
			var xmlDocument = http.responseXML; 
      
			for (i=0; i<items.length;i++) {
				if (xmlDocument.getElementsByTagName(items[i]).item(0).firstChild == null) {
					data[i] = "";
				} else { data[i] = xmlDocument.getElementsByTagName(items[i]).item(0).firstChild.nodeValue; }
			}
			for (i=0; i<data.length;i++) {	
			      	document.getElementById(items[i]).value = data[i];
			}
			isWorking = false;
		}
	}
}

function emptyField(id) {
	if (document.getElementById(id).value == 'dd/mm/yyyy' || document.getElementById(id).value == '0.00') {
		document.getElementById(id).value = "";
	}
}

