
// -----------------------------//
//         DATA GRABBER         //
// -----------------------------//

// Notas acerca de Posicionamiento //
// ------------------------------- //
// Tipicamente Xpos y Ypos indican el poscicionamiento del floater en referencia al FunctionName.
// Para posicionar el floater en una posicion arbitraria, es necesario aņadir la variable
// freeMove=yes bajo params. Esto hace que no sea en referencia a FunctionName si no en donde
// Xpos y Ypos indiquen.

// INICIALIZACION DE VARIABLES //

var curleft = 0;
var curtop = 0;
var curr_zIndex = 60;


// FUNCIONES //

// FunctionName: display, floater, menu, save, ZoomTool
function GetURL(url,ElementId,method,params,FunctionName,Xpos,Ypos,FloaterName){
	
	var myDate=new Date();
	myDate.setDate(myDate.getDate());
	
	var scriptUrl = url + "&date=" + myDate;
	var contentType = "GET";
	
	if ( Xpos == undefined ){ Xpos = 0; };
	if ( Ypos == undefined ){ Ypos = 0; };
	if ( FloaterName == undefined ){ FloaterName = 'FloaterArea'; };
	
	// Si no existe el Floater, lo creo y apendo a la pagina
	var currFloater = document.getElementById(FloaterName);
	if (currFloater == null){ CreateFloaterDiv(FloaterName) };
	
	//Si esta presente programacion de loading, desplegar loading.
	if ( typeof ( LoadingData ) != "undefined" ) { LoadingMessage('yes'); };
	
	if ( FunctionName == 'display' ){
		var loader=new net.ContentLoader(scriptUrl,DisplayData,errorOcurred,ElementId,method,params,Xpos,Ypos);		
	} 
	else if ( FunctionName == 'floater' ){		
		var loader=new net.ContentLoader(scriptUrl,DisplayFloater,errorOcurred,ElementId,method,params,Xpos,Ypos,contentType,FloaterName);
	}
	else if ( FunctionName == 'menu' ){
		var loader=new net.ContentLoader(scriptUrl,DisplayMenu,errorOcurred,ElementId,method,params,Xpos,Ypos,contentType,FloaterName);
	}
	else if ( FunctionName == 'save' ){
		var loader=new net.ContentLoader(scriptUrl,DisplaySave,errorOcurred,ElementId,method,params,Xpos,Ypos);		
	}
	else if ( FunctionName == 'ZoomTool' ){
		var loader=new net.ContentLoader(scriptUrl,DisplayZoomTool,errorOcurred,ElementId,method,params,Xpos,Ypos,contentType,FloaterName);		
	}
	
	//Aumento la posicion en el plano Z del floater
	curr_zIndex = curr_zIndex + 1;
	document.getElementById(FloaterName).style.zIndex = curr_zIndex;
		
}

function DisplayData(){	
	URL_ResponseData = this.req.responseText;
	ElementID = this.ElementID;
	
	document.getElementById(ElementID).innerHTML = URL_ResponseData;
	if ( typeof ( LoadingData ) != "undefined" ) { LoadingMessage('no'); }; //Quitar Loading...
}

function DisplayFloater(){
	
	Xpos = this.Xpos;
	Ypos = this.Ypos;
	FloaterName = this.FloaterName;
	
	URL_ResponseData = this.req.responseText;
	ElementID = this.ElementID;
	
	curr_Element = document.getElementById(ElementID);	
	curr_Floater = document.getElementById(FloaterName);
	
	if ( this.params != 'freeMove=yes' ){
		var ElePos = findPos(curr_Element);
		var EleLeft = ElePos[0]; var EleTop = ElePos[1];
	} else { 
		var ElePos = 0;
		var EleLeft = 0;
		var EleTop = 0;		
	}
		
	curheight = curr_Element.offsetHeight;
	curwidth = curr_Element.offsetWidth;
	curr_Floater.innerHTML = URL_ResponseData;
	curr_Floater.style.top = EleTop + Ypos + 'px';
	curr_Floater.style.left = EleLeft + Xpos + 'px';
	
	//alert(ElementID + ' ( x:' + EleTop + ' y:' + EleLeft + ' ) - moved to ( x:' + curr_Floater.style.top + ' y:' + curr_Floater.style.left + ' )');
	//alert('x:' + Xpos + ' - y:' + Ypos);
	
	curr_Floater.className = 'movable_show';
	
	if ( typeof ( LoadingData ) != "undefined" ) { LoadingMessage('no'); }; //Quitar Loading...
}

function DisplayMenu(){
	
	Xpos = this.Xpos;
	Ypos = this.Ypos;
	FloaterName = this.FloaterName;
	
	URL_ResponseData = this.req.responseText;
	ElementID = this.ElementID;
	
	curr_Element = document.getElementById(ElementID);	
	curr_Floater = document.getElementById(FloaterName);
	
	var ElePos = findPos(curr_Element);
	var EleLeft = ElePos[0]; var EleTop = ElePos[1];
	
	curheight = curr_Element.offsetHeight
	curwidth = curr_Element.offsetWidth
	
	curr_Floater.innerHTML = URL_ResponseData;	
	curr_Floater.style.top = EleTop + Ypos + 'px';
	curr_Floater.style.left = EleLeft + Xpos + 'px';
		
	curr_Floater.className = 'movable_show';
	
	if ( typeof ( LoadingData ) != "undefined" ) { LoadingMessage('no'); }; //Quitar Loading...
}

function DisplaySave(){
	if ( typeof ( LoadingData ) != "undefined" ) { LoadingMessage('no'); }; //Quitar Loading...
}

function DisplayZoomTool(){

	Xpos = this.Xpos;
	Ypos = this.Ypos;
	FloaterName = this.FloaterName;
	
	URL_ResponseData = this.req.responseText;
	ElementID = this.ElementID;
	
	curr_Element = document.getElementById(ElementID);	
	curr_Floater = document.getElementById(FloaterName);
	
	curr_Floater.innerHTML = URL_ResponseData;
	
	scrollTop = f_scrollTop() + Ypos
	curr_Floater.style.top = scrollTop + 'px';
	curr_Floater.style.left = Xpos + 'px';
		
	curr_Floater.className = 'movable_show';
	
	if ( typeof ( LoadingData ) != "undefined" ) { LoadingMessage('no'); }; //Quitar Loading...
}

function DisplayOff(ElementId){		
	curr_Floater = document.getElementById(ElementId);
	curr_Floater.innerHTML = '';
	curr_Floater.className = 'movable_hide';
}


