/******************************************************************************
 *	Noop::Globalisering::Script
 *
 *       Author: svale/andreas@noop.no
 *        $Date: 2010-04-12 15:39:39 $
 *    	  $Revision: 1.8 $
 * 
 ***/


/**
 * Twittering
 */
function twitterCallback(o){
	$.each(o, function(index, tweet){
		var tweettime = get_relative_time(tweet.created_at);
		var tweetlinkedtext = linkify(tweet.text);
		var tweetlink = 'http://twitter.com/'+tweet.user.screen_name+'/status/' + tweet.id;
		$('#twitter').show();
		$('#twitter ul').append('<li class="tweet">'+tweetlinkedtext+' <span>' + tweettime + ' fra <a href="'+tweetlink+'">'+tweet.source+'</a></span>'+'</li>');
		function get_relative_time(obj){
			var b=obj.split(" ");
			obj=b[1]+" "+b[2]+", "+b[5]+" "+b[3];
			var a=Date.parse(obj);
			var d=(arguments.length>1)?arguments[1]:new Date();
			var e=parseInt((d.getTime()-a)/1000);
			e=e+(d.getTimezoneOffset()*60);
			if(e<60){return"< n&aring; nettopp"}else{if(e<120){return"1 minutt siden"}else{if(e<(60*60)){return(parseInt(e/60)).toString()+" minutter siden"}else{if(e<(120*60)){return"ca en time siden"}else{if(e<(24*60*60)){return"ca "+(parseInt(e/3600)).toString()+" timer siden"}else{if(e<(48*60*60)){return"I g&aring;r"}else{return(parseInt(e/86400)).toString()+" dager siden"}}}}}}
		};
		
		function linkify(text){
			return text.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
				return m.link(m);
			});
		};

	$('#twitter').append('<a class="more" href="http://twitter.com/'+o[0].user.screen_name+'">F&oslash;lg oss</a>');
	});
};


/**
* labelOver
* @author http://remysharp.com
*/
jQuery.fn.labelOver = function(overClass) {
	return this.each(function(){
		var label = jQuery(this);
		var f = label.attr('for');
		if (f) {

			var input = jQuery('#' + f);
			this.hide = function() { label.css({ textIndent: -10000 }) }
			this.show = function() { if (input.val() == '') label.css({ textIndent: 0 }) }

			input.focus(this.hide);
			input.blur(this.show);
			label.addClass(overClass).click(function(){ input.focus() });

			if (input.val() != '') this.hide(); 
		}
	})
};

// onReady functions
$(document).ready(function(){

	// fancy buttons
	if(!degrade){
		$("#nLetter .radiobtns").buttonset();
	/*	$(".checkbtns").buttonset();*/
		$("#search_scope").buttonset();
	}
	
	// expand more news on home
	$("#items .more").click(function(e){
		var linktxt_1 = $("#items .more").text();
		var linktxt_2 = "Se enda flere nyheter...";
		if(linktxt_1 != linktxt_2)
		{
			e.preventDefault();
			$("#items .hidden").slideDown();
			$("#items .more").text(linktxt_2);
		}
	});

	// toggle sharebox
	$(".addthis_toolbox").show();
	$(".sharelink").click(function(e){
		e.preventDefault();
		$(".sharelinks").toggleClass('hidden')
	});

	$(".sharelinks_close").click(function(e){
		e.preventDefault();
		$(".sharelinks").addClass('hidden')
	});


	// lightbox
    $(function() {
        $("#r-relimg a").lightBox();
    });


	// target for external links
	$("a[rel='external']").click(function(){
		this.target = "_blank";
	});

	//zebrastripes
	$(".calbox ul li:even").addClass('even');
	$(".col-3 .row div:even").addClass('even');


	// download counter
	var theday = new Date(2010,10,18,12);	//Thu Nov 18 2010 12:00:00
	$('#defaultCountdown').countdown({
		until: theday,
		labels: ['År', 'Måneder', 'Uker', 'dager', 'timer igjen', 'Minutter', 'Sekunder'],
		labels1: ['År', 'Måned', 'Uke', 'dag', 'time igjen', 'Minutt', 'Sekund'],
		format: 'dh',
		layout:'{d<}{dn} {dl} og {d>} {hn} {hl}'
	});

	// form labels over
	$("#simplesearch label").labelOver('over');
	$("#nLetter label.input").labelOver('over');

	// newsletter validate email
	$("#nLetter").validate({
		rules: { Email: {required: true,email: true}},
		messages: {Email:  {required: "Vennligst oppgi en e-postadresse",email: "Ugyldig format på adressen"}}
	});
	$("#m-nletters form").validate({
		rules: { Email: {required: true,email: true}},
		messages: {Email:  {required: "Vennligst oppgi en e-postadresse",email: "Ugyldig format på adressen"}}
	}); 

	/***
	** validate signup form
	***/
    var signup = $("form.signup-validate");
    if(signup.length == 1)
    {
	    // form validate
	    $("form.signup").validate({
		    rules: {
			    FormName: "required",
			    FormFromEmail: {required: true,email: true},
			    FormAddress: "required",
			    FormAddressZIP: "required",
			    FormAddressState: "required",
			    FormPhone: "required",
/* TODO : FIX ved ui fancy buttons... */
			    FormTicketScope: {scopeParts: true,required: true},
			    FormPayment: "required",
			    FormAge: "required"
		    },
		    messages: {
			    FormName: "Mangler navn",
			    FormFromEmail: {required: "Mangler e-postadresse",email: "Ikke gyldig e-postformat"},
			    FormAddress: "Mangler postadresse",
			    FormAddressZIP: "Mangler postkode",
			    FormAddressState: "Mangler poststed",
			    FormPhone: "Mangler telefonnummer",
			    FormAge: "Mangler alder"
		    }
	    });

	    /// scopeParts : custom method for scopeparts validation

/* TODO : FIX ved ui fancy buttons... */
	    $.validator.addMethod("scopeParts", function(value, element,param) {
		    if($("#FormTicketScope2:checked").length){
			    return $("#TicketScopePart .checkbtns input:checked").length;		    	
		    }
		    else
			    return 1;
		    }, 'Vennligst velg mimimum en dag');
	    $("#TicketScopePart input").click(function(){
		    $("#FormTicketScope2").valid();
	    });

	    // toggle ScopePart alternatives 
	    var scopeAll = $("#FormTicketScope1").is(":visible") ? $("#FormTicketScope1") : $("label[for='FormTicketScope1']") ;
	    var scopePart = $("#FormTicketScope2").is(":visible") ? $("#FormTicketScope2") : $("label[for='FormTicketScope2']") ;

	    var inital = $("#FormTicketScope2").is(":checked");
	    var parts = $("#TicketScopePart")[inital ? "removeClass" : "addClass"]("disabled");
	    var partsInputs = parts.find("input").attr("disabled", !inital);
		if(!inital){
			$("#TicketScopePart .checkbtns").buttonset('disable');			
		}

	    scopePart.click(function() {
		    parts["removeClass"]("disabled");
		    partsInputs.attr("disabled", !this.checked);
			$("#TicketScopePart .checkbtns").buttonset('enable');
	    });
	    scopeAll.click(function() {
		    parts["addClass"]("disabled");
		    partsInputs.attr('checked',false);
		    partsInputs.attr("disabled", this.checked);
			$("#TicketScopePart label").removeClass("ui-state-active");
			$("#TicketScopePart .checkbtns").buttonset('disable');
		});
    }

	// program displays defaults
	$("a.toggleday").show()
	$("#prog-display-2").hide();
	$("a[href='#prog-display-1']").css({"color": "#E1003F","border": "none"});

	// program displays toggles
	$("a[href='#prog-display-1']").click(function(e) {
		e.preventDefault();
		$(this).css({"color": "#E1003F","border": "none"});
		$("a[href='#prog-display-2']").removeAttr('style');
		$("#prog-display-2").fadeOut();
		$("#prog-display-1").fadeIn('slow');
	}); 
	$("a[href='#prog-display-2']").click(function(e) {
		e.preventDefault();
		$(this).css({"color": "#E1003F","border": "none"});
		$("a[href='#prog-display-1']").removeAttr('style');
		$("#prog-display-1").fadeOut();
		$("#prog-display-2").fadeIn('slow');
	});

	// program toggle days
	$("a.toggleday").click(function(e) {
		e.preventDefault();
		$("table#"+$(this).attr('rel')).slideToggle();
		$(this).text(($(this).text().indexOf('mindre') == -1) ? "Se mindre" : "Se mer");
	});
});