/* ================================ +
   	        UITMARKT 2010
 + ================================ */


/* 
** Made by: Studio Parkers / Edgar Vijgeboom, Thomas Lievestro
** Email:	info@studioparkers.nl
** Website:	www.studioparkers.nl
*/

/* ================================ +
                GENERAL
 + ================================ */

/* trim functie */
function trim(value) {
  value = value.replace(/^\s+/,'');
  value = value.replace(/\s+$/,'');
  return value;
}

/* CARROUSEL */

var	CarrouselTimeoutTime = 5000;
var	KeepNumbers = Array(0,1,2,3,4,5);
var Numbers;
var last_object_interval;

// Function to init the Carrousel
function initCarrousel() {
		
	$('#carrousel').accordion({
		active: '.selected', 
		selectedClass: 'active', 
		header: '.carrousel_item_header',
		alwaysOpen: true,
		collapsible:true,
		navigation: true,
	   	event: 'mouseover', 
	   	fillSpace: true
	});
	
	$('#carrousel .carrousel_item').css('width','119px');	
	$('#carrousel .carrousel_item.active').css('width','359px');
	
	$('#carrousel .carrousel_item .carrousel_item_content').hide();
	$('#carrousel .carrousel_item.active .carrousel_item_content').show();

	KeepNumbers = $.shuffle(KeepNumbers);
	
	Numbers = KeepNumbers.slice();
	
	startRotate();	
}

// Function for auto Rotate the carrousel
function autoRotate(){
	showItem();
	rotateTimer = setTimeout(function(){
		autoRotate();
	},CarrouselTimeoutTime);
}

// Function for start rotating the carrousel
function startRotate(){
	rotateTimer=setTimeout(function(){
		autoRotate();
	},CarrouselTimeoutTime);
}

// Function for stop rotating the carrousel
function stopRotate(){
	if(typeof rotateTimer != 'undefined'){
		clearTimeout(rotateTimer);
	}
}

// Function for show carrousel item
function showItem(){
   	$('#carrousel').accordion('activate', Numbers[0]);
	Numbers.shift();
	
	if(Numbers.length == 0){
		Numbers = KeepNumbers.slice();	
	}
}



/* MENU */

var closeTimer   = null;
var _hover       = '';

function showSubmenu(submenu){

    _hover = $('#'+submenu).prev().attr('id');
    cancelHideSubmenu();
    hideAllSubmenus();
    
	if ($('#'+submenu).is(":hidden")) {
     	$('#'+submenu).slideDown(200);
	}
}

function hideSubmenu(submenu){
	if ($('#'+submenu).not(":hidden")) {		
		closeTimer = window.setTimeout(function(){
			$('#'+submenu).slideUp(100);
		}, 300);
	}
}

function hideAllSubmenus(){
	
	//Close submenu's
	var subMenus = $('.submenu');
	for(i=0;i<subMenus.length;i++){ 
		if ($(subMenus[i]).not(":hidden") && $(subMenus[i]).prev().attr('id') != _hover) { 
			$(subMenus[i]).slideUp(1);
		}
	}
}

function cancelHideSubmenu() {
	
	//Check of timer loopt
	if(closeTimer) {
		window.clearTimeout(closeTimer);
		closeTimer = null;
	}
} 

function displayLightbox(){
  $('#overlay_details').css({
    top:    (($(window).height() - 670 ) / 2 +$(window).scrollTop() + "px")//,
    // left:   (($(window).width() - $('#overlay_details').width() ) / 2 +$(window).scrollLeft() + "px")
  })
	$('#overlay_bg').toggle();
  $('#overlay_bg_container').toggle();
}

function displayLightboxOptreden(){
  $('#overlay_details').hide();
  $('#optreden_detail').css({
    top:    (($(window).height() - 670 ) / 2 +$(window).scrollTop() + "px")//,
    // left:   (($(window).width() - $('#overlay_details').width() ) / 2 +$(window).scrollLeft() + "px")
  })
  $('#banner_rec_lightbox').show();
  $('#overlay_bg').toggle();
  $('#overlay_bg_container').toggle();
}




/* Lightbox  function 
function displayLightbox(state) {         
  if (state == 'show') { 
    $('#overlay_bg_container').fadeIn();                 
    TOP = (getBrowserSize()[1]-500)/2;
    LEFT = (((getBrowserSize()[0]-600)/2));
    $('#overlay_details').css("top",TOP);          //Plaats de overlay in het midden van het scherm
    $('#overlay_details').css("left",LEFT);        //Plaats de overlay in het midden van het schermm
    window.setTimeout("$('#overlay_details').fadeIn()", 600);  //Fade de overlay in
  } else {
    $('#overlay_details').hide();
    $('#overlay_bg_container').hide();   
  }
}
*/

/* PROGRAMMA SLIDER */

function handleSliderChange(e, ui) {
  var maxScroll = $("#content-scroll").attr("scrollWidth") - $("#content-scroll").width();
  $("#content-scroll").animate({scrollLeft: ui.value * (maxScroll / 100) }, 1000);
  }

function handleSliderSlide(e, ui) {
  var maxScroll = $("#content-scroll").attr("scrollWidth") - $("#content-scroll").width();
  $("#content-scroll").attr({scrollLeft: ui.value * (maxScroll / 100) });
  }
  
  
  
/* Script voor het selecteren van filters bij markt */
function selectFilter(type,sorteer) {
  var filterid = $('#filterSelector').val();
  location.href = "markt.php?type="+type+"&filter="+filterid+"&sorteer="+sorteer;
}
  
//Shuffle function  
(function($){
  $.fn.shuffle = function() {
    return this.each(function(){
      var items = $(this).children();
      return (items.length)
        ? $(this).html($.shuffle(items))
        : this;
    });
  }
 
  $.shuffle = function(arr) {
    for(
      var j, x, i = arr.length; i;
      j = parseInt(Math.random() * i),
      x = arr[--i], arr[i] = arr[j], arr[j] = x
    );
    return arr;
  }
})(jQuery);



  

/* ================================ +
           SKILLFULL FUNCTIONS
 + ================================ */

var OS;
var browser;
var version;

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();



/* Ajax functie voor Mijn Agenda, losse items in zoekresultaat en lightboxes */

function mijnAgenda(action,id) {
  $.get(
    "ajax/ajax.php?action="+action+"&id="+id,
    function(data){
      if (action == 'add') {
        $('.magenda'+id).html('<span class="genre">verwijder uit</span>');
        $('.magenda'+id).toggleClass('addmijnagenda'); 
        $('.magenda'+id).toggleClass('delmijnagenda'); 
        $('.magenda'+id).attr('onClick','verwijderuitAgenda('+id+');'); 
        $('.span_'+id).html(' | <a href="mijn_programma.php" class="">open Mijn Programma</a>');
      } else if (action == 'del') {
        $('.magenda'+id).html('bewaar in Mijn Programma');
        $('.magenda'+id).toggleClass('delmijnagenda'); 
        $('.magenda'+id).toggleClass('addmijnagenda'); 
        $('.magenda'+id).attr('onClick','zetinAgenda('+id+');'); 
        $('#span_'+id).html('');
      }
    }
  );
}

/* Ajax functie voor Mijn Agenda, overzichtpagina (alleen verwijderen) */
function mijnAgendaOverzicht(action,id) {
  $.get(
    "ajax/ajax.php?action="+action+"&id="+id,
    function(data){
      $('#show_'+id).hide();
      if ($('.mijn_agenda_record:visible').size() == 0) {
        $('#mijn_agenda_uitleg').show();
      }
    }
  );
}



/* Ajax functie voor programma detail lightbox*/

function fbs_click() {u=location.href;t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;}

function optredenInfo(id) {
  
  $.getJSON(
    "ajax/ajax.php?action=get_optreden&id="+id,
    function(data){
      /* Haal de src van thumbnail op */
        if($('#thumb_'+id).attr('src')) {
          var thumbSrc = $('#thumb_'+id).attr('src');
          var imageSrc = thumbSrc.replace("34x25_", "");
          imageSrc = imageSrc.replace("130x97_", "");
        } else {
          imageSrc = "http://www.amsterdamsuitburo.nl/uitmarkt/footage/fotos-programma/"+data[0].optreden_image_groot;
        }
     tmpHtml = 
     '<a class="close_lightbox" href="javascript:displayLightbox();" title="Sluiten">sluiten</a>'+
     '<div class="detail_img">'+
	   '  <img src="'+imageSrc+'" width="390" alt="'+data[0].alt+'" title="'+data[0].alt+'" /><br />';
	   
	   if (trim(data[0].video_script)) {
     tmpHtml = tmpHtml +
      '  <a href="javascript:;" onclick="toggleVideo()" class="play" title="Bekijk video"></a>';
     }
     
     tmpHtml = tmpHtml +
     '  <a href="https://twitter.com/intent/tweet?text=Tijdens de Uitmarkt op '+data[0].datum_short+','+(data[0].titel)+' &url='+encodeURIComponent('http://www.uitmarkt.nl/volledig-programma?programmaid=')+data[0].id+'" class="icon" target="_new" rel="nofollow"><img src="images/btn_icon_twitter.gif" title="Deel via Twitter"/></a>'+
   
     '  <a href="http://www.facebook.com/sharer.php?u='+encodeURIComponent('http://www.uitmarkt.nl/volledig-programma?programmaid=')+data[0].id+'" class="icon" target="_new" rel="nofollow"><img src="images/btn_icon_facebook.gif" title="Deel op Facebook"/></a>'+
     '</div>'+
     
     '<div class="detail_content">'+
	   '  <h1>'+data[0].groep+'</h1>'+
	   '  <span class="genre"><em>'+data[0].genre+'</em></span><br />'+
		 '  <br />'+
	   '  <span class="subtitle">'+data[0].titel+'</span><br />'+
	   '  '+data[0].info+
	   '  <br /><br />'+
	     data[0].datum+' augustus '+ data[0].begintijd +' - '+ data[0].eindtijd +' <br />'+
	   '  <a href="podia/'+data[0].podium+'/'+data[0].podiumnummer+'">'+data[0].podium+' &raquo;</a><br />'+
	   '  <br />';
 
	   
	   if (trim(data[0].video_script)) {
     tmpHtml = tmpHtml +
     '  <a href="javascript:;" onclick="toggleVideo()">Bekijk video &raquo;</a><br/>';
     }
     
     if (trim(data[0].groep_url)) {
     var url = data[0].groep_url.replace("http://", "");
     tmpHtml = tmpHtml +
     '  <a href="http://'+trim(url)+'" target="_new">Bekijk website &raquo;</a><br/>';
     }
     
     if (data[0].found == 1) {
     tmpHtml = tmpHtml +
     '  <a href="javascript:;" class="magenda'+data[0].id+'" onclick="verwijderuitAgenda('+data[0].id+');"><span class="genres">Verwijder uit</span></a><span class="span_'+data[0].id+'"> | <a href="mijn_programma.php">Open Mijn Programma &raquo;</a></span>';
     } else {
     tmpHtml = tmpHtml +
     '  <a href="javascript:;" class="magenda'+data[0].id+'" onclick="zetinAgenda('+data[0].id+');">Bewaar in Mijn Programma &raquo;</a><span class="span_'+data[0].id+'"></span>';
     }
     
     tmpHtml = tmpHtml + '<span class="span_1276"></span>'+
     '  <hr />' +
     '</div>'+ 
     
     '<br class="clear"/>';
      
     
     if (trim(data[0].video_script)) {
      tmpHtml = tmpHtml + 
      '<div class="videolaag">' +
      '<h1>VIDEO: '+ data[0].groep +'</h1>' +
      '<div class="video">' +data[0].video_script +'</div>'+
      '</div>'+
      '<a href="javascript:;" class="videolink" onclick="toggleInfo()">Toon programma informatie &raquo;</a>';
     }

	   $('#optreden_detail_content').html(tmpHtml);
	   displayLightboxOptreden();

    }
  );
}

function open_video(title,href) {
	episodeID = href.split('?aflID=')
	embedcode = '<a class="close_lightbox" href="javascript:displayLightbox(\'hide\');" title="Sluiten">sluiten</a><h1 class="video_title">'+title+'</h1><br /><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="640" height="369"><param name="source" value="http://embed.player.omroep.nl/sle/ugslplayer.xap"/><param name="enablehtmlaccess" value="true"/><param name="initParams" value="episodeID='+episodeID[1]+',width=640,height=369,volume=100,viewMode=video,playMode=pause,playlistEnabled=yes" /><embed source="http://embed.player.omroep.nl/sle/ugslplayer.xap" type="application/x-silverlight-2" enablehtmlaccess="true" width="640" height="369" initParams="episodeID='+episodeID[1]+',width=640,height=369,volume=100,viewMode=video,playMode=pause,playlistEnabled=yes"><a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"><img src="http://embed.player.omroep.nl/sle/downloadsilverlight.jpg" alt="Get Microsoft Silverlight" style="border-style: none"/></a><br /><a href="http://player.omroep.nl?aflID='+episodeID[1]+'">Of bekijk de flash versie.</a></embed></object>'
	
	$('#overlay_details').html(embedcode);
	displayLightbox('show');
	$('#optreden_detail').hide();
}

function open_rtvnh(title) {
  embedcode = '<a class="close_lightbox" href="javascript:displayLightbox(\'hide\');" title="Sluiten">sluiten</a><h1 class="video_title">'+title+'</h1><br /><embed src="http://www.rtvnh.nl/static/flash/player-licensed.swf" width="620" height="349" bgcolor="000000" allowfullscreen="true" allowscriptaccess="always" flashvars="streamer=rtmp://stream.rtvnh.nl/vod&stream=rtmp&file=Uitmarkt2010/Uitmarkt-28-augustus-1900.mp4&image=http://www.rtvnh.nl/data/thumb/abc_media_image/4000/4834/w620_cropped_d41d8cd98f00b204e9800998ecf8427e.jpg&skin=http://www.rtvnh.nl/static/flash/video.zip&controlbar=over&plugins=gapro-1,sharing-2&gapro.accountid=UA-8308417-1&gapro.trackstarts=true&gapro.trackpercentage=true&gapro.tracktime=true"></embed>';

	$('#overlay_details').html(embedcode);
	displayLightbox('show');
  $('#optreden_detail').hide();
}

function open_gemist(title) {
  embedcode = '<a class="close_lightbox" href="javascript:displayLightbox(\'hide\');" title="Sluiten">sluiten</a><h1 class="video_title">'+title+'</h1><br /><object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="620" height="350"><param name="source" value="http://embed.player.omroep.nl/sle/ugslplayer.xap"/><param name="enablehtmlaccess" value="true"/><param name="initParams" value="version=sl.1.9.9,episodeID=11305191,playlistEnabled=no,playMode=pause,volume=100" /><embed source="http://embed.player.omroep.nl/sle/ugslplayer.xap" type="application/x-silverlight-2" enablehtmlaccess="true" width="620" height="350" initParams="version=sl.1.9.9,episodeID=11305191,playlistEnabled=no,playMode=pause,volume=100"><a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"><img src="http://embed.player.omroep.nl/sle/downloadsilverlight.jpg" alt="Get Microsoft Silverlight" style="border-style: none"/></a> <br /> <a href="http://player.omroep.nl/?aflID=11305191">Bekijk de video in andere formaten.</a> </embed> </object>';
  $('#overlay_details').html(embedcode);
  displayLightbox('show');
  $('#optreden_detail').hide();
}

function showSticker() {
	$('.close_lightbox').hide();
  $('#vrijwilliger-content').hide();
  html = '<a href="javascript:displayLightbox(\'hide\');" title="Sluiten"><img src="images/sticker-inactief.png" width="427" height="308" alt="Uitmarkt 2010 - Museumplein" class="sticker-home" /></a>';
  $('#sticker').html(html);   
  $('#sticker').show();   
	displayLightbox('show');
}
function showProgrammaMessage() {
	$('.close_lightbox').hide();
  $('#vrijwilliger-content').hide();
  html = '<a href="javascript:displayLightbox(\'hide\');" title="Sluiten"><img src="images/sticker-programma_inactief.png" width="480" height="388" alt="Uitmarkt 2010 - Museumplein" class="sticker-home" /></a>';
  $('#sticker').html(html);   
  $('#sticker').show();   
	displayLightbox('show');
}


/* Video layer in programma info tonen */
function toggleVideo(){
    $('.detail_img').hide();
    $('.detail_content').hide();
    $('.videolaag').show(); 
    $('.videolink').show(); 
  }
 
/* info layer in programma info tonen */ 
function toggleInfo(){
    $('.videolaag').hide(); 
    $('.videolink').hide(); 
    $('.detail_img').show();
    $('.detail_content').show();
  }


/* function for filtering on Genres in Programma */
function toggleGenreFilters(obj) {
/* when click on all genres, de-activate all filters */
  if ($(obj).children().attr('value') == "0" || $(obj).attr('value') == "0") {
     if (!$(obj).children().attr('checked')) {
       $('#searchfilters').find('input').attr('checked', false);
       $(obj).children().attr('checked', 'checked');
     }
     
  } else {
  
    if ($(obj).children().attr('checked')) {
      $(obj).children().attr('checked', false);
    }
    else {
      $(obj).children().attr('checked', 'checked');
        if ($(obj).children().attr('value') != "0") {
          $('#filterall').attr('checked', false);
        }
    }
  }

  $("#searchfilters").submit();
}



/* mijn Agenda functies als onClick */
function zetinAgenda(id) {
  mijnAgenda('add',id);
  return false;
}

function verwijderuitAgenda(id) {
  mijnAgenda('del',id);
  return false;
}

function printMijnAgenda() {
  print();
  return false;
}




/* document ready functions */
$(document).ready(function(){
	
	
OS = BrowserDetect.OS;
browser = BrowserDetect.browser;
version = BrowserDetect.version;
	   
Cufon.replace('.carrousel_item_content .label', { fontFamily: 'DINOT_B' });
Cufon.replace('.subheader','.subheader2', { fontFamily: 'dinot' });
Cufon.replace('.subheader_laag', { fontFamily: 'dinot' });
Cufon.replace('.podiumnummer','.tijdlijn','a.subhead','h4','countdown', { fontFamily: 'dinot' });
Cufon.replace('h4', { fontFamily: 'dinot' });
Cufon.replace('.datum_header', { fontFamily: 'dinot' });
Cufon.replace('.tipheader', { fontFamily: 'dinot' });
Cufon.replace('.videoheader', { fontFamily: 'dinot' });
Cufon.replace('.fotoheader', { fontFamily: 'dinot' });
Cufon.replace('.detail_content h1', { fontFamily: 'dinot' });
Cufon.replace('.head24', { fontFamily: 'dinot' });


//If profile_accordion is present
if($('#carrousel').length > 0){
	initCarrousel();
}

// carrousel on mouse over and out
$("#carrousel")
.mouseover(function(){
	//Stop the carrousel
	stopRotate()
	return false;
})
.mouseout(function(){
	//Start the carrousel
	startRotate();
	clearInterval(last_object_interval)
	return false;
})	
	
	
 // ToggleSubmenu
$(".headnav span")
.mouseover(function(){
	showSubmenu(($(this).attr('id')).replace('headnav','subnav'));
})
.mouseout(function(){
	hideSubmenu(($(this).attr('id')).replace('headnav','subnav')); 
});


// Submenu
$(".submenu")
.mouseover(function(){ 
	cancelHideSubmenu();
})
.mouseout(function(){
	hideSubmenu($(this).attr('id'));
});
	
	

/* programma slider */
$("#programma-slider").slider({
		animate: true,
		change: handleSliderChange,
		slide: handleSliderSlide
	});
  
/* programma naar voren sliden */
$(".programma-forward").click(
function(){
	var ScrollLeft = $("#content-scroll").attr("scrollLeft") + 600;
	$("#content-scroll").animate({scrollLeft: ScrollLeft}, 500);
	var newScrollLeft = $("#content-scroll").attr("scrollLeft") + 600;
	$("#content-scroll").attr({scrollLeft: newScrollLeft });
		return false;
	});
  
/* programma terug sliden */
$(".programma-back").click(
function(){
	var ScrollLeft = $("#content-scroll").attr("scrollLeft") - 600;
	$("#content-scroll").animate({scrollLeft: ScrollLeft}, 500);
	var newScrollLeft = $("#content-scroll").attr("scrollLeft") - 600;
	$("#content-scroll").attr({scrollLeft: newScrollLeft });
	return false;
});



// Programma genre filters

$("#searchfilters a").click(function(){
  toggleGenreFilters(this);
  return false;
})

$("#searchfilters input").click(function(){
  toggleGenreFilters(this);
  return false;
})



// Zet in agenda call

$(".addmijnagenda").click(function(){
  mijnAgenda('add',$(this).attr('id'));
  return false;
})

$(".delmijnagenda").click(function(){
  mijnAgenda('del',$(this).attr('id'));
  return false;
})

$(".verwijder").click(function(){
  mijnAgendaOverzicht('del',$(this).attr('id'));
  return false;
})


/* Niet gaan zoeken wanneer trefwoord leeg is */
$("#trefwoord").click(function(){
   $("#trefwoord").css({'background-color' : '#ffffff'});
   });
   
$("#startzoek").click(function(){
   $("#trefwoord").css({'background-color' : '#ffffff'});
  if($("#trefwoord").attr("value")) {
    $("#zoekform").submit();
  } else {
    $("#trefwoord").css({'border' : '1px solid #ff6666'});
  }
    return false;
  })

  
// fase 3 open video lightbox
$(".open_video").click(function(){
	open_video($(this).attr('title'),$(this).attr('href'));
	return false;
})
$(".open_rtvnh").click(function(){
	open_rtvnh($(this).attr('title'));
	return false;
})
$(".open_gemist").click(function(){
  open_gemist($(this).attr('title'));
  return false;
})
	
});
