window.addEvent('domready', function(){
	externalLinks();
	docTypes();
	report_links();
	if (!(Browser.Engine.trident && Browser.Engine.version <= 4)) {
		document.getElements('[class=countdown]').each(function(el){
			new Timer(el);
		});
	}
});

function externalLinks() {
	document.getElements('a[rel=external]').each(function(item, index) {
		item.target = "_blank";
	});
}


function report_links() {
	$$('a').each(function(item, index) {
		if (
			item.getProperty("rel") == "pdf" ||
			item.getProperty("rel") == "doc" ||
			item.getProperty("rel") == "ppt" ||
			item.getProperty("rel") == "mov" ||
			item.getProperty("rel") == "file"
			) {
				item.addEvent('click', function() {
					url = item.getProperty("href");
					if ((a = url.indexOf("://") ) < 10) url = url.substr(a + 3);
					pageTracker._trackPageview("file/" + url);
				});
		}
		if (
			item.getProperty("rel") == "external"
			) {
				item.addEvent('click', function() {
					url = item.getProperty("href");
					if ((a = url.indexOf("://") ) < 10) url = url.substr(a + 3);
					pageTracker._trackPageview("external/" + url);
				});
		}
	});
}

function docTypes() {
	$$('a').each(function(item, index){
	 	switch(item.getProperty("rel")) {
			case "pdf":
				$(item).addClass('doc_pdf');
				break;
			case "doc":
				$(item).addClass('doc_doc');
				break;
			case "ppt":
				$(item).addClass('doc_ppt');
				break;
			case "mov":
				$(item).addClass('doc_mov');
				break;
		}
	});
}

function go_url(location) {
	this.location.href = location;
}

var Timer = new Class({
	initialize: function(dest) {
		this.dest = dest;
		this.timer = new Array();
		
		tmp = "";
		this.timer.days = this.dest.getElement('span.days]');
		this.timer.days.getElements('.digit').each(function(item, index){
			tmp += item.innerHTML.toFloat();	
		});
		this.timer.days.v = tmp;
		
		tmp = "";
		this.timer.hours = this.dest.getElement('span.hours]');
		this.timer.hours.getElements('.digit').each(function(item, index){
			tmp += item.innerHTML.toFloat();	
		});
		this.timer.hours.v = tmp;
		
		tmp = "";
		this.timer.minutes = this.dest.getElement('span.minutes]');
		this.timer.minutes.getElements('.digit').each(function(item, index){
			tmp += item.innerHTML.toFloat();	
		});
		this.timer.minutes.v = tmp;
		
		tmp = "";
		this.timer.seconds = this.dest.getElement('span.seconds]');
		this.timer.seconds.getElements('.digit').each(function(item, index){
			tmp += item.innerHTML.toFloat();	
		});
		this.timer.seconds.v = tmp;
		
		this.c = this.countdown.periodical(1000, this);
		
		
	},
	countdown: function() {
		if (this.timer.seconds.v-- == 0) {
			this.timer.seconds.v = 59;
			if (this.timer.minutes.v-- == 0) {
				this.timer.minutes.v = 59;
				if (this.timer.hours.v-- == 0) {
					this.timer.hours.v = 23;
					this.timer.days.v--;
				}
			}				
		}
		
		this.timer.days.getElements('.digit').each(function(item, index){
			var tmp = digits(3, this.timer.days.v.toString());
			item.set({'html': tmp.substr(index, 1), 'class': 'digit d' + tmp.substr(index, 1)});
		},this);
		this.timer.hours.getElements('.digit').each(function(item, index){
			var tmp = digits(2, this.timer.hours.v.toString());
			item.set({'html': tmp.substr(index, 1), 'class': 'digit d' + tmp.substr(index, 1)});
		},this);
		this.timer.minutes.getElements('.digit').each(function(item, index){
			var tmp = digits(2, this.timer.minutes.v.toString());
			item.set({'html': tmp.substr(index, 1), 'class': 'digit d' + tmp.substr(index, 1)});
		},this);
		this.timer.seconds.getElements('.digit').each(function(item, index){
			var tmp = digits(2, this.timer.seconds.v.toString());
			item.set({'html': tmp.substr(index, 1), 'class': 'digit d' + tmp.substr(index, 1)});
		},this);	
		
		if (this.timer.days.v == 0
			&& this.timer.hours.v == 0
			&& this.timer.minutes.v == 0
			&& this.timer.seconds.v == 0
			)
		{
			$clear(this.c);
		}
	}
});

function digits(digits, input) {
	var leading = '0';
	var le = input.toString();
	return leading.repeat(digits - le.length) + input;
}