if(typeof Zapatec=='undefined'){Zapatec=function(){};}
Zapatec.version='07-01';
if(typeof Zapatec.zapatecPath=='undefined'){
	Zapatec.zapatecPath=function(){
		if(document.documentElement){
			var aTokens=document.documentElement.innerHTML.match(/<script[^>]+src="([^"]*zapatec(-core|-src)?.js[^"]*)"/i);
			if(aTokens&&aTokens.length>=2){
				aTokens=aTokens[1].split('?');
				aTokens=aTokens[0].split('/');
				if(Array.prototype.pop){
					aTokens.pop();
				}
				else{
					aTokens.length-=1;
				}
				
				return aTokens.length?aTokens.join('/')+'/':'';
			}
		}
		return'';
	}();
	
}
if(typeof Zapatec=='undefined'){Zapatec=function(){};}

Zapatec.Utils={};
Zapatec.Utils.getAbsolutePos=function(el,scrollOff){
	var SL=0,ST=0;
	if(!scrollOff){
		var is_div=/^div$/i.test(el.tagName);
		if(is_div&&el.scrollLeft)
			SL=el.scrollLeft;
		if(is_div&&el.scrollTop)
			ST=el.scrollTop;
	}
	var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};
	if(el.offsetParent){
		var tmp=this.getAbsolutePos(el.offsetParent);
		r.x+=tmp.x;
		r.y+=tmp.y;
	}
	return r;
};

Zapatec.Utils.getElementOffset=function(oEl){
	var iLeft=iTop=iWidth=iHeight=0;
	if(oEl.getBoundingClientRect){
		var oRect=oEl.getBoundingClientRect();
		iLeft=oRect.left;
		iTop=oRect.top;
		iWidth=oRect.right-iLeft;
		iHeight=oRect.bottom-iTop;
		iLeft+=Zapatec.Utils.getPageScrollX()-2;
		iTop+=Zapatec.Utils.getPageScrollY()-2;
	}
	else{
		iWidth=oEl.offsetWidth;
		iHeight=oEl.offsetHeight;
		var sPos=Zapatec.Utils.getStyleProperty(oEl,'position');
		if(sPos=='fixed'){
			iLeft=oEl.offsetLeft+Zapatec.Utils.getPageScrollX();
			iTop=oEl.offsetTop+Zapatec.Utils.getPageScrollY();
		}
		else 
			if(sPos=='absolute'){
				while(oEl){
					var sTag=oEl.tagName;
					if(sTag){
						sTag=sTag.toLowerCase();
						if(sTag!='body'&&sTag!='html'){
							iLeft+=parseInt(oEl.offsetLeft,10)||0;
							iTop+=parseInt(oEl.offsetTop,10)||0;
						}
					}
					oEl=oEl.offsetParent;
					var sTag=oEl?oEl.tagName:null;
					if(sTag){
						sTag=sTag.toLowerCase();
						if(sTag!='body'&&sTag!='html'){
							iLeft-=oEl.scrollLeft;
							iTop-=oEl.scrollTop;
						}
					}
				}
			}
			else{
				var oP=oEl;
				while(oP){
					iLeft+=parseInt(oP.offsetLeft,10)||0;
					iTop+=parseInt(oP.offsetTop,10)||0;
					oP=oP.offsetParent;
				}
				oP=oEl;
				while(oP.parentNode){
					oP=oP.parentNode;
					var sTag=oP.tagName;
					if(sTag){
						sTag=sTag.toLowerCase();
						if(sTag!='body'&&sTag!='html'&&sTag!='tr'){
							iLeft-=oP.scrollLeft;iTop-=oP.scrollTop;
						}
					}
				}
			}
	}
	return{left:iLeft,top:iTop,x:iLeft,y:iTop,width:iWidth,height:iHeight};
};

Zapatec.Utils.getElementOffsetScrollable=function(oEl){
	var oPos=Zapatec.Utils.getElementOffset(oEl);if(oEl.scrollLeft){oPos.left-=oEl.scrollLeft;oPos.x=oPos.left;}
if(oEl.scrollTop){oPos.top-=oEl.scrollTop;oPos.y=oPos.top;}
return oPos;};

Zapatec.Utils.fixBoxPosition=function(box,leave){
	var screenX=Zapatec.Utils.getPageScrollX();
	var screenY=Zapatec.Utils.getPageScrollY();
	var sizes=Zapatec.Utils.getWindowSize();
	leave=parseInt(leave,10)||0;
	if(box.x<screenX){box.x=screenX+leave;}
	if(box.y<screenY){box.y=screenY+leave;}
	if(box.x+box.width>screenX+sizes.width){box.x=screenX+sizes.width-box.width-leave;}
	if(box.y+box.height>screenY+sizes.height){box.y=screenY+sizes.height-box.height-leave;}};
	

Zapatec.Utils.isRelated=function(el,evt){evt||(evt=window.event);
	var related=evt.relatedTarget;
	if(!related){
		var type=evt.type;
		if(type=="mouseover"){
			related=evt.fromElement;
		}
		else 
			if(type=="mouseout"){
				related=evt.toElement;
			}
	}
	try{
		while(related){
			if(related==el){return true;}
			related=related.parentNode;
		}
	}
	catch(e){};
	return false;
};
	
Zapatec.Utils.removeClass=function(el,className){
	if(!(el&&el.className)){return;}
	var cls=el.className.split(" ");
	var ar=[];
	for(var i=cls.length;i>0;){
		if(cls[--i]!=className){ar[ar.length]=cls[i];}
	}
	el.className=ar.join(" ");
};

Zapatec.Utils.addClass=function(el,className){
	Zapatec.Utils.removeClass(el,className);
	el.className+=" "+className;
};

Zapatec.Utils.getElement=function(ev){
	if(Zapatec.is_ie){
		return window.event.srcElement;
	}
	else{
		return ev.currentTarget;
	}
};

Zapatec.Utils.getTargetElement=function(ev){
	if(Zapatec.is_ie){
		return window.event.srcElement;
	}
	else{
		return ev.target;
	}
};

Zapatec.Utils.getMousePos=function(oEv){
	oEv||(oEv=window.event);
	var oPos={pageX:0,pageY:0,clientX:0,clientY:0};
	if(oEv){
		var bIsPageX=(typeof oEv.pageX!='undefined');
		var bIsClientX=(typeof oEv.clientX!='undefined');
		if(bIsPageX||bIsClientX){
			if(bIsPageX){
				oPos.pageX=oEv.pageX;
				oPos.pageY=oEv.pageY;
			}
			else{
				oPos.pageX=oEv.clientX+Zapatec.Utils.getPageScrollX();
				oPos.pageY=oEv.clientY+Zapatec.Utils.getPageScrollY();
			}
			if(bIsClientX){
				oPos.clientX=oEv.clientX;oPos.clientY=oEv.clientY;
			}
			else{
				oPos.clientX=oEv.pageX-Zapatec.Utils.getPageScrollX();
				oPos.clientY=oEv.pageY-Zapatec.Utils.getPageScrollY();
			}
		}
	}
	return oPos;
};

Zapatec.Utils.stopEvent=function(ev){
	ev||(ev=window.event);
	if(ev){
		if(Zapatec.is_ie){
			ev.cancelBubble=true;
			ev.returnValue=false;
		}
		else{
			ev.preventDefault();ev.stopPropagation();
		}
	}
	return false;
};

Zapatec.Utils.removeOnUnload=[];
Zapatec.Utils.addEvent=function(oElement,sEvent,fListener,bUseCapture){
	if(oElement.addEventListener){
		if(!bUseCapture){
			bUseCapture=false;
		}
		oElement.addEventListener(sEvent,fListener,bUseCapture);
	}
	else
		if(oElement.attachEvent){
			oElement.detachEvent('on'+sEvent,fListener);
			oElement.attachEvent('on'+sEvent,fListener);
			if(bUseCapture){
				oElement.setCapture(false);
			}
		}
	Zapatec.Utils.removeOnUnload.push({'element':oElement,'event':sEvent,'listener':fListener,'capture':bUseCapture});
};

Zapatec.Utils.removeEvent=function(oElement,sEvent,fListener,bUseCapture){
	if(oElement.removeEventListener){
		oElement.removeEventListener(sEvent,fListener,bUseCapture);
	}
	else 
		if(oElement.detachEvent){
			oElement.detachEvent('on'+sEvent,fListener);
		}
	
	for(var iLis=Zapatec.Utils.removeOnUnload.length-1;iLis>=0;iLis--){
		var oParams=Zapatec.Utils.removeOnUnload[iLis];
		if(!oParams){continue;}
		if(oElement==oParams['element']&&sEvent==oParams['event']&&fListener==oParams['listener']&&bUseCapture==oParams['capture']){
			Zapatec.Utils.removeOnUnload[iLis]=null;
			Zapatec.Utils.removeEvent(oParams['element'],oParams['event'],oParams['listener'],oParams['capture']);
		}
	}
};

Zapatec.Utils.createElement=function(type,parent,selectable){
	var el=null;
	if(window.self.document.createElementNS)
		el=window.self.document.createElementNS("http://www.w3.org/1999/xhtml",type);
	else
		el=document.createElement(type);
	
	if(typeof parent!="undefined"&&parent!=null)
		parent.appendChild(el);
	if(!selectable){
		if(Zapatec.is_ie)
			el.setAttribute("unselectable",true);
		if(Zapatec.is_gecko)
			el.style.setProperty("-moz-user-select","none","");
	}
	
	return el;
};

Zapatec.Utils.writeCookie=function(name,value,domain,path,exp_days){
	value=escape(value);
	var ck=name+"="+value,exp;
	if(domain)
		ck+=";domain="+domain;
	if(path)
		ck+=";path="+path;
	if(exp_days){
		exp=new Date();
		exp.setTime(exp_days*86400000+exp.getTime());
		ck+=";expires="+exp.toGMTString();
	}
	document.cookie=ck;
};

Zapatec.Utils.getCookie=function(name){
	var pattern=name+"=";
	var tokenPos=0;
	while(tokenPos<document.cookie.length){
		var valuePos=tokenPos+pattern.length;
		if(document.cookie.substring(tokenPos,valuePos)==pattern){
			var endValuePos=document.cookie.indexOf(";",valuePos);
			if(endValuePos==-1){
				endValuePos=document.cookie.length;
			}
			return unescape(document.cookie.substring(valuePos,endValuePos));
		}
		tokenPos=document.cookie.indexOf(" ",tokenPos)+1;
		if(tokenPos==0){
			break;
		}
	}
	return null;
};

Zapatec.Utils.makePref=function(obj){
	function stringify(val){
		if(typeof val=="object"&&!val)
			return"null";
		else 
			if(typeof val=="number"||typeof val=="boolean")
				return val;
			else 
				if(typeof val=="string")
return'"'+val.replace(/\x22/,"\\22")+'"';else return null;};var txt="",i;for(i in obj)
txt+=(txt?",'":"'")+i+"':"+stringify(obj[i]);return txt;};Zapatec.Utils.loadPref=function(txt){var obj=null;try{eval("obj={"+txt+"}");}catch(e){}
return obj;};Zapatec.Utils.mergeObjects=function(dest,src){for(var i in src)
dest[i]=src[i];};

Zapatec.Utils.__wch_id=0;

Zapatec.Utils.createWCH=function(element){
	var f=null;
	element=element||document.body;
	
	if(Zapatec.is_ie&&!Zapatec.is_ie5){
		var filter='filter:progid:DXImageTransform.Microsoft.alpha(style=0,opacity=0);';
		var id="WCH"+(++Zapatec.Utils.__wch_id);
		
		//alert(id+'****'+Zapatec.Utils.__wch_id);
		element.insertAdjacentHTML('beforeEnd','<iframe id="'+id+'" name="'+id+'" scrolling="no" frameborder="0" '+'style="z-index:0;position:absolute;visibility:hidden;'+filter+'border:0;top:0;left:0;width:0;height:0" '+'src="javascript:false"></iframe>');
		f=document.getElementById(id);
		//alert(f.id+'=='+id);
	}
	return f;
};




Zapatec.Utils.setupWCH_el=function(f,el,el2){if(f){var pos=Zapatec.Utils.getAbsolutePos(el),X1=pos.x,Y1=pos.y,X2=X1+el.offsetWidth,Y2=Y1+el.offsetHeight;if(el2){var p2=Zapatec.Utils.getAbsolutePos(el2),XX1=p2.x,YY1=p2.y,XX2=XX1+el2.offsetWidth,YY2=YY1+el2.offsetHeight;if(X1>XX1)
X1=XX1;if(Y1>YY1)
Y1=YY1;if(X2<XX2)
X2=XX2;if(Y2<YY2)
Y2=YY2;}
Zapatec.Utils.setupWCH(f,X1,Y1,X2-X1,Y2-Y1);}};Zapatec.Utils.setupWCH=function(f,x,y,w,h){if(f){var s=f.style;(typeof x!="undefined")&&(s.left=x+"px");(typeof y!="undefined")&&(s.top=y+"px");(typeof w!="undefined")&&(s.width=w+"px");(typeof h!="undefined")&&(s.height=h+"px");s.visibility="inherit";}};Zapatec.Utils.hideWCH=function(f){if(f)
f.style.visibility="hidden";};Zapatec.Utils.getPageScrollY=function(){if(window.pageYOffset){return window.pageYOffset;}else if(document.body&&document.body.scrollTop){return document.body.scrollTop;}else if(document.documentElement&&document.documentElement.scrollTop){return document.documentElement.scrollTop;}
return 0;};Zapatec.Utils.getPageScrollX=function(){if(window.pageXOffset){return window.pageXOffset;}else if(document.body&&document.body.scrollLeft){return document.body.scrollLeft;}else if(document.documentElement&&document.documentElement.scrollLeft){return document.documentElement.scrollLeft;}
return 0;};Zapatec.ScrollWithWindow={};Zapatec.ScrollWithWindow.list=[];Zapatec.ScrollWithWindow.stickiness=0.25;Zapatec.ScrollWithWindow.register=function(oElement){var iTop=oElement.offsetTop||0;var iLeft=oElement.offsetLeft||0;Zapatec.ScrollWithWindow.list.push({node:oElement,origTop:iTop,origLeft:iLeft});if(!Zapatec.ScrollWithWindow.interval){Zapatec.ScrollWithWindow.on();}};Zapatec.ScrollWithWindow.unregister=function(oElement){for(var iItem=0;iItem<Zapatec.ScrollWithWindow.list.length;iItem++){var oItem=Zapatec.ScrollWithWindow.list[iItem];if(oElement==oItem.node){Zapatec.ScrollWithWindow.list.splice(iItem,1);if(!Zapatec.ScrollWithWindow.list.length){Zapatec.ScrollWithWindow.off();}
return;}}};

Zapatec.ScrollWithWindow.moveTop=function(iTop){Zapatec.ScrollWithWindow.top+=(iTop-Zapatec.ScrollWithWindow.top)*Zapatec.ScrollWithWindow.stickiness;if(Math.abs(Zapatec.ScrollWithWindow.top-iTop)<=1){Zapatec.ScrollWithWindow.top=iTop;}
for(var iItem=0;iItem<Zapatec.ScrollWithWindow.list.length;iItem++){var oItem=Zapatec.ScrollWithWindow.list[iItem];var oElement=oItem.node;oElement.style.position='absolute';if(!oItem.origTop&&oItem.origTop!==0){oItem.origTop=parseInt(oElement.style.top)||0;}
oElement.style.top=oItem.origTop+
parseInt(Zapatec.ScrollWithWindow.top)+'px';}};Zapatec.ScrollWithWindow.moveLeft=function(iLeft){Zapatec.ScrollWithWindow.left+=(iLeft-Zapatec.ScrollWithWindow.left)*Zapatec.ScrollWithWindow.stickiness;if(Math.abs(Zapatec.ScrollWithWindow.left-iLeft)<=1){Zapatec.ScrollWithWindow.left=iLeft;}
for(var iItem=0;iItem<Zapatec.ScrollWithWindow.list.length;iItem++){var oItem=Zapatec.ScrollWithWindow.list[iItem];var oElement=oItem.node;oElement.style.position='absolute';if(!oItem.origLeft&&oItem.origLeft!==0){oItem.origLeft=parseInt(oElement.style.left)||0;}
oElement.style.left=oItem.origLeft+
parseInt(Zapatec.ScrollWithWindow.left)+'px';}};Zapatec.ScrollWithWindow.cycle=function(){var iTop=Zapatec.Utils.getPageScrollY();var iLeft=Zapatec.Utils.getPageScrollX();if(iTop!=Zapatec.ScrollWithWindow.top){Zapatec.ScrollWithWindow.moveTop(iTop);}
if(iLeft!=Zapatec.ScrollWithWindow.left){Zapatec.ScrollWithWindow.moveLeft(iLeft);}};Zapatec.ScrollWithWindow.on=function(){if(Zapatec.ScrollWithWindow.interval){return;}
Zapatec.ScrollWithWindow.top=Zapatec.Utils.getPageScrollY();Zapatec.ScrollWithWindow.left=Zapatec.Utils.getPageScrollX();Zapatec.ScrollWithWindow.interval=setInterval(Zapatec.ScrollWithWindow.cycle,50);};Zapatec.ScrollWithWindow.off=function(){if(!Zapatec.ScrollWithWindow.interval){return;}
clearInterval(Zapatec.ScrollWithWindow.interval);Zapatec.ScrollWithWindow.interval=null;};Zapatec.FixateOnScreen={};Zapatec.FixateOnScreen.getExpression=function(coord,direction){return"Zapatec.Utils.getPageScroll"+direction.toUpperCase()+"() + "+coord;};Zapatec.FixateOnScreen.parseCoordinates=function(element){if(!this.isRegistered(element)){return false;}
var x=0;var y=0;var style=element.style;if(Zapatec.is_ie&&!Zapatec.is_ie7){x=style.getExpression("left").split(" ");x=parseInt(x[x.length-1],10);y=style.getExpression("top").split(" ");y=parseInt(y[y.length-1],10);}else{x=parseInt(style.left,10);y=parseInt(style.top,10);}
x+=Zapatec.Utils.getPageScrollX();y+=Zapatec.Utils.getPageScrollY();return{x:x,y:y};};Zapatec.FixateOnScreen.correctCoordinates=function(x,y){position={x:x,y:y};if(position.x||position.x===0){position.x-=Zapatec.Utils.getPageScrollX();if(Zapatec.is_ie&&!Zapatec.is_ie7){position.x=this.getExpression(position.x,"X");;}else{position.x+="px";}}
if(position.y||position.y===0){position.y-=Zapatec.Utils.getPageScrollY();if(Zapatec.is_ie&&!Zapatec.is_ie7){position.y=this.getExpression(position.y,"Y");;}else{position.y+="px";}}
return position;};Zapatec.FixateOnScreen.register=function(element){if(!Zapatec.isHtmlElement(element)){return false;}
if(this.isRegistered(element)){return true;}
var pos=Zapatec.Utils.getElementOffset(element);pos={x:parseInt(element.style.left,10)||pos.x,y:parseInt(element.style.top,10)||pos.y}
pos=this.correctCoordinates(pos.x,pos.y);if(!Zapatec.is_ie||Zapatec.is_ie7){var restorer=element.restorer;if(!restorer||!restorer.getObject||restorer.getObject()!=element){restorer=element.restorer=new Zapatec.SRProp(element);}
restorer.saveProp("style.position");element.style.position="fixed";element.style.left=pos.x;element.style.top=pos.y;}else{element.style.setExpression("left",pos.x);element.style.setExpression("top",pos.y);}
element.zpFixed=true;return true;};Zapatec.FixateOnScreen.unregister=function(element){if(!Zapatec.isHtmlElement(element)){return false;}
var pos=this.parseCoordinates(element);if(pos===false){return true;}
if(Zapatec.is_ie&&!Zapatec.is_ie7){element.style.removeExpression("left");element.style.removeExpression("top");}
element.style.left=pos.x+"px";element.style.top=pos.y+"px";if(!Zapatec.is_ie||Zapatec.is_ie7){element.restorer.restoreProp("style.position",true);}
element.zpFixed=false;return true;};Zapatec.FixateOnScreen.isRegistered=function(element){if(element.zpFixed){return true;}
return false;};Zapatec.Utils.destroy=function(el){if(el&&el.parentNode)
el.parentNode.removeChild(el);};Zapatec.Utils.newCenteredWindow=function(url,windowName,width,height,scrollbars){var leftPosition=0;var topPosition=0;if(screen.width)
leftPosition=(screen.width-width)/2;if(screen.height)
topPosition=(screen.height-height)/2;var winArgs='height='+height+',width='+width+',top='+topPosition+',left='+leftPosition+',scrollbars='+scrollbars+',resizable';var win=window.open(url,windowName,winArgs);return win;};Zapatec.Utils.getWindowSize=function(){var iWidth=0;var iHeight=0;if(Zapatec.is_opera){iWidth=document.body.clientWidth||0;iHeight=document.body.clientHeight||0;}else if(Zapatec.is_khtml){iWidth=window.innerWidth||0;iHeight=window.innerHeight||0;}else if(document.compatMode&&document.compatMode=='CSS1Compat'){iWidth=document.documentElement.clientWidth||0;iHeight=document.documentElement.clientHeight||0;}else{iWidth=document.body.clientWidth||0;iHeight=document.body.clientHeight||0;}
return{width:iWidth,height:iHeight};};Zapatec.Utils.selectOption=function(sel,val,call_default){var a=sel.options,i,o;for(i=a.length;--i>=0;){o=a[i];o.selected=(o.value==val);}
sel.value=val;if(call_default){if(typeof sel.onchange=="function")
sel.onchange();else if(typeof sel.onchange=="string")
eval(sel.onchange);}};Zapatec.Utils.getNextSibling=function(el,tag,alternateTag){el=el.nextSibling;if(!tag){return el;}
tag=tag.toLowerCase();if(alternateTag)alternateTag=alternateTag.toLowerCase();while(el){if(el.nodeType==1&&(el.tagName.toLowerCase()==tag||(alternateTag&&el.tagName.toLowerCase()==alternateTag))){return el;}
el=el.nextSibling;}
return el;};Zapatec.Utils.getPreviousSibling=function(el,tag,alternateTag){el=el.previousSibling;if(!tag){return el;}
tag=tag.toLowerCase();if(alternateTag)alternateTag=alternateTag.toLowerCase();while(el){if(el.nodeType==1&&(el.tagName.toLowerCase()==tag||(alternateTag&&el.tagName.toLowerCase()==alternateTag))){return el;}
el=el.previousSibling;}
return el;};Zapatec.Utils.getFirstChild=function(el,tag,alternateTag){if(!el){return null;}
el=el.firstChild;if(!el){return null;}
if(!tag){return el;}
tag=tag.toLowerCase();if(el.nodeType==1){if(el.tagName.toLowerCase()==tag){return el;}else if(alternateTag){alternateTag=alternateTag.toLowerCase();if(el.tagName.toLowerCase()==alternateTag){return el;}}}
return Zapatec.Utils.getNextSibling(el,tag,alternateTag);};Zapatec.Utils.getLastChild=function(el,tag,alternateTag){if(!el){return null;}
el=el.lastChild;if(!el){return null;}
if(!tag){return el;}
tag=tag.toLowerCase();if(el.nodeType==1){if(el.tagName.toLowerCase()==tag){return el;}else if(alternateTag){alternateTag=alternateTag.toLowerCase();if(el.tagName.toLowerCase()==alternateTag){return el;}}}
return Zapatec.Utils.getPreviousSibling(el,tag,alternateTag);};Zapatec.Utils.getChildText=function(objNode){if(objNode==null){return'';}
var arrText=[];var objChild=objNode.firstChild;while(objChild!=null){if(objChild.nodeType==3){arrText.push(objChild.data);}
objChild=objChild.nextSibling;}
return arrText.join(' ');};Zapatec.Utils.insertAfter=function(oldNode,newNode){if(oldNode.nextSibling){oldNode.parentNode.insertBefore(newNode,oldNode.nextSibling);}else{oldNode.parentNode.appendChild(newNode);}}
Zapatec.Utils._ids={};Zapatec.Utils.generateID=function(code,id){if(typeof id=="undefined"){if(typeof this._ids[code]=="undefined")
this._ids[code]=0;id=++this._ids[code];}
return"zapatec-"+code+"-"+id;};

Zapatec.Utils.addTooltip=function(target,tooltip){
	return new Zapatec.Tooltip({target:target,tooltip:tooltip});
};

Zapatec.isLite=true;
Zapatec.Utils.checkLinks=function(){
	var anchors=document.getElementsByTagName('A');
	for(var ii=0;ii<anchors.length;ii++){
		if(Zapatec.Utils.checkLink(anchors[ii])){
			return true;
		}
	}
	return false;
}

Zapatec.Utils.checkLink=function(lnk){
	if(!lnk){
		return false;
	}
	/*if(!/^https?:\/\/((dev|www)\.)?zapatec\.com/i.test(lnk.href)){
		return false;
	}*/
	var textContent=""
	for(var ii=0;ii<lnk.childNodes.length;ii++){
		if(lnk.childNodes[ii].nodeType==3){
			textContent+=lnk.childNodes[ii].nodeValue;
		}
	}
	
	if(textContent.length<4){
		return false;
	}
	var parent=lnk;
	while(parent&&parent.nodeName.toLowerCase()!="html"){
		if(Zapatec.Utils.getStyleProperty(parent,"display")=="none"||Zapatec.Utils.getStyleProperty(parent,"visibility")=="hidden"||Zapatec.Utils.getStyleProperty(parent,"opacity")=="0"||Zapatec.Utils.getStyleProperty(parent,"-moz-opacity")=="0"||/alpha\(opacity=0\)/i.test(Zapatec.Utils.getStyleProperty(parent,"filter"))){
			return false;
		}
		parent=parent.parentNode;
	}
	var coords=Zapatec.Utils.getElementOffset(lnk);
	if(coords.left<0||coords.top<0){
		return false;
	}
	return true;
}

Zapatec.Utils.checkActivation=function(){if(!Zapatec.isLite)return true;var arrProducts=[]
add_product=function(script,webdir_in,name_in)
{arrProducts[script]={webdir:webdir_in,name:name_in,bActive:false}}
/*add_product('calendar.js','prod1','Calendar')
add_product('zpmenu.js','menu','Menu')
add_product('tree.js','prod3','Tree')
add_product('form.js','forms','Forms')
add_product('effects.js','effects','Effects')
add_product('hoverer.js','effects','Effects - Hoverer')
add_product('slideshow.js','effects','Effects - Slideshow')
add_product('zpgrid.js','grid','Grid')
add_product('slider.js','slider','Slider')
add_product('zptabs.js','tabs','Tabs')
add_product('zptime.js','time','Time')
add_product('window.js','windows','Window')*/
var strName,arrName,i
var bProduct=false
var scripts=document.getElementsByTagName('script');
for(i=0;i<scripts.length;i++)
{
	if(/wizard.js/i.test(scripts[i].src))
return true
arrName=scripts[i].src.split('/')
if(arrName.length==0)
strName=scripts[i]
else
strName=arrName[arrName.length-1]
strName=strName.toLowerCase()
if(typeof arrProducts[strName]!='undefined')
{bProduct=true
arrProducts[strName].bActive=true}}
if(!bProduct||Zapatec.Utils.checkLinks()){return true;}
var strMsg=''
for(i in arrProducts)
if(arrProducts[i].bActive==true)
strMsg+='\nTo  '+arrProducts[i].name+' '+arrProducts[i].webdir+'/'
//alert(strMsg)
return false;
}

Zapatec.Utils.clone=function(oSource){
	var oClone;
	if(!oSource&&typeof oSource=='object'){
		return null;
	}
	else 
		if(typeof oSource=='undefined'){
			return oClone;
		}
		
	if((oSource instanceof String)||(oSource instanceof Number)||(oSource instanceof Boolean)){
		oClone=new oSource.constructor(oSource.valueOf());
	}
	else{
		oClone=new oSource.constructor();
	}
	
	for(var sProperty in oSource){
		if(typeof oSource[sProperty]=='object'){
			oClone[sProperty]=Zapatec.Utils.clone(oSource[sProperty],true);
		}
		else{
			oClone[sProperty]=oSource[sProperty];
		}
	}
	return oClone;
};

Zapatec.is_opera=/opera/i.test(navigator.userAgent);
Zapatec.is_ie=(/msie/i.test(navigator.userAgent)&&!Zapatec.is_opera);
Zapatec.is_ie5=(Zapatec.is_ie&&/msie 5\.0/i.test(navigator.userAgent));
Zapatec.is_ie7=(Zapatec.is_ie&&/msie 7\.0/i.test(navigator.userAgent));
Zapatec.is_mac_ie=(/msie.*mac/i.test(navigator.userAgent)&&!Zapatec.is_opera);
Zapatec.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);
Zapatec.is_konqueror=/Konqueror/i.test(navigator.userAgent);
Zapatec.is_gecko=/Gecko/i.test(navigator.userAgent);
Zapatec.is_webkit=/WebKit/i.test(navigator.userAgent);
Zapatec.webkitVersion=Zapatec.is_webkit?parseInt(navigator.userAgent.replace(/.+WebKit\/([0-9]+)\..+/,"$1")):-1;

if(!Object.prototype.hasOwnProperty){
	Object.prototype.hasOwnProperty=function(strProperty){
		try{var objPrototype=this.constructor.prototype;
				while(objPrototype){
					if(objPrototype[strProperty]==this[strProperty]){
						return false;
					}
					objPrototype=objPrototype.prototype;
				}
		}
		catch(objException){}
		return true;
	};
}

if(!Function.prototype.call){
	Function.prototype.call=function(){
		var objThis=arguments[0];
		objThis._this_func=this;
		var arrArgs=[];
		for(var iArg=1;iArg<arguments.length;iArg++){
			arrArgs[arrArgs.length]='arguments['+iArg+']';
		}
		var ret=eval('objThis._this_func('+arrArgs.join(',')+')');
		objThis._this_func=null;return ret;
	};
}

if(!Function.prototype.apply){Function.prototype.apply=function(){var objThis=arguments[0];var objArgs=arguments[1];objThis._this_func=this;var arrArgs=[];if(objArgs){for(var iArg=0;iArg<objArgs.length;iArg++){arrArgs[arrArgs.length]='objArgs['+iArg+']';}}
var ret=eval('objThis._this_func('+arrArgs.join(',')+')');objThis._this_func=null;return ret;};}
if(!Array.prototype.pop){Array.prototype.pop=function(){var last;if(this.length){last=this[this.length-1];this.length-=1;}
return last;};}
if(!Array.prototype.push){Array.prototype.push=function(){for(var i=0;i<arguments.length;i++){this[this.length]=arguments[i];}
return this.length;};}
if(!Array.prototype.shift){Array.prototype.shift=function(){var first;if(this.length){first=this[0];for(var i=0;i<this.length-1;i++){this[i]=this[i+1];}
this.length-=1;}
return first;};}
if(!Array.prototype.unshift){Array.prototype.unshift=function(){if(arguments.length){var i,len=arguments.length;for(i=this.length+len-1;i>=len;i--){this[i]=this[i-len];}
for(i=0;i<len;i++){this[i]=arguments[i];}}
return this.length;};}
if(!Array.prototype.splice){Array.prototype.splice=function(index,howMany){var elements=[],removed=[],i;for(i=2;i<arguments.length;i++){elements.push(arguments[i]);}
for(i=index;(i<index+howMany)&&(i<this.length);i++){removed.push(this[i]);}
for(i=index+howMany;i<this.length;i++){this[i-howMany]=this[i];}
this.length-=removed.length;for(i=this.length+elements.length-1;i>=index+elements.length;i--){this[i]=this[i-elements.length];}
for(i=0;i<elements.length;i++){this[index+i]=elements[i];}
return removed;};}
Zapatec.Utils.arrIndexOf=function(arr,searchElement,fromIndex){if(Array.prototype.indexOf){return arr.indexOf(searchElement,fromIndex);}
if(!fromIndex){fromIndex=0;}
for(var iElement=fromIndex;iElement<arr.length;iElement++){if(arr[iElement]==searchElement){return iElement;}}
return-1;};Zapatec.Log=function(objArgs){if(!objArgs){return;}
var strMessage=objArgs.description;if(objArgs.severity){strMessage=objArgs.severity+':\n'+strMessage;}
if(objArgs.type!="warning"){
	//alert(strMessage);
	}};
	Zapatec.Utils.Array={};
	Zapatec.Utils.Array.insertBefore=function(arr,el,key,nextKey){
		
		var tmp=new Array();
		for(var i in arr)
		{
			if(i==nextKey)
			{
				if(key)
				{
					tmp[key]=el;}else{tmp.push(el);
				}
			}
			tmp[i]=arr[i];
		}
		return tmp;
	}
Zapatec.inherit=function(oSubClass,oSuperClass,oArg){
	var Inheritance=function(){};
	Inheritance.prototype=oSuperClass.prototype;
	oSubClass.prototype=new Inheritance();
	oSubClass.prototype.constructor=oSubClass;
	oSubClass.SUPERconstructor=oSuperClass;	
	oSubClass.SUPERclass=oSuperClass.prototype;
	if(typeof oSuperClass.path!='undefined'){
		if(oArg&&oArg.keepPath){
			oSubClass.path=oSuperClass.path;
		}
		else{
			oSubClass.path=Zapatec.getPath(oSubClass.id);
		}
	}
};

Zapatec.getPath=function(sId){
	var sSrc;
	if(typeof sId=='string'){
		var oScript=document.getElementById(sId);
		if(oScript){
			sSrc=oScript.getAttribute('src');
		}
	}
	if(!sSrc){
		if(typeof Zapatec.lastLoadedModule=='string'){
			return Zapatec.lastLoadedModule;
		}
		if(document.documentElement){
			var sHtml=document.documentElement.innerHTML;
			var aMatch=sHtml.match(/<script[^>]+src=[^>]+>/gi);
			if(aMatch&&aMatch.length){
				sHtml=aMatch[aMatch.length-1];
				aMatch=sHtml.match(/src="([^"]+)/i);
				if(aMatch&&aMatch.length==2){
					sSrc=aMatch[1];
				}
			}
		}
		if(!sSrc){
			return'';
		}
	}
	sSrc=sSrc.replace(/\\/g,'/');
	var aTokens=sSrc.split('?');
	aTokens=aTokens[0].split('/');
	aTokens=aTokens.slice(0,-1);
	if(!aTokens.length){
		return'';
	}
	return aTokens.join('/')+'/';
};

Zapatec.Utils.setWindowEvent=function(oEvent){
	if(oEvent){
		window.event=oEvent;
	}
};

Zapatec.Utils.emulateWindowEvent=function(aEventNames){
	if(document.addEventListener){
		for(var iEvent=0;iEvent<aEventNames.length;iEvent++){
			document.addEventListener(aEventNames[iEvent],Zapatec.Utils.setWindowEvent,true);
		}
	}
};

Zapatec.windowLoaded=typeof(document.readyState)!='undefined'?(document.readyState=='loaded'||document.readyState=='complete'):document.getElementsByTagName!=null&&typeof(document.getElementsByTagName('body')[0])!='undefined';

Zapatec.Utils.addEvent(window,"load",function(){Zapatec.windowLoaded=true;});
Zapatec.Utils.warnUnload=function(msg,win){Zapatec.Utils.warnUnloadFlag=true;if(typeof(msg)!="string"){msg="All your changes will be lost.";}
if(typeof(win)=='undefined'){win=window;}
Zapatec.Utils.addEvent(win,'beforeunload',function(ev){if(Zapatec.Utils.warnUnloadFlag!=true){return true;}
if(typeof(ev)=='undefined'){ev=window.event;}
ev.returnValue=msg;return false;});}
Zapatec.Utils.unwarnUnload=function(msg,win){Zapatec.Utils.warnUnloadFlag=false;}
Zapatec.Utils.warnUnloadFlag=false;Zapatec.Utils.getMaxZindex=function(){if(window.opera||Zapatec.is_khtml){return 2147483583;}else if(Zapatec.is_ie){return 2147483647;}else{return 10737418239;}};Zapatec.Utils.correctCssLength=function(val){if(typeof val=='undefined'||(typeof val=='object'&&!val)){return'auto';}
val+='';if(!val.length){return'auto';}
if(/\d$/.test(val)){val+='px';}
return val;};

Zapatec.Utils.destroyOnUnload=[];
Zapatec.Utils.addDestroyOnUnload=function(objElement,strProperty){
	Zapatec.Utils.destroyOnUnload.push([objElement,strProperty]);
	};
	
	Zapatec.Utils.createProperty=function(objElement,strProperty,val){
		objElement[strProperty]=val;
		Zapatec.Utils.addDestroyOnUnload(objElement,strProperty);
	};
	Zapatec.Utils.addEvent(window,'unload',function(){
		for(var iObj=Zapatec.Utils.destroyOnUnload.length-1;iObj>=0;iObj--)
		{
			var objDestroy=Zapatec.Utils.destroyOnUnload[iObj];
			objDestroy[0][objDestroy[1]]=null;
			objDestroy[0]=null;
		}
		for(var iLis=Zapatec.Utils.removeOnUnload.length-1;iLis>=0;iLis--)
		{
			var oParams=Zapatec.Utils.removeOnUnload[iLis];
			if(!oParams){continue;}
			Zapatec.Utils.removeOnUnload[iLis]=null;
			Zapatec.Utils.removeEvent(oParams['element'],oParams['event'],oParams['listener'],oParams['capture']);
		}
		});Zapatec.Utils.htmlEncode=function(str){str=str.replace(/&/ig,"&amp;");str=str.replace(/</ig,"&lt;");str=str.replace(/>/ig,"&gt;");str=str.replace(/\x22/ig,"&quot;");return str;};Zapatec.Utils.applyStyle=function(elRef,style){if(typeof(elRef)=='string'){elRef=document.getElementById(elRef);}
if(elRef==null||style==null||elRef.style==null){return null;}
if(Zapatec.is_opera){var pairs=style.split(";");for(var ii=0;ii<pairs.length;ii++){var kv=pairs[ii].split(":");if(!kv[1]){continue;}
var value=kv[1].replace(/^\s*/,'').replace(/\s*$/,'');var key="";for(var jj=0;jj<kv[0].length;jj++){if(kv[0].charAt(jj)=="-"){jj++;if(jj<kv[0].length){key+=kv[0].charAt(jj).toUpperCase();}
continue;}
key+=kv[0].charAt(jj);}
switch(key){case"float":key="cssFloat";break;}
try{elRef.style[key]=value;}catch(e){}}}else{elRef.style.cssText=style;}
return true;}
Zapatec.Utils.getStyleProperty=function(objElement,strProperty){if(document.defaultView&&document.defaultView.getComputedStyle){strProperty=strProperty.replace(/([A-Z])/g,'-$1').toLowerCase();var computedStyle=document.defaultView.getComputedStyle(objElement,'');if(computedStyle){return computedStyle.getPropertyValue(strProperty);}}else if(objElement.currentStyle){return objElement.currentStyle[strProperty];}
return objElement.style[strProperty];};Zapatec.Utils.getPrecision=function(dFloat){return(dFloat+'').replace(/^\d*\.*/,'').length;};Zapatec.Utils.setPrecision=function(dFloat,iPrecision){dFloat*=1;if(dFloat.toFixed){return(dFloat*1).toFixed(iPrecision)*1;}
var iPow=Math.pow(10,iPrecision);return parseInt(dFloat*iPow,10)/iPow;};Zapatec.Utils.setPrecisionString=function(dFloat,iPrecision){var sFloat=Zapatec.Utils.setPrecision(dFloat,iPrecision)+'';var iZeros=iPrecision-Zapatec.Utils.getPrecision(sFloat);for(var iZero=0;iZero<iZeros;iZero++){sFloat+='0';}
return sFloat;};Zapatec.Utils.createNestedHash=function(parent,keys,value){if(parent==null||keys==null){return null;}
var tmp=parent;for(var ii=0;ii<keys.length;ii++){if(typeof(tmp[keys[ii]])=='undefined'){tmp[keys[ii]]={};}
if(ii==keys.length-1&&typeof(value)!='undefined'){tmp[keys[ii]]=value;}
tmp=tmp[keys[ii]];}}
Zapatec.implement=function(classOrObject,interfaceStr){if(typeof interfaceStr!="string"){return false;}
if(typeof classOrObject=="function"){classOrObject=classOrObject.prototype;}
if(!classOrObject||typeof classOrObject!="object"){return false;}
var interfaceObj=window;var objs=interfaceStr.split(".");try{for(var i=0;i<objs.length;++i){interfaceObj=interfaceObj[objs[i]];}}catch(e){return false;}
if(typeof classOrObject.interfaces!="object"){classOrObject.interfaces={};classOrObject.interfaces[interfaceStr]=true;}else if(classOrObject.interfaces[interfaceStr]!==true){classOrObject.interfaces=Zapatec.Utils.clone(classOrObject.interfaces);classOrObject.interfaces[interfaceStr]=true;}else{return true;}
for(var iProp in interfaceObj){classOrObject[iProp]=interfaceObj[iProp];}
classOrObject.hasInterface=function(interfaceStr){if(this.interfaces[interfaceStr]===true){return true;}
return false;}
return true;};Zapatec.Utils.getCharFromEvent=function(evt){if(!evt){evt=window.event;}
var response={};if(Zapatec.is_gecko&&!Zapatec.is_khtml&&evt.type!="keydown"&&evt.type!="keyup"){if(evt.charCode){response.chr=String.fromCharCode(evt.charCode);}else{response.charCode=evt.keyCode;}}else{response.charCode=evt.keyCode||evt.which;response.chr=String.fromCharCode(response.charCode);}
if(Zapatec.is_opera&&response.charCode==0){response.charCode=null;response.chr=null;}
if(Zapatec.is_khtml&&response.charCode==63272){response.charCode=46;response.chr=null;}
return response;}
if(typeof Zapatec=='undefined'){Zapatec=function(){};}

Zapatec.Transport=function(){};
if(typeof ActiveXObject!='undefined'){
	Zapatec.Transport.XMLDOM=null;
	Zapatec.Transport.XMLHTTP=null;
	Zapatec.Transport.pickActiveXVersion=function(aVersions){
		for(var iVn=0;iVn<aVersions.length;iVn++){
			try{
				var oDoc=new ActiveXObject(aVersions[iVn]);
				if(oDoc){
					return aVersions[iVn];
				}
			}
			catch(oExpn){};
		}
		return null;
	};
	
	Zapatec.Transport.XMLDOM=Zapatec.Transport.pickActiveXVersion(['Msxml2.DOMDocument.4.0','Msxml2.DOMDocument.3.0','MSXML2.DOMDocument','MSXML.DOMDocument','Microsoft.XMLDOM']);
	
	Zapatec.Transport.XMLHTTP=Zapatec.Transport.pickActiveXVersion(['Msxml2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP']);Zapatec.Transport.pickActiveXVersion=null;}
Zapatec.Transport.createXmlHttpRequest=function(){
	if(typeof ActiveXObject!='undefined'){
		try{
			return new ActiveXObject(Zapatec.Transport.XMLHTTP);
		}
		catch(oExpn){};
	}
	
	if(typeof XMLHttpRequest!='undefined'){
		return new XMLHttpRequest();
	}
	return null;
};

Zapatec.Transport.isBusy=function(oArg){
	var oContr=oArg.busyContainer;
	if(typeof oContr=='string'){
		oContr=document.getElementById(oContr);
	}
	if(!oContr){
		return;
	}
var sImage=oArg.busyImage;
	if(typeof sImage!='string')
	{
		sImage='';
	}
	sImage=sImage.split('/').pop();
	if(!sImage.length)
	{
		sImage='zpbusy.gif';
	}
	var oFC=oContr.firstChild;
	if(oFC)
	{
		oFC=oFC.firstChild;
		if(oFC)
		{
			oFC=oFC.firstChild;
			if(oFC&&oFC.tagName&&oFC.tagName.toLowerCase()=='img')
			{
				var sSrc=oFC.getAttribute('src');
				if(typeof sSrc=='string'&&sSrc.length)
				{
					sSrc=sSrc.split('/').pop();
					if(sSrc==sImage)
					{
						return true;
					}
				}
			}
		}
	}
	return false;
};

Zapatec.Transport.showBusy=function(oArg){
	
	if(Zapatec.Transport.isBusy(oArg))
	{
		return;
	}
	
	var oContr=oArg.busyContainer;
	//alert(oContr);
	if(typeof oContr=='string')
	{
		oContr=document.getElementById(oContr);
	}
	if(!oContr)
	{
		return;
	}
	
	var sImage=oArg.busyImage;
	var sImageWidth=oArg.busyImageWidth;
	var sImageHeight=oArg.busyImageHeight;
	if(typeof sImage!='string'||!sImage.length)
	{
		sImage='zpbusy.gif';
	}
	else
	{
		if(typeof sImageWidth=='number'||(typeof sImageWidth=='string'&&/\d$/.test(sImageWidth)))
		{
			sImageWidth+='px';
		}
		if(typeof sImageHeight=='number'||(typeof sImageHeight=='string'&&/\d$/.test(sImageHeight)))
		{
			sImageHeight+='px';
		}
	}
	if(!sImageWidth){sImageWidth='50px';}
	if(!sImageHeight){sImageHeight='50px';}
	var sPath='';
	if(sImage.indexOf('/')<0)
	{
		if(Zapatec.zapatecPath)
		{
			sPath=Zapatec.zapatecPath;
		}
		else
		{
			sPath=Zapatec.Transport.getPath('transport.js');
		}
	}
	var aImg=[];aImg.push('<img src="');
	aImg.push(sPath);
	aImg.push(sImage);
	aImg.push('"');
	if(sImageWidth||sImageHeight)
	{
		aImg.push(' style="');
		if(sImageWidth)
		{
			aImg.push('width:');
			aImg.push(sImageWidth);
			aImg.push(';');
		}
		if(sImageHeight)
		{
			aImg.push('height:');
			aImg.push(sImageHeight);
		}
		aImg.push('"');
	}
	aImg.push(' />');
	var iContainerWidth=oContr.offsetWidth;
	var iContainerHeight=oContr.offsetHeight;
	var oBusyContr=Zapatec.Utils.createElement('div');
	oBusyContr.style.position='relative';
	oBusyContr.style.zIndex=2147483583;
	var oBusy=Zapatec.Utils.createElement('div',oBusyContr);
	oBusy.style.position='absolute';
	oBusy.innerHTML=aImg.join('');
	if(oContr.firstChild)
	{
		oContr.insertBefore(oBusyContr,oContr.firstChild);
	}
	else
	{
		oContr.appendChild(oBusyContr);
	}
	var iBusyWidth=oBusy.offsetWidth;
	var iBusyHeight=oBusy.offsetHeight;
	if(iContainerWidth>iBusyWidth)
	{
		oBusy.style.left=oContr.scrollLeft+(iContainerWidth-iBusyWidth)/2+'px';
	}
	if(iContainerHeight>iBusyHeight)
	{
		oBusy.style.top=oContr.scrollTop+(iContainerHeight-iBusyHeight)/2+'px';
	}
	
};

Zapatec.Transport.removeBusy=function(oArg){
	var oContr=oArg.busyContainer;
	if(typeof oContr=='string')
	{
		oContr=document.getElementById(oContr);
	}
	if(!oContr)
	{
		return;
	}
	if(Zapatec.Transport.isBusy(oArg))
	{
		oContr.removeChild(oContr.firstChild);
	}
};

Zapatec.Transport.fetch=function(oArg){
	
	if(oArg==null||typeof oArg!='object')
	{
		return null;
	}
	if(!oArg.url)
	{
		return null;
	}else{
		  strAS2=oArg.url.split('?');
		  if(!strAS2[1])
			 oArg.url=oArg.url+'?isajax=true';
		  else	
		  	 oArg.url=oArg.url+'&isajax=true';
	}
	 //alert(oArg.url);
	if(!oArg.method)
	{
		oArg.method='GET';
	}
	if(typeof oArg.async=='undefined')
	{
		oArg.async=true;
	}

	if(!oArg.contentType&&oArg.method.toUpperCase()=='POST')
	{
		oArg.contentType='application/x-www-form-urlencoded';
	}
	if(!oArg.content)
	{
		oArg.content=null;
	}
	if(!oArg.onLoad)
	{
		oArg.onLoad=null;
	}
	if(!oArg.onError)
	{
		oArg.onError=null;
	}
	var oRequest=Zapatec.Transport.createXmlHttpRequest();
	if(oRequest==null)
	{
		return null;
	}
	Zapatec.Transport.showBusy(oArg);
	var bErrorDisplayed=false;
	var funcOnReady=function(){
		Zapatec.Transport.removeBusy(oArg);
		try{
				if(oRequest.status==200||oRequest.status==304||(location.protocol=='file:'&&!oRequest.status))
				{
					if(typeof oArg.onLoad=='function')
					{
						//alert( 'FINISH'+oArg.url+'***'+oArg.onLoad);
						oArg.onLoad(oRequest);
					}
				}
				else 
					if(!bErrorDisplayed)
					{
						bErrorDisplayed=true;
						Zapatec.Transport.displayError(oRequest.status,"Error: Can't fetch "+oArg.url+'.\n'+
(oRequest.statusText||''),oArg.onError);
					}
			}
			catch(oExpn)
			{
				if(!bErrorDisplayed)
				{
					bErrorDisplayed=true;
					if(oExpn.name&&oExpn.name=='NS_ERROR_NOT_AVAILABLE')
					{
						Zapatec.Transport.displayError(0,"Error: Can't fetch "+oArg.url+'.\nFile not found.',oArg.onError);
					}
					else
					{
						Zapatec.Transport.displayError(0,"Error: Can't fetch "+oArg.url+'.\n'+
(oExpn.message||''),oArg.onError);
					}
				}
			};
	};
	
	try{
			if(typeof oArg.username!='undefined'&&typeof oArg.password!='undefined')
			{
				oRequest.open(oArg.method,oArg.url,oArg.async,oArg.username,oArg.password);
			}
			else
			{
				oRequest.open(oArg.method,oArg.url,oArg.async);
			}
			if(oArg.async)
			{
				oRequest.onreadystatechange=function(){
					if(oRequest.readyState==4)
					{
						funcOnReady();oRequest.onreadystatechange={};
					}
				};
			}
			if(oArg.contentType)
			{
				oRequest.setRequestHeader('Content-Type',oArg.contentType);
			}
			oRequest.send(oArg.content);
			if(!oArg.async)
			{
				funcOnReady();
				return oRequest;
			}
		}
		catch(oExpn)
		{
			Zapatec.Transport.removeBusy(oArg);
			if(!bErrorDisplayed)
			{
				bErrorDisplayed=true;
				if(oExpn.name&&oExpn.name=='NS_ERROR_FILE_NOT_FOUND')
				{
					Zapatec.Transport.displayError(0,"Error: Can't fetch "+oArg.url+'.\nFile not found.',oArg.onError);
				}
				else
				{
					Zapatec.Transport.displayError(0,"Error: Can't fetch "+oArg.url+'.\n'+
(oExpn.message||''),oArg.onError);
				}
			}
		};
	return null;
};
	
	Zapatec.Transport.parseHtml=function(sHtml){
		sHtml+='';
		sHtml=sHtml.replace(/^\s+/g,'');
		var oTmpContr;
		if(document.createElementNS){
			oTmpContr=document.createElementNS('http://www.w3.org/1999/xhtml','div');
		}
		else{
			oTmpContr=document.createElement('div');
		}
		
		oTmpContr.innerHTML=sHtml;
		return oTmpContr;
	};
	
	Zapatec.Transport.evalGlobalScope=function(sScript){
		
		if(typeof sScript!='string'||!sScript.match(/\S/)){
			return;
		}
		if(window.execScript){
			window.execScript(sScript,'javascript');
		}
		else 
			if(window.eval){	
								
					window.eval(sScript);	
					//window.execScript(sScript,'javascript');
			}
	};

Zapatec.Transport.setInnerHtml=function(oArg){
	if(!oArg||typeof oArg.html!='string'){
		return;
	}
	var sHtml=oArg.html;
	var oContr=null,oContrid=null;
	if(typeof oArg.container=='string'){
		oContr=document.getElementById(oArg.container);
		oContrid=oArg.container;
	}
	else 
		if(typeof oArg.container=='object'){
			oContr=oArg.container;
			oContrid=oArg.container.id;
		}
	var aScripts=[];
	if(sHtml.match(/<\s*\/\s*script\s*>/i)){
		var aTokens=sHtml.split(/<\s*\/\s*script\s*>/i);
		var aHtml=[];
		
		for(var iToken=aTokens.length-1;iToken>=0;iToken--){
			var sToken=aTokens[iToken];
			if(sToken.match(/\S/)){
				var aMatch=sToken.match(/<\s*script([^>]*)>/i);
				if(aMatch){
					var aCouple=sToken.split(/<\s*script[^>]*>/i);
					while(aCouple.length<2){
						if(sToken.match(/^<\s*script[^>]*>/i)){
							aCouple.unshift('');
						}
						else{
							aCouple.push('');
						}
					}
					aHtml.unshift(aCouple[0]);
					var sAttrs=aMatch[1];
					var srtScript=aCouple[1];
					if(sAttrs.match(/\s+src\s*=/i)){
						srtScript='';
					}
					else{
						srtScript=srtScript.replace(/function\s+([^(]+)/g,'$1=function');
					}
				
					aScripts.push([sAttrs,srtScript]);
				}
				else 
					if(iToken<aTokens.length-1){
						aTokens[iToken-1]+='</script>'+sToken;
					}else{
						aHtml.unshift(sToken);
					}
			}
			else{
				aHtml.unshift(sToken);
			}
		}
		sHtml=aHtml.join('');
		
	}
	
		if(oContr){
			if(window.opera){				
				oContr.innerHTML='<form></form>';
			}
			oContr.innerHTML=sHtml;
		}
	
		
		for(var iScript=0;iScript<aScripts.length;iScript++){
			if(aScripts[iScript][1].length){
				
				Zapatec.Transport.evalGlobalScope(aScripts[iScript][1]);
				
			}
			
			var sAttrs=aScripts[iScript][0];
			sAttrs=sAttrs.replace(/\s+/g,' ').replace(/^\s/,'').replace(/\s$/,'').replace(/ = /g,'=');
			if(sAttrs.indexOf('src=')>=0){
				var oContr=document.body;
				if(!oContr){
					oContr=document.getElementsByTagName('head')[0];
					if(!oContr){
						oContr=document;
					}
				}
				var aAttrs=sAttrs.split(' ');
				var oScript=Zapatec.Utils.createElement('script');
				for(var iAttr=0;iAttr<aAttrs.length;iAttr++){
					var aAttr=aAttrs[iAttr].split('=');
					if(aAttr.length>1){
						oScript.setAttribute(aAttr[0],aAttr[1].match(/^[\s|"|']*([\s|\S]*[^'|"])[\s|"|']*$/)[1]);
					}else{
						oScript.setAttribute(aAttr[0],aAttr[0]);
					}
				}
				oContr.appendChild(oScript);
			}
			
		}
		
};

Zapatec.Transport.fetchXmlDoc=function(oArg){if(oArg==null||typeof oArg!='object'){return null;}
if(!oArg.url){return null;}
if(typeof oArg.async=='undefined'){oArg.async=true;}
if(!oArg.onLoad){oArg.onLoad=null;}
if(!oArg.onError){oArg.onError=null;}
if(!oArg.method&&typeof oArg.username=='undefined'&&typeof oArg.password=='undefined'){if(document.implementation&&document.implementation.createDocument){var oDoc=null;if(!oArg.reliable){oArg.reliable=false;}
var oFetchArg={};for(var sKey in oArg){oFetchArg[sKey]=oArg[sKey];}
if(oArg.async){oFetchArg.onLoad=function(oRequest){oFetchArg.onLoad=null;var parser=new DOMParser();oDoc=parser.parseFromString(oRequest.responseText,"text/xml");Zapatec.Transport.removeBusy(oArg);Zapatec.Transport.onXmlDocLoad(oDoc,oArg.onLoad,oArg.onError);};}else{oFetchArg.onLoad=null;}
var oRequest=Zapatec.Transport.fetch(oFetchArg);if(!oArg.async&&oRequest){var parser=new DOMParser();oDoc=parser.parseFromString(oRequest.responseText,"text/xml");Zapatec.Transport.removeBusy(oArg);Zapatec.Transport.onXmlDocLoad(oDoc,oArg.onLoad,oArg.onError);return oDoc;}
return null;}
if(typeof ActiveXObject!='undefined'){Zapatec.Transport.showBusy(oArg);try{var oDoc=new ActiveXObject(Zapatec.Transport.XMLDOM);oDoc.async=oArg.async;if(oArg.async){oDoc.onreadystatechange=function(){if(oDoc.readyState==4){Zapatec.Transport.removeBusy(oArg);Zapatec.Transport.onXmlDocLoad(oDoc,oArg.onLoad,oArg.onError);oDoc.onreadystatechange={};}};}
oDoc.load(oArg.url);if(!oArg.async){Zapatec.Transport.removeBusy(oArg);Zapatec.Transport.onXmlDocLoad(oDoc,oArg.onLoad,oArg.onError);return oDoc;}
return null;}catch(oExpn){Zapatec.Transport.removeBusy(oArg);};}}
var oFetchArg={};for(var sKey in oArg){oFetchArg[sKey]=oArg[sKey];}
if(oArg.async){oFetchArg.onLoad=function(oRequest){Zapatec.Transport.parseXml({strXml:oRequest.responseText,onLoad:oArg.onLoad,onError:oArg.onError});};}else{oFetchArg.onLoad=null;}
var oRequest=Zapatec.Transport.fetch(oFetchArg);if(!oArg.async&&oRequest){return Zapatec.Transport.parseXml({strXml:oRequest.responseText,onLoad:oArg.onLoad,onError:oArg.onError});}
return null;};Zapatec.Transport.parseXml=function(oArg){if(oArg==null||typeof oArg!='object'){return null;}
if(!oArg.strXml){return null;}
if(!oArg.onLoad){oArg.onLoad=null;}
if(!oArg.onError){oArg.onError=null;}
if(window.DOMParser){try{var oDoc=(new DOMParser()).parseFromString(oArg.strXml,'text/xml');Zapatec.Transport.onXmlDocLoad(oDoc,oArg.onLoad,oArg.onError);return oDoc;}catch(oExpn){Zapatec.Transport.displayError(0,"Error: Can't parse.\n"+'String does not appear to be a valid XML fragment.',oArg.onError);};return null;}
if(typeof ActiveXObject!='undefined'){try{var oDoc=new ActiveXObject(Zapatec.Transport.XMLDOM);oDoc.loadXML(oArg.strXml);Zapatec.Transport.onXmlDocLoad(oDoc,oArg.onLoad,oArg.onError);return oDoc;}catch(oExpn){};}
return null;};Zapatec.Transport.onXmlDocLoad=function(oDoc,onLoad,onError){var sError=null;if(oDoc.parseError){sError=oDoc.parseError.reason;if(oDoc.parseError.srcText){sError+='Location: '+oDoc.parseError.url+'\nLine number '+oDoc.parseError.line+', column '+
oDoc.parseError.linepos+':\n'+
oDoc.parseError.srcText+'\n';}}else if(oDoc.documentElement&&oDoc.documentElement.tagName=='parsererror'){sError=oDoc.documentElement.firstChild.data+'\n'+
oDoc.documentElement.firstChild.nextSibling.firstChild.data;}else if(!oDoc.documentElement){sError='String does not appear to be a valid XML fragment.';}
if(sError){Zapatec.Transport.displayError(0,"Error: Can't parse.\n"+sError,onError);}else{if(typeof onLoad=='function'){onLoad(oDoc);}}};Zapatec.Transport.serializeXmlDoc=function(oDoc){if(window.XMLSerializer){return(new XMLSerializer).serializeToString(oDoc);}
if(oDoc.xml){return oDoc.xml;}};Zapatec.Transport.fetchJsonObj=function(oArg){if(oArg==null||typeof oArg!='object'){return null;}
if(!oArg.url){return null;}
if(typeof oArg.async=='undefined'){oArg.async=true;}
if(!oArg.reliable){oArg.reliable=false;}
var oFetchArg={};for(var sKey in oArg){oFetchArg[sKey]=oArg[sKey];}
if(oArg.async){oFetchArg.onLoad=function(oRequest){Zapatec.Transport.parseJson({strJson:oRequest.responseText,reliable:oArg.reliable,onLoad:oArg.onLoad,onError:oArg.onError});};}else{oFetchArg.onLoad=null;}
var oRequest=Zapatec.Transport.fetch(oFetchArg);if(!oArg.async&&oRequest){return Zapatec.Transport.parseJson({strJson:oRequest.responseText,reliable:oArg.reliable,onLoad:oArg.onLoad,onError:oArg.onError});}
return null;};Zapatec.Transport.parseJson=function(oArg){if(oArg==null||typeof oArg!='object'){return null;}
if(!oArg.reliable){oArg.reliable=false;}
if(!oArg.onLoad){oArg.onLoad=null;}
if(!oArg.onError){oArg.onError=null;}
var oJson=null;try{if(oArg.reliable){if(oArg.strJson){oJson=eval('('+oArg.strJson+')');}}else{oJson=Zapatec.Transport.parseJsonStr(oArg.strJson);}}catch(oExpn){var sError="Error: Can't parse.\nString doesn't appear to be a valid JSON fragment: ";sError+=oExpn.message;if(typeof oExpn.text!='undefined'&&oExpn.text.length){sError+='\n'+oExpn.text;}
sError+='\n'+oArg.strJson;Zapatec.Transport.displayError(0,sError,oArg.onError);return null;};if(typeof oArg.onLoad=='function'){oArg.onLoad(oJson);}
return oJson;};Zapatec.Transport.parseJsonStr=function(text){var p=/^\s*(([,:{}\[\]])|"(\\.|[^\x00-\x1f"\\])*"|-?\d+(\.\d*)?([eE][+-]?\d+)?|true|false|null)\s*/,token,operator;function error(m,t){throw{name:'JSONError',message:m,text:t||operator||token};}
function next(b){if(b&&b!=operator){error("Expected '"+b+"'");}
if(text){var t=p.exec(text);if(t){if(t[2]){token=null;operator=t[2];}else{operator=null;try{token=eval(t[1]);}catch(e){error("Bad token",t[1]);}}
text=text.substring(t[0].length);}else{error("Unrecognized token",text);}}else{token=operator=null;}}
function val(){var k,o;switch(operator){case'{':next('{');o={};if(operator!='}'){for(;;){if(operator||typeof token!='string'){error("Missing key");}
k=token;next();next(':');o[k]=val();if(operator!=','){break;}
next(',');}}
next('}');return o;case'[':next('[');o=[];if(operator!=']'){for(;;){o.push(val());if(operator!=','){break;}
next(',');}}
next(']');return o;default:if(operator!==null){error("Missing value");}
k=token;next();return k;}}
next();return val();};Zapatec.Transport.serializeJsonObj=function(v){var a=[];function e(s){a[a.length]=s;}
function g(x){var c,i,l,v;switch(typeof x){case'object':if(x){if(x instanceof Array){e('[');l=a.length;for(i=0;i<x.length;i+=1){v=x[i];if(typeof v!='undefined'&&typeof v!='function'){if(l<a.length){e(',');}
g(v);}}
e(']');return;}else if(typeof x.toString!='undefined'){e('{');l=a.length;for(i in x){v=x[i];if(x.hasOwnProperty(i)&&typeof v!='undefined'&&typeof v!='function'){if(l<a.length){e(',');}
g(i);e(':');g(v);}}
return e('}');}}
e('null');return;case'number':e(isFinite(x)?+x:'null');return;case'string':l=x.length;e('"');for(i=0;i<l;i+=1){c=x.charAt(i);if(c>=' '){if(c=='\\'||c=='"'){e('\\');}
e(c);}else{switch(c){case'\b':e('\\b');break;case'\f':e('\\f');break;case'\n':e('\\n');break;case'\r':e('\\r');break;case'\t':e('\\t');break;default:c=c.charCodeAt();e('\\u00'+Math.floor(c/16).toString(16)+
(c%16).toString(16));}}}
e('"');return;case'boolean':e(String(x));return;default:e('null');return;}}
g(v);return a.join('');};Zapatec.Transport.displayError=function(iErrCode,sError,onError){if(typeof onError=='function'){onError({errorCode:iErrCode,errorDescription:sError});}else{
	//alert(sError);
	}};Zapatec.Transport.translateUrl=function(oArg){if(!oArg||!oArg.url){return null;}
var aFullUrl=oArg.url.split('?',2);var sUrl=aFullUrl[0];if(sUrl.charAt(0)=='/'||sUrl.indexOf(':')>=0){return oArg.url;}
var sRelativeTo;if(typeof oArg.relativeTo!='string'){sRelativeTo=document.location.toString().split('?',2)[0];}else{sRelativeTo=oArg.relativeTo.split('?',2)[0];if(sRelativeTo.indexOf('/')<0){sRelativeTo=document.location.toString().split('?',2)[0];}else if(sRelativeTo.charAt(0)!='/'&&sRelativeTo.indexOf(':')<0){sRelativeTo=Zapatec.Transport.translateUrl({url:sRelativeTo});}}
var aUrl=sUrl.split('/');var aRelativeTo=sRelativeTo.split('/');aRelativeTo.pop();for(var iToken=0;iToken<aUrl.length;iToken++){var sToken=aUrl[iToken];if(sToken=='..'){aRelativeTo.pop();}else if(sToken!='.'){aRelativeTo.push(sToken);}}
aFullUrl[0]=aRelativeTo.join('/');return aFullUrl.join('?');};Zapatec.Transport.loading={};Zapatec.Transport.setupEvents=function(oArg){if(!oArg){return{};}
if(oArg.force||!Zapatec.EventDriven||!oArg.url){return{onLoad:oArg.onLoad,onError:oArg.onError};}
var sUrl=oArg.url;if(typeof oArg.onLoad=='function'){Zapatec.EventDriven.addEventListener('zpTransportOnLoad'+sUrl,oArg.onLoad);}
if(typeof oArg.onError=='function'){Zapatec.EventDriven.addEventListener('zpTransportOnError'+sUrl,oArg.onError);}
if(Zapatec.Transport.loading[sUrl]){return{loading:true};}else{Zapatec.Transport.loading[sUrl]=true;return{onLoad:new Function("Zapatec.EventDriven.fireEvent('zpTransportOnLoad"+
sUrl+"');Zapatec.EventDriven.removeEvent('zpTransportOnLoad"+
sUrl+"');Zapatec.EventDriven.removeEvent('zpTransportOnError"+
sUrl+"');Zapatec.Transport.loading['"+sUrl+"'] = false;"),onError:new Function('oError',"Zapatec.EventDriven.fireEvent('zpTransportOnError"+
sUrl+"',oError);Zapatec.EventDriven.removeEvent('zpTransportOnLoad"+
sUrl+"');Zapatec.EventDriven.removeEvent('zpTransportOnError"+
sUrl+"');Zapatec.Transport.loading['"+sUrl+"'] = false;")};}};Zapatec.Transport.loadedJS={};Zapatec.Transport.isLoadedJS=function(sUrl,sAbsUrl){if(typeof sAbsUrl=='undefined'){sAbsUrl=Zapatec.Transport.translateUrl({url:sUrl});}
if(Zapatec.Transport.loadedJS[sAbsUrl]){return true;}
var aScripts=document.getElementsByTagName('script');for(var iScript=0;iScript<aScripts.length;iScript++){var sSrc=aScripts[iScript].getAttribute('src')||'';if(sSrc==sUrl){Zapatec.Transport.loadedJS[sAbsUrl]=true;return true;}}
return false;};Zapatec.Transport.getPath=function(sScriptFileName){var aScripts=document.getElementsByTagName('script');for(var iScript=aScripts.length-1;iScript>=0;iScript--){var sSrc=aScripts[iScript].getAttribute('src')||'';var aTokens=sSrc.split('/');var sLastToken=aTokens.pop();if(sLastToken==sScriptFileName){return aTokens.length?aTokens.join('/')+'/':'';}}
for(var sSrc in Zapatec.Transport.loadedJS){var aTokens=sSrc.split('/');var sLastToken=aTokens.pop();if(sLastToken==sScriptFileName){return aTokens.length?aTokens.join('/')+'/':'';}}
return'';};Zapatec.Transport.include=function(sSrc,sId,bForce){if(Zapatec.doNotInclude){return;}
var sAbsUrl=Zapatec.Transport.translateUrl({url:sSrc});if(!bForce&&Zapatec.Transport.isLoadedJS(sSrc,sAbsUrl)){return;}
document.write('<script type="text/javascript" src="'+sSrc+
(typeof sId=='string'?'" id="'+sId:'')+'"></script>');Zapatec.Transport.loadedJS[sAbsUrl]=true;};Zapatec.include=Zapatec.Transport.include;Zapatec.Transport.includeJS=function(sSrc,sId){setTimeout(function(){var oContr=document.body;if(!oContr){oContr=document.getElementsByTagName('head')[0];if(!oContr){oContr=document;}}
var oScript=document.createElement('script');oScript.type='text/javascript';oScript.src=sSrc;if(typeof sId=='string'){oScript.id=sId;}
oContr.appendChild(oScript);},0);};Zapatec.Transport.loadJS=function(oArg){if(!(oArg instanceof Object)){return;}
if(typeof oArg.async=='undefined'){oArg.async=true;}
var sUrl=null;if(oArg.url){sUrl=oArg.url;}else if(oArg.module){var sPath='';if(typeof oArg.path!='undefined'){sPath=oArg.path;}else if(typeof Zapatec.zapatecPath!='undefined'){sPath=Zapatec.zapatecPath;}
sUrl=sPath+oArg.module+'.js';}else{return;}
var sAbsUrl=Zapatec.Transport.translateUrl({url:sUrl});if(!oArg.onLoad){oArg.onLoad=null;}
if(!oArg.onError){oArg.onError=null;}
if(Zapatec.doNotInclude||(!oArg.force&&Zapatec.Transport.isLoadedJS(sUrl,sAbsUrl))){if(typeof oArg.onLoad=='function'){oArg.onLoad();}
return;}
var oHandlers=Zapatec.Transport.setupEvents({url:sAbsUrl,force:oArg.force,onLoad:oArg.onLoad,onError:oArg.onError});
if(oHandlers.loading){
	return;
}
Zapatec.Transport.fetch({url:sUrl,async:oArg.async,onLoad:function(oRequest){
																   if(oArg.force||!Zapatec.Transport.loadedJS[sAbsUrl]){
																	   
																	   var aTokens=sUrl.split('/');
																	   var sLastToken=aTokens.pop();
																	   Zapatec.lastLoadedModule=aTokens.join('/')+'/';
																	   Zapatec.Transport.evalGlobalScope(oRequest.responseText);
																	   Zapatec.lastLoadedModule=null;
																	   Zapatec.Transport.loadedJS[sAbsUrl]=true;
																}
if(typeof oHandlers.onLoad=='function'){oHandlers.onLoad();}},onError:oHandlers.onError});};Zapatec.Transport.includeCSS=function(sHref){var oContr=document.getElementsByTagName('head')[0];if(!oContr){return;}
var oLink=document.createElement('link');
oLink.setAttribute('rel','stylesheet');
oLink.setAttribute('type','text/css');
oLink.setAttribute('href',sHref);
oContr.appendChild(oLink);
};

Zapatec.Transport.loadedCss={};
Zapatec.Transport.loadCss=function(oArg){
	if(Zapatec.StyleSheet){
		Zapatec.Transport.loadCssWithStyleSheet(oArg);
	}
	else{
		Zapatec.Transport.loadJS({module:'stylesheet',async:oArg.async,onLoad:function(){Zapatec.Transport.loadCssWithStyleSheet(oArg);}});}};
		Zapatec.Transport.loadCssWithStyleSheet=function(oArg){
			if(!(oArg instanceof Object)){return;}
			if(!oArg.url){return;}
			if(typeof oArg.async=='undefined'){oArg.async=true;}
			var sAbsUrl=Zapatec.Transport.translateUrl({url:oArg.url});
			if(!oArg.force){
				if(Zapatec.Transport.loadedCss[sAbsUrl]){
					if(typeof oArg.onLoad=='function'){oArg.onLoad();}
					return;
				}
				var aLinks=document.getElementsByTagName('link');
				for(var iLnk=0;iLnk<aLinks.length;iLnk++){
					var sHref=aLinks[iLnk].getAttribute('href')||'';
					sHref=Zapatec.Transport.translateUrl({url:sHref});
					if(sHref==sAbsUrl){
						Zapatec.Transport.loadedCss[sAbsUrl]=true;
						if(typeof oArg.onLoad=='function'){oArg.onLoad();}
						return;
					}
				}
			}

			var oHandlers=Zapatec.Transport.setupEvents({url:sAbsUrl,force:oArg.force,onLoad:oArg.onLoad,onError:oArg.onError});
			if(oHandlers.loading){return;}
			Zapatec.Transport.fetch({url:oArg.url,async:oArg.async,onLoad:function(oRequest){var sCss=oRequest.responseText;var aResultCss=[];var aImgUrls=[];var aCssUrls=[];var iPos=0;var iNextPos=sCss.indexOf('url(',iPos);while(iNextPos>=0){iNextPos+=4;var sToken=sCss.substring(iPos,iNextPos);var bIsImport=/@import\s+url\($/.test(sToken);aResultCss.push(sToken);iPos=iNextPos;iNextPos=sCss.indexOf(')',iPos);if(iNextPos>=0){var sImgUrl=sCss.substring(iPos,iNextPos);sImgUrl=sImgUrl.replace(/['"]/g,'');sImgUrl=Zapatec.Transport.translateUrl({url:sImgUrl,relativeTo:oArg.url});sImgUrl=Zapatec.Transport.translateUrl({url:sImgUrl});aResultCss.push(sImgUrl);if(bIsImport){aCssUrls.push(sImgUrl);}else{aImgUrls.push(sImgUrl);}
iPos=iNextPos;iNextPos=sCss.indexOf('url(',iPos);}}
aResultCss.push(sCss.substr(iPos));sCss=aResultCss.join('');Zapatec.Transport.loadCssList({urls:aCssUrls,async:oArg.async,onLoad:function(){(new Zapatec.StyleSheet()).addParse(sCss);if(typeof oHandlers.onLoad=='function'){oHandlers.onLoad();}}});Zapatec.Transport.loadedCss[sAbsUrl]=true;Zapatec.Transport.preloadImages({urls:aImgUrls,timeout:60000});},onError:oHandlers.onError});};Zapatec.Transport.loadCssList=function(oArg){if(!(oArg instanceof Object)){return;}
if(typeof oArg.async=='undefined'){oArg.async=true;}
if(!oArg.onLoad){oArg.onLoad=null;}
if(!oArg.onError){oArg.onError=null;}
if(!oArg.urls||!oArg.urls.length){if(typeof oArg.onLoad=='function'){oArg.onLoad();}
return;}
var sUrl=oArg.urls.shift();
var funcOnLoad=function(){
	Zapatec.Transport.loadCssList({urls:oArg.urls,async:oArg.async,force:oArg.force,onLoad:oArg.onLoad,onError:oArg.onError});
	};
	
	Zapatec.Transport.loadCss({url:sUrl,async:oArg.async,force:oArg.force,onLoad:funcOnLoad,onError:function(oError){Zapatec.Transport.displayError(oError.errorCode,oError.errorDescription,oArg.onError);funcOnLoad();}});};Zapatec.Transport.imagePreloads=[];Zapatec.Transport.preloadImages=function(oArg){if(Zapatec.PreloadImages){Zapatec.Transport.imagePreloads.push(new Zapatec.PreloadImages(oArg));}else{Zapatec.Transport.loadJS({module:'preloadimages',onLoad:function(){Zapatec.Transport.imagePreloads.push(new Zapatec.PreloadImages(oArg));}});}};if(typeof Zapatec=='undefined'){Zapatec=function(){};}
Zapatec.StyleSheet=function(bUseLast){if(bUseLast){if(document.createStyleSheet){if(document.styleSheets.length){this.styleSheet=document.styleSheets[document.styleSheets.length-1];}}else{var aStyleSheets=document.getElementsByTagName('style');if(aStyleSheets.length){this.styleSheet=aStyleSheets[aStyleSheets.length-1];}}}
if(!this.styleSheet){if(document.createStyleSheet){try{this.styleSheet=document.createStyleSheet();}catch(oException){this.styleSheet=document.styleSheets[document.styleSheets.length-1];};}else{this.styleSheet=document.createElement('style');this.styleSheet.type='text/css';var oHead=document.getElementsByTagName('head')[0];if(!oHead){oHead=document.documentElement;}
if(oHead){oHead.appendChild(this.styleSheet);}}}};Zapatec.StyleSheet.prototype.addRule=function(strSelector,strDeclarations){if(!this.styleSheet){return;}
if(document.createStyleSheet){this.styleSheet.cssText+=strSelector+' { '+strDeclarations+' }';}else{this.styleSheet.appendChild(document.createTextNode(strSelector+' { '+strDeclarations+' }'));}};Zapatec.StyleSheet.prototype.removeRules=function(){if(!this.styleSheet){return;}
if(document.createStyleSheet){var iRules=this.styleSheet.rules.length;for(var iRule=0;iRule<iRules;iRule++){this.styleSheet.removeRule();}}else{while(this.styleSheet.firstChild){this.styleSheet.removeChild(this.styleSheet.firstChild);}}};Zapatec.StyleSheet.prototype.addParse=function(strStyleSheet){var arrClean=[];var arrTokens=strStyleSheet.split('/*');for(var iTok=0;iTok<arrTokens.length;iTok++){var arrTails=arrTokens[iTok].split('*/');arrClean.push(arrTails[arrTails.length-1]);}
strStyleSheet=arrClean.join('');strStyleSheet=strStyleSheet.replace(/@[^{]*;/g,'');var arrStyles=strStyleSheet.split('}');for(var iStl=0;iStl<arrStyles.length;iStl++){var arrRules=arrStyles[iStl].split('{');if(arrRules[0]&&arrRules[1]){var arrSelectors=arrRules[0].split(',');for(var iSel=0;iSel<arrSelectors.length;iSel++){this.addRule(arrSelectors[iSel],arrRules[1]);}}}};Zapatec.ImagePreloader=function(objArgs){this.job=null;this.image=null;if(arguments.length>0)this.init(objArgs);};Zapatec.ImagePreloader.prototype.init=function(objArgs){if(!objArgs||!objArgs.job){return;}
this.job=objArgs.job;this.image=new Image();this.job.images.push(this.image);var objPreloader=this;this.image.onload=function(){objPreloader.job.loadedUrls.push(objArgs.url);setTimeout(function(){objPreloader.onLoad();},0);};this.image.onerror=function(){objPreloader.job.invalidUrls.push(objArgs.url);objPreloader.onLoad();};this.image.onabort=function(){objPreloader.job.abortedUrls.push(objArgs.url);objPreloader.onLoad();};this.image.src=objArgs.url;if(typeof objArgs.timeout=='number'){setTimeout(function(){if(objPreloader.job){if(objPreloader.image.complete){objPreloader.job.loadedUrls.push(objArgs.url);}else{objPreloader.job.abortedUrls.push(objArgs.url);}
objPreloader.onLoad();}},objArgs.timeout);}};Zapatec.ImagePreloader.prototype.onLoad=function(){if(!this.job){return;}
this.image.onload=null;this.image.onerror=null;this.image.onabort=null;var objJob=this.job;this.job=null;objJob.leftToLoad--;if(objJob.leftToLoad==0&&typeof objJob.onLoad=='function'){var funcOnLoad=objJob.onLoad;objJob.onLoad=null;funcOnLoad(objJob);}};Zapatec.PreloadImages=function(objArgs){this.images=[];this.leftToLoad=0;this.loadedUrls=[];this.invalidUrls=[];this.abortedUrls=[];this.onLoad=null;if(arguments.length>0)this.init(objArgs);};Zapatec.PreloadImages.prototype.init=function(objArgs){if(!objArgs){return;}
if(!objArgs.urls||!objArgs.urls.length){if(typeof objArgs.onLoad=='function'){objArgs.onLoad(this);}
return;}
this.images=[];this.leftToLoad=objArgs.urls.length;this.loadedUrls=[];this.invalidUrls=[];this.abortedUrls=[];this.onLoad=objArgs.onLoad;for(var iUrl=0;iUrl<objArgs.urls.length;iUrl++){new Zapatec.ImagePreloader({job:this,url:objArgs.urls[iUrl],timeout:objArgs.timeout});}};if(typeof Zapatec=='undefined'){Zapatec=function(){};}
Zapatec.EventDriven=function(){};Zapatec.EventDriven.prototype.init=function(){this.events={};};Zapatec.EventDriven.prototype.addEventListener=function(sEvent,fListener){if(typeof fListener!="function"){return false;}
if(!this.events[sEvent]){this.events[sEvent]={listeners:[]};}else{this.removeEventListener(sEvent,fListener);}
this.events[sEvent].listeners.push(fListener);};Zapatec.EventDriven.prototype.unshiftEventListener=function(sEvent,fListener){if(typeof fListener!="function"){return false;}
if(!this.events[sEvent]){this.events[sEvent]={listeners:[]};}else{this.removeEventListener(sEvent,fListener);}
this.events[sEvent].listeners.unshift(fListener);};

Zapatec.EventDriven.prototype.removeEventListener=function(sEvent,fListener){
	if(!this.events[sEvent]){
		return 0;
	}
	var aListeners=this.events[sEvent].listeners;
	var iRemoved=0;
	for(var iListener=aListeners.length-1;iListener>=0;iListener--){
		if(aListeners[iListener]==fListener){
			aListeners.splice(iListener,1);
			iRemoved++;
		}
	}
	
	return iRemoved;
};

Zapatec.EventDriven.prototype.getEventListeners=function(sEvent){if(!this.events[sEvent]){return[];}
return this.events[sEvent].listeners;};Zapatec.EventDriven.prototype.isEventListener=function(sEvent,fListener){if(!this.events[sEvent]){return false;}
var aListeners=this.events[sEvent].listeners;for(var iListener=aListeners.length-1;iListener>=0;iListener--){if(aListeners[iListener]==fListener){return true;}}
return false;};Zapatec.EventDriven.prototype.isEvent=function(sEvent){if(this.events[sEvent]){return true;}
return false;};Zapatec.EventDriven.prototype.removeEvent=function(sEvent){if(this.events[sEvent]){var undef;this.events[sEvent]=undef;}};

Zapatec.EventDriven.prototype.fireEvent=function(sEvent){
	
	if(!this.events[sEvent]){return;}
	var aListeners=this.events[sEvent].listeners.slice();
	for(var iListener=0;iListener<aListeners.length;iListener++){
		var aArgs=[].slice.call(arguments,1);
		aListeners[iListener].apply(this,aArgs);
	}
};
Zapatec.EventDriven.events={};
Zapatec.EventDriven.addEventListener=function(sEvent,fListener){if(typeof fListener!="function"){return false;}
if(!Zapatec.EventDriven.events[sEvent]){Zapatec.EventDriven.events[sEvent]={listeners:[]};}else{Zapatec.EventDriven.removeEventListener(sEvent,fListener);}
Zapatec.EventDriven.events[sEvent].listeners.push(fListener);};Zapatec.EventDriven.unshiftEventListener=function(sEvent,fListener){if(typeof fListener!="function"){return false;}
if(!Zapatec.EventDriven.events[sEvent]){Zapatec.EventDriven.events[sEvent]={listeners:[]};}else{Zapatec.EventDriven.removeEventListener(sEvent,fListener);}
Zapatec.EventDriven.events[sEvent].listeners.unshift(fListener);};Zapatec.EventDriven.removeEventListener=function(sEvent,fListener){if(!Zapatec.EventDriven.events[sEvent]){return 0;}
var aListeners=Zapatec.EventDriven.events[sEvent].listeners;var iRemoved=0;for(var iListener=aListeners.length-1;iListener>=0;iListener--){if(aListeners[iListener]==fListener){aListeners.splice(iListener,1);iRemoved++;}}
return iRemoved;};Zapatec.EventDriven.getEventListeners=function(sEvent){if(!Zapatec.EventDriven.events[sEvent]){return[];}
return Zapatec.EventDriven.events[sEvent].listeners;};Zapatec.EventDriven.isEventListener=function(sEvent,fListener){if(!Zapatec.EventDriven.events[sEvent]){return false;}
var aListeners=Zapatec.EventDriven.events[sEvent].listeners;for(var iListener=aListeners.length-1;iListener>=0;iListener--){if(aListeners[iListener]==fListener){return true;}}
return false;};Zapatec.EventDriven.isEvent=function(sEvent){if(Zapatec.EventDriven.events[sEvent]){return true;}
return false;};Zapatec.EventDriven.removeEvent=function(sEvent){if(Zapatec.EventDriven.events[sEvent]){var undef;Zapatec.EventDriven.events[sEvent]=undef;}};
Zapatec.EventDriven.fireEvent=function(sEvent){
	
	if(!Zapatec.EventDriven.events[sEvent]){
		return;
	}
var aListeners=Zapatec.EventDriven.events[sEvent].listeners.slice();for(var iListener=0;iListener<aListeners.length;iListener++){var aArgs=[].slice.call(arguments,1);aListeners[iListener].apply(aListeners[iListener],aArgs);}};if(typeof Zapatec=='undefined'){Zapatec=function(){};}
Zapatec.Widget=function(oArg){this.config={};Zapatec.Widget.SUPERconstructor.call(this);this.init(oArg);};Zapatec.inherit(Zapatec.Widget,Zapatec.EventDriven);Zapatec.Widget.path=Zapatec.getPath('Zapatec.Widget');Zapatec.Widget.prototype.init=function(oArg){Zapatec.Widget.SUPERclass.init.call(this);if(typeof this.id=='undefined'){var iId=0;while(Zapatec.Widget.all[iId]){iId++;}
this.id=iId;Zapatec.Widget.all[iId]=this;}
this.configure(oArg);this.addUserEventListeners();this.addStandardEventListeners();this.loadTheme();};Zapatec.Widget.prototype.reconfigure=function(oArg){this.configure(oArg);this.loadTheme();};

Zapatec.Widget.prototype.configure=function(oArg){this.defineConfigOption('theme','default');

	if(typeof this.constructor.path!='undefined'){
		this.defineConfigOption('themePath',this.constructor.path+'../themes/');
	}
	else{
		this.defineConfigOption('themePath','../themes/');
	}
	/**/
	//this.defineConfigOption('themePath',vsubpath+'/isstyle/');
	this.defineConfigOption('asyncTheme',false);
	this.defineConfigOption('source');
	this.defineConfigOption('sourceType');
	this.defineConfigOption('callbackSource');
	this.defineConfigOption('asyncSource',true);
	this.defineConfigOption('reliableSource',true);
	this.defineConfigOption('eventListeners',{});
	if(oArg){
		for(var sOption in oArg){
			if(typeof this.config[sOption]!='undefined'){
				this.config[sOption]=oArg[sOption];
			}
			else{
				Zapatec.Log({description:"Unknown config option: "+sOption});
			}
		}
	}
};

Zapatec.Widget.prototype.getConfiguration=function(){return this.config;};Zapatec.Widget.all=[];Zapatec.Widget.getWidgetById=function(iId){return Zapatec.Widget.all[iId];};Zapatec.Widget.prototype.addCircularRef=function(oElement,sProperty){if(!this.widgetCircularRefs){this.widgetCircularRefs=[];}
this.widgetCircularRefs.push([oElement,sProperty]);};Zapatec.Widget.prototype.createProperty=function(oElement,sProperty,val){oElement[sProperty]=val;this.addCircularRef(oElement,sProperty);};Zapatec.Widget.prototype.removeCircularRefs=function(){if(!this.widgetCircularRefs){return;}
for(var iRef=this.widgetCircularRefs.length-1;iRef>=0;iRef--)
{
	var oRef=this.widgetCircularRefs[iRef];
	oRef[0][oRef[1]]=null;
	oRef[0]=null;
}
};Zapatec.Widget.prototype.discard=function(){Zapatec.Widget.all[this.id]=null;this.removeCircularRefs();};Zapatec.Widget.removeCircularRefs=function(){for(var iWidget=Zapatec.Widget.all.length-1;iWidget>=0;iWidget--){var oWidget=Zapatec.Widget.all[iWidget];if(oWidget){oWidget.removeCircularRefs();}}};Zapatec.Utils.addEvent(window,'unload',Zapatec.Widget.removeCircularRefs);Zapatec.Widget.prototype.defineConfigOption=function(sOption,val){if(typeof this.config[sOption]=='undefined'){if(typeof val=='undefined'){this.config[sOption]=null;}else{this.config[sOption]=val;}}};Zapatec.Widget.prototype.addUserEventListeners=function(){for(var sEvent in this.config.eventListeners){if(this.config.eventListeners.hasOwnProperty(sEvent)){this.addEventListener(sEvent,this.config.eventListeners[sEvent]);}}};Zapatec.Widget.prototype.addStandardEventListeners=function(){this.addEventListener('loadThemeError',Zapatec.Widget.loadThemeError);};Zapatec.Widget.loadThemeError=function(oError){var sDescription="Can't load theme.";if(oError&&oError.errorDescription){sDescription+=' '+oError.errorDescription;}
Zapatec.Log({description:sDescription});};

Zapatec.Widget.prototype.loadTheme=function(){
	if(typeof this.config.theme=='string'&&this.config.theme.length){
		var iPos=this.config.theme.lastIndexOf('/');
		if(iPos>=0){
			iPos++;
			this.config.themePath=this.config.theme.substring(0,iPos);
			this.config.theme=this.config.theme.substring(iPos);
		}

	iPos=this.config.theme.lastIndexOf('.');
	if(iPos>=0){
		this.config.theme=this.config.theme.substring(0,iPos);
	}
	
		this.config.theme=this.config.theme.toLowerCase();
	}
	else{
		this.config.theme='';
	}
	
	if(this.config.theme){
		this.fireEvent('loadThemeStart');
		this.themeLoaded=false;
		var oWidget=this;
		var sUrl=this.config.themePath+this.config.theme+'.css';
		//alert(sUrl);
			oWidget.fireEvent('loadThemeEnd');
					oWidget.themeLoaded=true;
					oWidget.hideLoader();
	/*
	Zapatec.Transport.loadCss({url:sUrl,async:this.config.asyncTheme,onLoad:function(){
					oWidget.fireEvent('loadThemeEnd');
					oWidget.themeLoaded=true;
					oWidget.hideLoader();
					},onError:function(oError){
						oWidget.fireEvent('loadThemeEnd');
						oWidget.fireEvent('loadThemeError',oError);
						oWidget.themeLoaded=true;
						oWidget.hideLoader();
						}});*/
						
	}
}

Zapatec.Widget.prototype.getClassName=function(oArg){
	var aClassName=[];
	if(oArg&&oArg.prefix){
		aClassName.push(oArg.prefix);
	}
	if(this.config.theme!=''){
		aClassName.push(this.config.theme.charAt(0).toUpperCase());
		aClassName.push(this.config.theme.substr(1));
	}
	if(oArg&&oArg.suffix){
		aClassName.push(oArg.suffix);
	}
	return aClassName.join('');
};

Zapatec.Widget.prototype.formElementId=function(oArg){
	var aId=[];
	if(oArg&&oArg.prefix){
		aId.push(oArg.prefix);
	}else{
		aId.push('zpWidget');
	}
	aId.push(this.id);
	if(oArg&&oArg.suffix){
		aId.push(oArg.suffix);}else{aId.push('-');
	}
	if(typeof this.widgetUniqueIdCounter=='undefined'){
		this.widgetUniqueIdCounter=0;
	}else{
		this.widgetUniqueIdCounter++;
	}
	aId.push(this.widgetUniqueIdCounter);
	return aId.join('');
};

Zapatec.Widget.prototype.showLoader=function(message){
	
	if(this.container!=null&&this.config.theme&&!this.themeLoaded){
		if(!Zapatec.windowLoaded){
			var self=this;
			Zapatec.Utils.addEvent(window,"load",function(){self.showLoader(message)});
			return null;
		}
		if(typeof(Zapatec.Indicator)=='undefined'){
			var self=this;
			Zapatec.Transport.loadJS({module:'indicator',onLoad:function(){if(self.themeLoaded){return null;}
			self.showLoader(message);
		}
	}
);
	return null;
	}
	
this.loader=new Zapatec.Indicator({container:this.container,themePath:Zapatec.zapatecPath+"../extra/indicator/"});
this.loader.start(message||'loading');
this.container.style.visibility='hidden';
}
}
Zapatec.Widget.prototype.hideLoader=function(){
	
		if(this.loader&&this.loader.isActive()){
			this.container.style.visibility='';
			this.loader.stop();
		}
}

Zapatec.Widget.prototype.showContainer=function(effects,animSpeed,onFinish){return this.showHideContainer(effects,animSpeed,onFinish,true);}
Zapatec.Widget.prototype.hideContainer=function(effects,animSpeed,onFinish){return this.showHideContainer(effects,animSpeed,onFinish,false);}
Zapatec.Widget.prototype.showHideContainer=function(effects,animSpeed,onFinish,show){
	if(this.container==null){
		return null;
	}
	if(effects&&effects.length>0&&typeof(Zapatec.Effects)=='undefined'){
		var self=this;
		Zapatec.Transport.loadJS({url:Zapatec.zapatecPath+'../isjs/effects/src/effects.js',onLoad:function(){self.showHideContainer(effects,animSpeed,onFinish,show);}});
		return false;
	}
if(animSpeed==null&&isNaN(parseInt(animSpeed))){animSpeed=5;}
if(!effects||effects.length==0){if(show){this.container.style.display=this.originalContainerDisplay;this.originalContainerDisplay=null;}else{this.originalContainerDisplay=this.container.style.display;this.container.style.display='none';}
if(onFinish){onFinish();}}else{if(show){Zapatec.Effects.show(this.container,animSpeed,effects,onFinish);}else{Zapatec.Effects.hide(this.container,animSpeed,effects,onFinish);}}
return true;}
Zapatec.Widget.prototype.loadData=function(oArg){
	if(typeof this.config.callbackSource=='function'){
		var oSource=this.config.callbackSource(oArg);
		if(oSource){
			if(typeof oSource.source!='undefined'){
				this.config.source=oSource.source;
			}
			if(typeof oSource.sourceType!='undefined'){
				this.config.sourceType=oSource.sourceType;
			}
		}
	}
	
	if(this.config.source!=null&&this.config.sourceType!=null){
		var sSourceType=this.config.sourceType.toLowerCase();
		if(sSourceType=='html'){
			this.fireEvent('loadDataStart');
			this.loadDataHtml(Zapatec.Widget.getElementById(this.config.source));
			this.fireEvent('loadDataEnd');
		}
		else 
			if(sSourceType=='html/text'){
				this.fireEvent('loadDataStart');
				this.loadDataHtmlText(this.config.source);
				this.fireEvent('loadDataEnd');
			}
			else 
				if(sSourceType=='html/url'){
					this.fireEvent('fetchSourceStart');
					var oWidget=this;
					Zapatec.Transport.fetch({url:this.config.source,async:this.config.asyncSource,onLoad:function(oRequest){oWidget.fireEvent('fetchSourceEnd');oWidget.fireEvent('loadDataStart');oWidget.loadDataHtmlText(oRequest.responseText);oWidget.fireEvent('loadDataEnd');},onError:function(oError){oWidget.fireEvent('fetchSourceError',oError);oWidget.fireEvent('fetchSourceEnd');oWidget.fireEvent('loadDataEnd');}});
				}
				else 
					if(sSourceType=='json'){
						this.fireEvent('loadDataStart');
						if(typeof this.config.source=='object'){
							this.loadDataJson(this.config.source);
						}
						else 
							if(this.config.reliableSource){
								this.loadDataJson(eval('('+this.config.source+')'));
							}
							else{
								this.loadDataJson(Zapatec.Transport.parseJson({strJson:this.config.source}));
							}
						this.fireEvent('loadDataEnd');
				}
				else 
					if(sSourceType=='json/url'){
						this.fireEvent('fetchSourceStart');
						var oWidget=this;
						Zapatec.Transport.fetchJsonObj({url:this.config.source,async:this.config.asyncSource,reliable:this.config.reliableSource,onLoad:function(oResult){oWidget.fireEvent('fetchSourceEnd');oWidget.fireEvent('loadDataStart');oWidget.loadDataJson(oResult);oWidget.fireEvent('loadDataEnd');},onError:function(oError){oWidget.fireEvent('fetchSourceError',oError);oWidget.fireEvent('fetchSourceEnd');oWidget.fireEvent('loadDataEnd');}});
					}
					else 
						if(sSourceType=='xml'){
							this.fireEvent('loadDataStart');
							if(typeof this.config.source=='object'){
								this.loadDataXml(this.config.source);
							}
							else{
								this.loadDataXml(Zapatec.Transport.parseXml({strXml:this.config.source}));
							}
							this.fireEvent('loadDataEnd');
						}
						else 
							if(sSourceType=='xml/url'){
								this.fireEvent('fetchSourceStart');
								var oWidget=this;
								Zapatec.Transport.fetchXmlDoc({url:this.config.source,async:this.config.asyncSource,onLoad:function(oResult){oWidget.fireEvent('fetchSourceEnd');oWidget.fireEvent('loadDataStart');oWidget.loadDataXml(oResult);oWidget.fireEvent('loadDataEnd');},onError:function(oError){oWidget.fireEvent('fetchSourceError',oError);oWidget.fireEvent('fetchSourceEnd');oWidget.fireEvent('loadDataEnd');}});
							}
		}
		else{
			this.fireEvent('loadDataStart');
			this.loadDataHtml(Zapatec.Widget.getElementById(this.config.source));
			this.fireEvent('loadDataEnd');
		}
	};
	
	Zapatec.Widget.prototype.loadDataHtml=function(oSource){};Zapatec.Widget.prototype.loadDataHtmlText=function(sSource){var oTempContainer=Zapatec.Transport.parseHtml(sSource);this.loadDataHtml(oTempContainer.firstChild);};Zapatec.Widget.prototype.loadDataJson=function(oSource){};Zapatec.Widget.prototype.loadDataXml=function(oSource){};Zapatec.Widget.prototype.editData=function(oArg){this.fireEvent('editData',oArg);};Zapatec.Widget.prototype.editDataGet=function(){return null;};Zapatec.Widget.prototype.editDataCancel=function(){this.fireEvent('editDataCancel');if(typeof this.hide=='function'){this.hide();}};Zapatec.Widget.prototype.editDataReturn=function(oArg){this.fireEvent('editDataReturn',oArg);if(!oArg.widget||typeof oArg.widget.editDataReceive!='function'){return;}
oArg.widget.editDataReceive({data:this.editDataGet()});this.editDataCancel();};Zapatec.Widget.prototype.editDataReceive=function(oArg){this.fireEvent('editDataReceive',oArg);};Zapatec.Widget.callMethod=function(iWidgetId,sMethod){var oWidget=Zapatec.Widget.getWidgetById(iWidgetId);if(oWidget&&typeof oWidget[sMethod]=='function'){var aArgs=[].slice.call(arguments,2);return oWidget[sMethod].apply(oWidget,aArgs);}};Zapatec.Widget.getElementById=function(element){if(typeof element=='string'){return document.getElementById(element);}
return element;};Zapatec.Widget.getStyle=function(element){var style=element.getAttribute('style')||'';if(typeof style=='string'){return style;}
return style.cssText;};Zapatec.Drag={};Zapatec.Utils.emulateWindowEvent(['mousedown','mousemove','mouseup']);Zapatec.Drag.currentId=null;Zapatec.Drag.start=function(oEv,sId,oArg){if(Zapatec.Drag.currentId){return true;}
var oEl=document.getElementById(sId);if(!oEl||oEl.zpDrag){return true;}
if(!oArg){oArg={};}
var oPos=Zapatec.Utils.getMousePos(oEv||window.event);Zapatec.EventDriven.fireEvent('dragStart',{id:sId});oEl.zpDrag=true;oEl.zpDragPageX=oPos.pageX;oEl.zpDragPageY=oPos.pageY;if(oEl.offsetParent){var oPos=Zapatec.Utils.getElementOffset(oEl);var oPosParent=Zapatec.Utils.getElementOffset(oEl.offsetParent);oEl.zpDragLeft=oPos.left-oPosParent.left;oEl.zpDragTop=oPos.top-oPosParent.top;}else{oEl.zpDragLeft=oEl.offsetLeft;oEl.zpDragTop=oEl.offsetTop;}
oEl.zpDragPrevLeft=oEl.zpDragLeft;oEl.zpDragPrevTop=oEl.zpDragTop;oEl.zpDragV=oArg.vertical;oEl.zpDragH=oArg.horizontal;oEl.zpDragLimTop=typeof oArg.limitTop=='number'?oArg.limitTop:-Infinity;oEl.zpDragLimBot=typeof oArg.limitBottom=='number'?oArg.limitBottom:Infinity;oEl.zpDragLimLft=typeof oArg.limitLeft=='number'?oArg.limitLeft:-Infinity;oEl.zpDragLimRgh=typeof oArg.limitRight=='number'?oArg.limitRight:Infinity;Zapatec.Drag.currentId=sId;Zapatec.Utils.addEvent(document,'mousemove',Zapatec.Drag.move);Zapatec.Utils.addEvent(document,'mouseup',Zapatec.Drag.end);return true;};Zapatec.Drag.move=function(oEv){oEv||(oEv=window.event);if(!Zapatec.Drag.currentId){return Zapatec.Utils.stopEvent(oEv);}
var oEl=document.getElementById(Zapatec.Drag.currentId);if(!(oEl&&oEl.zpDrag)){return Zapatec.Utils.stopEvent(oEv);}
var oPos=Zapatec.Utils.getMousePos(oEv);var oOffset={id:Zapatec.Drag.currentId,startLeft:oEl.zpDragLeft,startTop:oEl.zpDragTop,prevLeft:oEl.zpDragPrevLeft,prevTop:oEl.zpDragPrevTop,left:0,top:0};if(!oEl.zpDragV){var iLeft=oEl.zpDragLeft+oPos.pageX-oEl.zpDragPageX;if(oEl.zpDragLimLft<=iLeft&&oEl.zpDragLimRgh>=iLeft){oEl.style.right='';oEl.style.left=iLeft+'px';oOffset.left=iLeft;oEl.zpDragPrevLeft=iLeft;}else{oOffset.left=oOffset.prevLeft;}}
if(!oEl.zpDragH){var iTop=oEl.zpDragTop+oPos.pageY-oEl.zpDragPageY;if(oEl.zpDragLimTop<=iTop&&oEl.zpDragLimBot>=iTop){oEl.style.bottom='';oEl.style.top=iTop+'px';oOffset.top=iTop;oEl.zpDragPrevTop=iTop;}else{oOffset.top=oOffset.prevTop;}}
Zapatec.EventDriven.fireEvent('dragMove',oOffset);return Zapatec.Utils.stopEvent(oEv);};Zapatec.Drag.end=function(oEv){oEv||(oEv=window.event);if(!Zapatec.Drag.currentId){return Zapatec.Utils.stopEvent(oEv);}
var oEl=document.getElementById(Zapatec.Drag.currentId);if(!(oEl&&oEl.zpDrag)){return Zapatec.Utils.stopEvent(oEv);}
Zapatec.Utils.removeEvent(document,'mousemove',Zapatec.Drag.move);
Zapatec.Utils.removeEvent(document,'mouseup',Zapatec.Drag.end);
var oOffset={id:Zapatec.Drag.currentId,startLeft:oEl.zpDragLeft,startTop:oEl.zpDragTop,left:oEl.zpDragPrevLeft,top:oEl.zpDragPrevTop};
Zapatec.Drag.currentId=null;oEl.zpDrag=null;
oEl.zpDragPageX=null;
oEl.zpDragPageY=null;
oEl.zpDragLeft=null;
oEl.zpDragTop=null;
oEl.zpDragPrevLeft=null;
oEl.zpDragPrevTop=null;
oEl.zpDragV=null;
oEl.zpDragH=null;
oEl.zpDragLimTop=null;
oEl.zpDragLimBot=null;
oEl.zpDragLimLft=null;
oEl.zpDragLimRgh=null;
Zapatec.EventDriven.fireEvent('dragEnd',oOffset);
return Zapatec.Utils.stopEvent(oEv);
};
