jQuery.noConflict();
jQuery(document).ready(function($){

	// TOOL TIP
	jQuery('.image img').tooltip({
		delay: 200,
		showURL: false,
		showBody: " - ",
		top:-10
	});

	// Ext: lf_feusers, plugin 1
	if(jQuery('div').hasClass('tx-lffeusers-pi1')){

		// Instrument AJAX calls, see getInstruments().
		jQuery('#tx_lffeusers_pi1_tx_dmf_instrument_categories').change(function(){getInstruments(jQuery(this).val(),1,'#tx_lffeusers_pi1_tx_dmf_instrument_id','#tx_lffeusers_pi1_tx_dmf_instrument_categories','');});
		jQuery('#tx_lffeusers_pi1_tx_dmf_instrument_categories2').change(function(){getInstruments(jQuery(this).val(),1,'#tx_lffeusers_pi1_tx_dmf_instrument2_id','#tx_lffeusers_pi1_tx_dmf_instrument_categories2',2);});
		jQuery('#tx_lffeusers_pi1_tx_dmf_instrument_categories3').change(function(){getInstruments(jQuery(this).val(),1,'#tx_lffeusers_pi1_tx_dmf_instrument3_id','#tx_lffeusers_pi1_tx_dmf_instrument_categories3',3);});
		jQuery('#tx_lffeusers_pi1_tx_dmf_instrument_categories4').change(function(){getInstruments(jQuery(this).val(),1,'#tx_lffeusers_pi1_tx_dmf_instrument4_id','#tx_lffeusers_pi1_tx_dmf_instrument_categories4',4);});
		jQuery('#tx_lffeusers_pi1_tx_dmf_instrument_categories5').change(function(){getInstruments(jQuery(this).val(),1,'#tx_lffeusers_pi1_tx_dmf_instrument5_id','#tx_lffeusers_pi1_tx_dmf_instrument_categories5',5);});
		 	
		// Validate cpr number.
		jQuery('#tx_lffeusers_pi1_cpr').keyup(function(e){
			var v=jQuery(this).val();var s=v.split('');var t=[];var o='';var l=s.length>11?11:s.length;
			for(var i=0;l>i;i++){if(i==6&&v.charAt(6)!='-'){t[i]='-';i=7;}else{t[i]=isNaN(s[i])&&i!=6?'':s[i];}}	
			for(var i=0;t.length>i;i++){o+=(i==6)?t[i]:(parseInt(t[i])=='NaN'?'':t[i]);}
			jQuery(this).val(o);
		});
		
		// Validate month.
		jQuery('#tx_lffeusers_pi1_month').keyup(function(e){
			var v=jQuery(this).val();var s=v.split('');var t=[];var o='';var l=s.length;
			for(var i=0;l>i;i++){t[i]=(isNaN(s[i])||s[i]==' '?'':s[i]);}
			for(var i=0;t.length>i;i++){o+=(parseInt(t[i])=='NaN'?'':t[i]);}
			if(parseInt(o)>12||parseInt(o)<=0){o='';}
			jQuery(this).val(o);
		});
		
		// Validate year.
		jQuery('#tx_lffeusers_pi1_year').keyup(function(e){
			var v=jQuery(this).val();var s=v.split('');var t=[];var o='';var l=s.length;
			for(var i=0;l>i;i++){t[i]=(isNaN(s[i])||s[i]==' '?'':s[i]);}
			for(var i=0;t.length>i;i++){o+=(parseInt(t[i])=='NaN'?'':t[i]);}
			if(parseInt(o)>2020||parseInt(o)<=0){o='';}
			jQuery(this).val(o);
		});
		
		
		removeAllButNumbers('tx_lffeusers_pi1_zip');
		removeAllButNumbers('tx_lffeusers_pi1_telephone');
		removeAllButNumbers('tx_lffeusers_pi1_tx_dmf_workphone');
		removeAllButNumbers('tx_lffeusers_pi1_tx_dmf_mobile');
		
		
		jQuery('#tx_lffeusers_pi1_email').change(function(){
			var D=new Date();
			var uC = {};
			uC['eID'] = 'ajax_lffeusers';
			uC['unique'] = D.getTime();
			uC['handle'] = 'checkEmail';
			uC['email'] = jQuery(this).val();
			jQuery.getJSON(makeURL(uC),function(data){
				if( data['valid'] == '0' ){
					alert(data['error']);
				} else if (data['valid']=='-1') {
					if( confirm(data['error']) == true ){
						var uC = {};
						uC['eID'] = 'ajax_lffeusers';
						uC['unique'] = D.getTime();
						uC['handle'] = 'allowEmailOverwrite';
						jQuery.getJSON(makeURL(uC));
					} else {
						var uC = {};
						uC['eID'] = 'ajax_lffeusers';
						uC['unique'] = D.getTime();
						uC['handle'] = 'denyEmailOverwrite';
						jQuery.getJSON(makeURL(uC));
					}
				}
			});
		});
		
		// Member type extra options.
		jQuery('#tx_dmf_member_type_ajax').hide();
		jQuery('div.radiobuttons  > div.column-radio > div > input').click(function (){
		
			switch(jQuery(this).val()){
				case 'A':
					jQuery('#tx_dmf_member_type_ajax').show();
					var D=new Date();
					var uC = {};
					uC['eID'] = 'ajax_lffeusers';
					uC['unique'] = D.getTime();
					uC['handle'] = 'getABoxes';
					jQuery.getJSON(makeURL(uC),function(data){
						if(data['a_boxes']){
							jQuery('div.tx_lffeusers_pi1_ui').remove();
							jQuery('div.tx_lffeusers_pi1_a_boxes').remove();
							jQuery('#tx_dmf_member_type_ajax').append(data['a_boxes']);
						}
					});
					break;
				case 'U':
				case 'UI':
					jQuery('#tx_dmf_member_type_ajax').show();
					var D=new Date();
					var uC = {};
					uC['eID'] = 'ajax_lffeusers';
					uC['unique'] = D.getTime();
					uC['handle'] = 'getUiCardUpload';
					jQuery.getJSON(makeURL(uC),function(data){
						if(data['ui_card']){
							jQuery('div.tx_lffeusers_pi1_ui').remove();
							jQuery('div.tx_lffeusers_pi1_a_boxes').remove();
							jQuery('#tx_dmf_member_type_ajax').append(data['ui_card']);
						}
					});
					break;
				default:
					jQuery('#tx_dmf_member_type_ajax').hide();
					break;
			}
		});
		
		// be able to uncheck a radiobutton
		var arr = {};
		jQuery('div.tx_dmf_terms_of_hire_id').find('input').each(function(i,item){
			
			arr[ i ] = ( jQuery(item).is(':checked')==true )?1:0;
			
			jQuery(item).click(function(){ 
				if( arr[ i ]==1 ){
					jQuery(this).removeAttr('checked');
					arr[ i ] = 0;
				} else {
					arr[ i ] = 1;
				}
			});
		});
		
		
		jQuery('div.tx_dmf_genre2 > dl.column-dl > dd.column-dd > div.box > input').click(function(click_item){ 
			var count = jQuery('div.tx_dmf_genre2 > dl.column-dl > dd.column-dd > div.box > input:checked').length;
			console.log("TOTAL: "+count);
			console.log("-------------");
			var runs = 0;
			while( count > 4  ){
				if(runs>50){break;}
				var g = 0;
				jQuery('div.tx_dmf_genre2 > dl.column-dl > dd.column-dd > div.box > input').each(function(i,item){
					
					console.log(' G '+g);
					console.log('is item '+i+' checked ? '+ (jQuery(item) .attr('checked') ? 1 : 0) );
					
					
					if(jQuery(item).attr('checked')){
						g++;
					}
					
					 
					if(g > 4){
						var genre = {};
						var h = 0;
						jQuery('div.tx_dmf_genre2 > dl.column-dl > dd.column-dd > div.box > input:checked').each(function(j,jtem){
							
							console.log( ' J ' + j );
							
							if(h < 4){
								jQuery(jtem).attr('checked',true);
							} else {
								jQuery(jtem).attr('checked',false);
							}
							
							h++;
						});
						//jQuery(click_item).attr('checked',true);
						g = 4;
					}
				});
				runs++;
				count = jQuery('div.tx_dmf_genre2 > dl.column-dl > dd.column-dd > div.box > input:checked').length;
			}
		});

	}
	
	// Ext: lf_feusers, plugin 2
	if(jQuery('div').hasClass('tx-lffeusers-pi2')){
				
		// Instrument AJAX calls, see getInstruments().
		jQuery('#tx_lffeusers_pi2_tx_dmf_instrument_categories').change(function(){getInstruments(jQuery(this).val(),2,'#tx_lffeusers_pi2_tx_dmf_instrument_id','#tx_lffeusers_pi2_tx_dmf_instrument_categories','');});
		jQuery('#tx_lffeusers_pi2_tx_dmf_instrument_categories2').change(function(){getInstruments(jQuery(this).val(),2,'#tx_lffeusers_pi2_tx_dmf_instrument2_id','#tx_lffeusers_pi2_tx_dmf_instrument_categories2',2);});
		jQuery('#tx_lffeusers_pi2_tx_dmf_instrument_categories3').change(function(){getInstruments(jQuery(this).val(),2,'#tx_lffeusers_pi2_tx_dmf_instrument3_id','#tx_lffeusers_pi2_tx_dmf_instrument_categories3',3);});
		jQuery('#tx_lffeusers_pi2_tx_dmf_instrument_categories4').change(function(){getInstruments(jQuery(this).val(),2,'#tx_lffeusers_pi2_tx_dmf_instrument4_id','#tx_lffeusers_pi2_tx_dmf_instrument_categories4',4);});
		jQuery('#tx_lffeusers_pi2_tx_dmf_instrument_categories5').change(function(){getInstruments(jQuery(this).val(),2,'#tx_lffeusers_pi2_tx_dmf_instrument5_id','#tx_lffeusers_pi2_tx_dmf_instrument_categories5',5);});
		
		// be able to uncheck a radiobutton
		var arr = {};
		jQuery('div.tx_dmf_terms_of_hire_id > dl > dd > dl > dt > input').each(function(i,item){
			
			arr[ i ] = ( jQuery(item).is(':checked')==true )?1:0;
			
			jQuery(item).click(function(){ 
				if( arr[ i ]==1 ){
					jQuery(this).removeAttr('checked');
					arr[ i ] = 0;
				} else {
					arr[ i ] = 1;
				}
			});
		});
	}

	// Ext: lf_feusers, plugin 4
	if(jQuery('div').hasClass('tx-lffeusers-pi4')){
		
		// Instrument AJAX calls, see getInstruments().
	//	jQuery('#tx_lffeusers_pi4_tx_dmf_instrument_categories').change(function(){getInstruments(jQuery(this).val(),4,'#tx_lffeusers_pi4_tx_dmf_instrument_id','#tx_lffeusers_pi4_tx_dmf_instrument_categories','')});
		jQuery('#tx_lffeusers_pi6_tx_dmf_instrument_categories').change(function(){
			if(console && console.log){console.log('changed');}
			getInstruments(jQuery(this).val(),6,'#tx_lffeusers_pi6_tx_dmf_instrument_id','#tx_lffeusers_pi6_tx_dmf_instrument_categories','');
		});
	}
	
	// Ext: lf_feusers, plugin 6
	if(jQuery('div').hasClass('tx-lffeusers-pi6')){
	
		// Instrument AJAX calls, see getInstruments().
		jQuery('#tx_lffeusers_pi6_tx_dmf_instrument_categories').change(function(){
			getInstruments(jQuery(this).val(),6,'#tx_lffeusers_pi6_tx_dmf_instrument_id','#tx_lffeusers_pi6_tx_dmf_instrument_categories','');
		});
	}



/*---- 
	This function enables the menu with the id of ul_nav
	to show the submenu. Works in all browsers
----*/
 	
jQuery('#menu li').hover(function(){
	jQuery(this).addClass('over');
}, function(){
	jQuery(this).removeClass('over');
});

jQuery('#menu li:first').hover(function(){
	jQuery(this).addClass('overl');
}, function(){
	jQuery(this).removeClass('overl');
});

jQuery('#menu>li:last-child').hover(function(){
	jQuery(this).addClass('overr');
}, function(){
	jQuery(this).removeClass('overr');
});

//afdelinger dropdown menu
jQuery("#my-dropdown").change(function () {
      jQuery("#my-dropdown option:selected").each(function () {
         var Link = jQuery(this).val();
         if(Link != null) {
         jQuery(this).parents("#pulldownmenu").attr("action", Link);
         jQuery("#pulldownmenu").submit();
         }
      });          
});

//call tabs
jQuery("a.jqtabshref-0").each(function () {
				href = jQuery(this).attr("href");
				arr = href.split("#")
				if (arr[1])
					jQuery(this).attr("href", "#"+arr[1]);
});
jQuery("#jqtabs-0").tabs({ selected: 0 });

//----
// Accesskeys
//----

jQuery('#accesskeys a').focus(function(){
		jQuery('#accesskeys').attr("style","left: 10px; z-index:999;");
});
jQuery('#accesskeys a').blur(function(){
		jQuery('#accesskeys').attr("style","left: -9999px; z-index:0;");
});



// Generate a random starting position for the carousel
var itemCount = jQuery("#mycarousel").children().size();
var randomnumber = Math.ceil(Math.random()*itemCount);

/*carousel*/
jQuery("#mycarousel").jcarousel({
       scroll:1,
       auto:8,
       start:randomnumber,
       initCallback: buildButtons,
       itemLastInCallback: updateButtons,
       wrap:'last',
       animation:'slow'
});

/* google search 2 iframes */
var iframref = jQuery('#cse-search-results iframe').attr("src");
var iframheight = jQuery('#cse-search-results iframe').attr("height");
jQuery('#cse-search-results').append('<iframe style="float:left;" scrolling="no" frameborder="0" width="320" height="'+ iframheight +'" src="'+ iframref +'&cx=004340071650825883411:llen2iyym4g"></iframe>');
jQuery('#cse-search-results').append('<iframe style="float:right;" scrolling="no" frameborder="0" width="320" height="'+ iframheight +'" src="'+ iframref +'&cx=004340071650825883411:kany35lkczg"></iframe>');

jQuery('#cse-search-results iframe').attr("height","1450");
jQuery('#cse-search-results iframe:eq(0)').remove();	

//Afdeling kontakt
jQuery(".depart-title em").each(function(){
	var k = jQuery(this).find("a").length;
	var l = jQuery(this).find(".contactperson").text();
	var m = jQuery(this).find(".phone").text();
 	//alert(k);
	//alert(l);
	if(l=="" && m=="" && k!=1){
	jQuery(this).parent().parent().hide();
	}
	if(jQuery(this).find(".departmentlink").text() == "Afdelingens hjemmeside" && k!=1) jQuery(this).find(".departmentlink").hide();
})

//----- 	
// Switch stylesheets starts
//-----

var c = readCookie('style');

if (c) {
	
	switchStylestyle(c);
	 
	if (c == "font_11px") {
        	jQuery('.big').each(function(i) {
			jQuery(this).attr({
				rel: "font_12px"
        		});
        	});
        	jQuery('.small').each(function(i) {
			jQuery(this).attr({
				rel: "font_11px"
        		});
        	});
        } else if (c == "font_12px") {
        	jQuery('.big').each(function(i) {
			jQuery(this).attr({
				rel: "font_13px"
        		});
        	});
        	jQuery('.small').each(function(i) {
			jQuery(this).attr({
				rel: "font_11px"
        		});
        	});
        } else if (c == "font_13px") {
        	jQuery('.big').each(function(i) {
			jQuery(this).attr({
				rel: "font_13px"
        		});
        	});
        	jQuery('.small').each(function(i) {
			jQuery(this).attr({
				rel: "font_12px"
        		});
        	});
        }
}
	
jQuery('.big').click(function() {

	var relatt = this.getAttribute("rel");
        
       	switchStylestyle(relatt);
        
        if (relatt == "font_12px") {
		jQuery(this).attr({
			rel: "font_13px"
        	});
        }
        if (relatt == "font_13px") {	
        	jQuery('.small').attr({
			rel: "font_12px"
        	});
	}
        return false;	

}); 	

jQuery('.small').click(function() {

	var relatt = this.getAttribute("rel");
        
       	switchStylestyle(relatt);
        
        if (relatt == "font_12px") {
		jQuery(this).attr({
			rel: "font_11px"
        	});
        }
        if (relatt == "font_11px") {	
        	jQuery('.big').attr({
			rel: "font_12px"
        	});
	}
	
        return false;
}); 	

//-----
// Switch stylesheets ends
//-----


}); // End jQuery onReady


function removeAllButNumbers(id){
	jQuery('#'+id).keyup(function(e){
		var v=jQuery(this).val();var s=v.split('');var t=[];var o='';var l=s.length;
		for(var i=0;l>i;i++){t[i]=(isNaN(s[i])||s[i]==' '?'':s[i]);}
		for(var i=0;t.length>i;i++){o+=(parseInt(t[i])=='NaN'?'':t[i]);}
		jQuery(this).val(o);
	});
}

function buildButtons(carousel, state) {
	// Build buttons
	var carId = carousel.list.context.id;
	var carObj = jQuery('#' + carId);
	var buttonsNo = carousel.options.size;
	var howMany = carousel.options.scroll;
		
	if(buttonsNo > howMany){
	
		// Find containing div, and make a ul inside
		carObj.parents('.jcarousel-skin-red').prepend('<div class="jcarousel-control ' + carId + '"></div>');
		
		// Append controls to div
		for(button = 1; button <= buttonsNo; button = button+howMany){
			jQuery('.' + carId).append('<a href="#"><span>'+(button)+'</span>&nbsp;</a>');
		}
		// Bind click function to buttons
	 	jQuery('.' + carId + ' a').bind('click', function() {
			var scrollTo = jQuery.jcarousel.intval(jQuery(this).text());
			carousel.scroll(scrollTo);
		    return false;
		});
	} else {
		carObj.parents('.jcarousel-skin-red').find('.jcarousel-prev, .jcarousel-next').hide();
	}
	
	// Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
	
}

function updateButtons(carousel, item, idx, state) {
	// Update the position of the buttons
	var position = Math.ceil(idx / carousel.options.scroll);
	var carId = carousel.list.context.id;
	var carObj = jQuery('#' + carId);

//console.log(position + ' ' + idx);
	
	// Find the div, then find controls for that div and then update the active button
	carObj.parents('.jcarousel-skin-red').find('.jcarousel-control a').removeClass('active').eq(position-1).addClass('active');
}


function switchStylestyle(styleName)
{
        jQuery('link[rel*=style][title]').each(function(i)        
        {
                this.disabled = true;
                if (this.getAttribute('title') == styleName) this.disabled = false;
        });
        createCookie('style', styleName, 365);
}

/**
 * Make the url to request including some params that the server will like
 * 
 * @param	array	urlVars
 * @return	string	url.
 * @author	jens@linkfactory.dk
 */
function makeURL(uV){
	var uS = '';var i=0;
	if(typeof uV != "undefined"){for(key in uV){uS+=(i==0?'':'&')+key+"="+uV[key];i++;}}
	return "http://" + top.location.host + top.location.pathname + "?" + encodeURI(uS);
}

/**
 * Get instrument.
 * 
 * @param	object	the item.
 * @param	int		plugin number
 * @param	string	attribute id of instrument select
 * @param	string	attribute id of category select
 * @author	jens@linkfactory.dk
 */
function getInstruments(cat,pi,item_id,cat_id,cat_nr){
	if(cat>0){
		var D=new Date();
		var uC = {};
		uC['eID'] = 'ajax_lffeusers';
		uC['unique'] = D.getTime();
		uC['handle'] = 'getInstruments';
		uC['cat'] = cat;
		uC['pi'] = pi;
		if(cat_nr){uC['c'] = cat_nr;}
		jQuery.getJSON(makeURL(uC),function(data){
			if(data['instruments']){
				if(pi==6){
					jQuery(item_id).parent('div.form-wrap').remove();
				} else {
					jQuery(item_id).remove();
				}
				jQuery(cat_id).after(data['instruments']);
			}
		});
	}
}
// Ends all jquery



// cookie functions http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days){
	if (days)	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++){
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name){
	createCookie(name,"",-1);
}
//cookie functions end
