function GetXmlHttpObject(){ 
  var objXMLHttp = null;
  if ( window.XMLHttpRequest ){
    objXMLHttp = new XMLHttpRequest();
  } else if ( window.ActiveXObject ){
    objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  return objXMLHttp;
} 

function xObject(pElementId){
	var xmlHttp = GetXmlHttpObject();
	this.inProgress = 0;
	this.url = "web.jsp";
	this.params = "";
	this.addPrm = function (pName, pValue) {
					  if (this.params != "") { this.params += "&"; }
					  this.params += pName + "=" + pValue; 
				  }
	this.stateChanged = function(){ 		
		if ( xmlHttp.readyState == 4 || xmlHttp.readyState == "complete" ){
			document.getElementById(pElementId).innerHTML = xmlHttp.responseText;
		    this.inProgress = 0; 
		} 
	} 
	xmlHttp.onreadystatechange = this.stateChanged;
	this.Update = function(){ 
		if ( this.inProgress == 1 ) { 
			alert("Va rugam asteptati pana se incarca!");
			return;
		} 
		xmlHttp.open("POST", this.url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", this.params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		this.inProgress = 1;
		document.getElementById(pElementId).innerHTML = "<center><img src=\"/ceaweb/img/img/loading.gif\"></center>";
		xmlHttp.send(this.params);
	}
}

function xUpdateCombo( pElementId, pComboType, pDependency1, pDependency2, pDependency3 ) {
	document.getElementById(pElementId).className = "txo";
	var comboObj = new xObject(pElementId + "div");
	comboObj.addPrm("pid", "9001");
	comboObj.addPrm("p_ajax_combo_element_name", pElementId);
	comboObj.addPrm("p_ajax_data_type", "1");
	comboObj.addPrm("p_ajax_combo_type", pComboType);
	if ( pDependency1 != "") comboObj.addPrm("p_ajax_combo_dependency1", getElementValue(pDependency1));
	if ( pDependency2 != "") comboObj.addPrm("p_ajax_combo_dependency2", getElementValue(pDependency2));
	if ( pDependency3 != "") comboObj.addPrm("p_ajax_combo_dependency3", getElementValue(pDependency3));
	comboObj.Update();
}

function getElementValue(pElementId) { 
	vType =  document.getElementById(pElementId).type;
	if ( vType == "select-one" ) return getComboValue(pElementId);
	if ( vType == "radio" ) return getRadioValue(pElementId);
	return document.getElementById(pElementId).value;
}

function getRadioValue(pElementId) {
   var oRadio = document.getElementById(pElementId);
   for(var i = 0; i < oRadio.length; i++) {
      if(oRadio[i].checked) return oRadio[i].value;
   }
   return '';
}

function getComboValue(pElementId) {
	var cmb = document.getElementById(pElementId);
	return cmb[cmb.selectedIndex].value;
}


function xChart(pElementId, pPageId) { 
	this.elementId = pElementId;
	this.url = "web.jsp?pid=" + pPageId;
	this.addPrm = function (pName, pValue) { this.url += "&" + pName + "=" + pValue; } 
	this.Update = function(){ document.getElementById(this.elementId).innerHTML = "<img src='" + this.url + "'>"; } 
}

function convertDBToArray(pStr){ 
	var vRows = pStr.split("#");
	var vArr = new Array();
	for (i=0;i<vRows.length;i++) {
		vArr.push(vRows[i].split(";")); 
	}
	return vArr;
}

function testArray() {
	var erObj = new xChart("erGraph", 8000);
	erObj.addPrm("p_startdate", "01.01.2010");
	erObj.addPrm("p_endate", "31.12.2010");
	//document.getElementById("er_graph").innerHTML = "<img src='" + erObj.url + "'>";
	erObj.Update();
}

function findPosition( oElement ) {
    if( typeof( oElement.offsetParent ) != 'undefined' ) {
	    for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
	        posX += oElement.offsetLeft;
	        posY += oElement.offsetTop;
	    }
	    return [ posX, posY ];
	} else {
	    return [ oElement.x, oElement.y ];
	}
}

function showLOV(pItemID, pLOVpage, pActivePageNo) { 
	  var divID = pItemID + "_div";
	  var gbPopUp = document.getElementById(divID);
	  var vPos = findPosition(document.getElementById(pItemID));
	  var lovObj = new xObject(divID);
	  lovObj.addPrm("pid", pLOVpage);
	  lovObj.addPrm("lng", "EN");
	  lovObj.addPrm("p_activepage", pActivePageNo);
	  lovObj.addPrm("p_itemid", pItemID);
	  w = 300;
	  h = 250;
	  t = (vPos[1] + 25);
	  if ( t < 0 ) { t = 0; }
	  l = (vPos[0] - 150);
	  if ( l < 0 ) { l = 0; }
	  gbPopUp.style.top = t + "px";
	  gbPopUp.style.left = l + "px";
	  gbPopUp.style.width = w + "px";
	  gbPopUp.style.height = h + "px";
	  lovObj.Update();
	  gbPopUp.style.visibility = "visible";
}

function submitAjax(pPageId, pFormName) { 
	var params = "";
	var windowid = document.forms[pFormName].elements["wid"].value;
	var pageid = document.forms[pFormName].elements["pid"].value;
	var elmid = "AJAXDIV_" + windowid;
	var windowObj = new xObject(elmid);
	windowObj.addPrm("pid", windowid);
	windowObj.addPrm("ps", 1);
	for(i=0; i<document.forms[pFormName].elements.length; i++) {
		var fieldName = document.forms[pFormName].elements[i].name;
		var fieldValue = document.forms[pFormName].elements[i].value;
		if ( typeof(fieldName) != "undefined" || 
			 typeof(fieldValue) != "undefined" || 
			 fieldName != undefined || 
			 fieldValue != undefined || 
			 fieldName != null || 
			 fieldName != "pid" || 
			 fieldName != "wid" || 
			 fieldName != "ps" || 
			 fieldValue != null ) {
			windowObj.addPrm(fieldName, fieldValue);
		}
	}
	windowObj.Update();
}
