var MooCountdown=new Class({Implements:[Events,Options],options:{container:"countdown",futureDate:$empty,onlySeconds:false,dayText:"jour",hourText:"heure",minuteText:"minute",secondText:"seconde",onCompleteText:"",startFont:"32px",finishFont:"16px",duration:1E3,onComplete:$empty,amount:$empty,amountTotal:$empty,days:$empty,hours:$empty,minutes:$empty,seconds:$empty},initialize:function(a){this.setOptions(a);if(this.options.onlySeconds===true){this.options.amountTotal=this.options.futureDate;this.startOnlySeconds()}else this.start()}, start:function(){this.getCount()},getCount:function(){var a="";this.now=new Date;this.options.amount=this.options.futureDate-this.now.getTime();this.options.amount=Math.floor(this.options.amount/1E3);this.options.amountTotal=this.options.amount;this.options.days=Math.floor(this.options.amount/86400);this.options.amount%=86400;this.options.hours=Math.floor(this.options.amount/3600);this.options.amount%=3600;this.options.minutes=Math.floor(this.options.amount/60);this.options.amount%=60;this.options.seconds= this.options.amount;if(this.options.days!=0)a+=this.options.days+" "+this.options.dayText+(this.options.days!=1?"s":"")+", ";if(this.options.days!=0||this.options.hours!=0)a+=this.options.hours+" "+this.options.hourText+(this.options.hours!=1?"s":"")+", ";if(this.options.days!=0||this.options.hours!=0||this.options.minutes!=0)a+=this.options.minutes+" "+this.options.minuteText+(this.options.minutes!=1?"s":"")+", ";$(this.options.container).set("text",a);(new Element("span",{id:"seconds",html:this.options.seconds})).inject(this.options.container); this.options.amountTotal--;(new Fx.Tween($("seconds"),{duration:this.options.duration,onComplete:function(){if(this.options.amountTotal>=0)this.getCount();else{$(this.options.container).set("text",this.options.onCompleteText);this.fireEvent("complete")}}.bind(this)})).start("font-size",[this.options.startFont,this.options.finishFont])},startOnlySeconds:function(){$(this.options.container).set("text",this.options.amountTotal);this.options.amountTotal--;(new Fx.Tween(this.options.container,{duration:this.options.duration, onComplete:function(){if(this.options.amountTotal>=0)this.startOnlySeconds();else{$(this.options.container).set("text",this.options.onCompleteText);this.fireEvent("complete")}}.bind(this)})).start("font-size",[this.options.startFont,this.options.finishFont])}});

window.addEvent('domready',function(){
	// Customer Reference iPapers
	if($$('.customerlistmodule a[href*="ipaper-"], a.ipaper[href*="ipaper-"').getLast() != null) {
		var referenceLinks = $$('.customerlistmodule a[href*="ipaper-"], a.ipaper[href*="ipaper-"]');
		referenceLinks.each(function(elem){
			var href = elem.getAttribute('href');
			var key = "ipaper-";
			var numLength = href.length-key.length-href.indexOf(key);
			var iPaperId = (href.substr((href.indexOf(key)+key.length),numLength)).toInt();
			if (!isNaN(iPaperId)) {
				var swfPath = "/admin/public/module/ipaper/ipaper.swf?theSettingsXmlPath=/Files/System/Module/Ipaper/Ipapers/"+iPaperId+"/data.xml";
				elem.setAttribute('href',swfPath);
				elem.addClass('modal-ipaper');
			}
		});
		SqueezeBox.assign($$("a.modal-ipaper"),{parse:'rel'});
		
		// Close functionality
			onPaperLoad = function(){}
			ipaperClose = function() {
				if($('sbox-overlay') != null) {					
					SqueezeBox.close();
				} else {
					cancelPopup();
				}
			}

		// Resize functionality
			var resizeTimeout = 0;
			function getViewPortSize() {
				var viewportwidth;
				var viewportheight;
				var viewportsize;
				if (typeof window.innerWidth != 'undefined') {
					viewportwidth = window.innerWidth;
					viewportheight = window.innerHeight;
				}
				else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
					viewportwidth = document.documentElement.clientWidth;
					viewportheight = document.documentElement.clientHeight;
				}
				else {
					viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
					viewportheight = document.getElementsByTagName('body')[0].clientHeight;
				}
				viewportsize = Array(viewportwidth, viewportheight);
				return(viewportsize);
			}
			function handleResize(){
				var factor = 0.85;
				if (getViewPortSize()[0]*0.8 > getViewPortSize()[1]) {
					var ySize = Math.floor(getViewPortSize()[1]*factor);
					var xSize = Math.floor(ySize*1.18);
				} else {
					var xSize = Math.floor(getViewPortSize()[0]*factor);
					var ySize = Math.floor(xSize*0.85);
				}
				return {x:xSize,y:ySize};
			}
			function resizeSqueezeboxes() {
				var size = handleResize();
				referenceLinks.each(function(el){ el.set("rel","{handler:'swf',size: {x: "+size.x+", y: "+size.y+"}}"); });
			}
			window.addEvent('resize',function(){
				$clear(resizeTimeout);
				resizeTimeout = resizeSqueezeboxes.delay(500);
			});
			resizeSqueezeboxes();
	}
			
	// Guideix countdown functionality
		if ($('guideix-countdown') != null) {
			new MooCountdown({
				futureDate:$('guideix-countdown').get('html'),
				onlySeconds:true,
				container:$('guideix-countdown'),
				startFont : '14px',
				finishFont : '14px',
				onComplete: function() { window.location = "http://www.columbusit.dk/guide"; }
			});
		}
		
	// JS Slideshow
	var featured = $('local-features');
	if (featured) {
		var img = featured.getFirst('img');
		img.addClass('safe');
		if (img) {
			// Generic settings
			var src = img.get('src');
			src = src.substr(0,src.lastIndexOf('/')+1);
			var total = 0;
			var conf = new Array();
			var images = new Array();
			var imgDuration = 8000;
			conf['base'] = src;
			
			// Rotation animation
			function rotateSlides(slides,safe,duration,altContainer,titleContainer,altText,titleText,slideShowLink) {
				var active = $$('#local-features .active')[0];
				active = active ? active : safe;
				var next = active.getNext('.slide');
				next = next ? next : slideShowLink.getFirst('.slide');
				
				slideShowLink.erase('href');
				var url = next.get('rel');
				if ((/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i).test(url)) {
					slideShowLink.set('href',url);
				}
				
				next.tween('opacity',1);
				var title = next.get('title');
				var alt = next.get('alt');
				var titlePos = titleContainer.getStyle('bottom');
				var altPos = altContainer.getStyle('top');
				
				var textBoxesIn = function(){ 
					active.tween('opacity',0);
					if (alt != null) {
						altText.set('html',alt);
						altContainer.tween('top',-10);
					}
					if (title != null) {
						titleText.set('html',title);
						titleContainer.tween('bottom',-1);
					}
				}.delay(500);
				var textIn = function(){
					if (alt != null) {
						altText.tween('margin-top',-30,0);
					}
					if (title != null) {
						titleText.tween('margin-left',featured.getStyle('width').toInt(),0);
					}
				}.delay(1200);
				var textOut = function(){
					if (alt != null) {
						altText.tween('margin-top',0,altPos);
					}
					if (title != null) {
						titleText.tween('margin-left',0,(-1*featured.getStyle('width').toInt()));
					}
				}.delay(duration-1200);
				var textBoxesOut = function(){
					altContainer.tween('top',altPos); 
					titleContainer.tween('bottom',titlePos);
				}.delay(duration-800);
				
				active.removeClass('active');
				next.addClass('active');
			}
			
			// Set up slideshow, insert images and start rotation
			function startSlideshow(conf,images,duration) {
				var safeImage = featured.getChildren('img')[0];
				if (conf['shuffle'] == 'true') {
					images.shuffle();
				}
				featured.adopt(new Element('a',{'id':'slideShowLink'}));
				var slideShowLink = $('slideShowLink');
				for (i=0;i<images.length;i++) {
					if (images[i]) {
						var slide = new Element('img', {
							'src': conf['base']+images[i]['data_url'],
							'alt': images[i]['data_legend'] ? images[i]['data_legend'] : '',
							'rel': images[i]['data_link'] ? images[i]['data_link'] : '',
							'title': images[i]['data_title'],
							'styles': {'opacity':0},
							'class': 'slide'
						});
						slideShowLink.adopt(slide);
					}
				}
				var title = new Element('span', {'class': 'title'});
				slideShowLink.adopt(title);
				var alt = new Element('span', {'class': 'alt'});
				slideShowLink.adopt(alt);
				slideShowLink.getFirst('.title').adopt(new Element('span',{'class': 'text'}));
				slideShowLink.getFirst('.alt').adopt(new Element('span',{'class': 'text'}));
				
				var altContainer = $$('#local-features .alt')[0];
				var titleContainer = $$('#local-features .title')[0]
				var altText = $$('#local-features .alt .text')[0];
				var titleText = $$('#local-features .title .text')[0]
				var slides = $$('#local-features .slide');
				rotateSlides(slides,safeImage,duration,altContainer,titleContainer,altText,titleText,slideShowLink);
				var rotate = rotateSlides.periodical(duration, featured, [slides,safeImage,duration,altContainer,titleContainer,altText,titleText,slideShowLink]);
			}
			
			// Getting XML settings
			var xml = new Request({
				url:src+'dynflash-set.xml',
				onSuccess:function(rTxt, rXml){ 
					for (n=0, p=rXml.childNodes.length; n<p; n++) {
						if (typeof(rXml.childNodes[n]) != 'undefined') { 
							var xmlNode = rXml.childNodes[n];
							for (i=0, s=xmlNode.childNodes.length; s>i; i++) {
								if (!(xmlNode.childNodes[i].nodeName.indexOf("#") > -1)) {
									switch(xmlNode.childNodes[i].nodeName) {
										default:
											conf[xmlNode.childNodes[i].nodeName] = xmlNode.childNodes[i].firstChild.nodeValue;
										break;
										case "images":
											var l = 0;
											for (t=0, m=xmlNode.childNodes[i].childNodes.length; t<m; t++) {
												img = xmlNode.childNodes[i].childNodes[t];
												if (!(img.nodeName.indexOf("#") > -1)) {
													images[t] = new Array();
													for (c=0, p=img.childNodes.length; c<p; c++) {
														if (!(img.childNodes[c].nodeName.indexOf("#") > -1)) {
															if (img.childNodes[c].firstChild) {
																images[t]['data_'+img.childNodes[c].nodeName] = img.childNodes[c].firstChild.nodeValue;
																//alert('data_'+img.childNodes[c].nodeName + " : " + images[t]['data_'+img.childNodes[c].nodeName]);
															}
														}
													}
												} 
											}			
										break;
										case "duration":
											conf[xmlNode.childNodes[i].nodeName] = xmlNode.childNodes[i].firstChild.nodeValue;
											if (xmlNode.childNodes[i].firstChild.nodeValue >= 3500) {
												var imgDuration = xmlNode.childNodes[i].firstChild.nodeValue;
											} 
										break;
									}
								}
							}
						}
					}
					startSlideshow(conf,images,imgDuration);
				}
			}).get();
		}
	}
});/**/