﻿/* Copyright (c) 2006 Yahoo! Inc. All rights reserved. */var YAHOO=window.YAHOO||{};YAHOO.namespace=function(_1){if(!_1||!_1.length){return null;}var _2=_1.split(".");var _3=YAHOO;for(var i=(_2[0]=="YAHOO")?1:0;i<_2.length;++i){_3[_2[i]]=_3[_2[i]]||{};_3=_3[_2[i]];}return _3;};YAHOO.namespace("util");YAHOO.namespace("widget");YAHOO.namespace("example");
/* Copyright (c) 2006, Yahoo! Inc. All rights reserved. */
YAHOO.util.Dom=new function(){this.get=function(el){if(typeof el=='string'){el=document.getElementById(el);}
return el;};this.getStyle=function(el,property){var value=null;var dv=document.defaultView;el=this.get(el);if(property=='opacity'&&el.filters){value=1;try{value=el.filters.item('DXImageTransform.Microsoft.Alpha').opacity/100;}catch(e){try{value=el.filters.item('alpha').opacity/100;}catch(e){}}}
else if(el.style[property]){value=el.style[property];}
else if(el.currentStyle&&el.currentStyle[property]){value=el.currentStyle[property];}
else if(dv&&dv.getComputedStyle)
{var converted='';for(i=0,len=property.length;i<len;++i){if(property.charAt(i)==property.charAt(i).toUpperCase()){converted=converted+'-'+property.charAt(i).toLowerCase();}else{converted=converted+property.charAt(i);}}
if(dv.getComputedStyle(el,'').getPropertyValue(converted)){value=dv.getComputedStyle(el,'').getPropertyValue(converted);}}
return value;};this.setStyle=function(el,property,val){el=this.get(el);switch(property){case'opacity':if(el.filters){el.style.filter='alpha(opacity='+val*100+')';if(!el.currentStyle.hasLayout){el.style.zoom=1;}}else{el.style.opacity=val;el.style['-moz-opacity']=val;el.style['-khtml-opacity']=val;}
break;default:el.style[property]=val;}};this.getXY=function(el){el=this.get(el);if(el.parentNode===null||this.getStyle(el,'display')=='none'){return false;}
var parent=null;var pos=[];var box;if(el.getBoundingClientRect){box=el.getBoundingClientRect();var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;var scrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;return[box.left+scrollLeft,box.top+scrollTop];}
else if(document.getBoxObjectFor){box=document.getBoxObjectFor(el);pos=[box.x,box.y];}
else{pos=[el.offsetLeft,el.offsetTop];parent=el.offsetParent;if(parent!=el){while(parent){pos[0]+=parent.offsetLeft;pos[1]+=parent.offsetTop;parent=parent.offsetParent;}}
var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('opera')!=-1||(ua.indexOf('safari')!=-1&&this.getStyle(el,'position')=='absolute')){pos[0]-=document.body.offsetLeft;pos[1]-=document.body.offsetTop;}}
if(el.parentNode){parent=el.parentNode;}
else{parent=null;}
while(parent&&parent.tagName!='BODY'&&parent.tagName!='HTML'){pos[0]-=parent.scrollLeft;pos[1]-=parent.scrollTop;if(parent.parentNode){parent=parent.parentNode;}
else{parent=null;}}
return pos;};this.getX=function(el){return this.getXY(el)[0];};this.getY=function(el){return this.getXY(el)[1];};this.setXY=function(el,pos,noRetry){el=this.get(el);var pageXY=YAHOO.util.Dom.getXY(el);if(pageXY===false){return false;}
if(this.getStyle(el,'position')=='static'){this.setStyle(el,'position','relative');}
var delta=[parseInt(YAHOO.util.Dom.getStyle(el,'left'),10),parseInt(YAHOO.util.Dom.getStyle(el,'top'),10)];if(isNaN(delta[0])){delta[0]=0;}
if(isNaN(delta[1])){delta[1]=0;}
if(pos[0]!==null){el.style.left=pos[0]-pageXY[0]+delta[0]+'px';}
if(pos[1]!==null){el.style.top=pos[1]-pageXY[1]+delta[1]+'px';}
var newXY=this.getXY(el);if(!noRetry&&(newXY[0]!=pos[0]||newXY[1]!=pos[1])){this.setXY(el,pos,true);}
return true;};this.setX=function(el,x){return this.setXY(el,[x,null]);};this.setY=function(el,y){return this.setXY(el,[null,y]);};this.getRegion=function(el){el=this.get(el);return new YAHOO.util.Region.getRegion(el);};this.getClientWidth=function(){return(document.documentElement.offsetWidth||document.body.offsetWidth);};this.getClientHeight=function(){return(self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight);};this.getElementsByClassName=function(className,tag,root){root=root||document;tag=tag||'*';var nodes=[];var elements=root.getElementsByTagName(tag);var re=new RegExp('\\b'+className+'\\b');for(var i=0,len=elements.length;i<len;++i){if(re.test(elements[i]['className'])){nodes[nodes.length]=elements[i];}}
return nodes;};this.hasClass=function(el,className){el=this.get(el);var re=new RegExp('\\b'+className+'\\b');return re.test(el['className']);};this.addClass=function(el,className){if(this.hasClass(el,className)){return false;}
el=this.get(el);el['className']=[el['className'],className].join(' ');return true;};this.removeClass=function(el,className){if(!this.hasClass(el,className)){return false;}
el=this.get(el);var re=new RegExp('\\b'+className+'\\b');var c=el['className'];el['className']=c.replace(re,'');return true;};};YAHOO.util.Region=function(t,r,b,l){this.top=t;this.right=r;this.bottom=b;this.left=l;};YAHOO.util.Region.prototype.contains=function(region){return(region.left>=this.left&&region.right<=this.right&&region.top>=this.top&&region.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(region){var t=Math.max(this.top,region.top);var r=Math.min(this.right,region.right);var b=Math.min(this.bottom,region.bottom);var l=Math.max(this.left,region.left);if(b>=t&&r>=l){return new YAHOO.util.Region(t,r,b,l);}else{return null;}};YAHOO.util.Region.prototype.union=function(region){var t=Math.min(this.top,region.top);var r=Math.max(this.right,region.right);var b=Math.max(this.bottom,region.bottom);var l=Math.min(this.left,region.left);return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"  t: "+this.top+", r: "+this.right+", b: "+this.bottom+", l: "+this.left+"}");};YAHOO.util.Region.getRegion=function(el){var p=YAHOO.util.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Point=function(x,y){this.x=x;this.y=y;this.top=y;this.right=x;this.bottom=y;this.left=x;};YAHOO.util.Point.prototype=new YAHOO.util.Region();
/* Copyright (c) 2006, Yahoo! Inc. All rights reserved. */ YAHOO.util.Anim=function(el,attributes,duration,method){if(el){this.init(el,attributes,duration,method);}};YAHOO.util.Anim.prototype={doMethod:function(attribute,start,end){return this.method(this.currentFrame,start,end-start,this.totalFrames);},setAttribute:function(attribute,val,unit){YAHOO.util.Dom.setStyle(this.getEl(),attribute,val+unit);},getAttribute:function(attribute){return parseFloat(YAHOO.util.Dom.getStyle(this.getEl(),attribute));},defaultUnit:'px',defaultUnits:{opacity:' '},init:function(el,attributes,duration,method){var isAnimated=false;var startTime=null;var endTime=null;var actualFrames=0;var defaultValues={};el=YAHOO.util.Dom.get(el);this.attributes=attributes||{};this.duration=duration||1;this.method=method||YAHOO.util.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=YAHOO.util.AnimMgr.fps;this.getEl=function(){return el;};this.setDefault=function(attribute,val){if(val.constructor!=Array&&(val=='auto'||isNaN(val))){switch(attribute){case'width':val=el.clientWidth||el.offsetWidth;break;case'height':val=el.clientHeight||el.offsetHeight;break;case'left':if(YAHOO.util.Dom.getStyle(el,'position')=='absolute'){val=el.offsetLeft;}else{val=0;}break;case'top':if(YAHOO.util.Dom.getStyle(el,'position')=='absolute'){val=el.offsetTop;}else{val=0;}break;default:val=0;}}defaultValues[attribute]=val;};this.getDefault=function(attribute){return defaultValues[attribute];};this.isAnimated=function(){return isAnimated;};this.getStartTime=function(){return startTime;};this.animate=function(){if(this.isAnimated()){return false;}this.onStart.fire();this._onStart.fire();this.totalFrames=(this.useSeconds)?Math.ceil(YAHOO.util.AnimMgr.fps*this.duration):this.duration;YAHOO.util.AnimMgr.registerElement(this);var attributes=this.attributes;var el=this.getEl();var val;for(var attribute in attributes){val=this.getAttribute(attribute);this.setDefault(attribute,val);}isAnimated=true;actualFrames=0;startTime=new Date();};this.stop=function(){if(!this.isAnimated()){return false;}this.currentFrame=0;endTime=new Date();var data={time:endTime,duration:endTime-startTime,frames:actualFrames,fps:actualFrames/this.duration};isAnimated=false;actualFrames=0;this.onComplete.fire(data);};var onTween=function(){var start;var end=null;var val;var unit;var attributes=this['attributes'];for(var attribute in attributes){unit=attributes[attribute]['unit']||this.defaultUnits[attribute]||this.defaultUnit;if(typeof attributes[attribute]['from']!='undefined'){start=attributes[attribute]['from'];}else{start=this.getDefault(attribute);}if(typeof attributes[attribute]['to']!='undefined'){end=attributes[attribute]['to'];}else if(typeof attributes[attribute]['by']!='undefined'){if(start.constructor==Array){end=[];for(var i=0,len=start.length;i<len;++i){end[i]=start[i]+attributes[attribute]['by'][i];}}else{end=start+attributes[attribute]['by'];}}if(end!==null&&typeof end!='undefined'){val=this.doMethod(attribute,start,end);if((attribute=='width'||attribute=='height'||attribute=='opacity')&&val<0){val=0;}this.setAttribute(attribute,val,unit);}}actualFrames+=1;};this._onStart=new YAHOO.util.CustomEvent('_onStart',this);this.onStart=new YAHOO.util.CustomEvent('start',this);this.onTween=new YAHOO.util.CustomEvent('tween',this);this._onTween=new YAHOO.util.CustomEvent('_tween',this);this.onComplete=new YAHOO.util.CustomEvent('complete',this);this._onTween.subscribe(onTween);}};YAHOO.util.AnimMgr=new function(){var thread=null;var queue=[];var tweenCount=0;this.fps=200;this.delay=1;this.registerElement=function(tween){if(tween.isAnimated()){return false;}queue[queue.length]=tween;tweenCount+=1;this.start();};this.start=function(){if(thread===null){thread=setInterval(this.run,this.delay);}};this.stop=function(tween){if(!tween){clearInterval(thread);for(var i=0,len=queue.length;i<len;++i){if(queue[i].isAnimated()){queue[i].stop();}}queue=[];thread=null;tweenCount=0;}else{tween.stop();tweenCount-=1;if(tweenCount<=0){this.stop();}}};this.run=function(){for(var i=0,len=queue.length;i<len;++i){var tween=queue[i];if(!tween||!tween.isAnimated()){continue;}if(tween.currentFrame<tween.totalFrames||tween.totalFrames===null){tween.currentFrame+=1;if(tween.useSeconds){correctFrame(tween);}tween.onTween.fire();tween._onTween.fire();}else{YAHOO.util.AnimMgr.stop(tween);}}};var correctFrame=function(tween){var frames=tween.totalFrames;var frame=tween.currentFrame;var expected=(tween.currentFrame*tween.duration*1000/tween.totalFrames);var elapsed=(new Date()-tween.getStartTime());var tweak=0;if(elapsed<tween.duration*1000){tweak=Math.round((elapsed/expected-1)*tween.currentFrame);}else{tweak=frames-(frame+1);}if(tweak>0&&isFinite(tweak)){if(tween.currentFrame+tweak>=frames){tweak=frames-(frame+1);}tween.currentFrame+=tweak;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(points,t){var n=points.length;var tmp=[];for(var i=0;i<n;++i){tmp[i]=[points[i][0],points[i][1]];}for(var j=1;j<n;++j){for(i=0;i<n-j;++i){tmp[i][0]=(1-t)*tmp[i][0]+t*tmp[parseInt(i+1,10)][0];tmp[i][1]=(1-t)*tmp[i][1]+t*tmp[parseInt(i+1,10)][1];}}return[tmp[0][0],tmp[0][1]];};};YAHOO.util.Easing=new function(){this.easeNone=function(t,b,c,d){return b+c*(t/=d);};this.easeIn=function(t,b,c,d){return b+c*((t/=d)*t*t);};this.easeOut=function(t,b,c,d){var ts=(t/=d)*t;var tc=ts*t;return b+c*(tc+-3*ts+3*t);};this.easeBoth=function(t,b,c,d){var ts=(t/=d)*t;var tc=ts*t;return b+c*(-2*tc+3*ts);};this.backIn=function(t,b,c,d){var ts=(t/=d)*t;var tc=ts*t;return b+c*(-3.4005*tc*ts+10.2*ts*ts+-6.2*tc+0.4*ts);};this.backOut=function(t,b,c,d){var ts=(t/=d)*t;var tc=ts*t;return b+c*(8.292*tc*ts+-21.88*ts*ts+22.08*tc+-12.69*ts+5.1975*t);};this.backBoth=function(t,b,c,d){var ts=(t/=d)*t;var tc=ts*t;return b+c*(0.402*tc*ts+-2.1525*ts*ts+-3.2*tc+8*ts+-2.05*t);};};YAHOO.util.Motion=function(el,attributes,duration,method){if(el){this.initMotion(el,attributes,duration,method);}};YAHOO.util.Motion.prototype=new YAHOO.util.Anim();YAHOO.util.Motion.prototype.defaultUnits.points='px';YAHOO.util.Motion.prototype.doMethod=function(attribute,start,end){var val=null;if(attribute=='points'){var translatedPoints=this.getTranslatedPoints();var t=this.method(this.currentFrame,0,100,this.totalFrames)/100;if(translatedPoints){val=YAHOO.util.Bezier.getPosition(translatedPoints,t);}}else{val=this.method(this.currentFrame,start,end-start,this.totalFrames);}return val;};YAHOO.util.Motion.prototype.getAttribute=function(attribute){var val=null;if(attribute=='points'){val=[this.getAttribute('left'),this.getAttribute('top')];if(isNaN(val[0])){val[0]=0;}if(isNaN(val[1])){val[1]=0;}}else{val=parseFloat(YAHOO.util.Dom.getStyle(this.getEl(),attribute));}return val;};YAHOO.util.Motion.prototype.setAttribute=function(attribute,val,unit){if(attribute=='points'){YAHOO.util.Dom.setStyle(this.getEl(),'left',val[0]+unit);YAHOO.util.Dom.setStyle(this.getEl(),'top',val[1]+unit);}else{YAHOO.util.Dom.setStyle(this.getEl(),attribute,val+unit);}};YAHOO.util.Motion.prototype.initMotion=function(el,attributes,duration,method){YAHOO.util.Anim.call(this,el,attributes,duration,method);attributes=attributes||{};attributes.points=attributes.points||{};attributes.points.control=attributes.points.control||[];this.attributes=attributes;var start;var end=null;var translatedPoints=null;this.getTranslatedPoints=function(){return translatedPoints;};var translateValues=function(val,self){var pageXY=YAHOO.util.Dom.getXY(self.getEl());val=[val[0]-pageXY[0]+start[0],val[1]-pageXY[1]+start[1]];return val;};var onStart=function(){start=this.getAttribute('points');var attributes=this.attributes;var control=attributes['points']['control']||[];if(control.length>0&&control[0].constructor!=Array){control=[control];}if(YAHOO.util.Dom.getStyle(this.getEl(),'position')=='static'){YAHOO.util.Dom.setStyle(this.getEl(),'position','relative');}if(typeof attributes['points']['from']!='undefined'){YAHOO.util.Dom.setXY(this.getEl(),attributes['points']['from']);start=this.getAttribute('points');}else if((start[0]===0||start[1]===0)){YAHOO.util.Dom.setXY(this.getEl(),YAHOO.util.Dom.getXY(this.getEl()));start=this.getAttribute('points');}var i,len;if(typeof attributes['points']['to']!='undefined'){end=translateValues(attributes['points']['to'],this);for(i=0,len=control.length;i<len;++i){control[i]=translateValues(control[i],this);}}else if(typeof attributes['points']['by']!='undefined'){end=[start[0]+attributes['points']['by'][0],start[1]+attributes['points']['by'][1]];for(i=0,len=control.length;i<len;++i){control[i]=[start[0]+control[i][0],start[1]+control[i][1]];}}if(end){translatedPoints=[start];if(control.length>0){translatedPoints=translatedPoints.concat(control);}translatedPoints[translatedPoints.length]=end;}};this._onStart.subscribe(onStart);};YAHOO.util.Scroll=function(el,attributes,duration,method){if(el){YAHOO.util.Anim.call(this,el,attributes,duration,method);}};YAHOO.util.Scroll.prototype=new YAHOO.util.Anim();YAHOO.util.Scroll.prototype.defaultUnits.scroll=' ';YAHOO.util.Scroll.prototype.doMethod=function(attribute,start,end){var val=null;if(attribute=='scroll'){val=[this.method(this.currentFrame,start[0],end[0]-start[0],this.totalFrames),this.method(this.currentFrame,start[1],end[1]-start[1],this.totalFrames)];}else{val=this.method(this.currentFrame,start,end-start,this.totalFrames);}return val;};YAHOO.util.Scroll.prototype.getAttribute=function(attribute){var val=null;var el=this.getEl();if(attribute=='scroll'){val=[el.scrollLeft,el.scrollTop];}else{val=parseFloat(YAHOO.util.Dom.getStyle(el,attribute));}return val;};YAHOO.util.Scroll.prototype.setAttribute=function(attribute,val,unit){var el=this.getEl();if(attribute=='scroll'){el.scrollLeft=val[0];el.scrollTop=val[1];}else{YAHOO.util.Dom.setStyle(el,attribute,val+unit);}};
/* Copyright (c) 2006 Yahoo! Inc. All rights reserved. */
YAHOO.util.CustomEvent=function(_1,_2){
	this.type=_1;this.scope=_2||window;this.subscribers=[];
	if(YAHOO.util["Event"]){YAHOO.util.Event.regCE(this);}};
	YAHOO.util.CustomEvent.prototype={subscribe:function(fn,_4,_5){
		this.subscribers.push(new YAHOO.util.Subscriber(fn,_4,_5));},unsubscribe:function(fn,_6){var _7=false;for(var i=0;i<this.subscribers.length;++i){var s=this.subscribers[i];if(s&&s.contains(fn,_6)){this._delete(i);_7=true;}}return _7;},fire:function(){for(var i=0;i<this.subscribers.length;++i){var s=this.subscribers[i];if(s){var _10=(s.override)?s.obj:this.scope;s.fn.call(_10,this.type,arguments,s.obj);}}},unsubscribeAll:function(){for(var i=0;i<this.subscribers.length;++i){this._delete(i);}},_delete:function(_11){var s=this.subscribers[_11];if(s){delete s.fn;delete s.obj;}delete this.subscribers[_11];}};YAHOO.util.Subscriber=function(fn,obj,_13){this.fn=fn;this.obj=obj||null;this.override=(_13);};YAHOO.util.Subscriber.prototype.contains=function(fn,obj){return (this.fn==fn&&this.obj==obj);};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var _14=false;var _15=[];var _16=[];var _17=[];var _18=[];var _19=[];var _20=[];var _21=0;var _22=[];return {POLL_RETRYS:200,POLL_INTERVAL:50,EL:0,TYPE:1,FN:2,WFN:3,SCOPE:3,ADJ_SCOPE:4,isSafari:(/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),isIE:(!this.isSafari&&!navigator.userAgent.match(/opera/gi)&&navigator.userAgent.match(/msie/gi)),addDelayedListener:function(el,_24,fn,_25,_26){_16[_16.length]=[el,_24,fn,_25,_26];if(_14){_21=this.POLL_RETRYS;this.startTimeout(0);}},startTimeout:function(_27){var i=(_27||_27===0)?_27:this.POLL_INTERVAL;this.timeout=setTimeout("YAHOO.util.Event._tryPreloadAttach()",i);},onAvailable:function(_28,_29,_30,_31){_22.push({id:_28,fn:_29,obj:_30,override:_31});_21=this.POLL_RETRYS;this.startTimeout(0);},addListener:function(el,_32,fn,_33,_34){if(this._isValidCollection(el)){var ok=true;for(var i=0;i<el.length;++i){ok=(this.on(el[i],_32,fn,_33,_34)&&ok);}return ok;}else{if(typeof el=="string"){var oEl=this.getEl(el);if(_14&&oEl){el=oEl;}else{this.addDelayedListener(el,_32,fn,_33,_34);return true;}}}if(!el){return false;}if("unload"==_32&&_33!==this){_17[_17.length]=[el,_32,fn,_33,_34];return true;}var _37=(_34)?_33:el;var _38=function(e){return fn.call(_37,YAHOO.util.Event.getEvent(e),_33);};var li=[el,_32,fn,_38,_37];var _41=_15.length;_15[_41]=li;if(this.useLegacyEvent(el,_32)){var _42=this.getLegacyIndex(el,_32);if(_42==-1){_42=_19.length;_19[_42]=[el,_32,el["on"+_32]];_20[_42]=[];el["on"+_32]=function(e){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(e),_42);};}_20[_42].push(_41);}else{if(el.addEventListener){el.addEventListener(_32,_38,false);}else{if(el.attachEvent){el.attachEvent("on"+_32,_38);}}}return true;},fireLegacyEvent:function(e,_43){var ok=true;var le=_20[_43];for(i=0;i<le.length;++i){var _45=le[i];if(_45){var li=_15[_45];if(li&&li[this.WFN]){var _46=li[this.ADJ_SCOPE];var ret=li[this.WFN].call(_46,e);ok=(ok&&ret);}else{delete le[i];}}}return ok;},getLegacyIndex:function(el,_48){for(var i=0;i<_19.length;++i){var le=_19[i];if(le&&le[0]==el&&le[1]==_48){return i;}}return -1;},useLegacyEvent:function(el,_49){return ((!el.addEventListener&&!el.attachEvent)||(_49=="click"&&this.isSafari));},removeListener:function(el,_50,fn){if(typeof el=="string"){el=this.getEl(el);}else{if(this._isValidCollection(el)){var ok=true;for(var i=0;i<el.length;++i){ok=(this.removeListener(el[i],_50,fn)&&ok);}return ok;}}var _51=null;var _52=this._getCacheIndex(el,_50,fn);if(_52>=0){_51=_15[_52];}if(!el||!_51){return false;}if(el.removeEventListener){el.removeEventListener(_50,_51[this.WFN],false);}else{if(el.detachEvent){el.detachEvent("on"+_50,_51[this.WFN]);}}delete _15[_52][this.WFN];delete _15[_52][this.FN];delete _15[_52];return true;},getTarget:function(ev,_54){var t=ev.target||ev.srcElement;if(_54&&t&&"#text"==t.nodeName){return t.parentNode;}else{return t;}},getPageX:function(ev){var x=ev.pageX;if(!x&&0!==x){x=ev.clientX||0;if(this.isIE){x+=this._getScrollLeft();}}return x;},getPageY:function(ev){var y=ev.pageY;if(!y&&0!==y){y=ev.clientY||0;if(this.isIE){y+=this._getScrollTop();}}return y;},getXY:function(ev){return [this.getPageX(ev),this.getPageY(ev)];},getRelatedTarget:function(ev){var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement;}else{if(ev.type=="mouseover"){t=ev.fromElement;}}}return t;},getTime:function(ev){if(!ev.time){var t=new Date().getTime();try{ev.time=t;}catch(e){return t;}}return ev.time;},stopEvent:function(ev){this.stopPropagation(ev);this.preventDefault(ev);},stopPropagation:function(ev){if(ev.stopPropagation){ev.stopPropagation();}else{ev.cancelBubble=true;}},preventDefault:function(ev){if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}},getEvent:function(e){var ev=e||window.event;if(!ev){var c=this.getEvent.caller;while(c){ev=c.arguments[0];if(ev&&Event==ev.constructor){break;}c=c.caller;}}return ev;},getCharCode:function(ev){return ev.charCode||(ev.type=="keypress")?ev.keyCode:0;},_getCacheIndex:function(el,_59,fn){for(var i=0;i<_15.length;++i){var li=_15[i];if(li&&li[this.FN]==fn&&li[this.EL]==el&&li[this.TYPE]==_59){return i;}}return -1;},_isValidCollection:function(o){return (o&&o.length&&typeof o!="string"&&!o.tagName&&!o.alert&&typeof o[0]!="undefined");},elCache:{},getEl:function(id){return document.getElementById(id);},clearCache:function(){for(i in this.elCache){delete this.elCache[i];}},regCE:function(ce){_18.push(ce);},_load:function(e){_14=true;},_tryPreloadAttach:function(){if(this.locked){return false;}this.locked=true;var _63=!_14;if(!_63){_63=(_21>0);}var _64=[];for(var i=0;i<_16.length;++i){var d=_16[i];if(d){var el=this.getEl(d[this.EL]);if(el){this.on(el,d[this.TYPE],d[this.FN],d[this.SCOPE],d[this.ADJ_SCOPE]);delete _16[i];}else{_64.push(d);}}}_16=_64;notAvail=[];for(i=0;i<_22.length;++i){var _66=_22[i];if(_66){el=this.getEl(_66.id);if(el){var _67=(_66.override)?_66.obj:el;_66.fn.call(_67,_66.obj);delete _22[i];}else{notAvail.push(_66);}}}_21=(_64.length===0&&notAvail.length===0)?0:_21-1;if(_63){this.startTimeout();}this.locked=false;},_unload:function(e,me){for(var i=0;i<_17.length;++i){var l=_17[i];if(l){var _70=(l[this.ADJ_SCOPE])?l[this.SCOPE]:window;l[this.FN].call(_70,this.getEvent(e),l[this.SCOPE]);}}if(_15&&_15.length>0){for(i=0;i<_15.length;++i){l=_15[i];if(l){this.removeListener(l[this.EL],l[this.TYPE],l[this.FN]);}}this.clearCache();}for(i=0;i<_18.length;++i){_18[i].unsubscribeAll();delete _18[i];}for(i=0;i<_19.length;++i){delete _19[i][0];delete _19[i];}},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var dd=document.documentElement;db=document.body;if(dd&&dd.scrollTop){return [dd.scrollTop,dd.scrollLeft];}else{if(db){return [db.scrollTop,db.scrollLeft];}else{return [0,0];}}}};}();YAHOO.util.Event.on=YAHOO.util.Event.addListener;if(document&&document.body){YAHOO.util.Event._load();}else{YAHOO.util.Event.on(window,"load",YAHOO.util.Event._load,YAHOO.util.Event,true);}YAHOO.util.Event.on(window,"unload",YAHOO.util.Event._unload,YAHOO.util.Event,true);YAHOO.util.Event._tryPreloadAttach();}
	
	/*
		Purpose: Scroll through panes by either autoscroll, arrow buttons or pane indicator buttons
		Date: 3/19/06
	*/
	
	 // ******************************** Setup Variables ********************************
	 var ie4 = (document.all && !document.getElementById &&!window.opera) ? true:false;
	 var ie5 = (document.all && document.getElementById &&!window.opera) ? true:false;
	 var ns6 = (!document.all && document.getElementById &&!window.opera) ? true:false;
	 var viewerId = document.getElementById("mascara");		// block that displays current pane
	 var scrollContainer = "contenedor";									// wrapper that contains all panes
	 var indiContainer = "ynindcont";									// wrapper for indicator buttons
	 var currentPane = 1; 												// current pane viewed (this syncs up the arrow button and indicator button on/off states
	 var currentSL = 0;													// set current scrollLeft of div
	 var autoScroll;													// create autoScroll global var
	 var autoScrollOn = true; 											// set autoScroll to true upon load
	 
	 /* Setup ID/Class Names */
	 var sclBtnLft = "scrollLeft";										// name/id of left scroll button
	 var sclBtnRgt = "scrollRight";										// name/id of right scroll button	
	 var sclBtnClassOff = "buttonOff";									// scroll button class off												
	 var sclBtnClassOn  = "buttonOn";									// scroll button class on	
	 var indicatorClassOff = "off";										// indicator button class off
	 var indicatorClassOn = "on";										// indicator button class on

	 var w = viewerId.offsetWidth;										// set width								
	 var delayTime = 5000;												// Cambiar aquí el tiempo entre cada foto. 1000 = 1 second	 
	 
	 /*
	 // Preload scroll button images
	  if (document.images)
	   {
	     var pic1on = new Image(29,108);
	     pic1on.src = "img/flechaizqover.gif";  
		 var pic2on = new Image(29,108);
	     pic2on.src = "img/flechaderover.gif";
	   }	 
	 */
	
	// ********************* Count DIVs and assign a Global Value of Panes ******************
	var gettabs = document.getElementById(scrollContainer);
	var getdiv = gettabs.getElementsByTagName("div"); 			
	
	var countPanes = 0;
	for (var x=0; x < getdiv.length; x++) {
		var classkey = getdiv[x].getAttribute("name");					// find the name attribute	
		
		if ((x === 0) && (classkey == "container")) { 					// gets the first pane in the container for duplication
			var getFirst = getdiv[x]; 
		}
			
        if (classkey == "container") {									// count DIVs where name = "container"
  	    	var idstring = getdiv[x].id;
			countPanes++;  
      	 }				
	}
	var tps_max = countPanes;											// max panes equals number of divs in container
    var max_width = w * tps_max;										// var to stop scrolling past last pane	
	//var max_panes = idstring.charAt(idstring.length-1);
	
	
	// ************************  Duplicate 1st Pane and append to end of ynscroll ****************************
	/*var duplicate = getFirst.cloneNode(true);
	duplicate.removeAttribute("id");
	duplicate.setAttribute("name", "duplicate");
	document.getElementById(scrollContainer).appendChild(duplicate);*/
	
	
	// ******************************** Reset Ticker and Create Event Listeners ********************************
	   
	viewerId.scrollLeft = '0px';   
	//animate(0);															// Reset Ticker back to first pane	  	
																		// If the total number of panes is over 1, then initialize autoStart
	//if (tps_max != 1) {YAHOO.util.Event.addListener(window, 'load', autoStart);	}			
	//YAHOO.util.Event.addListener(window, 'load', getHooks);				/* Wait until page loads to intialize scroll 
																			//buttons and indicator hooks */
	if (tps_max != 1) {YAHOO.util.Event.onAvailable(scrollContainer, autoStart, this);	}
	YAHOO.util.Event.onAvailable(scrollContainer, getHooks, this);		
	  
	 // ****************** Attach Click Hooks for Arrowa and Indicators ******************
	 function getHooks() {	
		 																// Attach width and direction to move, decrement/increment 
																		// the pane state
		  if (document.getElementById(sclBtnLft) && document.getElementById(sclBtnRgt)) {
			  var getLeft = document.getElementById(sclBtnLft);
			  getLeft.s = -w;
			  getLeft.d = "l";
			  getLeft.c = -1;
			  YAHOO.util.Event.addListener(getLeft, 'click', doAnimation, getLeft);
	
			  var getRight = document.getElementById(sclBtnRgt);
			  getRight.s = w;
			  getRight.d = "r";
			  getRight.c = 1;
			  YAHOO.util.Event.addListener(getRight, 'click', doAnimation, getRight);			  
		  }

		
		  // ******************  Setup Indicator Button Links *****************
		  																// loop through anchor tags, attach ID, width to move
																		// then wait for onclick event
		  var x = 0;
		  var getcont = document.getElementById(indiContainer);
		  var getAnchor = getcont.getElementsByTagName('a'); 
		  for (var n = 0; n < getAnchor.length; n++) {		  	
		  	    getAnchor[n].indi = getAnchor[n].id;
				getAnchor[n].num = x * w;  
				YAHOO.util.Event.addListener(getAnchor[n], 'click', setupIndicators, getAnchor[n]);					
				x++;
		  }
		  
	 }
	 
	// ******************************** Setup Indicators ********************************
																		// After indicator anchor is clicked, move scroller to
																		// width, change indicator state and stop autoScroll
	  function setupIndicators(e,obj) {
	   
	   if (tps_max != 1) {
		   // Start Animation
		   animate(obj.num);
		   // Setup Indicator
		   setIndicatorState(obj.indi);
		   // Clear autoScroll
	 	   stopInterval(); 
	   }
		
	   YAHOO.util.Event.preventDefault(e);	
	   return false;
	  }
 
	
	 // ******************************** Set Indicator State ******************************** 
	 function setIndicatorState(id) {
																		// If current pane is not 0 or over max panes
		 if ((currentPane >= 1) && (currentPane <= tps_max)) {
			var count =  1;
		 
		 																// Turn off indicator buttons state
		    while (count <= tps_max) {
			   var setIndiOff = document.getElementById(count);
			   setIndiOff.className = indicatorClassOff;
			   setIndiOff.setAttribute("class", indicatorClassOff);
			   count++;
		    }
																		// Turn on the "clicked" indicator button state
		    var setIndiOn = document.getElementById(id);
		    setIndiOn.className = indicatorClassOn;
		    setIndiOn.setAttribute("class", indicatorClassOn);
			
																		// Change Indicator Button from Scroll Buttons
			currentPane = id; 											// set currentPane to current indicator button
			currentSL = w * (id-1); 									// set currentSL to indicator button
		
																		// Check indicator ID and see which on/off state
																		// applies for the scroll buttons
			var check = (currentPane == 1)  ? changeButtons('f') : changeButtons('m');
			if (currentPane > 1) { changeButtons('m'); }
			if (currentPane == tps_max) { changeButtons('l'); }
			
		 } else if (currentPane < 1) { currentPane = 1;				// if currentPane is less than 1, make it 1
		 } else if ((currentPane > tps_max) && (autoScrollOn === false)) { currentPane = tps_max; }
																		// if currentPane is greater than max pane
																		// and autoScroll is off, make currentPane = to max
	 }
	
	
	// ******************************** Change Arrows ********************************
	   
	function changeButtons(m) {											// Change left and right scroll buttons according
		switch (m) {													//	to given parameter.
			case "f":
				bgPos(sclBtnLft,"off");									//	f (first): turns off left / turns on right buttons
				bgPos(sclBtnRgt,"on");									//	m (middle): turns on both scroll buttons 
			break;														//	l (last): turns on left / turns off right buttons
			case "m":
				bgPos(sclBtnLft,"on");									//	defaults to first scroll buttons
				bgPos(sclBtnRgt,"on");
			break;
			case "l":
				bgPos(sclBtnLft,"on");	
				bgPos(sclBtnRgt,"off");
			break;
			default: 
				bgPos(sclBtnLft,"off");
				bgPos(sclBtnRgt,"on");	
		}
	}
	
	 // ******************************** Indicator Image ********************************
	 function bgPos(id,state) {											// Takes the ID of the scroller button and 
		var button = document.getElementById(id);						// the state and changes the style either off or on	
		if (state == "off") { 
			button.className = sclBtnClassOff;
			button.setAttribute("class", sclBtnClassOff); 
		} else if  (state == "on") {
			button.className = sclBtnClassOn;
			button.setAttribute("class", sclBtnClassOn);
		}
	 }		
	   
	  
	 // ******************************** Animate ********************************
	 function animate(s,d) {
	 	//alert("s="+s);
		//alert("currentSL="+currentSL);
																		// Move according to which scroll button clicked
																		// Increment/decrement currentPane tracker and
																		// set indicator state
	   	  if (d == "l" && currentSL < 0) { 
		  	currentSL = 0;
			currentPane--; 
			setIndicatorState(currentPane);			
		  } else if (d == "l" && currentSL > 0) {
		    var move = s + currentSL; 
			currentSL = move; 
			currentPane--; 
			setIndicatorState(currentPane);
		  } else if (d == "r") { 
		  	move = s + currentSL; 
			currentSL = move; 
			currentPane++; 
			setIndicatorState(currentPane);
		  } else if (!d) { move = s; }								// If no direction, then was click from indi button
		  																// move directly to specified amount
	 		
	  	  var attributes = {
		  	scroll: { to: [move, 0] }									// Scroll the container
	   	  };
	   	  var anim = new YAHOO.util.Scroll(viewerId, attributes, 0.5, YAHOO.util.Easing.easeOut);
		  																
		  if ((autoScrollOn === true) && (currentPane > tps_max)) {		// If Max pane reached and autoScroll is on
	        	stopInterval(autoScroll);								// wait for animation to complete then turn
				currentPane = 1;										// off autoScroll, reset currentPane to 1,
				anim.onComplete.subscribe(setToZero);					// set current indicator to the first one
	        	setIndicatorState("1");
		  }
		  anim.animate();			  
		  
	 	  return false;		
	 }
	 
  
 	 // ******************************** Reset Scroller to Zero ********************************	  
	 var setToZero = function() {
	      var el = this.getEl();
	      el.scrollLeft = 0;	
	 };
	  
	  
	 
	 // ******************************** Start Animation ********************************
	 function doAnimation(e,obj) {										// If scroll button clicked, run this function
		
		 var limit = obj.s * currentPane;	
		  
		  	  if (limit != max_width) {									// limit is not greater than the max width
		   	   // Start Animation										// run the animation and stop autoScroll
			   animate(obj.s,obj.d);
				
			   // Clear autoScroll
		 	   stopInterval(); 
		
		 }
		 YAHOO.util.Event.preventDefault(e);
		 return false;
	 }		  
	 
 
	// ********************************  Autostart ********************************
	function autoStart() {												// After page loads, start autoScroll function
		autoScroll = setInterval("animate(w,'r')",delayTime);	
	}		
	
	// ********************************  Stop Autostart ********************************
	function stopInterval() {											// if autoScrollOn is true, then turn off autoScroll
		if (autoScrollOn === true) {
			clearInterval(autoScroll);
			autoScrollOn = false;
		}
	}		