
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;})(),getAddOnConf:function(name){if(this.AddOns[name])
return this.AddOns[name].conf;else
return{};},setAddOnConf:function(name,conf){this.AddOns[name].setConfig(conf);},getScriptElement:function(scriptName){var regex=new RegExp(scriptName);var scripts=document.getElementsByTagName('script');for(var i=0;i<scripts.length;i++){if(scripts[i].src&&regex.test(scripts[i].src))
return scripts[i];}
return'';},getScriptPath:function(scriptElement,scriptName){var regex=new RegExp(scriptName+".*");return scriptElement.src.replace(regex,'');},addScript:function(path){if(this.Browser.IE||this.Browser.WebKit||this.Browser.Konqueror){document.write('<script type="text/javascript" src="'+path+'"><\/script>');}
else{var script=document.createElement('script');script.src=path;script.setAttribute('type','text/javascript');document.getElementsByTagName('head')[0].appendChild(script);}},addScripts:function(basePath,filenames){for(var i=0;i<filename.length;i++)
this.addScript(basepath+filenames[i]);},addStylesheet:function(path){if(this.Browser.Gecko19){var link=document.createElement('link');link.setAttribute('rel','stylesheet');link.setAttribute('href',path);link.setAttribute('type','text/css');link.setAttribute('media','screen');document.getElementsByTagName('head')[0].appendChild(link);}
else{document.write('<link rel="stylesheet" href="'+path+'" type="text/css" media="screen" />');}},addStylesheets:function(basePath,filenames){for(var i=0;i<filename.length;i++)
this.addStylesheet(basepath+filenames[i]);},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=this.BaseDir;},init:function(){this.addStylesheet(this.CSSBaseDir+'contentflow.css');this.addStylesheet(this.CSSBaseDir+'mycontentflow.css');this.loadAddOns=new Array();if(this.scriptElement.getAttribute('load')){var AddOns=this.loadAddOns=this.scriptElement.getAttribute('load').replace(/\ +/g,' ').split(' ');for(var i=0;i<AddOns.length;i++){if(AddOns[i]=='')continue;this.addScript(this.AddOnBaseDir+'ContentFlowAddOn_'+AddOns[i]+'.js');}}
var CFG=this;if(document.addEventListener){if(this.Browser.WebKit){var _timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){clearInterval(_timer);CFG.onloadInit();}},10);}
else{document.addEventListener("DOMContentLoaded",CFG.onloadInit,false);}}
else if(this.Browser.IE){document.write("<script id=__ie_cf_onload defer src=javascript:void(0)><\/script>");var script=document.getElementById("__ie_cf_onload");script.onreadystatechange=function(){if(this.readyState=="complete"){CFG.onloadInit();}};}
window.addEvent('load',CFG.onloadInit,false);},onloadInit:function(){if(arguments.callee.done)return;for(var i=0;i<ContentFlowGlobal.loadAddOns.length;i++){var a=ContentFlowGlobal.loadAddOns[i];if(!ContentFlowGlobal.AddOns[a]){var CFG=ContentFlowGlobal;window.setTimeout(CFG.onloadInit,10);return;}}
arguments.callee.done=true;if(window.Element&&Element.implement&&document.all&&!window.opera){for(var prop in window.CFElement.prototype){if(!window.Element.prototype[prop]){var implement={};implement[prop]=window.CFElement.prototype[prop];Element.implement(implement);}}}
for(var i=0;i<ContentFlowGlobal.Flows.length;i++){ContentFlowGlobal.Flows[i].init();}
var divs=document.getElementsByTagName('div');DIVS:for(var i=0;i<divs.length;i++){if(divs[i].className.match(/\bContentFlow\b/)){for(var j=0;j<ContentFlowGlobal.Flows.length;j++){if(divs[i]==ContentFlowGlobal.Flows[j].Container)continue DIVS;}
var CF=new ContentFlow(divs[i],{},false);CF.init();}}}};ContentFlowGlobal.initPath();var ContentFlowAddOn=function(name,methods,register){if(typeof register=="undefined"||register!=false)
ContentFlowGlobal.AddOns[name]=this;this.name=name;if(!methods)methods={};this.methods=methods;this.conf={};if(this.methods.conf){this.setConfig(this.methods.conf);delete this.methods.conf;}
this.scriptpath=ContentFlowGlobal.AddOnBaseDir;if(methods.init){var init=methods.init.bind(this);init(this);}};ContentFlowAddOn.prototype={Browser:ContentFlowGlobal.Browser,addScript:ContentFlowGlobal.addScript,addScripts:ContentFlowGlobal.addScripts,addStylesheet:function(path){if(!path)
path=this.scriptpath+'ContentFlowAddOn_'+this.name+'.css';ContentFlowGlobal.addStylesheet(path);},addStylesheets:ContentFlowGlobal.addStylesheets,setConfig:function(conf){for(var c in conf){this.conf[c]=conf[c];}},_init:function(flow){if(this.methods.ContentFlowConf){flow.setConfig(this.methods.ContentFlowConf);}}};var ContentFlowGUIElement=function(CFobj,element){element.setDimensions=function(){this.dimensions=this.getDimensions();this.center={x:this.dimensions.width/2,y:this.dimensions.height/2};this.position=this.findPos();};element.addObserver=function(eventName,method){var m=this.eventMethod=method.bind(CFobj);this.observedEvent=eventName;this.addEvent(eventName,m,false);};element.makeDraggable=function(onDrag,beforeDrag,afterDrag){this.stopDrag=function(event){if(!event)var event=window.event;if(this.Browser.iPhone){window.removeEvent('touchemove',onDrag,false);if(!this.ontochmove){var t=event.target;if(t.firstChild)t=t.firstChild;var e=document.createEvent('MouseEvents');e.initEvent('click',true,true);t.dispatchEvent(e);}}
else{window.removeEvent('mousemove',onDrag,false);}
afterDrag(event);}.bind(this);this.initDrag=function(event){if(!event)var event=window.event;var e=event;if(event.touches)e=event.touches[0];this.mouseX=e.clientX;this.mouseY=e.clientY;beforeDrag(event);}.bind(this);this.startDrag=function(event){if(!event)var event=window.event;var stopDrag=this.stopDrag;if(this.Browser.iPhone){var s=this;s.ontouchmove=false
window.addEvent('touchmove',function(e){s.ontouchmove=true;onDrag(e);},false);event.preventDefault();window.addEvent('touchend',stopDrag,false);}
else{window.addEvent('mousemove',onDrag,false);window.addEvent('mouseup',stopDrag,false);}
if(event.preventDefault){event.preventDefault()}}.bind(this);var startDrag=this.startDrag;if(this.Browser.iPhone){this.addEventListener('touchstart',startDrag,false);}
else{this.addEvent('mousedown',startDrag,false);}};element.Browser=ContentFlowGlobal.Browser;$CF(element).setDimensions();return element;};var ContentFlowItem=function(CFobj,element,index){this.CFobj=CFobj;this._activeElement=CFobj.conf.activeElement;this.pre=null;this.next=null;this.clickItem=function(event){if(!event)var event=window.event;var el=event.target?event.target:event.srcElement;var index=el.itemIndex?el.itemIndex:el.parentNode.itemIndex;var item=this.items[index];if(this._activeItem==item){this.conf.onclickActiveItem(item);}
else{if(this.conf.onclickInactiveItem(item)!=false)this.moveToIndex(index);}}.bind(CFobj),this.setIndex=function(index){this.index=index;this.element.itemIndex=index;};this.getIndex=function(){return this.index;};if($CF(element).nodeName=="IMG"){var el=document.createElement('div');el.className="item";var cont=element.parentNode.replaceChild(el,element);cont.className="content";el.appendChild(cont);if(element.title){var cap=document.createElement('div');cap.className="caption";cap.innerHTML=element.title;el.appendChild(cap);}
element=el;}
this.element=$CF(element);this.item=element;if(typeof index!="undefined")this.setIndex(index);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"){CFobj._imagesToLoad++;var foobar=function(){CFobj._imagesToLoad--;this.image=this.content;this.setImageFormat(this.image);if(CFobj.conf.reflectionHeight>0){this.addReflection();}
this.initClick();CFobj._addItemCueProcess(true);}.bind(this);if(this.content.complete&&this.content.width>0)
window.setTimeout(foobar,100);else{var self=this;var t=window.setInterval(function(){if(self.content.complete&&self.content.width>0){window.clearInterval(t);foobar();}},10);}}
else{this.initClick();CFobj._addItemCueProcess(true);}};ContentFlowItem.prototype={Browser:ContentFlowGlobal.Browser,makeActive:function(){this.element.addClassName('active');this.CFobj.conf.onMakeActive(this);},makeInactive:function(){this.element.removeClassName('active');this.CFobj.conf.onMakeInactive(this);},initClick:function(){var cItem=this.clickItem;this[this._activeElement].addEvent('click',cItem,false);},setImageFormat:function(img){if(this.Browser.IE6||this.Browser.IE7)img.style.width="auto";img.origProportion=img.width/img.height;img.setAttribute('origProportion',img.width/img.height);if(this.Browser.IE6||this.Browser.IE7)img.style.width="";if(img.origProportion<=1)
img.addClassName('portray');else
img.addClassName('landscape');},addReflection:function(){var CFobj=this.CFobj;var reflection;var image=this.content;if(this.Browser.IE){var filterString='progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)';if(CFobj._reflectionColorRGB){if(CFobj.conf.reflectionColor=="transparent"){var RefImg=reflection=this.reflection=document.createElement('img');reflection.src=image.src;}
else{reflection=this.reflection=document.createElement('div');var RefImg=document.createElement('img');RefImg.src=image.src;reflection.width=RefImg.width;reflection.height=RefImg.height;RefImg.style.width='100%';RefImg.style.height='100%';var color=CFobj._reflectionColorRGB;reflection.style.backgroundColor='#'+color.hR+color.hG+color.hB;reflection.appendChild(RefImg);}
filterString+=' progid:DXImageTransform.Microsoft.Alpha(opacity=0, finishOpacity=50, style=1, finishX=0, startY='+CFobj.conf.reflectionHeight*100+' finishY=0)';}else{var RefImg=reflection=this.reflection=document.createElement('img');reflection.src=image.src;}
filterString+=' progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22='+1/CFobj.conf.reflectionHeight+')';if(ContentFlowGlobal.Browser.IE6){if(image.src.match(/\.png$/)){image.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+image.src+"', sizingMethod=scale )";image.filterString="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+image.src+"', sizingMethod=scale )";filterString+=" progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+image.src+"', sizingMethod=scale )";image.origSrc=image.src;image.src='img/blank.gif';RefImg.src="img/blank.gif";}}
reflection.filterString=filterString;RefImg.style.filter=filterString;}else{if(CFobj._reflectionWithinImage)
var canvas=this.canvas=$CF(document.createElement('canvas'));else
var canvas=reflection=this.reflection=document.createElement('canvas');if(canvas.getContext){if(CFobj._reflectionWithinImage){for(var i=0;i<image.attributes.length;i++){canvas.setAttributeNode(image.attributes[i].cloneNode(true));}}
var context=canvas.getContext("2d");var max=CFobj.maxHeight;var size=CFobj._scaleImageSize(this,{width:max,height:max},max)
var width=size.width;var height=size.height;if(CFobj._reflectionWithinImage){canvas.width=width;canvas.height=height;this.setImageFormat(canvas);canvas.height=height*(1+CFobj.conf.reflectionHeight+CFobj.conf.reflectionGap);}
else{canvas.width=width;canvas.height=height*CFobj.conf.reflectionHeight;}
context.save();if(CFobj._reflectionWithinImage){context.drawImage(image,0,0,width,height);}
if(CFobj._reflectionWithinImage){var contextHeight=height*(1+CFobj.conf.reflectionGap/2)*2;}
else{var contextHeight=image.height;}
contextHeight-=1;context.translate(0,contextHeight);context.scale(1,-1);context.drawImage(image,0,0,width,height);context.restore();if(CFobj._reflectionColorRGB){var gradient=context.createLinearGradient(0,0,0,canvas.height);var alpha=[0,0.5,1];if(CFobj._reflectionColor=="transparent"){context.globalCompositeOperation="destination-in";alpha=[1,0.5,0];}
var red=CFobj._reflectionColorRGB.iR;var green=CFobj._reflectionColorRGB.iG;var blue=CFobj._reflectionColorRGB.iB;if(CFobj._reflectionWithinImage){gradient.addColorStop(0,'rgba('+red+','+green+','+blue+','+alpha[0]+')');gradient.addColorStop(height/canvas.height,'rgba('+red+','+green+','+blue+','+alpha[0]+')');gradient.addColorStop(height/canvas.height,'rgba('+red+','+green+','+blue+','+alpha[1]+')');}
else{gradient.addColorStop(0,'rgba('+red+','+green+','+blue+','+alpha[1]+')');}
gradient.addColorStop(1,'rgba('+red+','+green+','+blue+','+alpha[2]+')');context.fillStyle=gradient;context.fillRect(0,0,canvas.width,canvas.height);}
if(CFobj._reflectionWithinImage){image.parentNode.replaceChild(canvas,image);this.content=canvas;this.origContent=canvas;delete this.image;}}else{CFobj._reflectionWithinImage=false;delete this.reflection;}}
if(reflection){reflection.className="reflection";this.element.appendChild(reflection);if(this.caption)this.element.appendChild(this.caption);}}};var ContentFlow=function(container,config){if(container){ContentFlowGlobal.Flows.push(this);this.Container=container;this._userConf=config?config:{};this.conf={};this._loadedAddOns=new Array();}else{throw('ContentFlow ERROR: No flow container node or id given');}};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:0,scaleFactor:1,scaleFactorLandscape:1.33,scaleFactorPortrait:1.0,fixItemSize:false,relativeItemPosition:"top center",circularFlow:true,verticalFlow:false,visibleItems:-1,endOpacity:1,startItem:"center",scrollInFrom:"pre",flowSpeedFactor:.4,flowDragFriction:1.0,scrollWheelSpeed:1.0,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.5,reflectionGap:0.0,onInit:function(){},onclickInactiveItem:function(item){},onclickActiveItem:function(item){var url,target;if(url=item.content.getAttribute('href')){target=item.content.getAttribute('target');}
else if(url=item.element.getAttribute('href')){target=item.element.getAttribute('target');}
else if(url=item.content.getAttribute('src')){target=item.content.getAttribute('target');}
if(url){if(target)
window.open(url,target).focus();else
window.location.href=url;}},onMakeInactive:function(item){},onMakeActive:function(item){},onReachTarget:function(item){},onMoveTo:function(item){},onDrawItem:function(item){},onclickPreButton:function(event){this.moveToIndex('pre');return Event.stop(event);},onclickNextButton:function(event){this.moveToIndex('next');return Event.stop(event);},calcStepWidth:function(diff){var vI=this.conf.visibleItems;var items=this.items.length;items=items==0?1:items;if(Math.abs(diff)>vI){if(diff>0){var stepwidth=diff-vI;}else{var stepwidth=diff+vI;}}else if(vI>=this.items.length){var stepwidth=diff/items;}else{var stepwidth=diff*(vI/items);}
return stepwidth;},calcSize:function(item){var rP=item.relativePosition;var h=1/(Math.abs(rP)+1);var w=h;return{width:w,height:h};},calcCoordinates:function(item){var rP=item.relativePosition;var vI=this.conf.visibleItems;var f=1-1/Math.exp(Math.abs(rP)*0.75);var x=item.side*vI/(vI+1)*f;var y=1;return{x:x,y:y};},calcZIndex:function(item){return-Math.abs(item.relativePositionNormed);},calcFontSize:function(item){return item.size.height;},calcOpacity:function(item){return Math.max(1-((1-this.conf.endOpacity)*Math.sqrt(Math.abs(item.relativePositionNormed))),this.conf.endOpacity);}},_checkIndex:function(index){index=Math.max(index,0);index=Math.min(index,this.itemsLastIndex);return index;},_setLastIndex:function(){this.itemsLastIndex=this.items.length-1;},_getItemByIndex:function(index){return this.items[this._checkIndex(index)];},_getItemByPosition:function(position){return this._getItemByIndex(this._getIndexByPosition(position));},_getPositionByIndex:function(index){if(!this.conf.circularFlow)return this._checkIndex(index);var cI=this._getIndexByPosition(this._currentPosition);var dI=index-cI;if(Math.abs(dI)>dI+this.items.length)
dI+=this.items.length;else if(Math.abs(dI)>(Math.abs(dI-this.items.length)))
dI-=this.items.length;return this._currentPosition+dI;},_getIndexByPosition:function(position){if(position<0)var mod=0;else var mod=1;var I=(Math.round(position)+mod)%this.items.length;if(I>0)I-=mod;else if(I<0)I+=this.items.length-mod;else if(position<0)I=0;else I=this.items.length-1;return I;},_getIndexByKeyWord:function(keyword,relativeTo,check){if(relativeTo)
var index=relativeTo;else if(this._activeItem)
var index=this._activeItem.index;else
var index=0;if(isNaN(keyword)){switch(keyword){case"first":case"start":index=0;break;case"last":case"end":index=this.itemsLastIndex;break;case"middle":case"center":index=Math.round(this.itemsLastIndex/2);break;case"right":case"next":index+=1;break;case"left":case"pre":case"previous":index-=1;break;case'visible':case'visiblePre':case'visibleLeft':index-=this.conf.visibleItems;break;case'visibleNext':case'visibleRight':index+=this.conf.visibleItems;break;default:index=index;}}
else{index=keyword;}
if(check!=false)
index=this._checkIndex(index);return index;},_setCaptionLabel:function(index){if(this.Position&&!this.Slider.locked)
this.Position.setLabel(index);this._setGlobalCaption();},getAddOnConf:function(name){return ContentFlowGlobal.getAddOnConf(name);},setAddOnConf:function(name,conf){ContentFlowGlobal.setAddOnConf(name,conf);},init:function(){if(this.isInit)return;this._init();},setConfig:function(config){if(!config)return;var dC=this._defaultConf;for(var option in config){if(dC[option]=="undefined")continue;switch(option){case"scrollInFrom":case"startItem":if(typeof(config[option])=="number"||typeof(config[option])=="string"){this.conf[option]=config[option];}
break;default:if(typeof(dC[option]==config[option])){if(typeof config[option]=="function"){this.conf[option]=config[option].bind(this);}
else{this.conf[option]=config[option];}}}}
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;}
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);}
if(this.conf.relativeItemPosition){var calcRP={x:{left:function(size){return-1},center:function(size){return 0},right:function(size){return 1}},y:{top:function(size){return-1},center:function(size){return 0},bottom:function(size){return 1}}};var iP=this.conf.relativeItemPosition;iP=iP.replace(/above/,"top").replace(/below/,"bottom");var x,y=null;x=iP.match(/left|right/);y=iP.match(/top|bottom/);c=iP.match(/center/);if(!x){if(c)x="center";else x="center";}
if(!y){if(c)y="center";else y="top";}
var calcX=calcRP.x[x];var calcY=calcRP.y[y];this.conf.calcRelativeItemPosition=function(item){var x=calcX(item.size);var y=calcY(item.size);return{x:x,y:y};};this.conf.relativeItemPosition=null;}
if(this._reflectionType&&this._reflectionType!="clientside"){this.conf.reflectionHeight=0;}},getItem:function(index){return this.items[this._checkIndex(Math.round(index))];},getActiveItem:function(){return this._activeItem;},getNumberOfItems:function(){return this.items.length;},resize:function(){this._initSizes();this._initStep();},moveToPosition:function(p,holdPos){if(!this.conf.circularFlow)p=this._checkIndex(p);this._targetPosition=p;this.conf.onMoveTo(this._getItemByPosition(p));this._initStep(false,holdPos);},moveToIndex:function(index){this._targetPosition=Math.round(this._getPositionByIndex(this._getIndexByKeyWord(index,this._activeItem.index,!this.conf.circularFlow)));this.conf.onMoveTo(this._getItemByPosition(this._targetPosition));this._initStep();},moveToItem:function(item){var i;if(item.itemIndex)i=item.itemIndex;else i=item.index;this.moveToIndex(i);},moveTo:function(i){if(typeof i=="object")this.moveToItem(i);else if(isNaN(i)||(i==Math.floor(i)&&i<this.items.length))this.moveToIndex(i);else this.moveToPosition(i);},_addItemCue:[],_addItemCueProcess:function(deleteFirst){var c=this._addItemCue;if(deleteFirst==true)
c.shift();if(c.length>0&&!c[0].p){c[0].p=true;var self=this;var t=c.length>5?1:40;window.setTimeout(function(){self._addItem(c[0].el,c[0].i)},t);}},addItem:function(el,index){this._addItemCue.push({el:el,i:index,p:false});if(this._addItemCue.length==1)
this._addItemCueProcess();},_addItem:function(el,index){if(typeof index=="string"){switch(index){case"first":case"start":index=0;break;case"last":case"end":index=isNaN(this.itemsLastIndex)?0:this.itemsLastIndex;index+=1;break;default:index=this._getIndexByKeyWord(index);}}
index=Math.max(index,0);index=Math.min(index,this.itemsLastIndex+1);index=isNaN(index)?0:index;this.Flow.appendChild(el);var item=new ContentFlowItem(this,el,index);if(this.items.length==0){this.resize();if(this.conf.circularFlow){item.pre=item;item.next=item;}}
else{if(index==this.itemsLastIndex+1){item.pre=this.items[this.itemsLastIndex];item.next=item.pre.next;}
else{item.next=this.items[index];item.pre=item.next.pre;}
if(item.pre)item.pre.next=item;if(item.next)item.next.pre=item;}
this.items.splice(index,0,item);for(var i=index;i<this.items.length;i++){this.items[i].setIndex(i);}
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(index))<=Math.round(this._targetPosition)){this._targetPosition++;if(!this.conf.circularFlow)
this._targetPosition=Math.min(this._targetPosition,this.itemsLastIndex);}
if(this._getPositionByIndex(index)<=this._currentPosition){this._currentPosition++;if(!this.conf.circularFlow)
this._currentPosition=Math.min(this._currentPosition,this.itemsLastIndex);}
var CF=this;window.setTimeout(function(){if(CF.items.length==1){CF._currentPosition=-0.01;CF._targetPosition=0;CF.resize();}
else{CF._initStep();}},100);return index;},rmItem:function(index){if(index=="undefined")index=this._activeItem.index;index=this._getIndexByKeyWord(index);if(!this.items[index])return null;var item=this.items[index];if(item.pre)item.pre.next=item.next;if(item.next)item.next.pre=item.pre;this.items.splice(index,1);for(var i=index;i<this.items.length;i++){this.items[i].setIndex(i);}
this._setLastIndex();if(Math.round(this._getPositionByIndex(index))<Math.round(this._targetPosition)){this._targetPosition--;if(!this.conf.circularFlow)
this._targetPosition=this._checkIndex(this._targetPosition);}
if(this._getPositionByIndex(index)<this._currentPosition){this._currentPosition--;if(!this.conf.circularFlow)
this._currentPosition=this._checkIndex(this._currentPosition);}
this._activeItem=this._getItemByPosition(this._currentPosition);var removedItem=item.element.parentNode.removeChild(item.element);var CF=this;window.setTimeout(function(){CF._initStep()},10);return removedItem;},_init:function(){if(typeof(this.Container)=='string'){var container=document.getElementById(this.Container);if(container){this.Container=container;}else{throw('ContentFlow ERROR: No element with id \''+this.Container+'\' found!');return;}}
$CF(this.Container).addClassName('ContentFlow');var flow=$CF(this.Container).getChildrenByClassName('flow')[0];if(!flow){throw('ContentFlow ERROR: No element with class\'flow\' found!');return;}
this.Flow=new ContentFlowGUIElement(this,flow);var scrollbar=this.Container.getChildrenByClassName('scrollbar')[0];if(scrollbar){this.Scrollbar=new ContentFlowGUIElement(this,scrollbar);var slider=this.Scrollbar.getChildrenByClassName('slider')[0];if(slider){this.Slider=new ContentFlowGUIElement(this,slider);var position=this.Slider.getChildrenByClassName('position')[0];if(position){this.Position=new ContentFlowGUIElement(this,position);}}}
this.setConfig(this._defaultConf);this._initAddOns();this.setConfig(this._userConf);this._initSizes();var items=this.Flow.getChildrenByClassName('item');this.items=new Array();for(var i=0;i<items.length;i++){var item=this.items[i]=new ContentFlowItem(this,items[i],i);if(i>0){item.pre=this.items[i-1];item.pre.next=item;}}
this._setLastIndex();if(this.conf.circularFlow&&this.items.length>0){var s=this.items[0];s.pre=this.items[this.items.length-1];s.pre.next=s;}
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 index=this._getIndexByKeyWord(this.conf.scrollInFrom,this._targetPosition);switch(this.conf.scrollInFrom){case"next":case"right":index-=0.5;break;case"pre":case"previous":case"left":index+=0.5;break;}
this._currentPosition=index;var now=new Date();var cf=this;var timer=window.setInterval(function(){if(cf._imagesToLoad==0||new Date()-now>cf._loadingTimeout){clearInterval(timer);cf._activeItem=cf.getItem(cf._currentPosition);if(cf._activeItem){cf._activeItem.makeActive();cf._setCaptionLabel(cf._activeItem.index);}
cf.Flow.style.visibility="visible";if(cf.loadIndicator)cf.loadIndicator.style.display="none";if(cf.Scrollbar)cf.Scrollbar.style.visibility="visible";cf.resize();for(var i=0;i<cf._loadedAddOns.length;i++){var a=ContentFlowGlobal.AddOns[cf._loadedAddOns[i]];if(a.methods.afterContentFlowInit)
a.methods.afterContentFlowInit(cf);}
cf.conf.onInit();}},10);this.isInit=true;},_initAddOns:function(){var loadAddOns=[];if(this._userConf.useAddOns){if(typeof this._userConf.useAddOns=="string"){loadAddOns=this._userConf.useAddOns.split(" ");}
else if(typeof this._userConf.useAddOns=="array"){loadAddOns=this._userConf.useAddOns;}}
else if(this.Container.getAttribute("useAddOns")){loadAddOns=this.Container.getAttribute("useAddOns").split(" ");}
else{loadAddOns=this.conf.useAddOns.split(' ');}
for(var i=0;i<loadAddOns.length;i++){if(loadAddOns[i]=="none"){loadAddOns=new Array();break;}
else if(loadAddOns[i]=="all"){loadAddOns=new Array();for(var AddOn in ContentFlowGlobal.AddOns)
loadAddOns.push(AddOn);break;}}
for(var i=0;i<loadAddOns.length;i++){var AddOn=ContentFlowGlobal.AddOns[loadAddOns[i]];if(AddOn){this._loadedAddOns.push(loadAddOns[i]);AddOn._init(this);this.Container.addClassName('ContentFlowAddOn_'+AddOn.name);if(AddOn.methods.onloadInit)
AddOn.methods.onloadInit(this);}}},_initGUI:function(){var resize=this.resize.bind(this);window.addEvent('resize',resize,false);var divs=this.Container.getElementsByTagName('div');for(var i=0;i<divs.length;i++){if($CF(divs[i]).hasClassName('preButton')){var pre=divs[i];var mt=this.conf.onclickPreButton;pre.addEvent('click',mt,false);}
else if(divs[i].hasClassName('nextButton')){var next=divs[i];var mt=this.conf.onclickNextButton;next.addEvent('click',mt,false);}}
if(this.conf.scrollWheelSpeed!=0){var wheel=this._wheel.bind(this);if(window.addEventListener)this.Container.addEventListener('DOMMouseScroll',wheel,false);this.Container.onmousewheel=wheel;}
var key=this._keyStroke.bind(this);if(this.conf.keys&&!this.Browser.iPhone){if(document.addEventListener){if(!this.Browser.Opera){var mouseoverCheck=document.createElement('div');mouseoverCheck.addClassName('mouseoverCheckElement');this.Container.appendChild(mouseoverCheck);if(this.Browser.WebKit){document.body.addEvent('keydown',function(event){if(mouseoverCheck.offsetLeft>0)key(event);});}else{window.addEvent('keydown',function(event){if(mouseoverCheck.offsetLeft>0)key(event);});}}
else{this.Container.addEvent('keydown',key);}}
else{this.Container.onkeydown=key;}}
if(this.conf.flowDragFriction>0){var onDrag=function(event){var e=event;if(event.touches)e=event.touches[0];var mouseX=e.clientX;var mouseY=e.clientY;if(this.conf.verticalFlow){var dist=mouseY-this.Flow.mouseY;var dim=this.Flow.dimensions.height;}
else{var dist=mouseX-this.Flow.mouseX;var dim=this.Flow.dimensions.width;}
var itemDist=(dist/dim)*(2*this.conf.visibleItems+1);var target=this._currentPosition-itemDist*2*this.conf.visibleItems/this.conf.flowDragFriction;this.Flow.mouseX=mouseX;this.Flow.mouseY=mouseY;this.moveToPosition(target,true);}.bind(this);var beforeDrag=function(){};var afterDrag=function(event){var t=Math.round(this._targetPosition);if(Math.abs(t-this._currentPosition)>0.001)
this.moveToPosition(t);}.bind(this);this.Flow.makeDraggable(onDrag,beforeDrag,afterDrag);}
if(this.Scrollbar){var click=function(event){if(!event)var event=window.event;if(!this.Scrollbar.clickLocked){var mouseX=event.clientX;var positionOnScrollbar=mouseX-this.Scrollbar.position.left;var targetIndex=Math.round(positionOnScrollbar/this.Scrollbar.dimensions.width*this.itemsLastIndex);this.moveToIndex(targetIndex);}
else
this.Scrollbar.clickLocked=false;}.bind(this);this.Scrollbar.addObserver('click',click);}
if(this.Slider){if(this.Browser.IE6){var virtualSlider=document.createElement('div');virtualSlider.className='virtualSlider';this.Slider.appendChild(virtualSlider);}
this.Slider.setPosition=function(relPos){relPos=relPos-Math.floor(relPos)+this._getIndexByPosition(Math.floor(relPos));if(Math.round(relPos)<0)
relPos=this.itemsLastIndex;else if(relPos<=0)
relPos=0;else if(Math.round(relPos)>this.itemsLastIndex)
relPos=0;else if(relPos>=this.itemsLastIndex)
relPos=this.itemsLastIndex;if(this.items.length>1){var sPos=(relPos/this.itemsLastIndex)*this.Scrollbar.dimensions.width;}else{var sPos=0.5*this.Scrollbar.dimensions.width;}
this.Slider.style.left=sPos-this.Slider.center.x+"px";this.Slider.style.top=this.Scrollbar.center.y-this.Slider.center.y+"px";}.bind(this);var beforeDrag=function(event){this.Scrollbar.clickLocked=true;}.bind(this);var onDrag=function(event){var e=event;if(event.touches)e=event.touches[0];var selectedIndex=this._checkIndex((e.clientX-this.Scrollbar.position.left)/this.Scrollbar.dimensions.width*this.itemsLastIndex);this._targetPosition=this._getPositionByIndex(selectedIndex);this.Slider.setPosition(selectedIndex);if(this.Position)this.Position.setLabel(selectedIndex);this._initStep(true,true);}.bind(this);var afterDrag=function(event){this._targetPosition=Math.round(this._targetPosition);this.conf.onMoveTo(this._getItemByPosition(this._targetPosition));this._initStep(true);}.bind(this);this.Slider.makeDraggable(onDrag,beforeDrag,afterDrag);}
if(this.Position){this.Position.setLabel=function(index){index=this._checkIndex(Math.round(index));if(this.items&&this.items[index].label)
this.Position.innerHTML=this.items[index].label.innerHTML;else
this.Position.innerHTML=index+1;}.bind(this);}
this.globalCaption=this.Container.getChildrenByClassName('globalCaption')[0];this.loadIndicator=this.Container.getChildrenByClassName('loadIndicator')[0];},_initSizes:function(x){this._initMaxHeight();var scrollbarHeight=this._initScrollbarSize();if(!this.conf.verticalFlow&&this.Container.style.height&&this.Container.style.height!="auto")
this.maxHeight-=scrollbarHeight;if(!this._activeItem)return;var mFS=this._findBiggestItem();var pF=this.Flow.findPos();if(this.conf.verticalFlow){this.Flow.style.width=mFS.width.width+"px";this.Flow.style.height=3*mFS.width.width*(1+this.conf.reflectionHeight+this.conf.reflectionGap)+"px";}else{this.Flow.style.height=mFS.height.height+(mFS.height.top-pF.top)+"px";}
var s=this.conf.verticalFlow?mFS.width.width:mFS.height.height;var cH=s/(1+this.conf.reflectionHeight+this.conf.reflectionGap);this.Flow.style.marginBottom=-(s-cH)+"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:mFS.width.width/2};}else{this.Flow.center={x:this.Flow.dimensions.width/2,y:mFS.height.height/2};}},_initScrollbarSize:function(){var SB;var SL;var PO;if(SB=this.Scrollbar){SB.setDimensions();var scrollbarHeight=SB.dimensions.height;if(SL=this.Slider){SL.setDimensions();scrollbarHeight+=SL.dimensions.height;if(PO=this.Position){var oldLabel=PO.innerHTML;var maxH=maxW=0;PO.style.width="auto";if(this.items){for(var i=0;i<this.items.length;i++){var item=this.items[i];if(item.label){PO.innerHTML=item.label.innerHTML;}
else{PO.innerHTML=item.index;}
var h=PO.clientHeight;var w=PO.clientWidth;if(h>maxH)maxH=h;if(w>maxW)maxW=w;}}
else{PO.innerHTML="&nbsp;";maxH=PO.clientHeight;maxW=PO.clientWidth;}
PO.innerHTML=oldLabel;PO.setDimensions();PO.style.width=maxW+"px";PO.style.left=(SL.dimensions.width-maxW)/2+"px";var extraSpace=PO.position.top-SL.position.top;if(extraSpace>0){extraSpace+=-SB.dimensions.height+maxH;SB.style.marginBottom=extraSpace+"px";}
else{extraSpace*=-1;SB.style.marginTop=extraSpace+"px";}
scrollbarHeight+=extraSpace;}}}
else{scrollbarHeight=0;}
return scrollbarHeight;},_initMaxHeight:function(){if(this.conf.verticalFlow){var proportion=screen.width/screen.height;var Csd=this.Container.style.width;var Cdim=this.Container.clientWidth;var Fsd=this.Flow.style.width;var Fdim=this.Flow.clientWidth;var Fdim_o=this.Flow.clientHeight;}else{var proportion=screen.height/screen.width;var Csd=this.Container.style.height;var Cdim=this.Container.clientHeight;var Fsd=this.Flow.style.height;var Fdim=this.Flow.clientHeight;var Fdim_o=this.Flow.clientWidth;}
if(this.ContainerOldDim)
Csd=this.ContainerOldDim;if(this.FlowOldDim)
Fsd=this.FlowOldDim;this.ContainerOldDim="auto";this.FlowOldDim="auto";if(this.conf.maxItemHeight<=0){this.maxHeight=Fdim_o/3*proportion/1*this.conf.scaleFactor;if(this.conf.verticalFlow&&(this.maxHeight==0||this.maxHeight>Fdim)){this.maxHeight=Fdim;}
if(Csd&&Csd!="auto"){var gap=this.conf.verticalFlow?0:this.conf.reflectionGap;var rH=this.conf.verticalFlow?0:this.conf.reflectionHeight;this.maxHeight=Cdim/(this.conf.scaleFactor*(1+rH+gap));this.ContainerOldDim=Csd;}
else if(Fsd&&Fsd!="auto"){var gap=this.conf.verticalFlow?0:this.conf.reflectionGap;this.maxHeight=Fdim/(this.conf.scaleFactor*(1+this.conf.reflectionHeight+gap));this.FlowOldDim=Fsd;}}
else{this.maxHeight=this.conf.maxItemHeight;}},_findBiggestItem:function(){var currentItem=this._activeItem;var itemP=currentItem.pre;var itemN=currentItem.next;var mFS=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 checkMax=function(item,rI){var el=item.element;el.style.display="block";var p=el.findPos();var h=el.clientHeight;var w=el.clientWidth;if(h+p.top>=mFS.height.height+mFS.height.top){mFS.height.height=h;mFS.height.top=p.top;mFS.height.item=item;mFS.height.rI=rI;}
if(w+p.left>=mFS.width.width+mFS.width.left){mFS.width.width=w;mFS.width.left=p.left;mFS.width.item=item;mFS.width.rI=rI;}
el.style.display="none";}
var ocp=this._currentPosition;this._currentPosition=this.conf.visibleItems+1;for(var i=-this.conf.visibleItems;i<=this.conf.visibleItems;i++){currentItem.element.style.display="none";this._positionItem(currentItem,i);checkMax(currentItem,i);}
var index=mFS.height.rI;for(var i=0;i<this.items.length;i++){var item=this.items[i];item.element.style.display="none";this._positionItem(item,index);checkMax(item,index);}
this._currentPosition=ocp;return mFS},_keyStroke:function(event){if(!event)var event=window.event;if(event.which){var keyCode=event.which;}else if(event.keyCode){var keyCode=event.keyCode;}
if(this.conf.keys[keyCode]){this.conf.keys[keyCode].bind(this)();return Event.stop(event);}
else{return true;}},_wheel:function(event){if(!event)var event=window.event;var delta=0;if(event.wheelDelta){delta=event.wheelDelta/120;}else if(event.detail){delta=-event.detail/3;}
if(delta){var target=this._targetPosition;if(delta<0){target+=(1*this.conf.scrollWheelSpeed);}else{target-=(1*this.conf.scrollWheelSpeed);}
this.moveToPosition(Math.round(target));}
return Event.stop(event);},_setGlobalCaption:function(){if(this.globalCaption){this.globalCaption.innerHTML='';if(this._activeItem&&this._activeItem.caption)
this.globalCaption.appendChild(this._activeItem.caption.cloneNode(true));}},_initStep:function(holdSlider,holdPos){if(this.Slider){if(holdSlider){this.Slider.locked=true;}else{this.Slider.locked=false;}}
this._holdPos=holdPos==true?true:false;if(!this._stepLock){this._stepLock=true;this._step();}},_step:function(){var diff=this._targetPosition-this._currentPosition;var absDiff=Math.abs(diff);if(absDiff>0.001){this._currentPosition+=this.conf.flowSpeedFactor*this.conf.calcStepWidth(diff,absDiff,this.items.length,this.conf.visibleItems);var AI=this.items[(this._getIndexByPosition(this._currentPosition))];if(AI&&AI!=this._activeItem){if(this._activeItem)this._activeItem.makeInactive();this._activeItem=AI;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 st=this._step.bind(this);window.setTimeout(st,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 item=this._lastStart;while(item){item.element.style.display="none";item=item.next;if(item==this._lastStart)break;if(item&&item.pre==this._lastEnd)break;}}
else{this._lastStart=this._activeItem;}
if(!this._activeItem)return;var currentItem=this._activeItem;var itemP=currentItem.pre;var itemN=currentItem.next;this._positionItem(currentItem,0);for(var i=1;i<=this.conf.visibleItems&&2*i<this.items.length;i++){if(itemP){this._positionItem(itemP,-i);this._lastStart=itemP;itemP=itemP.pre;}
if(itemN){this._positionItem(itemN,i);this._lastEnd=itemN;itemN=itemN.next;}}},_positionItem:function(item,relativeIndex){var conf=this.conf;var vF=conf.verticalFlow;var els=item.element.style;var p=item.position=this._currentPosition+relativeIndex;var relativePosition=item.relativePosition=Math.round(p)-this._currentPosition;var relativePositionNormed=item.relativePositionNormed=conf.visibleItems>0?relativePosition/conf.visibleItems:0;var side=relativePosition<0?-1:1;side*=relativePosition==0?0:1;item.side=side;var size=conf.calcSize(item);size.height=Math.max(size.height,0);size.width=Math.max(size.width,0);if(item.content.origProportion)size=this._scaleImageSize(item,size);item.size=size;var coords=item.coordinates=conf.calcCoordinates(item);var relItemPos=item.relativeItemPosition=conf.calcRelativeItemPosition(item);var zIndex=item.zIndex=conf.calcZIndex(item);var fontSize=item.fontSize=conf.calcFontSize(item);var opacity=item.opacity=conf.calcOpacity(item);size.height*=this.maxHeight;size.width*=this.maxHeight;var sA=vF?size.height:size.width;var sB=vF?size.width:size.height;var pX=Math.round((this.Flow.center.x*(1+coords.x)+(relItemPos.x-1)*sA/2)*10)/10;var pY=Math.round((this.maxHeight/2*(1+coords.y)+(relItemPos.y-1)*sB/2)*10)/10;els.left=(vF?pY:pX)+"px";els.top=(vF?pX:pY)+"px";this._setItemSize(item,size);if(conf.endOpacity!=1){this._setItemOpacity(item);}
if(!this.Browser.IE)els.fontSize=(fontSize*100)+"%";els.zIndex=32768+Math.round(zIndex*this.items.length);conf.onDrawItem(item);els.visibility="visible";els.display="block";},_scaleImageSize:function(item,size,max){var sFL=this.conf.scaleFactorLandscape;var sFP=this.conf.scaleFactorPortrait;var vF=this.conf.verticalFlow;var prop=item.content.origProportion;var width=size.width;var height=size.height;var c=item.content;if(vF){if(prop<=1){if(sFL!="max"&&sFL!=1){height*=sFL;width=Math.min(height*prop,max?max:1);}
height=width/prop;}
else if(prop>1){if(sFP=="max"){height=max?max:1;}
else if(sFP!=1){width*=sFP;height=Math.min(width/prop,max?max:1)}
else{height=width/prop;}
width=height*prop;}}
else{if(prop>1){if(sFL!="max"&&sFL!=1){width*=sFL;height=Math.min(width/prop,max?max:1);}
width=height*prop;}
else if(prop<=1){if(sFP=="max"){width=max?max:1;}
else if(sFP!=1){height*=sFP;width=Math.min(height*prop,max?max:1);}
else{width=height*prop;}
height=width/prop;}}
height=isNaN(height)?0:height;width=isNaN(width)?0:width;if(!max&&this.conf.fixItemSize){var propS=size.width/size.height;var max=Math.max(size.width,size.height);var s=this._scaleImageSize(item,{width:max,height:max},max);if(propS<1){height=s.height/size.height;width=height*prop/propS;}
else{width=s.width/size.width;height=width/prop*propS;}
var h=height*100;var w=width*100;var mL=(1-width)/2*100;var mT=(1-height)/propS*100*(vF?0.5:1);c.style.height=h+"%";if(item.reflection)item.reflection.style.height=h*this.conf.reflectionHeight+"%";c.style.width=w+"%";if(item.reflection)item.reflection.style.width=w+"%";c.style.marginLeft=mL+"%";if(item.reflection)item.reflection.style.marginLeft=mL+"%";c.style.marginTop=mT+"%";item.element.style.overflow="hidden";return size;}
else{return{width:width,height:height};}},_setItemSize:(function(){if(ContentFlowGlobal.Browser.IE){var _setItemSize=function(item,size){if(!this.conf.fixItemSize){item.content.style.height=size.height+"px";}
else if(ContentFlowGlobal.Browser.IE6){var h=parseInt(item.content.style.height)/100;item.content.style.height=size.height*h+"px";var mT=parseInt(item.content.style.marginTop)/100;item.content.style.marginTop=size.height*mT+"px";}
if(item.reflection){var h=parseInt(item.content.style.height);item.reflection.style.height=h*this.conf.reflectionHeight+"px";item.reflection.style.marginTop=h*this.conf.reflectionGap+"px";}
item.element.style.width=size.width+"px";item.element.style.height=size.height*(1+this.conf.reflectionHeight+this.conf.reflectionGap)+"px";}}
else{var _setItemSize=function(item,size){if(item.reflection){item.element.style.height=size.height*(1+this.conf.reflectionHeight+this.conf.reflectionGap)+"px";item.reflection.style.marginTop=size.height*this.conf.reflectionGap+"px";}
else if(this._reflectionWithinImage){item.element.style.height=size.height*(1+this.conf.reflectionHeight+this.conf.reflectionGap)+"px";}
else{item.element.style.height=size.height+"px";}
item.element.style.width=size.width+"px";}}
return _setItemSize;})(),_setItemOpacity:(function(){if(ContentFlowGlobal.Browser.IE6){var _setItemOpacity=function(item){if(item.content.origSrc&&item.content.origSrc.match(/\.png$/)){var s=item.content.src;item.content.src=item.content.origSrc;item.content.style.filter=item.content.filterString+" progid:DXImageTransform.Microsoft.BasicImage(opacity="+item.opacity+")";item.content.src=s;}
else{item.content.style.filter="progid:DXImageTransform.Microsoft.BasicImage(opacity="+item.opacity+")";}
if(item.reflection)item.reflection.style.filter=item.reflection.filterString+"progid:DXImageTransform.Microsoft.BasicImage(opacity="+item.opacity+")";}}
else if(ContentFlowGlobal.Browser.IE){var _setItemOpacity=function(item){item.element.style.filter="progid:DXImageTransform.Microsoft.BasicImage(opacity="+item.opacity+")";}}
else{var _setItemOpacity=function(item){item.element.style.opacity=item.opacity;}}
return _setItemOpacity;})()};if(!Function.bind){Function.prototype.bind=function(obj){var method=this;return function(){return method.apply(obj,arguments);};};}
if(!Math.erf2){Math.erf2=function(x){var a=-(8*(Math.PI-3)/(3*Math.PI*(Math.PI-4)));var x2=x*x;var f=1-Math.pow(Math.E,-x2*(4/Math.PI+a*x2)/(1+a*x2));return f;};}
if(!Math._2PI05){Math._2PI05=Math.sqrt(2*Math.PI);}
if(!Math.normDist){Math.normDist=function(x,sig,mu){if(!sig)var sig=1;if(!mu)var mu=0;if(!x)var x=-mu;return 1/(sig*Math._2PI05)*Math.pow(Math.E,-(x-mu)*(x-mu)/(2*sig*sig));};}
if(!Math.normedNormDist){Math.normedNormDist=function(x,sig,mu){return this.normDist(x,sig,mu)/this.normDist(mu,sig,mu);};}
if(!Math.exp){Math.exp=function(x){return Math.pow(Math.E,x);};}
if(!Math.ln){Math.ln=Math.log;}
if(!Math.log2){Math.log2=function(x){return Math.log(x)/Math.LN2;};}
if(!Math.log10){Math.log10=function(x){return Math.log(x)/Math.LN10;};}
if(!Math.logerithm){Math.logerithm=function(x,b){if(!b||b==Math.E)
return Math.log(x);else if(b==2)
return Math.log2(x);else if(b==10)
return Math.log10(x);else
return Math.log(x)/Math.log(b);};}
if(!Event)var Event={};if(!Event.stop){Event.stop=function(event){event.cancelBubble=true;if(event.preventDefault)event.preventDefault();if(event.stopPropagation)event.stopPropagation();return false;};}
if(document.all&&!window.opera){window.$CF=function(el){if(typeof el=="string"){return window.$CF(document.getElementById(el));}
else{if(CFElement.prototype.extend&&el&&!el.extend)CFElement.prototype.extend(el);}
return el;};}else{window.$CF=function(el){return el;};}
if(!window.HTMLElement){CFElement={};CFElement.prototype={};CFElement.prototype.extend=function(el){for(var method in this){if(!el[method])el[method]=this[method];}};}
else{CFElement=window.HTMLElement;}
if(!CFElement.findPos){CFElement.prototype.findPos=function(){var obj=this;var curleft=curtop=0;try{if(obj.offsetParent){curleft=obj.offsetLeft;curtop=obj.offsetTop;while(obj=obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}}}
catch(ex){}
return{left:curleft,top:curtop};};}
if(!CFElement.getDimensions){CFElement.prototype.getDimensions=function(){return{width:this.clientWidth,height:this.clientHeight};};}
if(!CFElement.hasClassName){CFElement.prototype.hasClassName=function(className){return(new RegExp('\\b'+className+'\\b').test(this.className));};}
if(!CFElement.addClassName){CFElement.prototype.addClassName=function(className){if(!this.hasClassName(className)){this.className+=(this.className?' ':'')+className;}};}
if(!CFElement.removeClassName){CFElement.prototype.removeClassName=function(className){this.className=this.className.replace(new RegExp('\\b'+className+'\\b'),'').replace(/\s\s/g,' ');};}
if(!CFElement.toggleClassName){CFElement.prototype.toggleClassName=function(className){if(this.hasClassName(className)){this.removeClassName(className);}else{this.addClassName(className);}};}
if(!CFElement.getChildrenByClassName){CFElement.prototype.getChildrenByClassName=function(className){var children=new Array();for(var i=0;i<this.childNodes.length;i++){var c=this.childNodes[i];if(c.nodeType==1&&$CF(c).hasClassName(className)){children.push(c);}}
return children;};}
if(!CFElement.addEvent){CFElement.prototype.addEvent=function(eventName,method,capture){if(this.addEventListener)
this.addEventListener(eventName,method,capture);else
this.attachEvent('on'+eventName,method);};}
if(!CFElement.removeEvent){CFElement.prototype.removeEvent=function(eventName,method,capture){if(this.removeEventListener)
this.removeEventListener(eventName,method,capture);else
this.detachEvent('on'+eventName,method);};}
if(!window.addEvent){window.addEvent=function(eventName,method,capture){if(this.addEventListener){this.addEventListener(eventName,method,capture);}else{if(eventName!='load'&&eventName!='resize')
document.attachEvent('on'+eventName,method);else
this.attachEvent('on'+eventName,method);}};}
if(!window.removeEvent){window.removeEvent=function(eventName,method,capture){if(this.removeEventListener){this.removeEventListener(eventName,method,capture);}else{if(eventName!='load'&&eventName!='resize')
document.detachEvent('on'+eventName,method);else
this.detachEvent('on'+eventName,method);}};}
ContentFlowGlobal.init();
