/**
 * Put in here all custom functions
 * @author Anders * 
 */

var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$.fn.pause = function(milli,type) {
	milli = milli || 1000;
	type = type || "fx";
	return this.queue(type,function(){
		var self = this;
		setTimeout(function(){
			$.dequeue(self);
		},milli);
	});
};

$.fn.clearQueue = $.fn.unpause = function(type) {
	return this.each(function(){
		type = type || "fx";
		if(this.queue && this.queue[type]) {
			this.queue[type].length = 0;
		}
	});
};

$(document).ready(function() {
	/*
	 * User menu (top right corner).
	 * Uses jsddm: http://javascript-array.com/scripts/jquery_simple_drop_down_menu/
	 */
	$('#jsddm > li').bind('mouseover', jsddm_open);
   	$('#jsddm > li').bind('mouseout',  jsddm_timer);
	
	/*
	 * Login
	 */
	$('#loginbutton').click(function(){
		var $loginform = $("#loginform");
		if($loginform.is(':hidden')) {
			$loginform.slideDown(500);
			$('#loginbutton').html('Luk');
			$('#loginform input[name="username"]').focus();
		} else {
			$loginform.slideUp(500,function() {
				$('#loginbutton').html('Log på');
			});
			
		}
		return false;
	  });
	
	/*
	 * Msg handling
	 */
	$(".msg").hide();
	$(".msg").slideDown(500).pause(5000).slideUp(1500);
	
	
	/*
	 * Zebra striping n all tables with class zebra
	 * Define styles in css: "odd"
	 */
	$(".zebra tr:even").addClass("odd");
	
	
	
	/*
	 * Form fields: When clicking, remove default value.
	 */
	$('.default-value').each(function() {
	    var default_value = this.value;
	    $(this).focus(function() {
	        if(this.value == default_value) {
	            this.value = '';
	        }
	    });
	    $(this).blur(function() {
	        if(this.value == '') {
	            this.value = default_value;
	        }
	    });
	});
	
	/*
	 * Masking time input 
	 */
	$('input.timeHMMSS').mask("9:59:59");
	$('input.dateDD-MM-YYYY').mask("39-19-2999");
	$('input.dateDD-MM-YYYY_HH-II').mask("39-19-2999 29:59");
	$('input.year').mask("2999");
	
	
	//switch to show/hide login form
	
	
	
	  
	  /*
		 * Add confirm dialogue to links with class "confirm". Test from attribute "rel"
		 */
		$("a.confirm").click(function() {
			var confirmtext = $(this).attr("rel");
			var confirmhref = $(this).attr("href");
			function confirmcallback(v,m,f) {
				if(v==true) {
					window.location = confirmhref;
				} 
				
			}
			var confirmed = $.prompt(confirmtext,{ buttons: { Ja: true, Afbryd: false }, callback: confirmcallback });
			
			return false;
		});

	  
	  
	  /*
	   * Main navigation menu.
	   * Uses hoverIntent.js, superfish.js, supersubs.js, superfish.css
	   */
	  $("ul.sf-menu").supersubs({ 
	        minWidth:    12,   // minimum width of sub-menus in em units 
	        maxWidth:    27,   // maximum width of sub-menus in em units 
	        extraWidth:  0     // extra width can ensure lines don't sometimes turn over 
	                           // due to slight rounding differences and font-family 
	    }).superfish();  // call supersubs first, then superfish, so that subs are 
	                     // not display:none when measuring. Call before initialising 
	                     // containing tabs for same reason.
});

document.onclick = jsddm_close;


