//fpv=8
function fp_ajax_xml2obj_item(xmlNode){
	var dtype=xmlNode.getAttribute('dataType');
	if (dtype==("Object")){
		var r=new Object;
		var itemkey="";
		if(xmlNode.childNodes.length>0){
 			for(var i=0;i<xmlNode.childNodes.length;i++){
				if (xmlNode.childNodes[i].nodeType == 1){
					itemkey=xmlNode.childNodes[i].getAttribute('id');
					r[itemkey]=fp_ajax_xml2obj_item(xmlNode.childNodes[i]);
				}
			}
    	}
		return r;	
	}else{
		return 	xmlNode.firstChild.data;
	}
}
function fp_ajax_xml2objdebug_requrl(url) {
	fp_get_output_get_debugbox("Loading XML from "+url);
	var fp_ajax;
	if (fp_ajax=fp_ajax_crear_Request()){
		fp_ajax.onreadystatechange = function (){
			if (fp_ajax.readyState == 4) {
				if (fp_ajax.status == 200) {
					var data;
					fp_get_output_get_debugbox("Data XML from "+url+" loaded");
					if(data=fp_ajax_xml2obj(fp_ajax)){
						fp_get_output_get_debugbox(fp_ajax_xml2objdebug(data));
					}
					fp_get_output_get_debugbox(fp_ajax.responseText);
				}
			}
		}
		fp_ajax.open("GET", url, true);
		fp_ajax.send(null);	
	}
}


function fp_ajax_xml2obj(http_request){
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			if (typeof(http_request.responseXML)!="object"){
				return false;
			}
			if (http_request.responseXML==null){
				return false;	
			}
			var xmlNode=http_request.responseXML.getElementsByTagName('data').item(0);
			if (typeof(xmlNode)!="object"){
				return false;
			}
			if (xmlNode==null){
				return false;	
			}
			
			return fp_ajax_xml2obj_item(xmlNode)
			//fp_get_output_get_debugbox(fp_ajax_xml2objdebug(r));
		}
    }
}
function fp_ajax_xml2objdebug(objdata){
	var output="";
	if (typeof(objdata)=="object"){
		output=output+"<div style='margin-left:5px; border:1px solid #000000'>";
		for (var k in objdata){
			output=output+"<div>"+k+" =&gt; "+fp_ajax_xml2objdebug(objdata[k])+"</div>";
		}
		output=output+"</div>";
	}else{
		output=	objdata;
	}
	return output;
	
}
function fp_get_output(url,destino,metodo,sinloader,onload) {
	urla=fp_url_get()+"output/"+url;
	//alert(urla);
	fp_ajax_cargaURL(urla,destino,metodo,onload,sinloader);
}

function fp_get_output_loop(url,destino,metodo,sinloader,intervalo) {
	if (sinloader){
		var sinloadertxt="true";
	}else{
		var sinloadertxt="false";
	}
	fp_get_output(url,destino,metodo,sinloader);
	var str="fp_get_output_loop('"+ url + "','" +destino + "','" +metodo+ "'," + sinloadertxt + ","+ intervalo +")";
	//alert (str);
	setTimeout(str,intervalo);
}
var fp_output_debugbox=false;
function fp_get_output_get_debugbox(cont){
	if (!fp_output_debugbox){
		fp_output_debugbox=  document.createElement('div');
		fp_output_debugbox.style.backgroundColor="#ffffff";
		fp_output_debugbox.style.border="2px solid #000000";
		fp_output_debugbox.style.position="absolute";
		fp_output_debugbox.style.zIndex=10000;
		fp_output_debugbox.style.top="5px";
		fp_output_debugbox.style.left="5px";
		fp_output_debugbox.style.padding="2px";
		fp_output_debugbox.style.margin="2px";
		document.body.appendChild(fp_output_debugbox);
	}
	
	var box=  document.createElement('div');
	box.style.backgroundColor="#ffffff";
	box.style.border="2px solid #000000";
	//box.style.position="absolute";
	//box.style.top="5px";
	//box.style.left="5px";
	box.style.padding="2px";
	box.style.margin="2px";
	var divclose=document.createElement('div');
	divclose.style.textAlign="right";
	divclose.style.color="#FF0000";
	divclose.style.fontWeight="bold";
	divclose.innerHTML="X";
	divclose.onclick=function(){box.removeNode(true)};
	box.appendChild(divclose);
	var divcont=document.createElement('div');
	divcont.style.border="1px solid #000000";
	divcont.style.top="5px";
	divcont.style.left="5px";
	divcont.style.padding="2px";
	divcont.style.margin="2px";
	divcont.innerHTML=cont;
	box.appendChild(divcont);
	fp_output_debugbox.appendChild(box);
	//document.body.appendChild(box);
	return divcont;
	
}
