/********************************************* 
*
*		Collection of usefull jQuery functions
*		Version: 1.0
* 	Date: 01.11.2010
*		Collected by Morten Mastad - EDB Totalpartner AS
*
**********************************************/

(function($){
	
	// Sjekker om ctrl er trykket. Kilde: (http://www.gmarwaha.com/)
	$.ctrl = function(key, callback, args) {
			$(document).keydown(function(e) {
					if(!args) args=[]; // IE barks when args is null
					if(e.keyCode == key.charCodeAt(0) && e.ctrlKey) {
							callback.apply(this, args);
							return false;
					}
			});
	};
	
	$.fn.jqCheck = function() { alert("Du har gjort ting riktig!"); }
  $.fn.tagName = function() { return this.get(0).tagName.toLowerCase(); }

  // Skjuler pager dersom den inneholder kun en side
  $.fn.etpPagerVisability = function() {
      var length = $("li", $(this)).size();
      if(length < 2){ $(this).parent().hide(); }
      else{ $(this).parent().show();}     
			return this;
  }

	$.fn.etpImageCapture = function() {
		var tag = $(this).tagName();
		if(tag = "img")
		{
			var $pic = $(this);
			var ldesc = $pic.attr("longdesc");
			var align = $pic.attr("align");
			var float = $pic.css("float");
			
			var pfloat = (float != "") ? float : align;  
     
			var width = $pic.width();
			
			if(align == "right"){ $pic.wrap("<div class='right-img-outer' style='width: " + width  + "px;'></div>"); }
			else if(align == "left"){ $pic.wrap("<div class='left-img-outer'></div>"); }
			else{	$pic.wrap("<div class='img-outer'></div>"); }

			if(ldesc){ $("<span class='photo-byline'>" + ldesc + "</span>").insertAfter($pic); }
			return this;
		}
		
	}

	$.fn.etpHoverButton = function(){
		//var tag = $(this).tagName();
	
		var cssClass = $(this).attr("class");
		if (cssClass.indexOf(" ") >= 0) 			{ cssClass = cssClass.split(" ")[0]; }
		if (cssClass.indexOf("-hover") >= 0) 	{ cssClass = cssClass.replace("-hover", "");}
		
		var cssHoverClass = cssClass + "-hover";

		$(this)
		.mouseover(function(){ $(this).removeClass(cssClass).addClass(cssHoverClass); })
		.mouseout (function(){ $(this).removeClass(cssHoverClass).addClass(cssClass); });
		return this;
	}
	
	$.fn.etpDropDownMenu = function(inOpts){
		var $m = $(this); // menu container
		var defaults = {
								firstClass: "first",
								lastClass:	"last",
								rightIcon:	"../images/right.gif"
								};
	
		var opts = $.extend(defaults, inOpts);
		
		// Add class 'first' to every first li in each ul
		$("ul",$m).each(function(){ $("li", $(this)).first().addClass("first"); });
		
		// Add class 'is-parent' to every li with children.
		$("li").has("ul").each(function(){ $("span", $(this)).first().addClass("is-parent"); });		

		return this;
	}
	
	$.fn.etpEqualHeights = function(px){
		$(this).each(function(){
				var currentTallest = 0;
				$(this).children().each(function(i){
						if ($(this).height() > currentTallest) { currentTallest = $(this).height(); }
				});
				if (!px || !$.pxToEm) { currentTallest = $.pxToEm(currentTallest); } //use ems unless px is specified
				// for ie6, set height since min-height isn't supported
				if ($.browser.msie && $.browser.version == 6.0) { 
					//$(this).children().css({'height': currentTallest}); 
					$(".contentbox-content", $(this)).css({'height': currentTallest});
					$(".list-element", $(this)).css({'height': currentTallest}); 
					$(".content-sub .contentbox", $(this)).css({'height': currentTallest});
				}

				$(".contentbox-content", $(this)).css({'min-height': currentTallest}); 
				$(".list-element", $(this)).css({'min-height': currentTallest}); 
				$(".contentbox-inner", $(this)).css({'min-height': currentTallest}); 
		});
		return this;
	};	
	
})(jQuery)

