/*VARIABLES*/

var norwegian_date_variables = {
    week_days : new Array('Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'),
    months : new Array('januar','februar','mars','april','mai','juni','juli','august','september','oktober','november','desember')
};

/*FILTER*/
jQuery.jQueryRandom = 0;
jQuery.extend(jQuery.expr[":"],
{
    random: function(a, i, m, r) {
        if (i == 0) {
            jQuery.jQueryRandom = Math.floor(Math.random() * r.length);
        };
        return i == jQuery.jQueryRandom;
    }
});


/*FUNCTIONS*/
function isset(variable) {return variable != undefined;};
function hasValue(variable) {return isset(variable) && variable!='';};
function exists(element) {return jQuery(element).length!=0;}

var image = function (id, href, target, image, description){
    if(hasValue(image)){
		if(hasValue(href) && hasValue(target)){
			document.write('<a href="'+href+'" target="'+target+'"><img src="../../images/'+image+'" alt="'+description+'"/></a>');	
		} else {
        	document.write('<a href="alias.html?id='+id+'"><img src="../../images/'+image+'" alt="'+description+'"/></a>');
		}
	}
}

// element(\'$id$\',\'$title$\',\'$text$\',\'$image$\',\'$href$\',\'$target$\','mode')
var element = function(id, title, text, image, href, target, mode){
	
	var element = '';
	var imageElement = '<a href="'+href+'" target="'+target+'"><img src="../../images/'+image+'" alt="'+title+'" /></a>';
	var titleElement = '<a href="'+href+'" target="'+target+'"><h2 class="title">'+title+'"</h2>';
	var textElement = '<p>'+text+'</p>';
	
	switch(mode) {
		case 'both' : {
			element += imageElement+titleElement+textElement;
			break;
		}
		case 'image' : {
			element += imageElement;
			break;	
		}
		case 'text' : {
			element += titleElement + textElement;
			break;	
		}
	}
	document.write(element);
}

var byline = function(date, source) {	
	var element = "";
	if(hasValue(date) && hasValue(source)){
	    element = "<p class=\"byline\">" + date + " - " + source + "</p>";
	} else if(!hasValue(date) && hasValue(source)){
		element = "<p class=\"byline\">" + source + "</p>";
	} else if(hasValue(date) && !hasValue(source)){
		element = "<p class=\"byline\">" + date + "</p>";
	}
	document.write(element);
}

function getNorwegianDate(date,format){
    var output = "";
    if(hasValue(date)){
        var parts = date.split(".");
        
        if(jQuery.isArray(parts) && parts.length == 3){
            var day = parts[0];
            var month = parts[1];
            var year = parts[2];
              
            var currentDate = new Date();
            currentDate.setFullYear(parseInt(year,10),parseInt(month,10)-1,parseInt(day,10));       

            if(hasValue(currentDate)){
				switch(format){
					case 'full' : {
		                output += norwegian_date_variables.week_days[currentDate.getDay()]+" "+currentDate.getDate()+". "+norwegian_date_variables.months[currentDate.getMonth()]+" "+currentDate.getFullYear();						
						break;
					}	
					case 'day and date' : {
						output += norwegian_date_variables.week_days[currentDate.getDay()]+"<br /><strong>"+currentDate.getDate()+". "+norwegian_date_variables.months[currentDate.getMonth()]+"</strong>";
						break;	
					}
					case 'month' : {
						output += currentDate.getDate()>10?currentDate.getDate():'0'+currentDate.getDate();
						break;	
					}
				}				
            }
        }
    }
    return output;
}

/*HELPBOX*/
var helpbox = function(element){
	var ul = jQuery("<ul></ul>").append(jQuery("<li><span>Tekststørrelse: </span></li>"));
	
	
	var reset = jQuery("<li></li>")
		.attr("class","reset")
		.html("reset")		
		.click(function(){
			jQuery("#wrapper").css("font-size","100%");
			return false;
		});
		
	var increase = jQuery("<li></li>")
		.attr("class","increase")
		.html("increase")
		.click(function(){
			jQuery("#wrapper").css("font-size","150%");
			return false;
		});			
	
	jQuery(ul).append(reset);
	jQuery(ul).append(increase);
	jQuery(element).append(ul);
};

(function(jQuery){
  jQuery.fn.shuffle = function() {
    return this.each(function(){
      var items = jQuery(this).children();
      return (items.length)
        ? jQuery(this).html(jQuery.shuffle(items))
        : this;
    });
  }
 
  jQuery.shuffle = function(arr) {
    for(
      var j, x, i = arr.length; i;
      j = parseInt(Math.random() * i),
      x = arr[--i], arr[i] = arr[j], arr[j] = x
    );
    return arr;
  }
})(jQuery);
