window.status = "Endesa Online"
var intervaloRefrescoIframeSize = 500;
var fastIntervaloRefrescoIframeSize = 100;
function addLoadEvent(func) 
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function') window.onload = func;
	else 
	{
		window.onload = function() 
		{
			oldonload();
			func();
		}
	}
}
var iframeSize = "";
var errorAccesoIframe = false;
var slowLanzada = false;
function fastResizeIframe(){
	try{
		if(!errorAccesoIframe){
			var ifr = document.getElementById("iframeForms")
			if(
				(ifr.style.height != (getIframeSize()) + "px")
				&&
				(ifr.style.height != (getIframeSize() + getMargen()) + "px")
			){
				ifr.style.height = (getIframeSize() + getMargen()) + "px"
			}
		}
	}catch(ex){
		errorAccesoIframe = true;
		if(!slowLanzada){
			slowLanzada = true;
			registerIframeStep2();
		}
	}
}
function getMargen(){
	if(document.all){return 20}
	var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1];
	return parseFloat(getFFVersion)>=0.1? 41 : 40 
}
function resizeIframe(){

	if((iframeSize != "") && (iframeSize.toLowerCase() != "0px")){
	}else{//else insertado para corregir el problema de visulaización del número de solicitud de gsi...forzamos al iframe para que como mínimo tenga 400px de alto - 09/01/2008
		iframeSize="400px";
	}
	
	if(!document.getElementById("ifrSizer")){
		var nodo = document.createElement("div");
		nodo.id = "ifrSizer";
		document.body.appendChild(nodo);
	}
	var ifrSizer = document.getElementById("ifrSizer");
	var rndN = Math.floor(Math.random()*10000)
	var ifr = document.getElementById("iframeForms");
	var urlGetIframe;
	if (ifr.src.indexOf(".asp")>0) {
		urlGetIframe = ifr.src.substr(0,ifr.src.lastIndexOf("/")) + "/ifrsize.asp" 
	}else{
		/* urlGetIframe = ifr.src.substr(0,ifr.src.lastIndexOf("/")) + "/jsp/include/ifrsize.jsp" */

	}
	
	var rndN = Math.floor(Math.random()*10000)
	var urlscript = urlGetIframe + "?op=GET&Id=" + ifrTempId + "&rnd=" + rndN;
	
	var e = document.createElement("script");
	e.src = urlscript;
	e.type="text/javascript";
	document.getElementsByTagName("head")[0].appendChild(e); 

	if((iframeSize != "") && (iframeSize.toLowerCase() != "0px")){
		document.getElementById("iframeForms").style.height = iframeSize
	}
	var doc;
	
}
function getIframeSize(){
	var doc;
	var sH = 0;
	var oH = 0;
	var ifr = document.getElementById("iframeForms");
	if(ifr.contentDocument)	{doc = ifr.contentDocument}
	if(ifr.Document) {doc = ifr.Document}
	if(doc.body){
		if (doc.body.scrollHeight) sH = doc.body.scrollHeight;
		if(document.all){return sH}
	}
	if(doc.documentElement){
		oH = doc.documentElement.offsetHeight;
	}
	if(oH !=0 && sH != 0){
		return Math.min(oH,sH)
	}else {
		return Math.max(oH,sH)
	}
}
var ifrTempId = "";
function registerIframe(){
	if(document.getElementById("iframeForms")){
		var ifr = document.getElementById("iframeForms");
		if(ifrTempId == ""){
			ifrTempId = Math.floor(Math.random()*1000)	 
			if(ifr.src.indexOf("?")>0){
				ifr.src = ifr.src+ '&frameId=' + ifrTempId 
			}else{
				ifr.src = ifr.src+ '?frameId=' + ifrTempId 
			}
		}
	}
	//hay que esperar porque sino no se da cuenta de que el iframe puede tener la página en otro dominio y no lanza la excepción necesaria para determinar el modo de operación
	var tiempoEspera = 2000;
	if(document.getElementById("iframeForms")){
		//solo se activa si tiene ficheros asp embebidos 27/01/2009
		if (document.getElementById("iframeForms").src.indexOf(".asp")>0) {
			setTimeout("registerIframeStep2()",tiempoEspera)
		}
	}
}
function registerIframeStep2(){
	if(document.getElementById("iframeForms")){
		var ifr = document.getElementById("iframeForms");
		
		try {
			var doc;
			if(ifr.contentDocument)	{doc = ifr.contentDocument}
			if(ifr.Document) {doc = ifr.Document}
			var size = getIframeSize()
			setInterval("fastResizeIframe()",fastIntervaloRefrescoIframeSize);
		}catch(ex){
			
			setInterval("resizeIframe()",intervaloRefrescoIframeSize);
		}
	}
}
	
	
	
	
	
	
	var FastInit = {
	done : false,
	onload : function() {
		if (FastInit.done) return;
		FastInit.done = true;
		FastInit.actions.each(function(func) {
			func();
		})
	},
	actions : $A([]),
	addOnLoad : function() {
		for(var x = 0; x < arguments.length; x++) {
			var func = arguments[x];
			if(!func || typeof func != 'function') continue;
			FastInit.actions.push(func);
		}
	},
	listen : function() {
		if (/WebKit|khtml/i.test(navigator.userAgent)) {
			FastInit._timer = setInterval(function() {
				if (/loaded|complete/.test(document.readyState)) {
					clearInterval(FastInit._timer);
					delete FastInit._timer;
					FastInit.onload();
				}
			}, 10);
		} else if (document.addEventListener) {
			document.addEventListener('DOMContentLoaded', FastInit.onload, false);
		} else if(!FastInit._iew32) {
			Event.observe(window, 'load', FastInit.onload);
		}
	},
	_timer : null,
	_iew32 : false
}

/*@cc_on @*/
/*@if (@_win32)
FastInit._iew32 = true;
document.write('<script id="__ie_onload" defer src="' + ((location.protocol == 'https:') ? '//0' : 'javascript:void(0)') + '"><\/script>');
$('__ie_onload').onreadystatechange = function(){if (this.readyState == 'complete') FastInit.onload();};
/*@end @*/

FastInit.listen();
	
FastInit.addOnLoad(registerIframe);


