// Copyright 2002-2003, Educom Software

var core={};
core.bags={};
core.comps={};
core.bags.elms=[];
core.bags.elms.isComponent=false;
core.capamodal = null;
core.imgmodal = null;
core.copyright="(c) Educom Software 2002-2003\nTodos los derechos Reservados.";
core.version="3.01";
core.doDebug=false;
core.doSplash=false;
if(core.doSplash)core.doSplash=Math.random()*10<4;

if(core.doSplash){
	document.write('<div id="domapi_splash" style="background-color:infobackground;color:infotext;position:absolute;'+
		(navigator.userAgent.indexOf("MSIE")>0?'right:18px;':'right:2px;')+
		'top:3px;white-space:nowrap;border:1px solid threedshadow;font:8pt arial,helvetica,sans-serif;padding:0px 3px;">DomAPI '+core.version+'</div>')
};

core.libs=["core"];
core.libs.extDir=["align","animate","collision","color","cookie","drag","form_attach","groups","keyboard","more_css","more_themes","more_xbm","nodesort","quicksort","rpccore","reflow","resize","selection","shadow","snap","sysutils","validate"];
core.libs.objDir=["list","rpcpacket","xbm"];
core.libs.rootDir=["component","core","corecolor","coreutil","css","debug","elm","lang","loaded","mozillaext","theme"];

Array.prototype.indexOf=function(s){
	for(var a=0; a<this.length; a++)if(this[a]==s)return a;
	return-1;
};

core.unitLoaded=function(name){return core.libs.indexOf(name)>-1};

core.loadUnit=function(name){
	if(core.unitLoaded(name))return false;
	core.libs[core.libs.length]=name;
	if(core.libs.rootDir.indexOf(name)>-1)subdir="";
	else if(core.libs.extDir.indexOf(name)>-1)subdir="ext/";
	else if(core.libs.objDir.indexOf(name)>-1)subdir="objs/";
	else subdir="gui/";
	name+=(core.compressed?"_c":"")+".js";
	document.writeln('<script type="text\/javascript" src="'+core.libPath+subdir+name+'"><\/script>');
};

core._getUnitPath=function(name){
	var r=false;
	var i;
	var re=new RegExp("\/?"+name+"[\._]");
	var tags=document.getElementsByTagName("SCRIPT");
	for(var a=0; a<tags.length; a++){
		i=tags[a].src.search(re);
		if(i>-1)r=tags[a].src.substr(0,i+1);
		if(r&&name=="core")core.compressed=tags[a].src.search("_c.js")!=-1;
	}return r;
};

core._sniff=function(){
	var c=core;
	var u=navigator.userAgent;
	c.isDom=document.getElementById;
	c.isMac=(u.indexOf("Mac")>0);
	c.isIE=(u.indexOf("MSIE")>0);
	c.isNS=(u.indexOf("Gecko")>0);
	c.isIE5=false;
	c.isIE50=false;
	c.isIE55=false;
	c.isIE6=false;
	c.isIE60=false;
	c.isIE7=false;
	c.isIE70=false;
	c.isNS6=false;
	c.isNS7=false;
	if(c.isIE){
		var i=navigator.appVersion.indexOf("MSIE");
		var temp=navigator.appVersion.substring(i+5,i+8);
		c.isIE50=(temp=="5.0");
		c.isIE55=(temp=="5.5");
		c.isIE60=(temp=="6.0");
		c.isIE70=(temp=="7.0");
		c.isIE5=temp.charAt(0)=="5";
		c.isIE6=temp.charAt(0)=="6";
		c.isIE7=temp.charAt(0)=="7";
	};
	if(c.isNS){c.isNS6=(u.indexOf("Netscape6")>0||u.indexOf("rv:0.")>0);
	c.isNS7=(u.indexOf("Netscape/7")>0||u.indexOf("rv:1.")>0)}c.isIEMac=c.isMac&&c.isIE;
	c.isIE5Mac=c.isMac&&c.isIE5;
};

core._sniff();
core._checkStrict=function(){
	if(core.isIE5Mac)return true;
	var r=false;
	var d=document.doctype;
	r=(document.compatMode=="CSS1Compat");
	if(d){if(d.systemId)r=d.systemId.indexOf("strict")>-1;
	else if(d.publicId)r=d.publicId.indexOf("transitional")>-1}r=(d&&d.name.indexOf(".dtd")>-1)?true:r;
	return r;
};

core.isStrict=core._checkStrict();
core.needsBoxFix=(core.isIE5)||(core.isIE60&&!core.isStrict);
core.libPath=core._getUnitPath("core");
core.imagePath=core.libPath+"gui/images/";

core.bodyElm=function(){return document.body};
core.cursors={};
core.cursors.hand=core.isIE5?"hand":"pointer";
core.cursors.vertBeam=core.isIE?(core.isIE5?"move":"col-resize"):"move";
core.cursors.horzBeam=core.isIE?(core.isIE5?"move":"row-resize"):"move";
core.loadUnit("coreutil");
core.loadUnit("css");
core.loadUnit("elm");
core.loadUnit("theme");
core.loadUnit("component");
core.loadUnit("corecolor");
core.loadUnit("form_attach");
if(core.isNS||core.isIE5Mac)core.loadUnit("mozillaext");
if(core.doDebug)core.loadUnit("debug");
core.loadUnit("lang");

core.addEvent=function(o,t,fn,useCapture){
	if((t=="scroll")&&(!core.isIE)){
		if(!core.scrollEvents)core.scrollEvents=[];
		var e=core.scrollEvents;
		if(e.indexOf(fn)==-1)e[e.length]=fn;
		if(!this.onScrollTimer&&core.reflow){
			core.oldPageYOffset=pageYOffset;
			core.oldPageXOffset=pageXOffset;
			core.onfiltered=setInterval("if((core.reflow.oldPageYOffset!=pageYOffset)||(core.reflow.oldPageXOffset!=pageXOffset))"+
			"{for(var i=0;i<core.scrollEvents.length;i++)core.scrollEvents[i]();"+
			"core.reflow.oldPageYOffset=pageYOffset;core.reflow.oldPageXOffset=pageXOffset};",25);
		}
	return;
	}
	if(o.addEventListener){
		o.addEventListener(t,fn,useCapture);
		return true;
	}else 
		if(o.attachEvent){
			var addEvnRt=o.attachEvent("on"+t,fn);
			return addEvnRt
		}else 
			if(core.isDom&&core.isIE5Mac){
				o["on"+t]=fn;
			}else 
				alert(core.getString("HANDLER_NO_ATTACH"));
};

core.removeEvent=function(o,t,fn,useCapture){
	if((t=="scroll")&&(!core.isIE)){
		var e=core.scrollEvents;
		var i=e.indexOf(fn);
		if(i!=-1)e.deleteItem(i);
		return;
	}
	if(typeof fn=="undefined")return;
	if(o.removeEventListener){
		o.removeEventListener(t,fn,useCapture);
		return true;
	}else 
		if(o.detachEvent){
			var remEvnRt=o.detachEvent("on"+t,fn);
			return remEvnRt
		}else 
			if(core.isDom&&core.isIE5Mac){
				o["on"+t]=null;
			}else 
				alert(core.getString("HANDLER_NO_DETACH"));
};

core.preventBubble=function(E){
	if(core.isIE){
		event.cancelBubble=true;
		event.returnValue=false
	}else{
		if(E.stopPropagation)E.stopPropagation();
		else E.preventBubble();
	}
};

onunload=function(){
	core._freeAll();
	if(core.doDebug){
		core.debug.closeConsole();
		core.debug.closeProps();
	}
};

core.loadUnit("loaded");

