// ©2003 IntelyGenZ  - www.intelygenz.com - info@intelygenz.com
// iWebAPIcore v3.18c [iCore v0.48][iIGZ v0.51]

/**
	v3.01 - Nueva version incluye: api_core
								   api_win
								   api_mouse
								   api_keyb
			Corre bajo i_igz v0.2
	v3.02 - Bugs corregidos
	v3.03 - iWebAPI Object v3.03
					se crean
						this.m_oElement
						this.m_oLay
			Todo el Dynamic ahora es aprox. un 30% + rápido
	v3.04 - Compatible con i_api_gfx 3.01
	v3.05 - Compatible con i_igz 0.4
			Compatible con i_api_gfx 3.02
	v3.06 - DrawBasic tiene ALT sin HREF.
	v3.08 - añadido f_eval a los objetos WebAPI
			añadido f_link a los objetos WebAPI
			DrawBasic se le pasa sJSCode en vez de sHref, es compatible 100%
			Necesaria la version 0.4 o superior de iCore
	v3.09 - Corregido BUG en Mouse f_on() y f_off();
			Corregido BUG en f_drawBasic()
	v3.1  - Nuevo iWebAPIObject v3.04
			añade compatibilidad con EXML a todos los objetos, si i_exml ha sido cargada.
	v3.11 - Añadido f_stopSt
	v3.12 - f_drawBasic -> todos los parámetros son sensibles a this
	v3.13 - oIWin.f_new -> ahora sale centrada siempre a menos ke le pongas posicion
	v3.14 - this.f_innerHTML con control de errores
	v3.16 - añadido oWebAPI.f_newTree
			añadido this.f_addMethods2Childs a todos los iWebAPIObject hijo
			actualizado f_link -> permite "_NEW"
			f_stopSt (deprecated) -> f_stopST
	v3.17 - drawBasic y setEvent COMPLETADOS!
	v3.18 - [fixed] f_addMethods2Childs
			[new]	f_addArray2Methods
	v3.18a- [new]	f_printBasic
	v3.18b- [fixed]	f_setProperty
*/

if(typeof(oIGZ)=="undefined") alert("NO HAS CARGADO i_igz.js");
if(oCore.m_nVersion<0.48)  alert("Esta versión de WebAPI necesita iCore v0.48 o superior");

oIGZ.f_loadLib("i_api_core",3.18);

oWebAPI=new function (){
	this.m_sObj="oWebAPI";

	//CONTROL
	this.m_sIGZsign="© " +new Date().getYear()+ " IntelyGenZ - www.intelygenz.com - info@intelygenz.com";
	this.m_sAuthor ="Jonás Da Cruz - jonas.dacruz@intelygenz.com";
	this.m_nVersion=3.18;
	this.m_sKeyName="iWebAPIcore";
	this.f_getVersion=function (){
		return (this.m_sKeyName+ " v" +this.m_nVersion+ " - rev.2003.03.29\ncontact: " +this.m_sAuthor+ "\n" +this.m_sIGZsign);
	}

	this.m_bDevMode=0;

	//Chekea si la version del API es mayor a la que le pasamos
	//Utiliza sLib para indicar que libreria quieres cargar
	this.f_checkAPIv=function (nVersion,sLib){
		if(sLib){
			oIGZ.m_a_sLibsLoaded.f_addElements(sLib);
			if(this.m_nVersion<nVersion) alert("'"+sLib+"' requiere "+this.m_sKeyName+" v"+nVersion+" ó superior.\n\n"+this.f_getVersion());
		}
		else alert("ERROR!\n"+"sLib = "+sLib+"\n"+this.f_getVersion());
	}

	//iWebAPI IWin 3.01
	//
	oIWin=new function (){
		this.m_sObj    ="oIWin";
		this.m_nVersion=3.01;
		this.m_sObjId="";
		if (typeof(top.window.opener)=="undefined"){
			//this.m_sObjId="ObjWinId";
			//AddStartDraws("oIWin.f_drawObjectCode()");	//para poder cerrar las ventanas iniciales
		}

		this.f_init=function (){
			this.m_nScreenX=screen.availWidth;
			this.m_nScreenY=screen.availHeight;

			this.m_nPosX   =this.f_getPosX();
			this.m_nPosY   =this.f_getPosY();
			this.m_nSizeX  =this.f_getSizeX();
			this.m_nSizeY  =this.f_getSizeY();
			this.m_nFRSizeY=this.f_getFRSizeX();
			this.m_nFRSizeY=this.f_getFRSizeY();

			this.m_nCenX=Math.floor(this.m_nFRSizeY/2);
			this.m_nCenY=Math.floor(this.m_nFRSizeY/2);
			if(oIGZ.f_checkLibs("i_api_gfx",3.02)){
				this.f_moveTo  =oWebAPI.f_moveTo;
				this.f_goMoveTo=oWebAPI.f_goMoveTo;
			}
		}

		this.f_new=function (sWin,sPage,nSizeX,nSizeY,nPosX,nPosY,sScroll,bStatus,bFScreen,bToolBar,bCenter,bLocation,bMenu,bResizable,bHotKeys){
			if(nPosX==null || nPosX=="undefined") nPosX=(oIWin.m_nScreenX/2)-(nSizeX/2);
			if(nPosY==null || nPosY=="undefined") nPosY=(oIWin.m_nScreenY/2)-(nSizeY/2);

			var sPropiedades="width="+nSizeX+",height="+nSizeY+",left="+nPosX+",top="+nPosY+",scrollbars="+sScroll+",status="+bStatus+",toolbar="+bToolBar+",location="+bLocation+",menu="+bMenu+",resizable="+bResizable+",hotkeys="+bHotKeys+",fullscreen="+bFScreen+"";
			eval(sWin+"=window.open(sPage,sWin,'"+sPropiedades+"')");
		}

		this.f_newPerso=function (sWin,sPage,sFramesPath,nSX,nSY,nTop,nRight,nBot,nLeft,bCenter,sScroll,nPosX,nPosY,bResizable){
			if(!nPosX) nPosX=0;
			if(!nPosY) nPosY=0;
			if(bCenter){
				nPosX=(oIWin.m_nScreenX/2)-(nSX/2);
				nPosY=(oIWin.m_nScreenY/2)-(nSY/2);
			}
			var sURL=sFramesPath+"win_frameset.html?sPage="+escape(sPage)+"&nSizeX="+nSX+"&nSizeY="+nSY+"&nTop="+nTop+"&nRight="+nRight+"&nBot="+nBot+"&nLeft="+nLeft+"&sScroll="+sScroll+"&nPosX="+nPosX+"&nPosY="+nPosY+"&bCenter="+bCenter;
			oIWin.f_new(sWin,sURL,0,0,0,0,0,0,1,0,0,0,0,0,0);
		}

		this.f_close   =function (){
			if(this.m_sObjId){
				eval(this.m_sObjId+".Click()");
			}
			else top.window.close();
		}

		this.f_setPos  =function (nPosX,nPosY){
			this.m_nPosX=nPosX;
			this.m_nPosY=nPosY;
			top.window.moveTo(this.m_nPosX,this.m_nPosY);
		}
		
		this.f_setSize =function (nSizeX,nSizeY){
			this.m_nSizeX=nSizeX;
			this.m_nSizeY=nSizeY;
			top.window.resizeTo(this.m_nSizeX,this.m_nSizeY);
		}

		this.f_sizeTo  =function (nSizeXF,nSizeYF,nSteps,nTime,sExit){
			this.m_nSizeC=0;
			this.m_nSizeK=nSteps;
			this.m_nSizeT=nTime;
			this.m_sSizeE=sExit;
		
			this.m_nSizeXI=this.m_nSizeX;
			this.m_nSizeYI=this.m_nSizeY;
			this.m_nSizeXF=nSizeXF;
			this.m_nSizeYF=nSizeYF;
		
			this.f_goSizeTo();
		}

		this.f_goSizeTo=function (){
			this.m_nSizeX=Math.round(this.m_nSizeXI+(((this.m_nSizeXF-this.m_nSizeXI)/this.m_nSizeK)*this.m_nSizeC));
			this.m_nSizeY=Math.round(this.m_nSizeYI+(((this.m_nSizeYF-this.m_nSizeYI)/this.m_nSizeK)*this.m_nSizeC));

			this.m_nSizeC++;
			this.f_setSize(this.m_nSizeX,this.m_nSizeY);
			if(this.m_nSizeC<=this.m_nSizeK) this.m_stSizeTo=setTimeout(this.m_sObj+".f_goSizeTo()",this.m_nSizeT);
			else if(this.m_sSizeE) eval(this.m_sSizeE); 
		}
	
		this.f_drawObjectCode=function (){
			var sHTML="";
		
			sHTML+="<OBJECT id='"+this.m_sObjId+"' type='application/x-oleobject' ";
			sHTML+="classid='clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11'>";
			sHTML+="<PARAM name='Command' value='Close'></OBJECT>";
		
			return (sHTML);
		}
	
		//gets()
		this.f_getScrollX=function (){
			if(oIGZ.m_bIE) this.m_nScrollX=document.body.scrollWidth;
			else this.m_nScrollX=window.pageXOffset;
			return (this.m_nScrollX);	
		}
		this.f_getScrollY=function (){
			if(oIGZ.m_bIE) this.m_nScrollY=document.body.scrollHeight;
			else this.m_nScrollY=window.pageYOffset;
			return (this.m_nScrollY);	
		}
		this.f_getPosX	 =function (){
			if(oIGZ.m_bIE) this.m_nPosX=top.window.screenLeft;
			else this.m_nPosX=top.window.screenX;
			return (this.m_nPosX);
		}
		this.f_getPosY	 =function (){
			if(oIGZ.m_bIE) this.m_nPosY=top.window.screenTop;
			else this.m_nPosY=top.window.screenY;
			return (this.m_nPosY);
		}
		this.f_getSizeX	 =function (){
			if(oIGZ.m_bIE) this.m_nSizeX=top.document.body.clientWidth;
			else this.m_nSizeX=top.window.innerWidth;
			return (this.m_nSizeX);
		}
		this.f_getSizeY	 =function (){
			if(oIGZ.m_bIE) this.m_nSizeY=top.document.body.clientHeight;
			else this.m_nSizeY=top.window.innerHeight;
			return (this.m_nSizeY);	
		}
		this.f_getFRSizeX=function (){
			if(oIGZ.m_bIE) this.m_nFRSizeX=document.body.clientWidth;
			else this.m_nFRSizeX=window.innerWidth;
			return (this.m_nFRSizeX);	
		}
		this.f_getFRSizeY=function (){
			if(oIGZ.m_bIE) this.m_nFRSizeY=document.body.clientHeight;
			else this.m_nFRSizeY=window.innerHeight;
			return (this.m_nFRSizeY);
		}
	}

	oIGZ.m_a_sStartDraws.f_addElements("<FUN>oIWin.f_init()");
	oIGZ.m_a_sStartUps.f_addElements("oIWin.f_init()");
	oIGZ.m_a_sOnResize.f_addElements("oIWin.f_init()");

	//iWebAPI Object v3.04
	//
	//oWebAPI.f_newObj(sInstance,nPosX,nPosY,nPosZ,nSizeX,nSizeY,bVisib,sBGColor,bRelative)
	this.f_newObj=function (sInstance,nPosX,nPosY,nPosZ,nSizeX,nSizeY,bVisib,sBGColor,bRelative){
		eval("o"+sInstance+" = new Object()")
		var oObj=eval("o"+sInstance);

		oObj.f_addObjMethods=oWebAPI.f_addObjMethods;
		oObj.f_addObjMethods(sInstance,nPosX,nPosY,nPosZ,nSizeX,nSizeY,bVisib,sBGColor,bRelative);
	}

	this.f_addObjMethods=function (sInstance,nPosX,nPosY,nPosZ,nSizeX,nSizeY,bVisib,sBGColor,bRelative){
		this.m_nVersion=3.04;
		this.m_bIE =oIGZ.m_bIE;
		this.m_bIE4=oIGZ.m_bIE4;
		this.m_bNS =oIGZ.m_bNS;

		this.m_sBase=sInstance;
		this.m_sObj ="o"+this.m_sBase;
		this.m_sId  ="L"+this.m_sBase;
		if(this.m_bIE || this.m_bNS) this.m_sElement="document.getElementById('"+this.m_sId+"')";
		if(this.m_bIE4) this.m_sElement="document.all['"+this.m_sId+"']";
		this.m_sLay=this.m_sElement+".style";
		this.m_sName="N"+this.m_sBase;

		oIGZ.m_a_sStartUps.f_addElements(this.m_sObj+".f_isLay()");

		this.f_isLay=function (){
//alert(eval(this.m_sElement))
			if(eval(this.m_sElement)!=null){
				this.m_oElement=eval(this.m_sElement);
				this.m_oLay=eval(this.m_sLay);
			}
		}

		this.m_sBGColor=sBGColor;

		this.m_nPosXi  =nPosX;
		this.m_nPosYi  =nPosY;
		this.m_nPosZi  =nPosZ;
		this.m_nSizeXi =nSizeX;
		this.m_nSizeYi =nSizeY;
		this.m_nTopi   =0;
		this.m_nRighti =nSizeX;
		this.m_nBottomi=nSizeY;
		this.m_nLefti  =0;

		this.m_nPosX=nPosX;
		this.m_nPosY=nPosY;
		this.m_nPosZ=nPosZ;

		this.m_nSizeX =nSizeX;
		this.m_nSizeY =nSizeY;
		this.m_nTop   =0;
		this.m_nRight =nSizeX;
		this.m_nBottom=nSizeY;
		this.m_nLeft  =0;
		this.m_nDragY1=this.m_nTop;
		this.m_nDragX2=this.m_nRight;
		this.m_nDragY2=this.m_nBottom;
		this.m_nDragX1=this.m_nLeft;

		this.f_setPos=function (nPosX,nPosY){
			if(nPosX != null){
				this.m_nPosX=nPosX;
				this.m_oLay.left=this.m_nPosX;
			}
			if(nPosY != null){
				this.m_nPosY=nPosY;
				this.m_oLay.top =this.m_nPosY;
			}
		}
		this.f_setPosZ=function (nPosZ){
			if(nPosZ != null){
				this.m_nPosZ=nPosZ;
				this.m_oLay.zIndex=nPosZ;
			}
		}
		this.f_setPosCenter=function (bPosX,bPosY){
			this.m_nSizeX=this.f_getSizeX();
			this.m_nSizeY=this.f_getSizeY();

			var nPosX=this.m_nPosX;
			var nPosY=this.m_nPosY;
			if(bPosX) nPosX=(oIWin.f_getFRSizeX()/2)-(this.m_nSizeX/2);
			if(bPosY) nPosY=(oIWin.f_getFRSizeY()/2)-(this.m_nSizeY/2);

			this.f_setPos(nPosX,nPosY);
		}
		this.f_setPosCenChilds=function (bPosX,bPosY,bComplete){
			for(var nChild=0;nChild<this.m_a_oChilds.length;nChild++){
				var oChild=this.m_a_oChilds[nChild];
				oChild.f_setPosCenter(bPosX,bPosY);
				if(bComplete) oChild.f_setPosCenChilds(bPosX,bPosY,bComplete);
			}
		}
		this.f_setClip=function(nTop,nRight,nBottom,nLeft){
			if(nTop!=null) 	 this.m_nTop   =nTop;
			else 			 this.m_nTop   =0;
			if(nRight!=null) this.m_nRight =nRight;
			else 			 this.m_nRight =this.f_getSizeX();
			if(nBottom!=null)this.m_nBottom=nBottom;
			else 			 this.m_nBottom=this.f_getSizeY();
			if(nLeft!=null)  this.m_nLeft  =nLeft;
			else 			 this.m_nLeft  =0;
			this.m_nSizeX=this.m_nRight-this.m_nLeft;
			this.m_nSizeY=this.m_nBottom-this.m_nTop;
			this.m_oLay.clip="rect("+this.m_nTop+" "+this.m_nRight+" "+this.m_nBottom+" "+this.m_nLeft+")";
		}
		this.f_setDrag=function(nDragY1,nDragX2,nDragY2,nDragX1){
			if(nDragY1!=null) this.m_nDragY1=nDragY1;
			if(nDragX2!=null) this.m_nDragX2=nDragX2;
			if(nDragY2!=null) this.m_nDragY2=nDragY2;
			if(nDragX1!=null) this.m_nDragX1=nDragX1;
		}
		this.f_setDrag(0,nSizeX,nSizeY,0);
		this.f_getPosX =function (){ return ( parseInt( this.m_oLay.left )   ); }
		this.f_getPosY =function (){ return ( parseInt( this.m_oLay.top )    ); }
		this.f_getPosZ =function (){ return ( parseInt( this.m_oLay.zIndex ) ); }
		this.f_getSizeX=function (){
			if(this.m_bIE4) nSizeX=this.m_oElement.clientWidth;
			else nSizeX=this.m_oElement.offsetWidth;
			return parseInt(nSizeX);
		}
		this.f_getSizeY=function (){
			if(this.m_bIE4) nSizeY=this.m_oElement.clientHeight;
			else nSizeY=this.m_oElement.offsetHeight;
			return parseInt(nSizeY);
		}

		this.m_bActive  =0;
		this.m_nAlpha   =100;
		this.m_bRelative=bRelative;
		this.m_bVisib   =bVisib;

		this.f_stopSt=function (){ this.f_stopST(arguments) }
		this.f_stopST=function (){
		var oArgs=arguments;
			if(arguments[0] && typeof(arguments[0])=="object" && arguments[0].length>0) oArgs=arguments[0];
			for(var n=0;n<oArgs.length;n++){		
				var ct_STOP=eval(this.m_sObj+".m_st"+oArgs[n]);
				if(ct_STOP) clearTimeout(ct_STOP);
			}
		}
		this.f_setShow=function (){
			this.m_bVisib=1;
			this.m_oLay.visibility="visible";
		}
		this.f_setHide=function (){
			this.m_bVisib=0;
			this.m_oLay.visibility="hidden";
		}
		this.f_setAlpha=function (nAlpha){
			if(this.m_bIE || this.m_bIE4){
				this.m_nAlpha=nAlpha;
				this.m_oLay.filter="Alpha(Opacity:"+this.m_nAlpha+")";
			}
		}
		this.f_setImg=function (sImg,sName){
			this.m_sImg=sImg;
			if(!sName) sName=this.m_sName;
			document[sName].src=this.m_sImg;
		}
		this.m_bImgEventOn=0;
		this.f_setEvent=function (bOver,bOn,bForce){
			if(bOn!=null) this.m_bImgEventOn=(this.m_bImgEventOn)? ((bForce)? bOn : 0) : bOn;
			this.m_nImg=0;
			if(this.m_bImgEventOn){
				this.m_nImg=1;
				if(this.m_a_sImgs.length>3) this.m_nImg=2;
			}
			else if (bOver) this.m_nImg++;
			if(this.m_bImgEventOn && bOver && this.m_a_sImgs.length>3) this.m_nImg++;
			this.f_setImg(this.m_a_sImgs[this.m_nImg]);
		}
		this.f_setProperty=function (sProp,vValor){
			eval("this.m_oElement."+sProp+"=vValor");
		}
		this.f_innerHTML=function (sInner){
			oCore.m_oErrorJS = this
			window.onerror = function ErrorTrapJS(sError,sURL,nLinea) { sError="\n"+sURL+"\nLinea "+nLinea + " : " + sError;ErrorJS ("[i_api_core.js] this.f_innerHTML no puede pintar HTML en esa posicion"+sError+"\nHTML:\n"+sInner,oCore.m_oErrorJS,1); return (true);}	

			this.m_sInnerHTML=sInner;
			this.m_oElement.innerHTML=this.m_sInnerHTML;

			window.onerror = oCore.m_oOnErrorEvent	
		}
		this.f_getInnerHTML =function (){
			this.m_sInnerHTML=this.m_oElement.innerHTML;
			return (this.m_sInnerHTML);
		}
		this.f_drawFlashCode=function (oSwf,sSwf){
			this.m_sSwf=sSwf;
			var sHTML="";

		    sHTML+="<OBJECT id='"+oSwf+"' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0' width='"+this.m_nSizeX+"' height='"+this.m_nSizeY+"'>";
		    if(this.m_bNS) sHTML+="<EMBED src='"+this.m_sSwf+"' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' bgcolor='"+this.m_sBGColor+"' width='"+this.m_nSizeX+"' height='"+this.m_nSizeY+"' SWLIVECONNECT='1' />";
		    else sHTML+="<PARAM name='movie' value='"+this.m_sSwf+"' /><PARAM name='BGCOLOR' value='"+this.m_sBGColor+"' />";
		    sHTML+="</OBJECT>";

			return sHTML;
		}
		this.f_printFlashCode=function (oSwf,sSwf){ document.write(this.f_drawFlashCode(oSwf,sSwf)) }
		
		this.f_print=function (sInner,sXtra){ document.write( this.f_draw(sInner,sXtra) ); }
		this.f_draw=function (sInner,sXtra){
			var sHTML="";

			sHTML+="<SPAN id='"+this.m_sId+"'";								// <SPAN>
			if(sXtra) sHTML+=sXtra;

			var sPosition="absolute";										//position
			if(this.m_bRelative) sPosition="relative";
			sHTML+=" style='position: "+sPosition+"; ";

			if(this.m_nPosX!=null) sHTML+=" left: "+this.m_nPosX+";";		//sizes
			if(this.m_nPosY!=null) sHTML+=" top: "+this.m_nPosY+";";
			if(this.m_nPosZ!=null) sHTML+=" z-index: "+this.m_nPosZ+";";
			if(this.m_nSizeX!=null) sHTML+=" width: "+this.m_nSizeX+";";
			if(this.m_nSizeY!=null) sHTML+=" height: "+this.m_nSizeY+";";

			var sVisib="hidden";											//visibility
			if(this.m_bVisib) sVisib="visible";
			sHTML+=" visibility: "+sVisib+";";
		
			if(this.m_sBGColor){											//background
				if(this.m_sBGColor.substring(0,1)=="#") sHTML+=" background-color:"+this.m_sBGColor+";";
				else sHTML+=" background-image: url(\""+this.m_sImgPath+this.m_sBGColor+"\");";
			}

			sHTML+="'>";
			if(sInner) sHTML+=sInner;
			sHTML+="</SPAN>";													// </SPAN>

			return (sHTML);
		}
		this.f_onMOver=function (){ }
		this.f_onMOut =function (){ }
		this.f_drawBasic=function (a_sImgs,sAlt,sJSCode,sTarget,sMOver,sMOut,sXtra,sXtraImg){
			sAlt   =(sAlt   )? sAlt.f_replace("'","\"")    : "";
			sAlt   =(sAlt   )? sAlt.f_replace("this",this.m_sObj) : "";
			this.m_sAlt=sAlt;
			sJSCode=(sJSCode)? sJSCode.f_replace("'","\"") : "";
			sJSCode=(sJSCode)? sJSCode.f_replace("this",this.m_sObj) : "";
			sTarget=(sTarget)? sTarget.f_replace("'","\"") : "";
			sTarget=(sTarget)? sTarget.f_replace("this",this.m_sObj) : "";
			sMOver =(sMOver )? sMOver.f_replace("'","\"")  : "";
			sMOver =(sMOver )? sMOver.f_replace("this",this.m_sObj) : "";
			sMOut  =(sMOut  )? sMOut.f_replace("'","\"")   : "";
			sMOut  =(sMOut  )? sMOut.f_replace("this",this.m_sObj) : "";
			sXtra  =(sXtra  )? sXtra.f_replace("'","\"")   : "";
			sXtra  =(sXtra  )? sXtra.f_replace("this",this.m_sObj) : "";
			sXtraImg=(sXtraImg  )? sXtraImg.f_replace("'","\"")   : "";
			sXtraImg=(sXtraImg  )? sXtraImg.f_replace("this",this.m_sObj) : "";

			this.m_a_sImgs=[];
			if(IsArray(a_sImgs)) this.m_a_sImgs=this.m_a_sImgs.concat(a_sImgs);
			else a_sImgs=a_sImgs.f_replace("'","\"",1,0);
			var sFH1="";
			var sFH2="";
			var sHTML="";
			if((IsArray(a_sImgs) && a_sImgs.length>1) || sJSCode || sTarget || sMOver || sMOut || (this.m_sAlt && oIGZ.f_checkLibs("i_fasthelper",3.01))){
				if(!sJSCode)sJSCode="//";
				if(!sTarget)sTarget="";
				if(!sMOver) sMOver ="";
				if(!sMOut)  sMOut  ="";
				if(!sXtra)  sXtra  ="";
				if(this.m_sAlt && oIGZ.f_checkLibs("i_fasthelper",1.01)){
					sFH1="oFastHelper.f_on(\""+this.m_sAlt+"\");";
					sFH2="oFastHelper.f_off();";
					this.m_sAlt="";
				}
				this.m_sJSCode=sJSCode;
				this.m_sHref  =this.m_sJSCode;
				if(sJSCode.indexOf("javascript:")!=-1) this.m_sHref=sJSCode.substring(0,11)+this.m_sObj+".f_evalCode('"+sJSCode.substring(11,sJSCode.length)+"');";
				else this.m_sHref="javascript:"+this.m_sObj+".f_evalCode('"+sJSCode+"');";
				sHTML+="<A href="+this.m_sHref;
				if(sTarget) sHTML+=" target='"+sTarget+"'";
				if(!sFH1 && !IsArray(a_sImgs) && this.m_sAlt) sHTML+=" title='"+this.m_sAlt+"'";

				if(IsArray(a_sImgs) && a_sImgs.length>1){
					sMOver+=this.m_sObj+'.f_setEvent(1,null);';
					sMOut +=this.m_sObj+'.f_setEvent(0,null);';
				}
				sHTML+=" onmouseover='"+this.m_sObj+".f_onMOver();"+sFH1+sMOver+"'";
				sHTML+=" onmouseout='"+this.m_sObj+".f_onMOut();"+sFH2+sMOut+"'";
				if(IsArray(a_sImgs) && a_sImgs.length>2) sHTML+=" onclick='"+this.m_sObj+".f_setEvent(1,1);'";
				sHTML+=sXtra+">";
			}
			if(!IsArray(a_sImgs)) sHTML+=a_sImgs;
			else{
				sHTML+="<IMG name='"+this.m_sName+"' src='"+a_sImgs[0]+"'";
				if(this.m_nSizeX!=null) sHTML+=" width='"+this.m_nSizeX+"'";
				if(this.m_nSizeY!=null) sHTML+=" height='"+this.m_nSizeY+"'";
			 	if(this.m_sAlt && !oIGZ.f_checkLibs("i_fasthelper",3.01)) sHTML+=" alt='"+this.m_sAlt+"'";
			 	sHTML+=" border='0' "+sXtraImg+" />";
			}
			if((IsArray(a_sImgs) && a_sImgs.length>1) || sJSCode || sTarget || sMOver || sMOut || (this.m_sAlt && oIGZ.f_checkLibs("i_fasthelper",3.01))) sHTML+="</A>";
			return (sHTML);
		}
		this.f_printBasic=function (a_sImgs,sAlt,sJSCode,sTarget,sMOver,sMOut,sXtra){
			document.write( this.f_drawBasic(a_sImgs,sAlt,sJSCode,sTarget,sMOver,sMOut,sXtra) );
		}
		this.f_evalCode=function (sJSCode){
			eval(sJSCode);
		}
		this.f_link=function (sUrl,oFrame){
			if(typeof(oFrame)=="string"){
				switch(oFrame.toLowerCase()){
					case "_new":
						window.open(sUrl);
						break;
				}
			}
			else{
				if(!oFrame) oFrame=document;
				oFrame.location.href=sUrl;
			}
		}
		this.m_a_oChilds =[];
		this.m_a_oParents=[];
		this.f_addChilds=function (){
			for(var n=0;n<arguments.length;n++){
				var oChild=arguments[n];
				this.m_a_oChilds.f_addElements(oChild);
				oChild.m_a_oParents=oChild.m_a_oParents.concat(this.m_a_oParents);
				oChild.m_a_oParents.f_addElements(this);
				oChild.m_oParent=this;
				oChild.m_oGod   =oChild.m_a_oParents[0];
			}
		}
		this.f_drawChilds=function(sFunc,sXtra,bComplete){
			if(!sXtra) sXtra="";
			var sHTML="";
			for(var n=0;n<this.m_a_oChilds.length;n++){
				if(sFunc) sHTML+=eval("this.m_a_oChilds[n]."+sFunc);
				else sHTML+=this.m_a_oChilds[n].f_draw("",sXtra);
				if(this.m_a_oChilds[n].m_a_oChilds.length && bComplete) sHTML+=this.m_a_oChilds[n].f_drawChilds(sFunc,sXtra,bComplete);
			}
			return (sHTML);
		}		
		this.f_printChilds=function(sFunc,sXtra,bComplete){
			document.write( this.f_drawChilds(sFunc,sXtra,bComplete) );
		}
		this.f_setVisibChilds=function (bShow,bComplete){
			var oChild;
			for(var n=0;n<this.m_a_oChilds.length;n++){
				oChild=this.m_a_oChilds[n];
				if(bShow) oChild.f_setShow();
				else  oChild.f_setHide();
				if(bComplete && oChild.m_a_oChilds) oChild.f_setVisibChilds(bShow,bComplete);
			}
		}		
		this.f_setShowChilds=function (bComplete){ this.f_setVisibChilds(1,bComplete) }
		this.f_setHideChilds=function (bComplete){ this.f_setVisibChilds(0,bComplete) }
		this.f_setPosChilds =function (nPosX,nPosY,bComplete){
			for(var n=0;n<this.m_a_oChilds.length;n++){
				this.m_a_oChilds[n].f_setPos(nPosX,nPosY);
				if(bComplete) this.m_a_oChilds[n].f_setPosChilds(nPosX,nPosY,bComplete);
			}
		}
		this.f_setPosZChilds=function (nPosZ,bComplete){
			for(var n=0;n<this.m_a_oChilds.length;n++){
				this.m_a_oChilds[n].f_setPosZ(nPosZ);
				if(bComplete) this.m_a_oChilds[n].f_setPosZChilds(nPosZ,bComplete);
			}
		}
		this.f_addMethods2Childs=function (a_sMethods,bAll){
		var sMethod="";
			for(var n=0;n<this.m_a_oChilds.length;n++){
				for(var i=0;i<a_sMethods.length;i++){
					sMethod=a_sMethods[i];
					if(sMethod.indexOf("(")!=-1) eval("this.m_a_oChilds[n]."+sMethod);
					else eval("this.m_a_oChilds[n]."+sMethod+"=this."+sMethod);
				}
				if(bAll) this.m_a_oChilds[n].f_addMethods2Childs(a_sMethods,bAll);
			}
		}
		this.f_addArray2Methods=function (a_MArray){
			this.m_a_Methods=a_MArray;
			for(var n=0;n<this.m_a_Methods[1].length;n++, i++){
				if(i>=this.m_a_Methods[0].length) i=0;
				eval("this.m_"+this.m_a_Methods[0][i]+"=this.m_a_Methods[1][n];");
			}
		}
		if(oIGZ.f_checkLibs("i_api_gfx",3.02)){
			this.f_addMethodsGFX=oWebAPIgfx.f_addMethodsGFX;
			this.f_addMethodsGFX();
		}
		if(oIGZ.f_checkLibs("i_exml",1.05)){
			this.f_parseEXMLs=ParseEXMLs;
			this.f_parseEXML =ParseEXML;
		}
	}
	//a_MArray -> Los 2 primeros TAGs deben ser [0]La ID del Nodo Padre y [1] La ID propia
	//oWebAPI.f_newTree(sInstance,a_MArray);
	this.f_newTree=function (sBase,a_MArray){
	var vParentID, vID, oChild, vVal;
		this.f_newObj(sBase);
		var oRadix=eval("o"+sBase);
		var a_sTAGs=a_MArray[0];
		var a_vVals=a_MArray[1];
		for(var n=0, i=0;n<a_vVals.length;n++, i++){
			if(i>=a_sTAGs.length) i=0;
			if(i==0){
				vParentID=a_vVals[n];
				vID   	 =a_vVals[n+1];
				this.f_newObj(vID);
				oChild=eval("o"+vID);
				eval("oChild.m_"+a_sTAGs[0]+"=vParentID");
				eval("oChild.m_"+a_sTAGs[1]+"=vID");
				if(vParentID) eval("o"+vParentID+".f_addChilds(oChild)");
				else oRadix.f_addChilds(oChild);
			}
			if(i>1){
				vVal=(a_vVals[n])? a_vVals[n].f_replace("this",oChild.m_sObj) : "";
				eval("oChild.m_"+a_sTAGs[i]+"=vVal");
			}
		}
	}
}

//iWebAPI Mouse v3.01
//
//oWebAPI.f_dragOff=function (){ event.returnValue=false; }

oIGZ.m_a_sStartUps.f_addElements("oMouse.f_on()");
oMouse=new function (){
	this.f_addObjMethods=oWebAPI.f_addObjMethods;
	this.f_addObjMethods("Mouse");
	this.m_nVersion=3.01;

	this.m_nPosX=0;
	this.m_nPosY=0;

	this.m_a_oActiveElements=[];

	this.f_addObjects=function (){
		for(var nAct=0;nAct<arguments.length;nAct++){
			if(this.m_a_oChilds.f_indexOf(arguments[nAct].m_sObj,"m_sObj")==-1){
				this.m_a_oChilds.f_addElements(arguments[nAct]);
				this.f_sortElements();
			}
		}
	}
	this.f_delObjects=function (){
		for(var nAct=0;nAct<arguments.length;nAct++){
			this.m_a_oChilds=this.m_a_oChilds.f_delElements(arguments[nAct].m_sObj,"m_sObj");
		}
		this.f_sortElements();
	}
	this.f_sortElements=function (){
		//OrderObjsBy("m_nPosZ",this.m_a_oChilds);
	}
	this.f_on =function (){
		if(this.m_bIE){
			document.onmousedown=MouseDown;
			document.onmousemove=MouseMove;
			document.onmouseup  =MouseUp;
//			document.ondragstart=oWebAPI.f_dragOff;
		}
		else{
			document.addEventListener("mousedown", MouseDown, true);
			document.addEventListener("mousemove", MouseMove, true);
			document.addEventListener("mouseup", MouseUp, true);
//			document.addEventListener("dragstart", oWebAPI.f_dragOff, true);
		}
	}
	this.f_off=function (){
		if(this.m_bIE){
			document.onmousedown="";
			document.onmousemove="";
			document.onmouseup  ="";
		}
		else{
			document.addEventListener("mousedown", MouseDown, false);
			document.addEventListener("mousemove", MouseMove, false);
			document.addEventListener("mouseup", MouseUp, false);
//			document.addEventListener("dragstart", oWebAPI.f_dragOff, false);		
		}
	}
}

function MouseDown(){
	var oChild="";
	var nContC=oMouse.m_a_oChilds.length;

	while(nContC>0){
		nContC--;
		oChild=oMouse.m_a_oChilds[nContC];
		if((oChild.m_nPosX+oChild.m_nDragX1<oMouse.m_nPosX && oChild.m_nPosX+oChild.m_nDragX2>oMouse.m_nPosX) && (oChild.m_nPosY+oChild.m_nDragY1<oMouse.m_nPosY && oChild.m_nPosY+oChild.m_nDragY2>oMouse.m_nPosY)){
			oMouse.m_a_oActiveElements.f_addElements(oChild);
			if(oChild.f_mouseDown) oChild.f_mouseDown();
			nContC=0;
		}
	}
}

function MouseMove(e){
	if(oIGZ.m_bNS){
		oMouse.m_nPosX=e.pageX;
		oMouse.m_nPosY=e.pageY;
	}
	else{
		oMouse.m_nPosX=event.clientX+document.body.scrollLeft;
		oMouse.m_nPosY=event.clientY+document.body.scrollTop;
	}
	for(var nMDCont=0;nMDCont<oMouse.m_a_oActiveElements.length;nMDCont++){
		oChild=oMouse.m_a_oActiveElements[nMDCont];	
		if(oChild && oChild.f_mouseMove) oChild.f_mouseMove();
	}
}
function MouseUp(){
	for(var nChild=0;nChild<oMouse.m_a_oActiveElements.length;nChild++){
		var oChild=oMouse.m_a_oActiveElements[nChild];
		if(oChild && oChild.f_mouseUp) oChild.f_mouseUp();
	}
	oMouse.m_a_oActiveElements=[];
}

//Keyboard Events
//
function EventKeyDown(e){
	if(oIGZ.m_bNS) oKeyb.m_nKeyDown=e.which;
	if(oIGZ.m_bIE) oKeyb.m_nKeyDown=event.keyCode;
	oKeyb.f_keyDown();
}

function EventKeyUp(e){
	if(oIGZ.m_bNS) oKeyb.m_nKeyUp=e.which;
	if(oIGZ.m_bIE) oKeyb.m_nKeyUp=event.keyCode;
	oKeyb.f_keyUp();
}


/*

//					//
// 		OBJETOS		//
//					//

//
// Skin (v0.2)
//
function Skin(sName){
	this.m_sName=sName;
	this.f_addArgs2Array=addArgs2Array;

	this.m_a_sTags=new Array();

	this.f_addTags=function (){
		this.f_addArgs2Array("sTags",0,arguments);
	}
	this.f_newSkin=function (){
		var oArgs=arguments;
		if(typeof(oArgs[0])=="object" && oArgs[0].length!="undefined") oArgs=arguments[0]; //si le paso un array

		if(typeof(this.m_a_sSkins)=="undefined") this.m_a_sSkins=new Array();

		var sBase=oArgs[0];
		if(SearchPosInArray(this.m_a_sSkins,sBase,"")==-1) this.m_a_sSkins[this.m_a_sSkins.length]=sBase;

		this.f_addArgs2Array(sBase,0,oArgs);
		this.f_setSkin(sBase);
	}

	this.f_getSkin=function (sValue,sSkin){
		if(sSkin) this.m_sSkin=sSkin;
		var vValue=eval("this.m_a_"+this.m_a_sSkins[SearchPosInArray(this.m_a_sSkins,this.m_sSkin,"")]+"["+SearchPosInArray(this.m_a_sTags,sValue,"")+"]");
		return (vValue);
	}

	this.f_setSkin=function (sSkin){
		this.m_sSkin=this.m_a_sSkins[SearchPosInArray(this.m_a_sSkins,sSkin,"")];
	}

}

//
// Shield (v0.5)
//
//Para pintar el Shield: AddStartDraws("<FUN>CreateAPIShield();","oAPIShield.f_draw()");
g_bAPIShield=0;
function CreateAPIShield(){
	if(!g_bAPIShield){
		// Instancia de Lay [oAPIShield]
		oAPIShield=new Lay("APIShield",0,0,0,null,null,0);
		oAPIShield.f_setActive=function (nPosZ){
			this.f_setPosZ(nPosZ);
			this.f_setPositions();
			this.f_setShow();
		}

		oAPIShield.f_setPositions=function (){
			this.f_innerHTML(this.f_drawShield());
			this.f_setClip(0,oAPIWin.f_getFRSizeX(),oAPIWin.f_getFRSizeY(),0);
		}

		oAPIShield.f_setOff=function (){
			this.f_setClip(0,0,0,0);
			this.f_setHide();
		}

		oAPIShield.f_drawShield=function (){
			var sHTML="";

			sHTML+="<TABLE width='"+oAPIWin.f_getFRSizeX()+"' height='"+oAPIWin.f_getFRSizeY()+"' cellpadding='0' cellspacing='0' border='0' "
			if(g_bIE) sHTML+="class='apishield'";
			sHTML+=">";
			
			sHTML+="<TR><TD></TD></TR>";
			sHTML+="</TABLE>";
	
			return (sHTML);
		}

		AddStartDraws("oAPIShield.f_draw()");
		AddScrollers("oAPIShield.f_setPos(oAPIWin.f_getScrollX(),oAPIWin.f_getScrollY())");
		AddResizers("oAPIShield.f_setPositions()");

		g_bAPIShield=1;
	}
}

//Inicio de Funciones

//3.12 ValueObjs
g_sValueObjProp="";
function ValueObjs(p_vValue1,p_vValue2){
	var vValue1=eval(p_vValue1.m_sObj+"."+g_sValueObjProp);
	var vValue2=eval(p_vValue2.m_sObj+"."+g_sValueObjProp);
	if(vValue1<vValue2) return (-1);
	else if(vValue1==vValue2) return (0);
	else if(vValue1>vValue2) return (1);
}

//3.13 OrderObjsBy
function OrderObjsBy(sProp,a_vArray){
	g_sValueObjProp=sProp;
	return (a_vArray.sort(ValueObjs));
}

//3.14 SetOrderObjPos
function SetOrderObjPos(a_vArray,nPosIni,nPosK,nMarg,bDir){
	if(!bDir){
		sProp="m_nPosY";
		sFunc="f_getSizeY()";
	}
	else{
		sProp="m_nPosX";
		sFunc="f_getSizeX()";	
	}
	a_vArray=OrderObjsBy(sProp,a_vArray);
	for(var n=0;n<a_vArray.length;n++){
		if(n>0) var vVal=eval("a_vArray[n-1]."+sProp+"+a_vArray[n-1]."+sFunc+"+nMarg");
		else var vVal=nPosIni;
		var nPosX=nPosK;
		var nPosY=vVal;
		if(bDir){
			nPosX=vVal;
			nPosY=nPosK;
		}
		eval(a_vArray[n].m_sObj+".f_setPos("+nPosX+","+nPosY+")");
	}
}


*/
