// Init menu
var cetlClass = new Class({

	initialize: function(){
		
		window.addEvent("domready", function() {  
			this.milkBoxInit();
		}.bind(this));
		
	},
	
	milkBoxInit : function() {
	
		/*
		Based on Milkbox v2.2.1 - required: mootools.js v1.2.1 core + more: Assets
		by Luca Reghellin (http://www.reghellin.com) February 2009, MIT-style license.
		Inspiration Lokesh Dhakar (http://www.lokeshdhakar.com/projects/lightbox2/)
		AND OF COURSE, SPECIAL THANKS TO THE MOOTOOLS DEVELOPERS
		*/
		
		this.Milkbox = new Class({
		
			Implements:[Options,Events],
			
			options:{//set all the options here
				overlayOpacity:0.7,
				topPosition:50,
				initialWidth:250,
				initialHeight:250,
				canvasBorderWidth:'0px',
				canvasBorderColor:'#000000',
				canvasPadding:'0px',
				resizeDuration:500,
				resizeTransition:'sine:in:out',/*function (ex. Transitions.Sine.easeIn) or string (ex. 'bounce:out')*/
				autoPlay:false,
				autoPlayDelay:7,
				removeTitle:false,
				onXmlGalleries:$empty,
				onClosed:$empty,
				onFileReady:$empty
			},
			
			initialize: function(options){
			
				this.fullOptionsBkup = {};
				this.galleries = [];
				this.families = [];
				this.xmlFiles = [];
				this.loadedImages = [];//to check the preloaded images
				this.currentFile = null;
				this.currentIndex = null;
				this.currentGallery = null;
				this.currentRequest = null;
				this.currentResponse = null;
				
				this.mode = null;//'singleFile','fileGallery'
				this.closed = true;
				this.busy = true;//to control keyboard and autoplay events
				this.paused = true;
				this.fileReady = false;//to prevent overlapping loadFile calls via next_prev_aux()
				this.eventsok = false;
				this.first = true;//true if it's the first file since it opened 
				
				this.intObj = null;
				
				this.formtags = null;
				this.prepareGalleries();

				if(this.galleries.length == 0){ return; };
						
				this.initMilkbox();
				this.saveOptions();

			},
			
			initMilkbox:function(){
		
				this.prepareHTML();
				this.prepareEffects();
				this.prepareEvents();
				
				this.formtags = $$('select','textarea');
				this.activated = true;
			},
			
			openMilkbox:function(gallery,index){
		
				this.closed = false;
				
				if(this.formtags.length != 0){ this.formtags.setStyle('display','none') };
		
				this.overlay.setStyles({ 'top': -$(window).getScroll().y,'height':$(window).getScrollSize().y+$(window).getScroll().y });
				this.center.setStyle('top',$(window).getScroll().y+this.options.topPosition);
		
				this.currentGallery = gallery;
				this.currentIndex = index;
				this.overlay.tween('opacity',this.options.overlayOpacity);//onComplete: center.tween opacity
				
				if(gallery.length == 1){
					this.mode = 'singleFile';
					this.loadFile(gallery[index],index);
				} else {
					this.mode = 'fileGallery';
					var playpauseWidth = 0;
					//interface
					$$(this.prev, this.next, this.count).setStyle('display','block');
					if(this.options.autoPlay){ 
						this.playpause.setStyle('display','block');
						var playpauseWidth = this.playpause.getSize().x;
					}
					var border = this.center.getStyle('border-right-width').toInt();//border-right is just ok for design purposes..
					var navWidth = this.prev.getSize().x+this.next.getSize().x+this.close.getSize().x+playpauseWidth+border;
					this.navigation.setStyle('width',navWidth);
					this.description.setStyle('margin-right',navWidth);
					//files
					var next = (index != gallery.length-1) ? gallery[index+1] : gallery[0];
					var prev = (index != 0) ? gallery[index-1] : gallery[gallery.length-1];
					var preloads = (prev == next) ? [prev] : [prev,next]; //if gallery.length == 2, then prev == next
								
					this.loadFile(gallery[index],preloads);
				}//end else
			},
			
			loadFile:function(fileObj,preloads){
				this.fileReady = false;
				var swf = this.checkFileType(fileObj,'swf');
				if(!swf){ 
					if(!this.loadedImages.contains(fileObj.retrieve('href'))){ this.center.addClass('mbLoading'); } 
					this.loadImage(fileObj.retrieve('href'));
				} else {
					this.loadSwf(fileObj);
				}
				
				if(preloads){ this.preloadFiles(preloads); }
			},
			
			preloadFiles:function(preloads){
				preloads.each(function(fileObj,index){
					var swf = this.checkFileType(fileObj.retrieve('href'),"swf");
					if(!swf){ this.preloadImage(fileObj.retrieve('href')); }
				},this);
			},
			
			loadImage:function(file){
				var imageAsset = new Asset.image(file, { onload:function(img){
					if(!this.loadedImages.contains(file)){ this.loadedImages.push(file); };//see next/prev events
					this.currentFile = img;
					this.loadAux(this.currentFile);
				}.bindWithEvent(this)});
			},
			
			preloadImage:function(file){
				if(!this.loadedImages.contains(file)){
					var imageAsset = new Asset.image(file, { onload:function(img){
							this.loadedImages.push(file);
					}.bindWithEvent(this)});
				}
			},
			
			loadAux:function(file){
				this.fileReady = true; //the file is loaded and ready to be showed (see next_prev_aux())
				this.fireEvent('fileReady');
				$$(this.description,this.navigation).setStyle('visibility','hidden');
				this.navigation.setStyle('height','');//reset the height setted in center.morph.onComplete
				$$(this.next,this.prev,this.close).setStyle('backgroundPosition','0 0');
				this.showFile(file);
			},
			
			
			showFile:function(file){
		 		
		 		if(this.closed){ return; };//if you close the Milkbox and an onload event is still running
		 		
		 		var fileSize = new Hash();
		 		var targetSize = {};
		 		var b = null;
		 		var p = null;
		 		if(this.options.canvasBorderWidth.toInt() != 0 && this.canvas.getStyle('borderWidth').toInt() == 0){
		 			b = this.options.canvasBorderWidth + ' solid ' + this.options.canvasBorderColor;
		 			this.canvas.setStyle('border',b);
		 		}
		 		
		 		if(this.options.canvasPadding.toInt() != 0 && this.canvas.getStyle('padding').toInt() == 0){
		 			p = this.options.canvasPadding;
		 			this.canvas.setStyle('padding',p);
		 		}
		 		
		 		var canvasSize = this.canvas.getSize();
		 		var canvasAddSize = this.canvas.getStyle('borderWidth').toInt()*2 + this.canvas.getStyle('padding').toInt()*2;
		 		this.canvas.setStyles({'opacity':0, 'width':'', 'height':''});
		 		
		 		if(!file.retrieve('width')){//is an image file
		 			fileSize = fileSize.extend(file.getProperties('width','height')).map(function(item, index){ return item.toInt(); });
		 		} else {//is an swf file
		 			fileSize.extend({ 'height':file.retrieve('height').toInt(), 'width':file.retrieve('width').toInt() });
		 		}
		
		 		var centerSize = new Hash(this.center.getStyles('width','height')).map(function(item, index){ return item.toInt(); });
		
		 		if(fileSize.width != centerSize.width){ 
		 			targetSize.width = fileSize.width + canvasAddSize;
		 			targetSize.marginLeft = -(targetSize.width/2).round();
		 		}
		 		 		
		 		var gap = (canvasSize.y-canvasAddSize > 0) ? centerSize.height - canvasSize.y : 0; 
		
		 	   targetSize.height = fileSize.height + canvasAddSize + gap;
		 	   
				//so nav doesn't move when you click next/prev
				this.canvas.setStyles({'width':fileSize.width, 'height':fileSize.height});
		
		 		this.center.removeClass('mbLoading');
		 		
		 		var d = 0;
		 		if(this.first){ d = 500; this.first = false; }
		 		(function(){ this.center.morph(targetSize); }).delay(d,this)//onComplete: show all items
			},
		
			
			//{ gallery:'gall1', index:2, autoplay:true, delay:7 }
			showGallery:function(opt){
				if(!opt || !opt.gallery){ return; }
				var fileIndex = ($chk(opt.index)) ? opt.index : 0;
				var g = this.getGallery(opt.gallery);
				var auto = false;
				var d;
				if(opt.autoplay || (g['options'] && g['options'].autoplay)){ auto = true; }
				if(g != -1 && !this.opened){
					if(auto){
						d = (opt && opt.delay) ? opt.delay : (g['options'] && g['options'].delay) ? g['options'].delay : this.autoPlayDelay;
						this.startAutoPlay({ gallery:g, index:fileIndex, delay:d });
					} else {
						this.openMilkbox(g,fileIndex);
					}
				}
			},
			
			addGalleries:function(xmlfile){
				this.currentRequest = new Request({
					method:'get',
					autoCancel:true,
					url:xmlfile,
					onRequest:function(){
						//placeholder
					}.bindWithEvent(this),
					onSuccess:function(text,xml){
						var t = text.replace(/(<a.+)\/>/gi,"$1></a>");
						this.setGalleries(new Element('div',{ html:t }),xmlfile);
					}.bindWithEvent(this),
					onFailure:function(transport){ alert('Milkbox :: addGalleries: XML file path error or local Ajax test: please test addGalleries() on-line'); }
				});
				
				this.currentRequest.send();
			},
			
			checkFileType:function(file,type){
				var href = null;
				if($type(file) != 'string'){ href = file.retrieve('href'); } 
				else{ href = file; }
				var regexp = new RegExp("\.("+type+")$","i");
				return href.split('?')[0].test(regexp);
			},
			
			//retrieves galleries from strings like 'gall1' or 'milkbox[gall1]' or 'milkbox:gall1'
			getGallery:function(gallery){
				var f = null;
				if(gallery.test(/^milkbox/i)){
					f = this.families;
				} else {
					//create a temporary array with names without 'milkbox'
					f = this.families.map(function(item){
						var trimmed = item.trim();
						var name = trimmed.slice(0,trimmed.length).substr(8);
						var cleanName = name.replace(/(.+)]$/,"$1");
						return cleanName;
					});
				}
				var i = f.indexOf(gallery);
				var g = (i != -1) ? this.galleries[i] : i;
				return g;
			},
			
			setFileProps:function(fileObj,propString){
				var s = propString.split(',');
				s.each(function(p,i){
					var clean = p.trim().split(':');
					fileObj.store(clean[0].trim(),clean[1].trim())
				},this);
			},
			
			changeOptions:function(obj){
				if(!obj){ return; }
				this.setOptions(obj);
		 		this.center.get('morph').setOptions({ transition:this.options.resizeTransition,  duration:this.options.resizeDuration });
			},
			
			saveOptions:function(obj){
				if($chk(obj)){
					this.fullOptionsBkup = obj;
				} else {
					this.fullOptionsBkup = this.options;
				}
			},
			
			restoreOptions:function(){
				this.setOptions(this.fullOptionsBkup);
		 		b = this.options.canvasBorderWidth + ' solid ' + this.options.canvasBorderColor;
		 		this.canvas.setStyles({ 'border':b, 'padding':this.options.canvasPadding});
		 		this.center.get('morph').setOptions({ transition:this.options.resizeTransition,  duration:this.options.resizeDuration });
			},
			
			reloadGalleries:function(){
			
				this.galleries = [];
				this.families = [];
				//re-check for tags
				this.formtags = $$('select','textarea');
				
				//reload standard galleries
				this.prepareGalleries();
				this.removeGalleriesEvents();
				this.setGalleriesEvents();
				
				if(this.xmlFiles.length == 0){ return; }
				//reload xmlGalleries
				this.xmlFiles.each(function(xmlfile,index){
					this.addGalleries(xmlfile);
				}.bind(this));
			},
			
			removeGalleriesEvents:function(){
				this.galleries.each(function(gallery){
					$$(gallery).removeEvents('click');
				},this);
			},
			
			setGalleriesEvents:function(){
				this.galleries.each(function(gallery){
				
					$$(gallery).addEvent('click',function(e){
						//console.log('click');
						var button=($(e.target).match('a')) ? $(e.target) : $(e.target).getParent('a');
						e.preventDefault();
						
						var g = this.getGallery(button.rel);
						if(g.options && g.options.autoplay){
							this.setOptions({ autoPlay:g.options.autoplay, autoPlayDelay:g.options.delay });
						}
		
						if(this.options.autoPlay){
							this.startAutoPlay({ gallery:gallery, index:gallery.indexOf(button) });
						} else { 
							this.openMilkbox(gallery, gallery.indexOf(button)); 
						}
						
					}.bindWithEvent(this));
				},this);
			},
			
			//all the main events
			prepareEvents:function(xml){
			
				//galleries
				this.setGalleriesEvents();
				
				//next, prev, see next_prev_aux()
				this.next.addEvent('click',this.next_prev_aux.bindWithEvent(this,'next'));
				this.prev.addEvent('click',this.next_prev_aux.bindWithEvent(this,'prev'));
				
				
				//css hover doesn't work in ie6, so I must do it via js...
				$$(this.next,this.prev,this.close).addEvents({
					'mouseover':function(){ this.setStyle('backgroundPosition','0 -22px'); },
					'mouseout':function(){ this.setStyle('backgroundPosition','0 0'); }
				});
		
				//keyboard next/prev/close
				$(window.document).addEvent('keydown',function(e){
					if(this.mode != 'fileGallery' || this.busy == true){ return; }
					if(e.key == 'right' || e.key == 'space'){ this.next_prev_aux(e,'next'); }
					else if(e.key == 'left'){ this.next_prev_aux(e,'prev'); }
					else if(e.key == 'esc'){ this.closeMilkbox(); }
				}.bindWithEvent(this));
				
				//playpause for autoPlay
				this.playpause.addEvents({
						'mouseover':function(e){ 
							if(this.paused == false){ this.playpause.setStyle('backgroundPosition','0 -22px'); } 
							else { this.playpause.setStyle('backgroundPosition','0 -66px'); }
						}.bindWithEvent(this),
						'mouseout':function(){ 
							if(this.paused == false){ this.playpause.setStyle('backgroundPosition','0 0'); } 
							else { this.playpause.setStyle('backgroundPosition','0 -44px'); }
						}.bindWithEvent(this),
						'click':function(){
							if(this.paused == false){ 
								this.stopAutoPlay();
								this.paused = true;
								this.playpause.setStyle('backgroundPosition','0 -66px');
							} else {
								var d = (this.currentGallery.options && this.currentGallery.options.delay) ? this.currentGallery.options.delay : this.options.autoPlayDelay;
								this.startAutoPlay({gallery:this.currentGallery, index:this.currentIndex+1, delay:d });
								this.paused = false;
								this.playpause.setStyle('backgroundPosition','0 0');
							}
						}.bindWithEvent(this)
				});
				
				//overlay
				this.overlay.get('tween').addEvent('onComplete',function(){
					if(this.overlay.getStyle('opacity') == this.options.overlayOpacity){ 
						this.center.tween('opacity',1);
					} else if(this.overlay.getStyle('opacity') == 0) {
						this.overlay.setStyles({'height':0,'top':''});
					};
				}.bindWithEvent(this));
				
				//center
				this.center.get('morph').addEvent('onComplete',function(){
								
					 if($type(this.currentFile) == "element"){//is image file
						this.canvas.grab(this.currentFile);
					 } else {//object: is swf file
					 	(function(){ this.canvas.grab(this.currentFile); }).delay(500,this);
					 }
		 			 
					 this.canvas.tween('opacity',1);
					 			 
					 var d = (!(this.mode == 'showThisImage')) ? this.currentGallery[this.currentIndex].retrieve('title') : this.specialDescription;
					 if($chk(d)){ this.description.innerHTML = d; };
					 
					 if(this.mode == 'fileGallery'){
					 	this.count.appendText((this.currentIndex+1)+' of '+this.currentGallery.length); 
					 }
					 
					 var currentCenterHeight = this.center.getStyle('height').toInt();
					 
					 this.navigation.setStyle('height',this.bottom.getStyle('height').toInt());//to have the right-border height == total bottom height
					 var bottomSize = this.bottom.getSize().y;
					 
					 //after the 1st time, currentCenterHeight is always > this.canvas.getSize().y
					 var targetOffset = (currentCenterHeight > this.canvas.getSize().y) ? (this.bottom.getSize().y+this.canvas.getSize().y)-currentCenterHeight : bottomSize;
						
					 this.bottom.setStyle('display','none');//to avoid rendering problems during setFinalHeight
		
					 this.center.retrieve('setFinalHeight').start(currentCenterHeight,currentCenterHeight+targetOffset);
					/**/
				}.bindWithEvent(this));
				
				this.center.retrieve('setFinalHeight').addEvent('onComplete',function(){
					this.bottom.setStyles({'visibility':'visible','display':'block'});
					$$(this.description,this.navigation).setStyle('visibility','visible');
					//reset overlay height based on position and height
					var scrollSize = $(window).getScrollSize().y;
					var scrollTop = $(window).getScroll().y;
					
					this.overlay.setStyles({'height':scrollSize+scrollTop, 'top':-scrollTop });
					this.busy = false;
				}.bindWithEvent(this));
				
				//reset overlay height and position onResize
				window.addEvent('resize',function(){
					if(this.overlay.getStyle('opacity') == 0){ return; };//resize only if visible
					var scrollSize = $(window).getScrollSize().y;
					var scrollTop = $(window).getScroll().y;
					this.overlay.setStyles({ 'height':scrollSize+scrollTop,'top':-scrollTop });
				}.bindWithEvent(this));
		
				//close
				$$(this.overlay,this.close).addEvent('click',function(){ this.closeMilkbox(); }.bindWithEvent(this));
				
				//check
				this.eventsok = true;
			},
			
			next_prev_aux:function(e,direction){
				
				if(e){ 
					e.preventDefault();
					this.stopAutoPlay();
				} else { 
					//if there's no event obj, than this is called by autoPlay()
					if(this.busy || !this.fileReady){ return; }//stop autoplay()
				}
		
				this.busy = true; //for keyboard and autoplay
				
				var backupIndex = this.currentIndex;
				
				if(direction == "next"){
					var i= (this.currentIndex != this.currentGallery.length-1) ? this.currentIndex += 1 : this.currentIndex = 0;
					var _i= (this.currentIndex != this.currentGallery.length-1) ? this.currentIndex + 1 : 0;
				} else {
					var i= (this.currentIndex != 0) ? this.currentIndex -= 1 : this.currentIndex = this.currentGallery.length-1;
					var _i= (this.currentIndex != 0) ? this.currentIndex - 1 : this.currentGallery.length-1;		
				};
				
				this.canvas.empty();
				this.description.empty();
				this.count.empty();
		
				this.loadFile(this.currentGallery[i],[this.currentGallery[_i]]);
			},
			
			prepareEffects:function(){
				this.overlay.set('tween',{ duration:'short',link:'cancel' });
				this.center.set('tween',{ duration:'short',link:'chain' });
				this.center.set('morph',{ duration:this.options.resizeDuration,link:'chain',transition:this.options.resizeTransition });
				this.center.store('setFinalHeight',new Fx.Tween(this.center,{property:'height',duration:'short'}));
				this.canvas.set('tween',{ link:'chain' });
			},
			
			prepareGalleries:function(responseElements){
				
				var milkbox_a = [];
				var gIndex;
				var a_tags = $$('a[class=gallery_link]');
						
				a_tags.each(function(a){
					//test 'milkbox' and link extension, and collect all milkbox links
					milkbox_a.push(a);
				},this);
		
				//create an array of arrays with all galleries
				milkbox_a.each(function(a){
					$(a).store('href', $(a).getElement('img').src);
					$(a).store('rel',a.rel);
					$(a).store('title',a.title);
					if(this.checkFileType(a.href,"swf")){ this.setFileProps($(a),a.rev); }
		
					if(this.options.removeTitle){ $(a).removeProperty('title'); }
					if(a.rel.length > 7){
						this.families.each(function(f,i){
							if(a.rel == f){
								var gMounted = false;
								var index;
								this.galleries.each(function(g,k){
									if(g[0].rel == f){ 
										gMounted = true;
										index = k;
										return;
									}
								});
								
								if(gMounted == true){ this.galleries[index].push($(a)); } 
								else { this.galleries.push([$(a)]); }
							};
						},this);
					} else { this.galleries.push([$(a)]); };
				},this);
				
				//console.log(this.galleries);
			},
				
			prepareHTML:function(){		
				
				this.overlay = new Element('div', { 'id':'mbOverlay','styles':{ 'opacity':0,'visibility':'visible','height':0,'overflow':'hidden' }}).inject($(document.body));
				
				this.center = new Element('div', {'id':'mbCenter', 'styles':{'width':this.options.initialWidth,'height':this.options.initialHeight,'marginLeft':-(this.options.initialWidth/2),'opacity':0 }}).inject($(document.body));
				this.canvas = new Element('div', {'id':'mbCanvas'}).inject(this.center);
				
				this.bottom = new Element('div',{'id':'mbBottom'}).inject(this.center).setStyle('visibility','hidden');
				this.navigation = new Element('div',{'id':'mbNavigation'}).setStyle('visibility','hidden');
				this.description = new Element('div',{'id':'mbDescription'}).setStyle('visibility','hidden');
		
				this.bottom.adopt(this.navigation, this.description, new Element('div',{'class':'clear'}));
				
				this.close = new Element('a',{'id':'mbCloseLink'});
				this.next = new Element('a',{'id':'mbNextLink'});
				this.prev = new Element('a',{'id':'mbPrevLink'});
				this.playpause = new Element('a',{'id':'mbPlayPause'});
				this.count = new Element('span',{'id':'mbCount'});
				
				$$(this.next, this.prev, this.count, this.playpause).setStyle('display','none');
				
				this.navigation.adopt(this.close, this.next, this.prev, this.playpause, new Element('div',{'class':'clear'}), this.count);
			},
			
			closeMilkbox:function(){
				this.cancelAllEffects();
				this.setOptions(this.autoPlayBkup);
		
				this.currentFile = null;
				this.currentIndex = null;
				this.currentGallery = null;
				this.currentRequest = null;
				this.currentResponse = null;
		 		
				$$(this.prev, this.next, this.playpause, this.count).setStyle('display','none');
				this.playpause.setStyle('backgroundPosition','0 0');
				var border = this.center.getStyle('border-right-width').toInt();
				var navWidth = this.close.getSize().x+border;
				this.navigation.setStyles({'width':navWidth,'height':'','visibility':'hidden'});
				this.description.setStyle('margin-right',navWidth);
				this.description.empty();
				this.bottom.setStyles({'visibility':'hidden','display':''});
				
		   	this.canvas.setStyles({'opacity':0, 'width':'', 'height':''});
		 		this.canvas.empty();
		 		
		 		this.count.empty();
				
				this.center.setStyles({'opacity':0,'width':this.options.initialWidth,'height':this.options.initialHeight,'marginLeft':-(this.options.initialWidth/2)});
				this.overlay.tween('opacity',0);//see onComplete in prepareEvents() 
				
				if(this.formtags.length != 0){ this.formtags.setStyle('display','') };
				
				this.mode = null;
				this.closed = true;
				this.first = true;
				this.fileReady = false;
				this.fireEvent('closed');
			},
			
			cancelAllEffects:function(){
				this.overlay.get('tween').cancel();
				this.center.get('morph').cancel();
				this.center.get('tween').cancel();
				this.center.retrieve('setFinalHeight').cancel();
				this.canvas.get('tween').cancel();
			}
			
		});
		
	},
	
	getDimensions : function() {
	
		var xScroll, yScroll;
	
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else {
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		if (self.innerHeight) {
			windowWidth = self.innerWidth;
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) {
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) {
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	

		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
	
		if(xScroll < windowWidth){	
			pageWidth = windowWidth;
		} else {
			pageWidth = xScroll;
		}
	
		this.WindowWidth = windowWidth;
		this.WindowHeight = windowHeight;
		this.PageHeight = pageHeight;
		this.PageWidth = pageWidth;
		
		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop){
			yScroll = document.documentElement.scrollTop;
		} else if (document.body) {
			yScroll = document.body.scrollTop;
		}
	
		this.ScrollAmountY = yScroll;
	}

});

var cetl = new cetlClass();

