/**
 * @projectDescription Simple Equal Columns
 * @author Matt Hobbs
 * @version 0.01
 * Modified by Nicolaj Kirkgaard Nielsen, December 2009
 */
jQuery.fn.equalCols = function(){
	//Array Sorter
	var sortNumber = function(a,b){return b - a;};
	var heights = [];
	//Push each height into an array
	$(this).each(function(){
		heights.push($(this).height());
	});
	heights.sort(sortNumber);
	var maxHeight = heights[0];
	return this.each(function(){
		//Set each column to the max height
		var $inner = $(this).find('.bd');
		var innerHeight = $inner.height();
		var heightDiff = maxHeight - $(this).height();
		$inner.css({'height': innerHeight+heightDiff});
	});
};

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

// General container for site-wide scripts
var sitefunctions = {
	//
	//     JQuery Text resize + Cookie recall
	//     by Jonny Kamaly
	//     based on script written by Faisal and Homar
	// 
	textresize : function(){
		var $cookie_name = "EsbjergKommune-FontSize";
		var originalFontSize = $("html").css("font-size");
		//var sizes = [originalFontSize*0.8,originalFontSize,originalFontSize*1.2];
		// show text resizing links
		$(".text-size").show();
		// if exists load saved value, otherwise store it
		if($.cookie($cookie_name)) {
			var $getSize = $.cookie($cookie_name);
			$("html").css({fontSize : $getSize + ($getSize.indexOf("px")!=-1 ? "" : "px")}); // IE fix for double "pxpx" error
		} else {
			$.cookie($cookie_name, originalFontSize);
		}
		// reset link
		/*
		$(".something").bind("click", function() {
			$("html").css("font-size", originalFontSize);
			$.cookie($cookie_name, originalFontSize);
		});*/
		$("#font-size-down").bind("click", function() {
		  var currentFontSize = $("html").css("font-size");
		  var currentFontSizeNum = parseFloat(currentFontSize, 10);
		  var newFontSize = currentFontSizeNum*0.8;
		  if (newFontSize > 11) {
			$("html").css("font-size", newFontSize);
			$.cookie($cookie_name, newFontSize);
		  }
		  return false;
		});
		// text "+" link
		$("#font-size-up").bind("click", function() {
			var currentFontSize = $("html").css("font-size");
			var currentFontSizeNum = parseFloat(currentFontSize, 10);
			var newFontSize = currentFontSizeNum*1.2;
			if (newFontSize < 20) {
				$("html").css("font-size", newFontSize);
				$.cookie($cookie_name, newFontSize);
			}
			return false;	
		});
	}
};
 
(function($) {
	
	// jQuery ready function
	$(function() {
		
		// Equalize heights of frontpage boxes
		$('#front-self-service,#front-tips-tricks,#front-news,#front-calendar').equalCols();
		
		// Run text resize function
		//sitefunctions.textresize();	
		
		// Add icons to file lists based on file type
		$(".file-list")
			.find("a[href$='.pdf']").addClass("pdf").end()
			.find("a[href$='.rtf'],a[href$='.txt']").addClass("txt").end()
			.find("a[href$='.doc'],a[href$='.docx']").addClass("doc").end()
			.find("a[href$='.xls'],a[href$='.xlsx']").addClass("xls").end()
			.find("a[href$='.ppt'],a[href$='.pptx']").addClass("ppt").end()
			.find("a[href$='.rar'],a[href$='.zip'],a[href$='.tar.gz']").addClass("zip").end()
			.find("a[href$='.jpg'],a[href$='.jpeg'],a[href$='.gif'],a[href$='.png'],a[href$='.bmp'],a[href$='.tif'],a[href$='.tiff']").addClass("img");
		
	});

})(jQuery)
