/*
	author: Metronet LTD (http://www.metronet.ie)
	requires: mootools 1.3
*/
Mnet.ContentTransition=new Class({Implements:[Options,Events],options:{holder:null,inDirection:"left",inDuration:2000,inTransition:"pow:out",outDirection:"left",outDuration:2000,outTransition:"pow:out",sequence:"serial"},initialize: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"};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"}},fxOut:null,fxIn:null,elHolder:null,elOut:null,elIn:null,inProgress:false,chains:[],metaData:null,isReverse:false,_setHolder:function(a){if(a){}else{}},_setOutContent:function(a){if(a){this.elOut.setStyles({position:"absolute",left:0,top:0,width:this._holderSize.width,height:this._holderSize.height})}else{this.elHolder.removeChild(this.elOut);this.elOut=null}},_setInContent:function(a){if(a){this.elIn.setStyles({position:"absolute",left:0,top:0,width:this._holderSize.width,height:this._holderSize.height})}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;if(this.onComplete){this.onComplete.apply(this.onComplete)}if(this.onChain){var a=this.onChain;this.onChain=null;Mnet.Ajax.addOnReady(a);Mnet.Ajax.javascriptLoaded(true)}},setHolder:function(a){this.elHolder=a;this._holderSize={width:this.elHolder.getStyle("width").toInt(),height:this.elHolder.getStyle("height").toInt()}},replace:function(f,d,b,c,h){var i=this;if(this.inProgress){this.onChain=function(){if(i.replace(f,d,b,c,h)){i.start()}};return false}if(b){b.apply(b)}this.isReverse=false;if(this.metaData!=null&&this.metaData.menuIndex!=null&&d.menuIndex!=null){if(parseInt(this.metaData.menuIndex)>parseInt(d.menuIndex)){this.isReverse=true}}var k=this.isReverse?-1:1;this.metaData=d;this.onComplete=h;this.inProgress=true;this.elOut=this.elHolder.getElement(".ajax-content");this.elIn=f;this.elIn.setStyle("visibility","hidden");this.elHolder.grab(this.elIn);this._setHolder(true);this._setOutContent(true);this._setInContent(true);var e=-this._holderSize[this._inAttribute.size]*this._inReverse*k;var a=0;var j=0;var g=this._holderSize[this._outAttribute.size]*this._outReverse*k;this.elIn.setStyle(this._inAttribute.pos,e);this.elOut.setStyle(this._outAttribute.pos,j);if(c){c.apply(c)}this.elIn.setStyle("visibility","inherit");this.fxOut=this._getFx(this.elOut,false);this.fxIn=this._getFx(this.elIn,true);this._inEndPos=a;this._outEndPos=g;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)}});
