/*
	author: Metronet LTD (http://www.metronet.ie)
	requires: mootools 1.3
*/
Mnet.ContentTransitionSimple=new Class({Implements:[Options,Events],options:{holder:null},elHolder:null,inProgress:false,initialize:function(a){this.setTransition(a)},setTransition:function(a){this.setOptions(a);if(this.options.holder!=null){this.setHolder(this.options.holder)}},setHolder:function(a){this.elHolder=a},replace:function(b,a){this.elHolder.empty().grab(b)},start:function(){this.fireEvent("complete")}});Mnet.ContentTransitionScroll=new Class({Implements:[Options,Events],options:{holder:null,inDirection:"left",inDuration:2000,inTransition:"pow:out",outDirection:"left",outDuration:2000,outTransition:"pow:out",sequence:"serial",fullScreen:false,allowReverse:true},fxOut:null,fxIn:null,elHolder:null,elOut:null,elIn:null,inProgress:false,chains:[],metaData:null,isReverse:false,initialize:function(a){this.setTransition(a)},_setHolder:function(a){if(!this.options.fullScreen){return}if(a){this.elHolder.setStyles({position:"absolute",top:-this.holderPos.y,left:-this.holderPos.x,width:this.winScrollSize.x,height:this.winScrollSize.y,overflow:"hidden"})}else{this.elHolder.setStyles({position:"",top:"",left:"",width:"",height:"",overflow:""})}},_setOutContent:function(b){if(b){var a={position:"absolute"};if(this.options.fullScreen){a.left=this.holderPos.x;a.top=this.holderPos.y;a.width=this.outSize.x;a.height=this.outSize.y}else{a.left=0;a.top=0;a.width=this._holderSize.width;a.height=this._holderSize.height}this.elOut.setStyles(a)}else{this.elOut.dispose();this.elOut=null}},_setInContent:function(b){if(b){var a={position:"absolute"};if(this.options.fullScreen){a.left=this.holderPos.x;a.top=this.holderPos.y;a.width=this.inSize.x;a.height=this.inSize.y}else{a.left=0;a.top=0;a.width=this._holderSize.width;a.height=this._holderSize.height}this.elIn.setStyles(a)}else{this.elIn.setStyles({position:"",top:"",left:"",width:"",height:""})}},_getFx:function(c,a){var b;if(a){b={duration:Mnet.getDuration(this.options.inDuration),transition:this.options.inTransition,link:"ignore"}}else{b={duration:Mnet.getDuration(this.options.outDuration),transition:this.options.outTransition,link:"ignore"}}return new Fx.Tween(c,b)},_postTransition:function(){this._setHolder(false);this._setOutContent(false);this._setInContent(false);this.inProgress=false;this.fireEvent("complete")},setTransition:function(a){this.setOptions(a);if(this.options.holder!=null){this.setHolder(this.options.holder)}this._inHorizontal=this.options.inDirection=="left"||this.options.inDirection=="right";this._inReverse=this.options.inDirection=="left"||this.options.inDirection=="up"?-1:1;this._inAttribute={pos:this._inHorizontal?"left":"top",size:this._inHorizontal?"width":"height",xy:this._inHorizontal?"x":"y"};this._outHorizontal=this.options.outDirection=="left"||this.options.outDirection=="right";this._outReverse=this.options.outDirection=="left"||this.options.outDirection=="up"?-1:1;this._outAttribute={pos:this._outHorizontal?"left":"top",size:this._outHorizontal?"width":"height",xy:this._outHorizontal?"x":"y"}},setHolder:function(a){this.elHolder=a;this._holderSize={width:this.elHolder.getStyle("width").toInt(),height:this.elHolder.getStyle("height").toInt()}},replace:function(d,b){var f=this;if(this.inProgress){return false}this.isReverse=false;if(this.options.allowReverse&&this.metaData!=null&&this.metaData.menuIndex!=null&&b.menuIndex!=null){if(parseInt(this.metaData.menuIndex)>parseInt(b.menuIndex)){this.isReverse=true}}var h=this.isReverse?-1:1;this.metaData=b;this.inProgress=true;this.elOut=this.elHolder.getElement(".ajax-content");this.elIn=d;this.holderPos=this.elHolder.getPosition();this.winScrollSize=window.getScrollSize();this.outSize=this.elOut.getSize();this.elIn.setStyle("visibility","hidden");this.elHolder.grab(this.elIn);this.inSize=this.elIn.getSize();this._setHolder(true);this._setOutContent(true);this._setInContent(true);var c;var a;var g;var e;if(this.options.fullScreen){var i=Math.max(this.outSize[this._outAttribute.xy],this.winScrollSize[this._outAttribute.xy]);g=this.holderPos[this._outAttribute.xy];e=g+i*this._outReverse*h;i=Math.max(this.inSize[this._inAttribute.xy],this.winScrollSize[this._inAttribute.xy]);a=this.holderPos[this._inAttribute.xy];c=a+-i*this._inReverse*h}else{g=0;e=this._holderSize[this._outAttribute.size]*this._outReverse*h;c=-this._holderSize[this._inAttribute.size]*this._inReverse*h;a=g}this.elIn.setStyle(this._inAttribute.pos,c);this.elOut.setStyle(this._outAttribute.pos,g);this.elIn.setStyle("visibility","inherit");this.fxOut=this._getFx(this.elOut,false);this.fxIn=this._getFx(this.elIn,true);this._inEndPos=a;this._outEndPos=e;if(this.options.sequence=="parallel"){}else{this.fxOut.chain(this._outTrans.bind(this))}return true},start:function(){this.fxOut.start(this._outAttribute.pos,this._outEndPos);if(this.options.sequence=="parallel"){this._outTrans()}this.fireEvent("start")},_outTrans:function(){this.fxIn.chain(this._postTransition.bind(this));this.fxIn.start(this._inAttribute.pos,this._inEndPos)}});
