AE.namespace('AE.widget.userGuide');AE.widget.userGuide=function(){var k=this,config={},currentInx=0,currentEl=null;var l={autoStart:true,startAt:0,autoScroll:true,scrollOffset:[100,100],scrollTime:0.5};var m=[];var n={selfId:'',btnPreviousId:'',btnNextId:'',btnCloseId:'',direction:'',positionId:'',positionOffset:[0,0],needMask:false};k.guideStop=new YAHOO.util.CustomEvent("guideStop",k);k.onGuide=new YAHOO.util.CustomEvent("onGuide",k);k.init=function(a,b){m=o(a);config=YL.merge(l,b||{});YUE.on(window,'resize',s);if(config.autoStart)k.guideTo(config.startAt,true)};var o=function(a){var b=[];if(YL.isArray(a)){for(var i=0,j=a.length;i<j;i=i+1){if(YL.isObject(a[i])){b.push(YL.merge(n,a[i]));var c=b.length-1;k['onStep'+c]=new YAHOO.util.CustomEvent('onStep'+c,k)}}}else{if(YL.isObject(a)){b.push(YL.merge(n,a));k.onStep0=new YAHOO.util.CustomEvent('onStep0',k)}}return b};var p=function(a){if(YL.isNumber(a)){return a}for(var i=0,j=m.length;i<j;i=i+1){if(m[i].selfId==a){return i}}return parseInt(null)};var q=function(a,b,c){var d=YUD.getXY(b),direction=m[c].direction,_offset=m[c].positionOffset;var e=d[0],posT=d[1],offsetL=_offset[0],offsetT=_offset[1];if(!direction||!YL.isString(direction)||direction==''){direction='B'}switch(direction.toUpperCase()){case'T':e=e+0.5*parseInt(b.offsetWidth-a.offsetWidth)+offsetL;posT=posT+b.offsetHeight+offsetT;break;case'R':e=e-a.offsetWidth+offsetL;posT=posT+0.5*parseInt(b.offsetHeight-a.offsetHeight)+offsetT;break;case'B':e=e+0.5*parseInt(b.offsetWidth-a.offsetWidth)+offsetL;posT=posT-a.offsetHeight+offsetT;break;case'L':e=e+b.offsetWidth+offsetL;posT=posT+0.5*parseInt(b.offsetHeight-a.offsetHeight)+offsetT}return[e,posT]};var r=function(a){var b=a[0]-config.scrollOffset[0],scrollT=a[1]-config.scrollOffset[1];return[b,scrollT]};var s=function(){setTimeout(function(){if(!currentEl||!YL.isObject(currentEl)){return}var a=get(m[currentInx].positionId),newCoordinate=q(currentEl,a,currentInx);YUD.setXY(currentEl,newCoordinate)},150)};var t=function(a,b,c){var d=get('iframeMaskDebug'),ieVersion=YAHOO.env.ua.ie;if(ieVersion==0||ieVersion>6){return}if(YL.isObject(d)&&d.tagName.toLowerCase()=='iframe'){if(!b){d.style.display="none";return}if(!YL.isArray(c)){c=YUD.getXY(a)}d.style.display="";d.style.zIndex=YUD.getStyle(a,'zIndex')-1;d.style.width=a.offsetWidth+"px";d.style.height=a.offsetHeight+"px";YUD.setXY(d,c);return}else if(b){d=document.createElement("iframe");d.id='iframeMaskDebug';d.frameBorder=0;a.parentNode.appendChild(d);arguments.callee(a,b,c)}};k.guideTo=function(a,b){var c=p(a);if(isNaN(c)||c<0||c>=m.length){k.guideStop.fire();return}k.onGuide.fire(c);k['onStep'+c].fire(c);if(currentEl&&YL.isObject(currentEl)){YUD.setStyle(currentEl,'visibility','hidden')}var d=m[c],stepElement=get(d.selfId),positionElement=get(d.positionId);var e=q(stepElement,positionElement,c),scrollCoordinate=r(e);var f=YUD.getDocumentScrollTop(),docScrollLeft=YUD.getDocumentScrollLeft(),docViewPortW=YUD.getViewportWidth(),docViewPortH=YUD.getViewportHeight(),isNeedScroll=(e[0]<docScrollLeft||e[1]<f||e[0]+stepElement.offsetWidth>docScrollLeft+docViewPortW||e[1]+stepElement.offsetHeight>f+docViewPortH);if(isNeedScroll){var g={scroll:{to:scrollCoordinate}},_Document=document.documentElement||document.body;var h=new YAHOO.util.Scroll(_Document,g,config.scrollTime)}YUD.setStyle(stepElement,'visibility','visible');YUD.setXY(stepElement,e);t(stepElement,d.needMask,e);if(isNeedScroll)h.animate();currentInx=c;currentEl=stepElement;var i=get(d.btnPreviousId),btnNext=get(d.btnNextId),btnClose=get(d.btnCloseId);if(YL.isObject(i)){if(!!b){YUE.removeListener(i,'click');YUE.on(i,'click',k.guideToPrevious)}else{YUD.setStyle(i,'visibility','hidden')}}if(YL.isObject(btnNext)){if(!!b){YUE.removeListener(btnNext,'click');YUE.on(btnNext,'click',k.guideToNext)}else{YUD.setStyle(btnNext,'visibility','hidden')}}if(YL.isObject(btnClose)){YUE.removeListener(btnNext,'btnClose');YUE.on(btnClose,'click',k.stopGuide)}};k.guideToPrevious=function(){var a=currentInx-1;if(a<0){k.stopGuide();return}k.guideTo(a,true)};k.guideToNext=function(){var a=currentInx+1;if(a>=m.length){k.stopGuide();return}k.guideTo(a,true)};k.stopGuide=function(){if(config.autoScroll){var a={scroll:{to:[0,0]}},_Document=document.documentElement||document.body;var b=new YAHOO.util.Scroll(_Document,a,config.scrollTime);b.animate()}k.guideStop.fire();if(currentEl&&YL.isObject(currentEl)){YUD.setStyle(currentEl,'visibility','hidden')}try{get('iframeMaskDebug').style.display="none"}catch(e){}}};