/**
 * Definerer globale variable
 */
var backgroundImage = '';
var disableJSFilters = false;

/**
 * Skjuler og viser ansatte fra ulike avdelinger
 *
 * 1) Henter alle aktive avdelinger
 * 2) Skjuler liste med alle ansatte
 * 3) Når alle ansatte er skjult (dvs, når antall synlige ansatte==0), fiks synlighet på ansatte utifra kriterie, og vis listen igjen
 */
function showEmployees(){
	var visibleDepartments = '';
	$('ul.filters li.active a').each(function(e){
		visibleDepartments += $(this).attr('class')+',';
	});

	$("ul.listitems").fadeOut( function(e){
    if (visibleDepartments=='') {
  	  $("ul.listitems li").show();
      $("ul.listitems").fadeIn();
    }else{
      $("ul.listitems li").hide();
			$("ul.listitems li").each( function(e){
				if (visibleDepartments.indexOf( $(this).attr('class') )>-1 ){
					$(this).show();
				}
			}).parent('ul').fadeIn();
		}
	});
}

function addGlobalSearch(){
  if( $.globalsearcher ){
    html = '<div id="globalsearch">'+
					 '<form method="post" action="/search/all">'+
					 '<fieldset>'+
					 '<input type="text" name="q" value="" />'+
					 '</fieldset>'+
					 '</form>'+
					 '<div class="results">'+
					 '<ul>'+
					 '</ul>'+
					 '<div class="bottom">&nbsp;</div>'+
					 '</div>'+
					 '</div>';
	  $('div#header').append(html);
	  $('div#header ul.menu').css('right','207px');
	  $('div#globalsearch form input').globalsearch({delay:150});
    $('div#globalsearch form').submit(function(e){
      $(this).children('input').keyup();
      return false;
    });
  }
}

/*
 * Når jQuery er klar for kjøring, gjøres følgende:
 * 1) Sjekker om det er satt noe bakgrunnsbilde
 * 2) Sjekker etter listen ul.filters, om den er tilstede så bindes klikkevent for å håndtere dynamisk filtrering på ansatte
 * 3) Sjekker om #one-job div.text p.col2 er tilstede, isåfall så må vi legge til en read more lenke, den må ikke være der for default 
 * 4) Om div.filter form er tilgjengelig, bind eventer på focus, blur, click og disable submit
 */
if(typeof jQuery != "undefined"){
	$(document).ready( function() {
		if( $.browser ){
	  	$.browser.addMetaClass('p');
	  }
		if( typeof backgroundImage != "undefined" && backgroundImage!='' ){
			$('body').css('background','#2a2a2a url(../uploads/bakgrunner/'+backgroundImage+') no-repeat 0 0');
		}
		if( !disableJSFilters ){
			$('ul.filters li a').bind("click", function(e){
				var clicked   = $(this).attr('class');
				var is_active = $(this).parent('li').attr('class')=='active';
				$(this).parent('li').attr('class','active');
				switch( is_active ){
					case true:
						$(this).parent('li').siblings().children('a').each(function(e){
							$(this).parent('li').toggleClass('active');
						});
						break;
					
					case false:
						$(this).parent('li').siblings().children('a').each(function(e){
							$(this).parent('li').attr('class','');
						});
						break;
				}
				showEmployees();
				return false;
			});
			
      if( $.gyrosearcher ){
        $('div#employees div.filter form input#navn').gyrosearch( {restrictTo: "ul.filters li.active a", noHitsText: "<p class=\"gyrosearcher-nohits\" style=\"display:none;\">Beklager, vi fant ingen ansatte som matchet ditt søkekriterie...</p>"} );
        $('ul.filters li a').bind("click", function(){
          $('div#employees div.filter form input#navn').val($.gyrosearcher.defaults.defaultText);
        });
	      $('div#jobs div.filter form input#navn').gyrosearch( {additionalTargets: new Array("ul.listitems li span.kunde","ul.listitems li span.dato"), noHitsText: "<p class=\"gyrosearcher-nohits\" style=\"display:none;\">Beklager, vi fant ingen jobber som matchet ditt søkekriterie...</p>" } );
	      $('div#articles div.filter form input#navn').gyrosearch( {additionalTargets: new Array("ul.listitems li p"), noHitsText: "<p class=\"gyrosearcher-nohits\" style=\"display:none;\">Beklager, vi fant ingen nyheter som matchet ditt søkekriterie...</p>" } );
        $( 'div.filter form' ).submit(function(e){
          $(this).children('input#navn').keyup();
          return false;
        });
		     /*
		       function(){
		         if($.cookie){
		           $.cookie('latest_job_query',$(this).val());
		           console.log('callback: '+$.cookie('latest_job_query'));
		         }
		       });
		     if($.cookie && $.cookie('latest_job_query')!='' && $.cookie('latest_job_query')!=$.gyrosearcher.defaults.defaultText ){
		       console.log('du har søkt før, prøve å gjenskape søket');
		       $('div#jobs div.filter form input#navn').val($.cookie('latest_job_query')).keyup();
		     }
		     */
      }else{
//        alert('ingen gyrosearcher funnet...');
      }
    }
    
    if( $('div#one-job div.text p.col2').length==1 ){
      $('div.case-content').append( '<a href="#" class="more">more</a>' );
      $('div.case-content a.more').bind("click",function(e){
        switch( $('div.case-content p.col2').css('left') ){
          case '267px':
            $('div.case-content p.col2').animate({left:'0'},'slow','swing');
            break;
          
          case '0px':
            $('div.case-content p.col2').animate(
              {left:'267px'},
              'slow',
              'swing',
              function(e){
                //$(this).css('left','-267px');
              }
              );
            break;
          
          default:
            break;
        }
        return false;
      });
    }
    
    if( $('div.case-image div.info p.col2').length==1 ){
      $('div.case-image div.info').append( '<a href="#" class="nyhet more">more</a>' );
      $('div.case-image div.info a.nyhet').bind("click",function(e){
        switch( $('div.case-image div.info p.col2').css('left') ){
          case '445px':
            $('div.case-image div.info p.col2').animate({left:'0'},'slow','swing');
            break;
          
          case '0px':
            $('div.case-image div.info p.col2').animate(
              {left:'445px'},
              'slow',
              'swing',
              function(e){
                //$(this).css('left','-267px');
              }
              );
            break;
          
          default:
            break;
        }
        return false;
      });
    }
    addGlobalSearch();
	});
}