/* ContentFlow, version 1.0.2  | (c) 2007 - 2010 Sebastian Kutsch | <http://www.jacksasylum.eu/ContentFlow/> | ContentFlow is distributed under the terms of the MIT license. | (see http://www.jacksasylum.eu/ContentFlow/LICENSE) */
var ContentFlowGlobal = {
	Flows:new Array, 
	AddOns:{},
	scriptName:"contentflow.js",
	scriptElement:null,
	Browser:new (function() {
		this.Opera=window.opera?true:false;
		this.IE=document.all&&!this.Opera?true:false;
		this.IE6=this.IE&&typeof (window.XMLHttpRequest)=="undefined"?true:false;
		this.IE8=this.IE&&typeof (document.querySelectorAll)!="undefined"?true:false;
		this.IE7=this.IE&&!this.IE6&&!this.IE8?true:false;
		this.WebKit=/WebKit/i.test(navigator.userAgent)?true:false, 
		this.iPhone=/iPhone|iPod/i.test(navigator.userAgent)?true:false;
		this.Chrome=/Chrome/i.test(navigator.userAgent)?true:false;
		this.Safari=/Safari/i.test(navigator.userAgent)&&!this.Chrome?true:false;
		this.Konqueror=navigator.vendor=="KDE"?true:false;
		this.Konqueror4=this.Konqueror&&/native code/.test(document.getElementsByClassName)?true:false;
		this.Gecko=!this.WebKit&&navigator.product=="Gecko"?true:false;
		this.Gecko19=this.Gecko&&Array.reduce?true:false})(),
		
			// DEFININDO AS FUNÇÕES PERSONALIZADAS
			getAddOnConf:function(A) { 
				if(this.AddOns[A]){
					return this.AddOns[A].conf
				}
				else{return{}
				}
			},
			
			setAddOnConf:function(B,A) {
				this.AddOns[B].setConfig(A)
			},
			
			getScriptElement:function(D){
				var C=new RegExp(D);var A=document.getElementsByTagName("script");
				for(var B=0;B<A.length;B++) {
					if(A[B].src&&C.test(A[B].src)) {
						return A[B]
					}
				}
				return""
			},
			
			getScriptPath:function(C,B){
				var A=new RegExp(B+".*");
				return C.src.replace(A,"")
			},
			
			addScript:function(B) {
				if(this.Browser.IE||this.Browser.WebKit||this.Browser.Konqueror) {
					document.write('<script type="text/javascript" src="'+B+'"><\/script>')
				} else {
					var A=document.createElement("script");
					A.src=B;
					A.setAttribute("type","text/javascript");
					document.getElementsByTagName("head")[0].appendChild(A)
				}
			},
			
			addScripts:function(C,B) {
				for(var A=0;A<filename.length;A++) {
					this.addScript(basepath+B[A])
				}
			},
			
			addStylesheet:function(B) {
				if(this.Browser.Gecko19) {
					var A=document.createElement("link");
					A.setAttribute("rel","stylesheet");
					A.setAttribute("href",B);
					A.setAttribute("type","text/css");
					A.setAttribute("media","screen");
					document.getElementsByTagName("head")[0].appendChild(A)
				} else {
					document.write('<link rel="stylesheet" href="'+B+'" type="text/css" media="screen" />')
				}
			}, 
			
			addStylesheets:function(C,B) {
				for(var A=0;A<filename.length;A++) {
					this.addStylesheet(basepath+B[A])
				}
			},
			
			initPath:function() { 
				this.scriptElement=this.getScriptElement(this.scriptName);
				if(!this.scriptElement) {
					this.scriptName="contentflow_src.js";
					this.scriptElement=this.getScriptElement(this.scriptName)
				}
				this.BaseDir=this.getScriptPath(this.scriptElement,this.scriptName);
				if(!this.AddOnBaseDir) {
					this.AddOnBaseDir=this.BaseDir
				}
				
				if(!this.CSSBaseDir) {
					this.CSSBaseDir = './css/';
				}
			},
			
			init:function() {
				this.addStylesheet(this.CSSBaseDir+"contentflow.css");
				this.addStylesheet(this.CSSBaseDir+"mycontentflow.css");
				this.loadAddOns=new Array();
				if(this.scriptElement.getAttribute("load")) {
					var A=this.loadAddOns=this.scriptElement.getAttribute("load").replace(/\ +/g," ").split(" ");
					for(var C=0;C<A.length;C++) {
						if(A[C]==""){ 
							continue
						}
						this.addScript(this.AddOnBaseDir+"ContentFlowAddOn_"+A[C]+".js")
					}
				}
				var E=this;
				if(document.addEventListener) {
					if(this.Browser.WebKit) {
						var D=setInterval(function() {
							if(/loaded|complete/.test(document.readyState)) {
								clearInterval(D);E.onloadInit()
							}
						},10)
					} else {
						document.addEventListener("DOMContentLoaded",E.onloadInit,false)
					}
				} else{if(this.Browser.IE) {
					document.write("<script id=__ie_cf_onload defer src=javascript:void(0)><\/script>");
					var B=document.getElementById("__ie_cf_onload");
					B.onreadystatechange = function(){
						if(this.readyState=="complete") {
							E.onloadInit()
						}
					}
				}
			}
			
			window.addEvent("load",E.onloadInit,false)
		},
		
		onloadInit:function() {
			if(arguments.callee.done) {
				return 
			}
			
			for(var C=0;C<ContentFlowGlobal.loadAddOns.length;C++) {
				var A=ContentFlowGlobal.loadAddOns[C];
				if(!ContentFlowGlobal.AddOns[A]) {
					var G=ContentFlowGlobal;window.setTimeout(G.onloadInit,10);
					return
				}
			}
			
			arguments.callee.done=true;
			
			if(window.Element&&Element.implement&&document.all&&!window.opera) {
				for(var H in window.CFElement.prototype) {
					if(!window.Element.prototype[H]) {
						var F={};
						F[H]=window.CFElement.prototype[H];
						Element.implement(F)
					}
				}
			}
			
			for(var C=0;C<ContentFlowGlobal.Flows.length;C++) {
				ContentFlowGlobal.Flows[C].init()
			}
			
			var D=document.getElementsByTagName("div");
			DIVS:for(var C=0;C<D.length;C++) {
				if(D[C].className.match(/\bContentFlow\b/)) {
					
					for(var B=0;B<ContentFlowGlobal.Flows.length;B++) {
						if(D[C]==ContentFlowGlobal.Flows[B].Container) {
							continue DIVS
						}
					}
					
					var E=new ContentFlow(D[C],{},false);
					E.init()
				}
			}
		}
	};
	
	ContentFlowGlobal.initPath();
	var ContentFlowAddOn=function(B,A,C) { 
		if(typeof C=="undefined"||C!=false) {
			ContentFlowGlobal.AddOns[B]=this
		}
		
		this.name=B;
		
		if(!A) {
			A={}
		}
		
		this.methods=A;
		this.conf={};
		
		if(this.methods.conf) {
			this.setConfig(this.methods.conf);
			delete this.methods.conf
		}
		
		this.scriptpath=ContentFlowGlobal.AddOnBaseDir;
		
		if(A.init) {
			var D=A.init.bind(this);
			D(this)
		}
	};
	
	ContentFlowAddOn.prototype={ 
		Browser:ContentFlowGlobal.Browser,
		addScript:ContentFlowGlobal.addScript,
		addScripts:ContentFlowGlobal.addScripts,
		addStylesheet:function(A) {
			if(!A){
				A=this.scriptpath+"ContentFlowAddOn_"+this.name+".css"
			}
			ContentFlowGlobal.addStylesheet(A)
		},
		
		addStylesheets:ContentFlowGlobal.addStylesheets,
		
		setConfig:function(A) {
			for(var B in A) {
				this.conf[B]=A[B];
			}
		},
		
		_init:function(A) {
			if(this.methods.ContentFlowConf) {
				A.setConfig(this.methods.ContentFlowConf)
			}
		}
	};
	
	var ContentFlowGUIElement= function(A,B){
		// DIMENSIONANDO O CONTENEDOR DA GALERIA DE IMAGENS
		B.setDimensions=function() {
			this.dimensions=this.getDimensions();
			this.center= { x:this.dimensions.width/2, y:this.dimensions.height/2 };
			this.position=this.findPos()
		};
		
		B.addObserver=function(D,E) {
			var C=this.eventMethod=E.bind(A);
			this.observedEvent=D;this.addEvent(D,C,false)
		};
		
		B.makeDraggable=function(E,D,F) {
			this.stopDrag=function(H) {
				if(!H) {
					var H=window.event
				}
				
				if(this.Browser.iPhone) {
					window.removeEvent("touchemove",E,false);
					if(!this.ontochmove) {
						var G=H.target;
						if(G.firstChild) {
							G=G.firstChild
						}
						var I=document.createEvent("MouseEvents");
						I.initEvent("click",true,true);
						G.dispatchEvent(I)
					}
				} else {
					window.removeEvent("mousemove",E,false)
				}
			F(H)
		}.bind(this);
		
		this.initDrag = function(G) {
			if(!G) {
				var G=window.event
			}
			var H=G;
			if(G.touches) { 
				H=G.touches[0]
			}
			
			this.mouseX=H.clientX;
			this.mouseY=H.clientY;
			D(G)
		}.bind(this);
		
		// INICIAR O DRAG DA GALERIA DE IMAGENS NO SCROLLBAR
		this.startDrag=function(I) {
			if(!I) { 
				var I=window.event
			}
			var G=this.stopDrag;
			
			if(this.Browser.iPhone) {
				var H=this;
				H.ontouchmove=false;
				window.addEvent("touchmove",function(J) {
					H.ontouchmove=true;E(J)},false);
					I.preventDefault();
					window.addEvent("touchend",G,false)
				} else {
					window.addEvent("mousemove",E,false);
					window.addEvent("mouseup",G,false) 
				} 
				
				if(I.preventDefault) {
					I.preventDefault()
				}
			}.bind(this);
			
			var C=this.startDrag;
			if(this.Browser.iPhone) { 
				this.addEventListener("touchstart",C,false)
			} else {
				this.addEvent("mousedown",C,false) 
			}
		};
		
		B.Browser=ContentFlowGlobal.Browser;
		$CF(B).setDimensions();
		return B
	};
	
	var ContentFlowItem=function(C,D,E) {
		this.CFobj=C;
		this._activeElement=C.conf.activeElement;
		this.pre=null;
		this.next=null;
		this.clickItem=function(M){
			if(!M) {
				var M=window.event
			}
			var K= M.target ? M.target:M.srcElement; 
			var J=K.itemIndex ? K.itemIndex : K.parentNode.itemIndex;
			var L=this.items[J];
			
			if(this._activeItem==L) { 
				// INVOCANDO AO MÉTODO PARA ABRIR A IMAGEM PRINCIPAL QUE ESTÁ SENDO MOSTRADA E CENTRALIZADA NA GALERIA DE IMAGENS
			//	this.conf.onclickActiveItem(L)
			} else {
				if(this.conf.onclickInactiveItem(L)!=false) {
					// MEXENDO A GALERIA ATÉ CHEGAR À IMAGEM CLICADA
					this.moveToIndex(J)
				}
			}
		}.bind(C), this.setIndex=function(J) {
			this.index=J;
			this.element.itemIndex=J
		};
		
		this.getIndex=function() {
			return this.index
		};
		
		if($CF(D).nodeName=="IMG") {
			var A=document.createElement("div");
			A.className="item";
			var I=D.parentNode.replaceChild(A,D);
			I.className="content";
			A.appendChild(I);
			if(D.title) {
				var F=document.createElement("div");
				F.className="caption";
				F.innerHTML=D.title;
				A.appendChild(F)
			}
			D=A
		}
		
		this.element=$CF(D);
		this.item=D;
		
		if(typeof E!="undefined") {
			this.setIndex(E)
		} 
		
		this.content=this.element.getChildrenByClassName("content")[0];
		this.caption=this.element.getChildrenByClassName("caption")[0];
		this.label=this.element.getChildrenByClassName("label")[0];
		if(this.content.nodeName=="IMG") {
			C._imagesToLoad++;
			var B=function() {
				C._imagesToLoad--;
				this.image=this.content;
				this.setImageFormat(this.image);
				if(C.conf.reflectionHeight>0) {
					this.addReflection()
				}
				
				// CLIQUE INICIAL PARA ESCOLHER QUAL A IMAGEM DA GALERIA A APLICAR DRAG E POSICIONÁ-LA NA POSIÇÃO PRINCIPAL
				this.initClick();
				
				C._addItemCueProcess(true)
			}.bind(this);
			
			if(this.content.complete&&this.content.width>0) {
				window.setTimeout(B,100)
			}
			
			else {
				if(this.Browser.IE&&!this.content.onload) { 
					var H=this;
					var G=window.setInterval(function() {
						if(H.content.complete&&H.content.width>0) {
							window.clearInterval(G);B()
						}
					},10)
				} else {
					this.content.onload=window.setTimeout(B,100)
				}
			}
		} else {
			this.initClick();
			C._addItemCueProcess(true)
		}
	}; 
	
	// DEFININDO AS FUNÇÕES PRINCIPAIS QUE VÃO PODER SER CONFIGURADAS INICIALMENTE VIA CÓDIGO JAVASCRIPT NO HEADER
	ContentFlowItem.prototype= {
		Browser:ContentFlowGlobal.Browser,
		
		// FAZER UMA IMAGEM ATIVA - ADICIONANDO A CLASSE PARA MODIFICAR O CURSOR DO MOUSE A POINTER
		makeActive:function() {
			this.element.addClassName("active");
			this.CFobj.conf.onMakeActive(this)
		}, 
		
		// FAZER UMA IMAGEM INATIVA - ADICIONANDO A CLASSE PARA MODIFICAR O CURSOR DO MOUSE A DEFAULT
		makeInactive:function() {
			this.element.removeClassName("active");
			this.CFobj.conf.onMakeInactive(this)
		},
		
		// CLIQUE INICIAL NO ITEM IMAGEM PARA TORNÁ-LA PRINCIPAL
		initClick:function() {
			var A=this.clickItem;
			this[this._activeElement].addEvent("click",A,false)
		},
		
		// FORMATANDO A IMAGEM NA GALERIA - IMAGEM PRINCIPAL E IMAGENS SECUNDÁRIAS
		setImageFormat:function(A) {
			if(this.Browser.IE6||this.Browser.IE7) {
				A.style.width="auto"
			}
			A.origProportion= A.width/A.height;
			A.setAttribute("origProportion",A.width/A.height);
			
			if(this.Browser.IE6||this.Browser.IE7) {
				A.style.width=""
			}
			
			if(A.origProportion<=1) {
				A.addClassName("portray")
			} else{
				A.addClassName("landscape")
			}
		},
		
		// ADICIONANDO EFEITO DE RELEXÃO ÀS IMAGENS DA GALERIA
		addReflection:function() {
			var F=this.CFobj;
			var S;
			var K=this.content;
			if(this.Browser.IE) {
				var Q="progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
				if(F._reflectionColorRGB) {
					if(F.conf.reflectionColor=="transparent") {
						var N=S=this.reflection=document.createElement("img");
						S.src=K.src
					} else {
						S=this.reflection=document.createElement("div");
						var N=document.createElement("img");
						N.src=K.src;
						S.width=N.width;
						S.height=N.height;
						N.style.width="100%";
						N.style.height="100%";
						N.style.width="50%";
						N.style.height="50%";
						var M=F._reflectionColorRGB;
						S.style.backgroundColor="#"+M.hR+M.hG+M.hB;
						S.appendChild(N)
					}
					Q+=" progid:DXImageTransform.Microsoft.Alpha(opacity=0, finishOpacity=50, style=1, finishX=0, startY="+F.conf.reflectionHeight*100+" finishY=0)"
				} else {
					var N=S=this.reflection=document.createElement("img");
					S.src=K.src
				}
				Q+=" progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22="+1/F.conf.reflectionHeight+")";
				
				if(ContentFlowGlobal.Browser.IE6) {
					if(K.src.match(/\.png$/)) {
						K.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+K.src+"', sizingMethod=scale )";
						K.filterString="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+K.src+"', sizingMethod=scale )";
						Q+=" progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+K.src+"', sizingMethod=scale )";
						K.origSrc=K.src;K.src="img/blank.gif";N.src="img/blank.gif"
					}
				}
				
				S.filterString=Q;
				N.style.filter=Q
			} else {
				if(F._reflectionWithinImage) {
					var D=this.canvas=$CF(document.createElement("canvas"))
				} else {
					var D=S=this.reflection=document.createElement("canvas")
				}
				
				if(D.getContext) {
					if(F._reflectionWithinImage) {
						for(var R=0;R<K.attributes.length;R++) {
							D.setAttributeNode(K.attributes[R].cloneNode(true))
						}
					}
					
					var C=D.getContext("2d");
					var P=F.maxHeight;
					var I=F._scaleImageSize(this,{width:P,height:P},P);
					var L=I.width;
					var J=I.height;
					
					if(F._reflectionWithinImage) {
						D.width=L;
						D.height=J;
						this.setImageFormat(D);
						D.height=J*(1+F.conf.reflectionHeight+F.conf.reflectionGap)
					} else {
						D.width=L;
						D.height=J*F.conf.reflectionHeight
					}
					C.save();
					
					if(F._reflectionWithinImage) {
						C.drawImage(K,0,0,L,J)
					}
					
					if(F._reflectionWithinImage) {
						var O=J*(1+F.conf.reflectionGap/2)*2
					} else {
						var O=K.height}O-=1;
						C.translate(0,O);
						C.scale(1,-1);
						C.drawImage(K,0,0,L,J);
						C.restore();
						if(F._reflectionColorRGB) { 
							var B=C.createLinearGradient(0,0,0,D.height);
							var E=[0,0.5,1];
							if(F._reflectionColor=="transparent") {
								C.globalCompositeOperation="destination-in";
								E=[1,0.5,0]
							}
							var G=F._reflectionColorRGB.iR;
							var H=F._reflectionColorRGB.iG;
							var A=F._reflectionColorRGB.iB;
							if(F._reflectionWithinImage) {
								B.addColorStop(0,"rgba("+G+","+H+","+A+","+E[0]+")");
								B.addColorStop(J/D.height,"rgba("+G+","+H+","+A+","+E[0]+")");
								B.addColorStop(J/D.height,"rgba("+G+","+H+","+A+","+E[1]+")")
							} else {
								B.addColorStop(0,"rgba("+G+","+H+","+A+","+E[1]+")")
							}
							B.addColorStop(1,"rgba("+G+","+H+","+A+","+E[2]+")");
							C.fillStyle=B;
							C.fillRect(0,0,D.width,D.height)
						}
						
						if(F._reflectionWithinImage) {
							K.parentNode.replaceChild(D,K);
							this.content=D;
							this.origContent=D;
							delete this.image
						}
					} else {
						F._reflectionWithinImage=false;
						delete this.reflection
					}
				} 
				
				if(S) {
					S.className="reflection";
					this.element.appendChild(S);
					if(this.caption) {
						this.element.appendChild(this.caption)
					}
				}
			}
		};
		
		var ContentFlow=function(A,B) {
			if(A){ 
				ContentFlowGlobal.Flows.push(this);
				this.Container=A;
				this._userConf= B ? B:{};
				this.conf={};
				this._loadedAddOns=new Array()
			} else {
				throw ("ContentFlow ERROR: No flow container node or id given")
			}
		}; 
		
		// CRIANDO UMA ESTRUTURA DE DADOS ADICIONAIS PARA A CLASSE CONTENTFLOW
		ContentFlow.prototype= {
			_imagesToLoad:0,
			_activeItem:0,
			_currentPosition:0,
			_targetPosition:0,
			_stepLock:false,
			_millisecondsPerStep:40,
			_reflectionWithinImage:true,
			Browser:ContentFlowGlobal.Browser,
			_defaultConf: { 
				useAddOns:"all",
				biggestItemPos:0,
				loadingTimeout:30000,
				activeElement:"content",
				maxItemHeight:250,
				scaleFactor:1,
				scaleFactorLandscape:1.33,
				scaleFactorPortrait:1,
				fixItemSize:false,
				relativeItemPosition:"center center",
				circularFlow:true,
				verticalFlow:false,
				visibleItems:-1,
				endOpacity:0.85,
				startItem:0,
				scrollInFrom:"pre",
				flowSpeedFactor:1,
				flowDragFriction:1,
				scrollWheelSpeed:1,
				
				// DEFININDO AS FUNÇÕES PARA QUANDO SÃO CLICADOS OS CARACTERES ESPECIAIS
				keys:{13:function() {
					this.conf.onclickActiveItem(this._activeItem)
				}, 37:function(){ 
					this.moveTo("pre")
				},38:function() {
					this.moveTo("visibleNext")
				},39:function() {
					this.moveTo("next")
				},40:function() {
					this.moveTo("visiblePre")
				}
			},
			
			reflectionColor:"transparent",
			reflectionHeight:0, 
			reflectionGap:0,
			
			// FUNÇÃO PARA INICIALIZAR OS ELEMENTOS DA GALERIA
			onInit:function(){},
			
			// FUNÇÃO PARA MEXER A IMAGEM DA GALERIA(AQUELA QUE NÃO É PRINCIPAL), PARA MEXÊ-LA NA POSIÇÃO DO ITEM PRINCIPAL
			onclickInactiveItem:function(A){},
			
			// FUNÇÃO PARA MOSTRAR A IMAGEM RELACIONADA AO THUMB DA GALERIA QUANDO ELA É CLICADA (A IMAGEM DEVE ESTAR POSICIONADA NA POSIÇÃO PRINCIPAL)
			onclickActiveItem:function(B) {
				var A,C;
				if(A=B.content.getAttribute("href")) { 
					C=B.content.getAttribute("target")
				} else {
					if(A=B.element.getAttribute("href")) {
						C=B.element.getAttribute("target")
					} else {
						if(A=B.content.getAttribute("src")) {
							C=B.content.getAttribute("target")
						}
					}
				} 
				
				if(A) {
					if(C) {
						window.open(A,C).focus()
					} else {
						window.location.href=A
					}
				}
			},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA FAZER UMA IMAGEM INATIVA
			onMakeInactive:function(A){},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA FAZER UMA IMAGEM ATIVA
			onMakeActive:function(A){},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA MOSTRAR A IMAGEM NA POSIÇÃO PRINCIPAL
			onReachTarget:function(A){},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA MEXER UMA IMAGEM INATIVA NA POSIÇÃO PRINCIPAL E TORNÁ-LA UMA IMAGEM ATIVA
			onMoveTo:function(A){},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA DIMENSIONAR A IMAGEM PRINCIPAL
			onDrawItem:function(A){},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO QUANDO O BOTÃO ANTERIOR DA GALERIA DE IMAGENS É CLICADA
			onclickPreButton:function(A) {
				this.moveToIndex("pre");
				return Event.stop(A)
			},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO QUANDO O BOTÃO SEGUINTE DA GALERIA DE IMAGENS É CLICADA
			onclickNextButton:function(A) {
				this.moveToIndex("next");
				return Event.stop(A)
			},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA CALCULAR QUANTO DE COMPRIMENTO A IMAGEM ESCOLHIDA, QUE NÃO SEJA A PRINCIPAL, DEVE PERCORRER PARA CHEGAR À POSIÇÃO PRINCIPAL
			calcStepWidth:function(D) {
				var C=this.conf.visibleItems;
				var A=this.items.length;
				A= A== 0 ? 1 : A;
				
				if(Math.abs(D)>C) {
					if(D>0) {
						var B=D-C
					} else {
						var B=D+C
					}
				} else {
					if(C>=this.items.length) {
						var B=D/A
					} else {
						var B=D*(C/A)
					}
				}
				return B
			},
			
			// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA CALCULAR O TAMANHO QUE DEVE TER CADA IMAGEM
			calcSize:function(D) {
				var B=D.relativePosition;
				var C=1/(Math.abs(B)+1);
				var A=C;return{width:A,height:C
			}
		},
		
		// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA AS COORDENADAS QUE VÃO TER AS IMAGENS - POSICIONAMENTO 
		calcCoordinates:function(C) {
			var B=C.relativePosition;
			var E=this.conf.visibleItems;
			var D=1-1/Math.exp(Math.abs(B)*0.75);
			var A=C.side*E/(E+1)*D;
			var F=1;
			return {x:A , 
					y:F}
		},
		
		// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA CALCULAR QUAL O Z-INDEX (CSS) QUE DEVE TER CADA IMAGEM 
		calcZIndex:function(A) {
			return -Math.abs(A.relativePositionNormed)
		},
		
		// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA CALCULAR QUAL O TAMANHO DA FONTE QUE VAI TER A DESCRIÇÃO DE CADA IMAGEM 
		calcFontSize:function(A) {
			return A.size.height
		},
		
		// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA CALCULAR A OPACIDADE QUE VAI TER CADA IMAGEM 
		calcOpacity:function(A) {
			return Math.max(1-((1-this.conf.endOpacity)*Math.sqrt(Math.abs(A.relativePositionNormed))),this.conf.endOpacity)
		}
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO VER QUAL O ÍNDICE ATUAL DA IMAGEM PRINCIPAL
	_checkIndex:function(A) {
		A=Math.max(A,0);
		A=Math.min(A,this.itemsLastIndex);
		return A
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO VER QUAL O ÍNDICE DA ÚLTIMA IMAGEM PRINCIPAL
	_setLastIndex:function() {
		this.itemsLastIndex=this.items.length-1
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA OBTER QUAL O ÍNDICE DA IMAGEM QUANDO ALGUMA IMAGEM É CLICADA
	_getItemByIndex:function(A) {
		return this.items[this._checkIndex(A)]
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA OBTER QUAL O ÍNDICE DA IMAGEM ATRAVÉS DA POSIÇÃO DELA - SCROLLBAR
	_getItemByPosition:function(A) {
		return this._getItemByIndex(this._getIndexByPosition(A))
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA OBTER QUAL A POSIÇÃO DA IMAGEM ATRAVÉS DO STARDRAG APLICADO AO SCROLLBAR
	_getPositionByIndex:function(B) {
		if(!this.conf.circularFlow) {
			return this._checkIndex(B)
		}
		var A=this._getIndexByPosition(this._currentPosition);
		var C=B-A;
		
		if(Math.abs(C)>C+this.items.length) {
			C+=this.items.length
		} else { 
			if(Math.abs(C)>(Math.abs(C-this.items.length))) {
				C-=this.items.length
			}
		}
		return this._currentPosition+C
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA OBTER oO ÍNDICE A PARTIR DA POSIÇÃO DO INDICADOR DO SCROLLBAR
	_getIndexByPosition:function(A) {
		if(A<0) {
			var C=0
		} else {
			var C=1
		}
		
		var B=(Math.round(A)+C)%this.items.length;
		
		if(B>0) {
			B-=C
		} else{
			if(B<0){ 
				B+=this.items.length-C
			} else {
				if(A<0) {
					B=0
				} else {
					B=this.items.length-1
				}
			}
		} return B
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA OBTER O ÍNDICE DA IMAGEM A PARTIR DAS TECLAS DE NAVEGAÇÃO
	_getIndexByKeyWord:function(B,D,A) {
		if(D) {
			var C=D
		} else {
			if(this._activeItem) {
				var C=this._activeItem.index
			} else {
				var C=0
			}
		}
		
		if(isNaN(B)) {
			switch(B) { 
				case "first" : case "start":
					C=0;
					break;
				case "last" : case "end":
					C=this.itemsLastIndex;
					break;
				case "middle" : case "center":
					C=Math.round(this.itemsLastIndex/2);
					break;
				case "right" : case "next": 
					C+=1;
					break;
				case "left" : case "pre" : case "previous":
					C-=1;
					break;
				case "visible" : case "visiblePre" : case "visibleLeft":
					C-=this.conf.visibleItems;
					break;
				case "visibleNext" : case "visibleRight": 
					C+=this.conf.visibleItems;
					break;
				default:
					C=C;
					break;
			}
		} else {
			C=B
		}
		
		if(A!=false) {
			C=this._checkIndex(C)
		}
		
		return C
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA SETEAR A DESCRIÇÃO DA IMAGEM PRINCIPAL
	_setCaptionLabel:function(A) {
		if(this.Position&&!this.Slider.locked) {
			this.Position.setLabel(A)
		}
		this._setGlobalCaption()
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO OBTER AS CONFIGURAÇÕES ADICIONADAS NO JAVASCRIPT QUE VAI ESTAR DEFINIDO NA CABECEIRA
	getAddOnConf:function(A) {
		return ContentFlowGlobal.getAddOnConf(A)
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PoARA MODIFICAR AS CONFIGURAÇÕES ADICIONADAS OBTIDAS NO JAVASCRIPT QUE VAI ESTAR DEFINIDO NA CABECEIRA
	setAddOnConf:function(B,A) {
		ContentFlowGlobal.setAddOnConf(B,A)
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA INICIALIZAR OS ELEMENTOS DA GALERIA CONTENTFLOW
	init:function() {
		if(this.isInit) {
			return 
		}
		// alert('invocando à função _init');
		this._init();
	},
	
	// INICIALIZANDO A VARIÁVEL QUE VAI ESTAR APONTANDO À FUNÇÃO PARA CONFIGURAR, POR PADRÃO, OS ELEMENTOS DA GALERIA CONTENTFLOW DEFINIDOS NESTE ARQUIVO JS
	setConfig:function(A) {
		if(!A) {
			return 
		}
		var E=this._defaultConf;
		for(var F in A) {
			if(E[F]=="undefined") {
				continue
			}
			
			// CONFIGURANDO AS POSIÇÕES DO SCROLLBAR
			switch(F) {
				case"scrollInFrom" : case"startItem":
					if(typeof (A[F])=="number"||typeof (A[F])=="string") {
						this.conf[F]=A[F]
					}
					break;
				default:
					if(typeof (E[F]==A[F])) {
						if(typeof A[F]=="function") {
							this.conf[F]=A[F].bind(this)
						} else {
							this.conf[F]=A[F]
						}
					}
			}
		}
		
		// CONFIGURANDO O REFLEXO QUE VÃO TER AS IMAGENS DA GALERIA
		switch(this.conf.reflectionColor) {
			case this.conf.reflectionColor.search(/#[0-9a-fA-F]{6}/)>=0?this.conf.reflectionColor : this.conf.reflectionColor+"x" : 
				this._reflectionColorRGB = { 
					hR:this.conf.reflectionColor.slice(1,3),
					hG:this.conf.reflectionColor.slice(3,5),
					hB:this.conf.reflectionColor.slice(5,7),
					iR:parseInt(this.conf.reflectionColor.slice(1,3),16),
					iG:parseInt(this.conf.reflectionColor.slice(3,5),16),
					iB:parseInt(this.conf.reflectionColor.slice(5,7),16)
				};
				break;
			case"none": case"transparent": default:
				this._reflectionColor="transparent";
				this._reflectionColorRGB ={
					hR:0,
					hG:0,
					hB:0,
					iR:0,
					iG:0,
					iB:0
				};
				break
		}
		
		// OBTENDO QUAIS OS ITENS OU IMAGENS SERÃO VISÍVEIS
		if(this.items) {
			if(this.conf.visibleItems<0) {
				this.conf.visibleItems=Math.round(Math.sqrt(this.items.length))
			}
			this.conf.visibleItems=Math.min(this.conf.visibleItems,this.items.length-1)
		}
		
		// CONFIGURAÇÕES PARA A POSIÇÃO DAS IMAGENS DA GALERIA
		if(this.conf.relativeItemPosition) {
			var C = {
				x:{
					left:function(J) {
						return -1
					},
				
					center:function(J) {
						return 0
					},
				
					right:function(J) {
						return 1
					}
				},
			
				y:{
					top:function(J){
						return -1
					},
					
					center:function(J){
						return 0
					},
					
					bottom:function(J){
						return 1
					}
				}
			};
			
			var I=this.conf.relativeItemPosition;
			
			I=I.replace(/above/,"top").replace(/below/,"bottom");
			var H,G=null;
			H=I.match(/left|right/);
			G=I.match(/top|bottom/);
			c=I.match(/center/);
			
			if(!H) {
				if(c) { 
					H="center"
				} else {
					H="center"
				}
			}
			
			if(!G) {
				if(c) {
					G="center"
				} else {
					G="top"
				}
			}
			
			var D=C.x[H];
			var B=C.y[G];
			
			// VARIÁVEL PARA CALCULAR A POSIÇÃO RELATIVA DO ITEM DA GALERIA DE IMAGENS
			this.conf.calcRelativeItemPosition = function(K){
				var J=D(K.size);
				var L=B(K.size);
				return {
					x:J,
					y:L
				}
			};
			
			this.conf.relativeItemPosition=null
		}
		
		if(this._reflectionType&&this._reflectionType!="clientside") {
			this.conf.reflectionHeight=0
		}
	},
	
	// INVOCANDO AO MÉTODO PARA OBTER O ITEM REQUERIDO
	getItem:function(A) {
		return this.items[this._checkIndex(Math.round(A))]
	},
	
	// INVOCANDO AO MÉTODO PARA OBTER O ITEM PRINCIPAL ATUAL REQUERIDO
	getActiveItem:function() {
		return this._activeItem
	},
	
	// INVOCANDO AO MÉTODO PARA OBTER O TOTAL DE ITENS DA GALERIA
	getNumberOfItems:function() {
		return this.items.length
	},
	
	// FAZENDO O REDIMENSIONAMENTO DAS IMAGENS
	resize:function() {
		this._initSizes();
		this._initStep()
	},
	
	// MOVENDO A DIV QUE CONTÉM A GANERIA PARA MOSTRAR A IMAGEM PRINCIPAL IMAGEM
	moveToPosition:function(B,A) {
		if(!this.conf.circularFlow) {
			B=this._checkIndex(B)
		}
		this._targetPosition=B;
		this.conf.onMoveTo(this._getItemByPosition(B));
		this._initStep(false,A)
	},
	
	// MOVENDO A GALERIA ATÉ O ÍNDICE DA IMAGEM QUE FOI CLICADA E QUE NÃO É A PRINCIPAL
	moveToIndex:function(A) {
		this._targetPosition=Math.round(this._getPositionByIndex(this._getIndexByKeyWord(A,this._activeItem.index,!this.conf.circularFlow)));
		this.conf.onMoveTo(this._getItemByPosition(this._targetPosition));
		this._initStep()
	},
	
	// MOVENDO A GALERIA ATÉ A POSIÇÃO DO ITEM PRINCIPAL
	moveToItem:function(B) {
		var A;
		if(B.itemIndex) {
			A=B.itemIndex
		} else {
			A=B.index
		}
		this.moveToIndex(A)
	},
	
	// MOVENDO A GALERIA
	moveTo:function(A) {
		if(typeof A=="object") {
			this.moveToItem(A)
		} else {
			if(isNaN(A)||(A==Math.floor(A)&&A<this.items.length)) {
				this.moveToIndex(A)
			} else {
				this.moveToPosition(A)
			}
		}
	},
	
	_addItemCue:[],
	_addItemCueProcess:function(C) {
		var D=this._addItemCue;
		
		if(C==true) {
			D.shift()
		}
		
		if(D.length>0&&!D[0].p) {
			D[0].p=true;
			var A=this;
			var B=D.length>5?1:40;
			window.setTimeout(function() {
				A._addItem(D[0].el,D[0].i)
			},B) 
		}
	},
	
	addItem:function(B,A) {
		this._addItemCue.push({el:B,i:A,p:false});
		if(this._addItemCue.length==1) {
			this._addItemCueProcess()
		}
	},
	
	_addItem:function(C,A) {
		if(typeof A=="string") {
			switch(A) {
				case"first" :case"start" :
					A=0;
					break;
				case"last" :case"end" :
					A=isNaN(this.itemsLastIndex) ? 0 : this.itemsLastIndex;A+=1;
					break;
				default:
					A=this._getIndexByKeyWord(A)
					break;
			}
		}
		A=Math.max(A,0);
		A=Math.min(A,this.itemsLastIndex+1);
		A=isNaN(A) ? 0: A;
		this.Flow.appendChild(C);
		var D=new ContentFlowItem(this,C,A);
		if(this.items.length==0) { 
			this.resize();
			if(this.conf.circularFlow) { 
				D.pre=D;D.next=D
			}
		} else {
			if(A==this.itemsLastIndex+1) {
				D.pre=this.items[this.itemsLastIndex];
				D.next=D.pre.next
			} else {
				D.next=this.items[A];
				D.pre=D.next.pre
			}
			
			if(D.pre) {
				D.pre.next=D
			}
			
			if(D.next) {
				D.next.pre=D
			}
		}
		
		this.items.splice(A,0,D);
		
		for(var B=A;B<this.items.length;B++) {
			this.items[B].setIndex(B)
		}
		
		this._setLastIndex();
		if(this.conf.origVisibleItems<0) {
			this.conf.visibleItems=Math.round(Math.sqrt(this.items.length))
		}
		
		this.conf.visibleItems=Math.min(this.conf.visibleItems,this.items.length-1);
		if(Math.round(this._getPositionByIndex(A))<=Math.round(this._targetPosition)) {
			this._targetPosition++;
			if(!this.conf.circularFlow) {
				this._targetPosition=Math.min(this._targetPosition,this.itemsLastIndex)
			}
		}
		
		if(this._getPositionByIndex(A)<=this._currentPosition) {
			this._currentPosition++;
			if(!this.conf.circularFlow) {
				this._currentPosition=Math.min(this._currentPosition,this.itemsLastIndex)
			}
		}
		
		var E=this;
		// ESTABELECENDO UM SETTIMEOUT PARA FAZER O EFEITO DO MOVIMENTO DAS IMAGENS DA GALERIA
		window.setTimeout(function() {
			if(E.items.length==1) {
				E._currentPosition=-0.01;
				E._targetPosition=0;
				E.resize()
			} else {
				E._initStep()}},100);
				return A
		 	},
			
			rmItem:function(A) {
				if(A=="undefined") {
					A=this._activeItem.index
				}
				A=this._getIndexByKeyWord(A);
				
				if(!this.items[A]) {
					return null
				}
				
				var D=this.items[A];
				if(D.pre) {
					D.pre.next=D.next
				}
				
				if(D.next) {
					D.next.pre=D.pre
				}
				
				this.items.splice(A,1);
				for(var B=A;B<this.items.length;B++) {
					this.items[B].setIndex(B)
				}
				
				this._setLastIndex();
				
				if(Math.round(this._getPositionByIndex(A))<Math.round(this._targetPosition)) {
					this._targetPosition--;
					if(!this.conf.circularFlow) {
						this._targetPosition=this._checkIndex(this._targetPosition)
					}
				}
				
				if(this._getPositionByIndex(A)<this._currentPosition) {
					this._currentPosition--;
					if(!this.conf.circularFlow) { 
						this._currentPosition=this._checkIndex(this._currentPosition)
					}
				}
				
				this._activeItem=this._getItemByPosition(this._currentPosition);
				var C=D.element.parentNode.removeChild(D.element);
				var E=this;window.setTimeout(function() {E._initStep()},10);return C
			},
			
			_init:function() {
				if(typeof (this.Container)=="string") {
					var B=document.getElementById(this.Container);
					if(B) {
						this.Container=B
					} else{
						throw ("ContentFlow ERROR: No element with id '"+this.Container+"' found!");
						return 
					}
				}
				
				$CF(this.Container).addClassName("ContentFlow");
				var A=$CF(this.Container).getChildrenByClassName("flow")[0];
				if(!A) {
					throw ("ContentFlow ERROR: No element with class'flow' found!");
					return 
				}
				
				
				// alert('obtendo o contenedor da galeria de imagens');
				
				this.Flow=new ContentFlowGUIElement(this,A);
				var M=this.Container.getChildrenByClassName("scrollbar")[0];
				if(M) {
					this.Scrollbar=new ContentFlowGUIElement(this,M);
					var F=this.Scrollbar.getChildrenByClassName("slider")[0];
					if(F) { 
						this.Slider=new ContentFlowGUIElement(this,F);
						var H=this.Slider.getChildrenByClassName("position")[0];
						if(H) { 
							this.Position=new ContentFlowGUIElement(this,H)
						}
					}
				}
				
				this.setConfig(this._defaultConf);
				this._initAddOns();
				this.setConfig(this._userConf);
				this._initSizes();
				var J=this.Flow.getChildrenByClassName("item");
				this.items=new Array();
				
				for(var G=0;G<J.length;G++) {
					var K = this.items[G] = new ContentFlowItem(this,J[G],G);
					if(G>0) {
						K.pre=this.items[G-1];
						K.pre.next=K
					}
				}
				
				this._setLastIndex();
				
				if(this.conf.circularFlow&&this.items.length>0) { 
					var L=this.items[0];
					L.pre=this.items[this.items.length-1];
					L.pre.next=L
				}
				
				this._initGUI();
				
				if(this._activeElement!="content") {
					this._activeElement="element"
				}
				
				this.conf.origVisibleItems=this.conf.visibleItems;
				
				if(this.conf.visibleItems<0) {
					this.conf.visibleItems=Math.round(Math.sqrt(this.items.length))
				}
				
				this.conf.visibleItems=Math.min(this.conf.visibleItems,this.items.length-1);
				this._targetPosition=this._getIndexByKeyWord(this.conf.startItem,0);
				var I=this._getIndexByKeyWord(this.conf.scrollInFrom,this._targetPosition);
				
				switch(this.conf.scrollInFrom) {
					case"next" : case"right":
						I-=0.5;
						break;
					case"pre" : case"previous" : case"left" :
						I+=0.5;
						break
				}
				
				this._currentPosition=I;
				var E=new Date();
				var D=this;
				var C=window.setInterval(function() { 
					if(D._imagesToLoad==0||new Date()-E>D._loadingTimeout) {
						clearInterval(C);
						D._activeItem=D.getItem(D._currentPosition);
						if(D._activeItem) {
							D._activeItem.makeActive();
							D._setCaptionLabel(D._activeItem.index)
						}
						
						D.Flow.style.visibility="visible";
						
						if(D.loadIndicator) {
							D.loadIndicator.style.display="none"
						}
						
						if(D.Scrollbar) {
							D.Scrollbar.style.visibility="visible"
						}
						
						D.resize();
						
						for(var O=0;O<D._loadedAddOns.length;O++) {
							var N=ContentFlowGlobal.AddOns[D._loadedAddOns[O]];
							if(N.methods.afterContentFlowInit) {
								N.methods.afterContentFlowInit(D)
							}
						}
						
						D.conf.onInit()
					}
				},10);
				
				this.isInit=true
			},
			
			_initAddOns:function() {
				var C=[];
				if(this._userConf.useAddOns) {
					if(typeof this._userConf.useAddOns=="string") {
						C=this._userConf.useAddOns.split(" ")
					} else {
						if(typeof this._userConf.useAddOns=="array") {
							C=this._userConf.useAddOns
						}
					}
				} else {
					if(this.Container.getAttribute("useAddOns")) {
						C=this.Container.getAttribute("useAddOns").split(" ")
					} else {
						C=this.conf.useAddOns.split(" ")
					}
				}
				
				for(var B=0;B<C.length;B++) {
					if(C[B]=="none") {
						C=new Array();
						break
					} else {
						if(C[B]=="all") {
							C=new Array();
							for(var A in ContentFlowGlobal.AddOns) {
								C.push(A)
							}
							break
						}
					}
				}
				
				for(var B=0;B<C.length;B++) {
					var A=ContentFlowGlobal.AddOns[C[B]];
					if(A) {
						this._loadedAddOns.push(C[B]);
						A._init(this);
						this.Container.addClassName("ContentFlowAddOn_"+A.name);
						if(A.methods.onloadInit) { 
							A.methods.onloadInit(this)
						}
					}
				}
			},
			
			_initGUI:function() {
				var C=this.resize.bind(this);
				window.addEvent("resize",C,false);
				var K=this.Container.getElementsByTagName("div");
				for(var G=0;G<K.length;G++) {
					if($CF(K[G]).hasClassName("preButton")) {
						var F=K[G];
						var A=this.conf.onclickPreButton;
						F.addEvent("click",A,false)
					} else {
						if(K[G].hasClassName("nextButton")) {
							var I=K[G];
							var A=this.conf.onclickNextButton;
							I.addEvent("click",A,false)
						}
					}
				}
				
				if(this.conf.scrollWheelSpeed!=0) {
					var J=this._wheel.bind(this);
					if(window.addEventListener) {
						this.Container.addEventListener("DOMMouseScroll",J,false)
					}
					
					this.Container.onmousewheel=J
				}
				
				var L=this._keyStroke.bind(this);
				
				if(this.conf.keys&&!this.Browser.iPhone) {
					if(document.addEventListener) {
						if(!this.Browser.Opera) {
							var D=document.createElement("div");
							D.addClassName("mouseoverCheckElement");
							this.Container.appendChild(D);
							if(this.Browser.WebKit) {
								document.body.addEvent("keydown",function(O) {
									if(D.offsetLeft>0) {
										L(O)
									}
								}
							)
						} else {
							window.addEvent("keydown",function(O){ 
								if(D.offsetLeft>0) {
									L(O)
								}
							})
						}
					} else {
						this.Container.addEvent("keydown",L)
					}
				} else {
					this.Container.onkeydown=L
				}
			}
			
			if(this.conf.flowDragFriction>0) { 
				var E=function(R) {
					var U=R;
					if(R.touches) {
						U=R.touches[0]
					}
					var Q=U.clientX;
					var P=U.clientY;
					if(this.conf.verticalFlow) {
						var V=P-this.Flow.mouseY;
						var T=this.Flow.dimensions.height
					} else {
						var V=Q-this.Flow.mouseX;
						var T=this.Flow.dimensions.width
					}
					
					var O=(V/T)*(2*this.conf.visibleItems+1);
					var S=this._currentPosition-O*2*this.conf.visibleItems/this.conf.flowDragFriction;
					this.Flow.mouseX=Q;
					this.Flow.mouseY=P;
					this.moveToPosition(S,true)
				}.bind(this);
				
				var N=function(){};
				
				var H=function(P) {
					var O=Math.round(this._targetPosition);
					if(Math.abs(O-this._currentPosition)>0.001) {
						this.moveToPosition(O)
					}
				}.bind(this);
				
				this.Flow.makeDraggable(E,N,H)
			}
			
			if(this.Scrollbar) {
				var M=function(R) {
					if(!R) {
						var R=window.event
					} 
					if(!this.Scrollbar.clickLocked) {
						var Q=R.clientX;
						var P=Q-this.Scrollbar.position.left;
						var O=Math.round(P/this.Scrollbar.dimensions.width*this.itemsLastIndex);
						this.moveToIndex(O)
					} else {
						this.Scrollbar.clickLocked=false
					}
				}.bind(this);
				
				this.Scrollbar.addObserver("click",M)
			}
			
			if(this.Slider) {
				if(this.Browser.IE6) {
					var B=document.createElement("div");
					B.className="virtualSlider";
					this.Slider.appendChild(B)
				}
				
				this.Slider.setPosition=function(O) {
					O=O-Math.floor(O)+this._getIndexByPosition(Math.floor(O));
					if(Math.round(O)<0) {
						O=this.itemsLastIndex
					} else {
						if(O<=0) {
							O=0
						} else {
							if(Math.round(O)>this.itemsLastIndex) {
								O=0
							} else {
								if(O>=this.itemsLastIndex) {
									O=this.itemsLastIndex
								}
							}
						}
					}
					
					if(this.items.length>1) {
						var P=(O/this.itemsLastIndex)*this.Scrollbar.dimensions.width
					} else {
						var P=0.5*this.Scrollbar.dimensions.width
					}
					
					this.Slider.style.left=P-this.Slider.center.x+"px";
					this.Slider.style.top=this.Scrollbar.center.y-this.Slider.center.y+"px"
				}.bind(this);
				
				var N=function(O) {
					this.Scrollbar.clickLocked=true
				}.bind(this);
				
				var E=function(P) {
					var Q=P;
					if(P.touches) {
						Q=P.touches[0]
					}
					var O=this._checkIndex((Q.clientX-this.Scrollbar.position.left)/this.Scrollbar.dimensions.width*this.itemsLastIndex);
					
					this._targetPosition=this._getPositionByIndex(O);
					
					this.Slider.setPosition(O);
					
					if(this.Position) {
						this.Position.setLabel(O)
					}
					
					this._initStep(true,true)
				}.bind(this);
				
				var H=function(O) {
					this._targetPosition=Math.round(this._targetPosition);
					this.conf.onMoveTo(this._getItemByPosition(this._targetPosition));
					this._initStep(true)
				}.bind(this);
				
				this.Slider.makeDraggable(E,N,H)
			}
			
			if(this.Position) {
				this.Position.setLabel=function(O) {
					O=this._checkIndex(Math.round(O));
					if(this.items&&this.items[O].label) {
						this.Position.innerHTML=this.items[O].label.innerHTML
					} else {
						this.Position.innerHTML=O+1
					}
				}.bind(this)
			}
			
			this.globalCaption=this.Container.getChildrenByClassName("globalCaption")[0];
			
			this.loadIndicator=this.Container.getChildrenByClassName("loadIndicator")[0]
		},
		
		_initSizes:function(A) {
			this._initMaxHeight();
			var E=this._initScrollbarSize();
			
			if(!this.conf.verticalFlow&&this.Container.style.height&&this.Container.style.height!="auto") {
				this.maxHeight-=E
			}
			
			if(!this._activeItem) {
				return
			}
			
			var D=this._findBiggestItem();
			
			var F=this.Flow.findPos();
			
			if(this.conf.verticalFlow) {
				this.Flow.style.width=D.width.width+"px";
				this.Flow.style.height=3*D.width.width*(1+this.conf.reflectionHeight+this.conf.reflectionGap)+"px"
			} else {
				// this.Flow.style.height=D.height.height+(D.height.top-F.top)+"px"
				this.Flow.style.height="330px"
			}
			
			var C=this.conf.verticalFlow?D.width.width:D.height.height;
			var B=C/(1+this.conf.reflectionHeight+this.conf.reflectionGap);
			
			this.Flow.style.marginBottom=-(C-B)+"px";
			this.Flow.dimensions=this.Flow.getDimensions();
			
			if(!this.Browser.IE6) {
				if(this.conf.verticalFlow&&this.Container.clientWidth<this.Flow.dimensions.width) {
				} else {
					if(this.Container.clientHeight<this.Flow.dimensions.height) {
						this.Container.style.height=this.Flow.dimensions.height+"px"
					}
				}
			}
			
			if(this.conf.verticalFlow) {
				this.Flow.center = {
					x:this.Flow.dimensions.height/2,
					y:D.width.width/2
				}
			} else {
				this.Flow.center = {
					x:this.Flow.dimensions.width/2,
					y:D.height.height/2
				}
			}
		},
		
		_initScrollbarSize:function() {
			var C;
			var I;
			var F;
			if(C=this.Scrollbar) {
				C.setDimensions();
				var B=C.dimensions.height;
				if(I=this.Slider) {
					I.setDimensions();
					B+=I.dimensions.height;
					if(F=this.Position) {
						var K=F.innerHTML;
						var G=maxW=0;
						F.style.width="auto";
						if(this.items) { 
							for(var D=0;D<this.items.length;D++) {
								var J=this.items[D];
								if(J.label) {
									F.innerHTML=J.label.innerHTML
								} else {
									F.innerHTML=J.index
								}
								var E=F.clientHeight;
								var H=F.clientWidth;
								
								if(E>G) {
									G=E
								}
								
								if(H>maxW) {
									maxW=H
								}
							}
						} else {
							F.innerHTML="&nbsp;";
							G=F.clientHeight;
							maxW=F.clientWidth
						} 
						
						F.innerHTML=K;
						F.setDimensions();
						F.style.width=maxW+"px";
						F.style.left=(I.dimensions.width-maxW)/2+"px";
						var A=F.position.top-I.position.top;
						if(A>0) { 
							A+=-C.dimensions.height+G;
							C.style.marginBottom=A+"px"
						} else {
							A*=-1;
							C.style.marginTop=A+"px"
						} 
						
						B+=A
					}
				}
			} else {
				B=0
			}
			return B
		},
		
		_initMaxHeight:function() { 
			if(this.conf.verticalFlow) {
				var G=screen.width/screen.height;
				var D=this.Container.style.width;
				var E=this.Container.clientWidth;
				var C=this.Flow.style.width;
				var F=this.Flow.clientWidth;
				var A=this.Flow.clientHeight
			} else {
				var G=screen.height/screen.width;
				var D=this.Container.style.height;
				var E=this.Container.clientHeight;
				var C=this.Flow.style.height;
				var F=this.Flow.clientHeight;
				var A=this.Flow.clientWidth
			}
			
			if(this.ContainerOldDim) {
				D=this.ContainerOldDim
			}
			
			if(this.FlowOldDim) {
				C=this.FlowOldDim
			}
			
			this.ContainerOldDim="auto";
			this.FlowOldDim="auto";
			if(this.conf.maxItemHeight<=0) {
				this.maxHeight=A/3*G/1*this.conf.scaleFactor;
				if(this.conf.verticalFlow&&(this.maxHeight==0||this.maxHeight>F)) {
					this.maxHeight=F
				}
				
				if(D&&D!="auto") {
					var H=this.conf.verticalFlow?0:this.conf.reflectionGap;
					var B=this.conf.verticalFlow?0:this.conf.reflectionHeight;
					this.maxHeight=E/(this.conf.scaleFactor*(1+B+H));
					this.ContainerOldDim=D
				} else {
					if(C&&C!="auto") {
						var H=this.conf.verticalFlow?0:this.conf.reflectionGap;
						this.maxHeight=F/(this.conf.scaleFactor*(1+this.conf.reflectionHeight+H));
						this.FlowOldDim=C
					}
				}
			} else {
				this.maxHeight=this.conf.maxItemHeight
			}
		},
		
		_findBiggestItem:function() {
			var G=this._activeItem;
			var A=G.pre;
			var B=G.next;
			var E=maxFlowSize = { width: {
										width:0,
										left:0,
										height:0,
										top:0,
										item:null,
										rI:0}, 
								  height : {
									  	width:0,
										left:0,
										height:0,
										top:0,
										item:null,
										rI:0}
									};
			var F=function(N,J) { 
				var M=N.element;
				M.style.display="block";
				var O=M.findPos();
				var L=M.clientHeight;
				var K=M.clientWidth;
				if(L+O.top>=E.height.height+E.height.top) {
					E.height.height=L;
					E.height.top=O.top;
					E.height.item=N;
					E.height.rI=J
				}
				
				if(K+O.left>=E.width.width+E.width.left) {
					E.width.width=K;
					E.width.left=O.left;
					E.width.item=N;
					E.width.rI=J
				} 
				
				M.style.display="none"
			};
			
			var H=this._currentPosition;
			
			this._currentPosition=this.conf.visibleItems+1;
			
			for(var C=-this.conf.visibleItems;C<=this.conf.visibleItems;C++){
				G.element.style.display="none";
				this._positionItem(G,C);
				F(G,C)
			}
			
			var D=E.height.rI;
			for(var C=0;C<this.items.length;C++) {
				var I=this.items[C];
				I.element.style.display="none";
				this._positionItem(I,D);
				F(I,D)
			}
			
			this._currentPosition=H;
			return E
		},
		
		_keyStroke:function(A) {
			if(!A) {
				var A=window.event
			}
			
			if(A.which) {
				var B=A.which
			} else {
				if(A.keyCode) {
					var B=A.keyCode
				}
			}
			
			if(this.conf.keys[B]) {
				this.conf.keys[B].bind(this)();
				return Event.stop(A)
			} else {
				return true
			}
		},
		
		_wheel:function(A) {
			if(!A) {
				var A=window.event
			}
			var C=0;
			if(A.wheelDelta) {
				C=A.wheelDelta/120
			} else {
				if(A.detail) {
					C=-A.detail/3
				}
			}
			
			if(C) { 
				var B=this._targetPosition;
				if(C<0) {
					B+=(1*this.conf.scrollWheelSpeed)
				} else {
					B-=(1*this.conf.scrollWheelSpeed)
				} 
				
				this.moveToPosition(Math.round(B))
			}
			
			return Event.stop(A)
		},
		
		_setGlobalCaption:function() {
			if(this.globalCaption) {
				this.globalCaption.innerHTML="";
				if(this._activeItem&&this._activeItem.caption) {
					this.globalCaption.appendChild(this._activeItem.caption.cloneNode(true))
				}
			}
		},
		
		_initStep:function(B,A) {
			if(this.Slider) {
				if(B) {
					this.Slider.locked=true
				} else {
					this.Slider.locked=false
				}
			}
			this._holdPos=A==true?true:false;
			if(!this._stepLock) {
				this._stepLock=true;
				this._step()
			}
		},
		
		_step:function() {
			var D=this._targetPosition-this._currentPosition;
			var C=Math.abs(D);
			if(C>0.001) {
				this._currentPosition+=this.conf.flowSpeedFactor*this.conf.calcStepWidth(D,C,this.items.length,this.conf.visibleItems);
				var A=this.items[(this._getIndexByPosition(this._currentPosition))];
				if(A&&A!=this._activeItem) {
					if(this._activeItem) {
						this._activeItem.makeInactive()
					}
					this._activeItem=A;
					this._activeItem.makeActive();
					this._setCaptionLabel(this._activeItem.index);
					if(Math.abs(this._targetPosition-this._currentPosition)<=0.5) {
						this.conf.onReachTarget(this._activeItem)
					}
				}
				this._positionItems();
				var B=this._step.bind(this);
				window.setTimeout(B,this._millisecondsPerStep)
			} else {
				if(!this._holdPos) {
					if(this.Slider) {
						this.Slider.locked=false
					}
					this._currentPosition=Math.round(this._currentPosition);
					if(this.Position&&!this.Slider.locked&&this._activeItem) {
						this._setCaptionLabel(this._activeItem.index)
					}
					this._positionItems();
					this._stepLock=false
				} else {
					this._stepLock=false
				}
			} 
			
			if(this.Slider&&!this.Slider.locked) {
				this.Slider.setPosition(this._currentPosition)
			}
		},
		
		_positionItems:function() {
			if(this._lastStart) {
				var E=this._lastStart;
				while(E) {
					E.element.style.display="none";
					E=E.next;
					if(E==this._lastStart) {
						break
					} 
					if(E&&E.pre==this._lastEnd) {
						break
					}
				}
			} else {
				this._lastStart=this._activeItem
			}
			
			if(!this._activeItem) {
				return 
			}
			
			var C=this._activeItem;
			var B=C.pre;
			var D=C.next;
			this._positionItem(C,0);
			for(var A=1;A<=this.conf.visibleItems&&2*A<this.items.length;A++) {
				if(B) {
					this._positionItem(B,-A);
					this._lastStart=B;B=B.pre
				}
				
				if(D) {
					this._positionItem(D,A);
					this._lastEnd=D;D=D.next
				}
			}
		},
		
		_positionItem:function(S,A) {
			var I=this.conf;
			var N=I.verticalFlow;
			var E=S.element.style;
			var L=S.position=this._currentPosition+A;
			var M=S.relativePosition=Math.round(L)-this._currentPosition;
			var Q=S.relativePositionNormed=I.visibleItems>0?M/I.visibleItems:0;
			var B=M<0?-1:1;
			B*=M==0?0:1;
			S.side=B;
			var J=I.calcSize(S);
			J.height=Math.max(J.height,0);
			J.width=Math.max(J.width,0);
			if(S.content.origProportion) {
				J=this._scaleImageSize(S,J)
			}
			
			S.size=J;
			var P=S.coordinates=I.calcCoordinates(S);
			var H=S.relativeItemPosition=I.calcRelativeItemPosition(S);
			var K=S.zIndex=I.calcZIndex(S);
			var C=S.fontSize=I.calcFontSize(S);
			var D=S.opacity=I.calcOpacity(S);
			J.height*=this.maxHeight;
			J.width*=this.maxHeight;
			var R=N?J.height:J.width;
			var O=N?J.width:J.height;
			var G=this.Flow.center.x*(1+P.x)+(H.x-1)*R/2;
			var F=this.maxHeight/2*(1+P.y)+(H.y-1)*O/2;
			E.left=(N?F:G)+"px";
			E.top=(N?G:F)+"px";
			this._setItemSize(S,J);
			
			if(I.endOpacity!=1) {
				this._setItemOpacity(S)
			}
			
			if(!this.Browser.IE) {
				E.fontSize=(C*100)+"%"
			}
			
			E.zIndex=32768+Math.round(K*this.items.length);
			I.onDrawItem(S);
			E.visibility="visible";
			E.display="block"
		},
		
		_scaleImageSize:function(N,P,I) {
			var E=this.conf.scaleFactorLandscape;
			var D=this.conf.scaleFactorPortrait;
			var M=this.conf.verticalFlow;
			var B=N.content.origProportion;
			var C=P.width;
			var L=P.height;
			// alert(C + ' / ' + L);
			var H=N.content;
			if(M){
				if(B<=1){
					if(E!="max"&&E!=1){
						L*=E;C=Math.min(L*B,I?I:1)
					}
					L=C/B
				} else {
					if(B>1){
						if(D=="max"){
							L=I?I:1
						} else {
							if(D!=1) {
								C*=D;
								L=Math.min(C/B,I?I:1)
							} else {
								L=C/B
							}
						}
						C=L*B
					}
				}
			} else {
				if(B>1) {
					if(E!="max"&&E!=1) {
						C*=E;
						L=Math.min(C/B,I?I:1)
					} 
					C=L*B
				} else {
					if(B<=1) {
						if(D=="max") {
							C=I?I:1
						} else {
							if(D!=1) {
								L*=D;
								C=Math.min(L*B,I?I:1)
							} else {
								C=L*B
							}
						}
						L=C/B
					}
				}
			}
			L=isNaN(L)?0:L;
			C=isNaN(C)?0:C;
			if(!I&&this.conf.fixItemSize) {
				var A=P.width/P.height;
				var I=Math.max(P.width,P.height);
				var O=this._scaleImageSize(N,{width:I,height:I},I);
				if(A<1) { 
					L=O.height/P.height;
					C=L*B/A
				} else {
					C=O.width/P.width;
					L=C/B*A
				} 
				
				var G=L*100;
				var K=C*100;
				var J=(1-C)/2*100;
				var F=(1-L)/A*100*(M?0.5:1);
				
				H.style.height=G+"%";
				
				if(N.reflection) {
					N.reflection.style.height=G*this.conf.reflectionHeight+"%"
				}
				
				H.style.width=K+"%";
				
				if(N.reflection) {
					N.reflection.style.width=K+"%"
				}
				
				H.style.marginLeft=J+"%";
				
				if(N.reflection) {
					N.reflection.style.marginLeft=J+"%"
				}
				
				H.style.marginTop=F+"%";
				
				N.element.style.overflow="hidden";
				return P
			} else {
				return {width:C,height:L}
			}
		},
		
		_setItemSize:(function() {
			if(ContentFlowGlobal.Browser.IE) {
				var A=function(E,C) {
					if(!this.conf.fixItemSize) {
						E.content.style.height=C.height+"px"
					} else {
						if(ContentFlowGlobal.Browser.IE6) {
							var D=parseInt(E.content.style.height)/100;
							E.content.style.height=C.height*D+"px";
							var B=parseInt(E.content.style.marginTop)/100;
							E.content.style.marginTop=C.height*B+"px"
						}
					}
					
					if(E.reflection) {
						var D=parseInt(E.content.style.height);
						E.reflection.style.height=D*this.conf.reflectionHeight+"px";
						E.reflection.style.marginTop=D*this.conf.reflectionGap+"px"
					}
					
					E.element.style.width=C.width+"px";
					E.element.style.height=C.height*(1+this.conf.reflectionHeight+this.conf.reflectionGap)+"px"
				}
			} else {
				var A=function(C,B) {
					if(C.reflection) {
						C.element.style.height=B.height*(1+this.conf.reflectionHeight+this.conf.reflectionGap)+"px";
						C.reflection.style.marginTop=B.height*this.conf.reflectionGap+"px"
					} else {
						if(this._reflectionWithinImage) { 
							C.element.style.height=B.height*(1+this.conf.reflectionHeight+this.conf.reflectionGap)+"px"
						} else {
							C.element.style.height=B.height+"px"
						}
					}
					C.element.style.width=B.width+"px"
				}
			}
			return A
		})(),
		
		_setItemOpacity:(function() {
			if(ContentFlowGlobal.Browser.IE6) {
				var A=function(C) {
					if(C.content.origSrc&&C.content.origSrc.match(/\.png$/)) {
						var B=C.content.src;
						C.content.src=C.content.origSrc;
						C.content.style.filter=C.content.filterString+" progid:DXImageTransform.Microsoft.BasicImage(opacity="+C.opacity+")";
						C.content.src=B
					} else {
						C.content.style.filter="progid:DXImageTransform.Microsoft.BasicImage(opacity="+C.opacity+")"
					}
					
					if(C.reflection) {
						C.reflection.style.filter=C.reflection.filterString+"progid:DXImageTransform.Microsoft.BasicImage(opacity="+C.opacity+")"
					}
				}
			} else {
				if(ContentFlowGlobal.Browser.IE) {
					var A=function(B) {
						B.element.style.filter="progid:DXImageTransform.Microsoft.BasicImage(opacity="+B.opacity+")"
					}
				} else {
					var A=function(B) {
						B.element.style.opacity=B.opacity
					}
				}
			}
			return A
		})()
	};
	
	if(!Function.bind) {
		Function.prototype.bind=function(A) {
			var B=this;
			return function() {
				return B.apply(A,arguments)
			}
		}
	}
	
	if(!Math.erf2) {
		Math.erf2=function(A) {
			var B=-(8*(Math.PI-3)/(3*Math.PI*(Math.PI-4)));
			var C=A*A;var D=1-Math.pow(Math.E,-C*(4/Math.PI+B*C)/(1+B*C));
			return D
		}
	}
	
	if(!Math._2PI05) {
		Math._2PI05=Math.sqrt(2*Math.PI)
	}
	
	if(!Math.normDist) {
		Math.normDist=function(A,C,B) {
			if(!C) {
				var C=1
			}
			
			if(!B) {
				var B=0
			}
			
			if(!A) {
				var A=-B
			}
			
			return 1/(C*Math._2PI05)*Math.pow(Math.E,-(A-B)*(A-B)/(2*C*C))
		}
	}
	
	if(!Math.normedNormDist) {
		Math.normedNormDist=function(A,C,B) {
			return this.normDist(A,C,B)/this.normDist(B,C,B)
		}
	}
	
	if(!Math.exp) {
		Math.exp=function(A) {
			return Math.pow(Math.E,A)
		}
	}
	
	if(!Math.ln) {
		Math.ln=Math.log
	} 
	
	if(!Math.log2) {
		Math.log2=function(A) {
			return Math.log(A)/Math.LN2
		}
	}
	
	if(!Math.log10) {
		Math.log10=function(A) {
			return Math.log(A)/Math.LN10
		}
	}
	
	if(!Math.logerithm) {
		Math.logerithm=function(B,A) {
			if(!A||A==Math.E) {
				return Math.log(B)
			} else {
				if(A==2) {
					return Math.log2(B)
					
				} else {
					if(A==10) {
						return Math.log10(B)
					} else {
						return Math.log(B)/Math.log(A)
					}
				}
			}
		}
	}
	
	if(!Event) {
		var Event={}
	}
	
	if(!Event.stop) {
		Event.stop=function(A) {
			A.cancelBubble=true;
			if(A.preventDefault) {
				A.preventDefault()
			}
			
			if(A.stopPropagation) {
				A.stopPropagation()
			}
			
			return false
		}
	}
	
	if(document.all&&!window.opera) {
		window.$CF=function(A) {
			if(typeof A=="string") { 
				return window.$CF(document.getElementById(A))
			} else {
				if(CFElement.prototype.extend&&A&&!A.extend) {
					CFElement.prototype.extend(A)
				}
			}
			return A
		}
	} else {
		window.$CF=function(A) {
			return A
		}
	}
	
	if(!window.HTMLElement) {
		CFElement={};
		CFElement.prototype={};
		CFElement.prototype.extend=function(A) {
			for(var B in this) {
				if(!A[B]) {
					A[B]=this[B]
				}
			}
		}
	} else {
		CFElement=window.HTMLElement
	}
	
	if(!CFElement.findPos) {
		CFElement.prototype.findPos=function() {
			var B=this;
			var C=curtop=0;
			try {
				if(B.offsetParent) {
					C=B.offsetLeft;curtop=B.offsetTop;
					while(B=B.offsetParent) {
						C+=B.offsetLeft;curtop+=B.offsetTop
					}
				}
			}
			catch(A) { } 
			
			return {left:C,top:curtop}
		}
	}
	
	if(!CFElement.getDimensions) {
		CFElement.prototype.getDimensions= function() {
			return {
				width:this.clientWidth,
				height:this.clientHeight
			}
		}
	}
	
	if(!CFElement.hasClassName) {
		CFElement.prototype.hasClassName = function(A) {
			return(new RegExp("\\b"+A+"\\b").test(this.className))
		}
	}
	
	if(!CFElement.addClassName) {
		CFElement.prototype.addClassName = function(A) {
			if(!this.hasClassName(A)) {
				this.className+=(this.className?" ":"")+A
			}
		}
	}
	
	if(!CFElement.removeClassName) {
		CFElement.prototype.removeClassName=function(A) {
			this.className=this.className.replace(new RegExp("\\b"+A+"\\b"),"").replace(/\s\s/g," ")
		}
	}
	
	if(!CFElement.toggleClassName) {
		CFElement.prototype.toggleClassName = function(A) {
			if(this.hasClassName(A)) {
				this.removeClassName(A)
			} else {
				this.addClassName(A)
			}
		}
	}
	
	if(!CFElement.getChildrenByClassName) {
		CFElement.prototype.getChildrenByClassName = function(C) {
			var B=new Array();
			for(var A=0;A<this.childNodes.length;A++) {
				var D=this.childNodes[A];
				if(D.nodeType==1&&$CF(D).hasClassName(C)) {
					B.push(D)
				}
			} 
			return B
		}
	}
	
	if(!CFElement.addEvent) {
		CFElement.prototype.addEvent=function(B,C,A) {
			if(this.addEventListener) {
				this.addEventListener(B,C,A)
			} else {
				this.attachEvent("on"+B,C)
			}
		}
	} 
	
	if(!CFElement.removeEvent) { 
		CFElement.prototype.removeEvent=function(B,C,A) {
			if(this.removeEventListener) {
				this.removeEventListener(B,C,A)
			} else {
				this.detachEvent("on"+B,C)
			}
		}
	}
	
	if(!window.addEvent) {
		window.addEvent=function(B,C,A) {
			if(this.addEventListener) {
				this.addEventListener(B,C,A)
			} else {
				if(B!="load"&&B!="resize") {
					document.attachEvent("on"+B,C)
				} else {
					this.attachEvent("on"+B,C)
				}
			}
		}
	}
	
	if(!window.removeEvent) {
		window.removeEvent=function(B,C,A) {
			if(this.removeEventListener) {
				this.removeEventListener(B,C,A)
			} else {
				if(B!="load"&&B!="resize") {
					document.detachEvent("on"+B,C)
				} else {
					this.detachEvent("on"+B,C)
				}
			}
		}
} 
// INVOCANDO À FUNÇÃO PARA REALIZAR A INICIALIZAÇÃO DA GALERIA DE IMAGENS
ContentFlowGlobal.init();
