/*
	# $Id: common.js,v 1.6 2008/07/24 14:33:27 danielk Exp $
*/
window.addEvent('domready', function() {
	if ($('contenttext')) {
		var fontFx = new Fx.Style('contenttext', 'font-size');
		$ES('.fontsize3').addEvent('click', function() {
				fontFx.set(20);
				Cookie.set("size", "larger",{path:"/"});
			});
		$ES('.fontsize2').addEvent('click', function() {
				fontFx.set(16);
				Cookie.set("size", "large",{path:"/"});
			});	
		$ES('.fontsize1').addEvent('click', function() {
				fontFx.set(12);
				Cookie.set("size", "normal",{path:"/"});
			});
		switch (Cookie.get("size")) {
			case "larger":
				fontFx.set(20);
			break;
			case "large":
				fontFx.set(16);
			break;
			case "normal":
				fontFx.set(12);
			break;
			default:
				fontFx.set(12);
		}
	}
	var URLdoc = document.location.search.parseUri()
	if (URLdoc.query) {
		var queryString = URLdoc.query.parseQuery();
		if (queryString.ref) {
			var hrefElements = $$('a');
			hrefElements.each(function(link,b,c,d){
				var href = link.getProperty('href');
				if (href != "#") {
					link.setProperty('href',href+'?ref='+queryString.ref);
				}
			});
		}
	}
	if ($('contenttext')) {
		$('contenttext').getElements('a[href^=mailto]').each(function(el){
			el.addEvent ('click', function (e) {
				pageTracker._trackPageview("/contact/"+el.innerHTML );
			});
		});
		$('contenttext').getElements('a[href$=pdf]').each(function(el){
			el.addEvent ('click', function (e) {
				pageTracker._trackPageview("/downloads/"+el.href.parseUri().file );
			});		
		});
		$('contenttext').getElements('a[target=_blank]').each(function(el){
			if (el.href.parseUri().domain != location.href.parseUri().domain) {
				el.addEvent ('click', function (e) {
					pageTracker._trackPageview("/clickout/"+el.href.parseUri().domain+"/"+el.href.parseUri().file );
				});
			}
		});
	}
	
	if ($('message')) {
		var messageHighlight = new Fx.Style('message', 'background-color', {duration:2500});
		messageHighlight.start('E3E3E3').chain(function(){
			$('message').remove();
		});	
	}
	
});

String.extend({
	parseQueryString: function() {
		var vars = this.split(/[&;]/);
		var rs = {};
		if (vars.length) vars.each(function(val) {
			var keys = val.split('=');
			if (keys.length && keys.length == 2) rs[encodeURIComponent(keys[0])] = encodeURIComponent(keys[1]);
		});
		return rs;
	},
	parseUri: function(){
		var bits = this.match(/^(?:([^:\/?#.]+):)?(?:\/\/)?(([^:\/?#]*)(?::(\d*))?)((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[\?#]|$)))*\/?)?([^?#\/]*))?(?:\?([^#]*))?(?:#(.*))?/);
		return (bits)
			? bits.associate(['uri', 'scheme', 'authority', 'domain', 'port', 'path', 'directory', 'file', 'query', 'fragment'])
			: null;
	}
});
Hash.extend({
	toQueryString: function() {
		return Object.toQueryString(this.obj);
	}
});