
function help_open(helpid)
{
	el = document.getElementById(helpid);
	el.style.display = "block";
}

function help_close(helpid)
{
	el = document.getElementById(helpid);
	el.style.display = "none";
}

function help_move(event,helpid)
{
	if (event.pageX) {
		// !msie
		xPos = event.pageX;
		yPos = event.pageY;
	}
	else {
		// msie
		xPos = window.event.x;
		yPos = window.event.y;

		xPos += document.body.scrollLeft;
		yPos += document.body.scrollTop;

		if ((document.documentElement) && (document.documentElement.scrollLeft)) {
			xPos += document.documentElement.scrollLeft;
		}
		if ((document.documentElement) && (document.documentElement.scrollTop)) {
			yPos += document.documentElement.scrollTop;
		}
	}

	el = document.getElementById(helpid);
	el.style.left = xPos + 20 + "px";
	el.style.top  = yPos + 10 + "px";
}


function show_daycalendar(newno,oldno)
{
	if (newno != oldno) {
		new_el = document.getElementById("daycalendar" + newno);
		old_el = document.getElementById("daycalendar" + oldno);

		if ((new_el) && (old_el)) {
			old_el.className = "daycalendar hide-daycalendar";
			new_el.className = "daycalendar show-daycalendar";
		}
	
		var date = new Date();
		date.setTime(date.getTime()+(30*60*1000));

		document.cookie = 'lv_daycalendar=' + newno + '; expires=' + date.toGMTString() + '; path=/';
	}

	return false;
}

function set_rating(rating)
{
	if (rating > 0) {
		if($("input[name=rating]").attr("value") == rating) {
			$("#star-rating").attr("class", "rating nostar");
			$("input[name=rating]").attr("value",-1);
		} else {		
			$("input[name=rating]").attr("value", rating);
			ratings = ['nostar', 'onestar', 'twostar', 'threestar', 'fourstar', 'fivestar'];
			$("#star-rating").attr("class", "rating "+ ratings[rating]);
		}		
	}
}

function addEvent(linkElement, type) {
	// Count number there.
	link = $(linkElement);

	numElements = link.parent().parent().parent().parent().children('dl.extra-spacing').length;
	
	if ((type == 'normal' && numElements < 40) ||
		(type == 'wide' && numElements < 10)) {
		// Copy the first and remove all contents and reset name-values to match.
		newElm = $(link.parent().parent().parent().parent().children("dl.extra-spacing").get(0)).clone();

		oldTitle = $(newElm.find('dt').get(0)).text();
		if (oldTitle.match(/^Uitgeli/)) {
			$(newElm.find('dt').get(0)).text('Uitgelichte voorstelling '+ (numElements + 1));
		}
		else {
			$(newElm.find('dt').get(0)).text('Voorstelling '+ (numElements + 1));
		}
		
		// adjust id's and names
		newElm.find('input').each(function () {
			if (this.type == 'text') {
				this.value = '';
			}
			else if (this.type == 'checkbox') {
				this.checked = false;
			}
			
			match = this.name.match(/\[([0-9]+)\]/);
			this.name = this.name.replace(match[0], '['+ numElements +']');
		});
		
		newElm.find('textarea').each(function () {
			this.value = '';
			match = this.name.match(/\[([0-9]+)\]/);
			this.name = this.name.replace(match[0], '['+ numElements +']');
		});

		link.parent().parent().parent().before(newElm);
	}
	else {
		link.parent().parent().parent().remove();
	}
}

function loadEventData(element)
{
	event_id = parseInt(element.value);
	var beschrijving = "";
	var aanprijzing = "";
	var speeldata = "";

	if (event_id) {
		$.get('cms/eventdata.php', {'event':event_id}, function(data) {
			if (data == "") {
				alert("Deze voorstelling bestaat niet.");
				element.value = '';
				return;
			}

			beschrijving = $(data).find("beschrijving").get(0).innerHTML;
			aanprijzing = $(data).find("aanprijzing").get(0).innerHTML;
			speeldata = $(data).find("speeldata").get(0).innerHTML;
			
			// Invullen!
			baseElm = $(element).parent().parent();
			baseElm.find('textarea').each(function () {
				if (this.name.match(/^(uit)?beschrijving/)) {
					this.value = beschrijving;
					return;
				}
			});
			
			baseElm.find('input').each(function () {
				if (this.name.match(/^(uit)?aanprijzing/)) {
					this.value = aanprijzing;
					return;
				}
			});
			
			baseElm.find('input').each(function () {
				if (this.name.match(/^(uit)?speeldata/)) {
					this.value = speeldata;
					return;
				}
			});
		});
	}
}

function toggleExtra(elm)
{
	if (elm.checked) {
		newClassName = 'enabled-text';
	}
	else {
		newClassName = 'disabled-text';
	}

	prnt = $(elm).parent().parent();
	prnt.find("dt").each(function () {
		if (this.className == 'enabled-text' ||
		    this.className == 'disabled-text') {
			this.className = newClassName;
		}
	});
	prnt.find("dd").each(function () {
		if (this.className == 'enabled-text' ||
		    this.className == 'disabled-text') {
			this.className = newClassName;
		}
	});	
}

function getMp3FlashObject(playerURL,songId,songFlashVars,songData) {

		var flashvars = {};
		var params = {};
		params.movie = playerURL;
		params.FlashVars = songFlashVars;
		params.quality = "high";
		params.menu = "false";
		params.wmode = "transparent";
		var attributes = {};
		attributes.data = songData;
		attributes.id = "audioplayer" + songId;
		
		swfobject.embedSWF(playerURL, "audioplayer" + songId, "290", "24", "9.0.0", false, flashvars, params, attributes);
}

function getYouTubeFlashObject(playerURL,videoId) {

		var flashvars = {};
		var params = {};
		params.movie = playerURL;
		params.wmode = "transparent";
		var attributes = {};
		attributes.id = videoId;
		
		swfobject.embedSWF(playerURL, videoId, "329", "274", "9.0.0", false, flashvars, params, attributes);
}

function toggle_activetickets_fields(disable)
{
	activetickets_fields = new Array(
		"input#in_titel_id",
		"input#in_titel_sub_id",
		//"input#in_taal_gesproken_id",
		"input#in_duur_id",
		"input#in_door_id",
		"input#in_land_id",
		"textarea#in_speeldata_id",
		"input#in_entreeprijs_id",
		"input#in_entreeprijs_korting_id",
		"select#in_hoofd_genre_id",
		"input#in_taal_ondertiteling_id",
		//"input#in_jaar_id",
		
		"input#in_kijkwijzer_al_id",
		"input#in_kijkwijzer_6_id",
		"input#in_kijkwijzer_9_id",
		"input#in_kijkwijzer_12_id",
		"input#in_kijkwijzer_16_id",
		"input#in_kijkwijzer_ge_id",
		"input#in_kijkwijzer_an_id",
		"input#in_kijkwijzer_se_id",
		"input#in_kijkwijzer_dr_id",
		"input#in_kijkwijzer_di_id",
		"input#in_kijkwijzer_gr_id"
	);
	
	$(activetickets_fields.join(",")).attr("disabled",(disable ? "disabled" : ""));
}

function setup_eventfrm()
{
	if ($("form#eventfrm").length > 0) {
		is_checked = $("input#in_is_locked_for_activetickets_id").get(0).checked;
		if (!is_checked) {
			toggle_activetickets_fields(true);
		}
		
		$("#in_is_locked_for_activetickets_id").click(function() {
			is_checked = $(this).get(0).checked;	
			toggle_activetickets_fields(!is_checked);
		});
		
		$("form#eventfrm").submit(function() {
			toggle_activetickets_fields(false);
		});
	}
}

/**
 * Sync Activetickets and reloads the page when done.
 * @return false
 */
function sync_AT(el, website_url)
{
	var p = $(el).parents("p:eq(0)");
	p.html("Bezig met synchroniseren. Een ogenblik geduld aub...");
	
	$.ajax({
		cache: false,
		url: website_url + "/cms/work.php?on=activetickets",
		success: function(data) {
			p.html("Synchronisatie voltooid. De pagina wordt opnieuw geladen...");
			setTimeout(function() { 
				loc = new String(document.location);
				document.location = loc.replace(window.location.hash, ""); 
			}, 2000);
		}
	});
	
	return false;
}


/**
 * New stuff since nieuwe locatie
 */

function initCalendarSlider()
{
	container_width = $('div.list_container').width();
	
	cur_width = 0;
	
	$('.list_container ul.list > li').each(function() {
		li_width = $(this).width();
		cur_width = cur_width + li_width;
		$('.list_container ul.list').width(cur_width);
	});
	
	list_width = $('.list_container ul.list').width();
	cur_margin = parseInt($('.list_container ul.list').css("marginLeft"));
	
	space_left = cur_margin + (list_width - container_width);
	if (space_left >= li_width) {
		$('div.days a.next').css("visibility", "visible");
	}
	
	$('div.days a.next').click(function() {	
		space_left = cur_margin + (list_width - container_width);
		
		if (space_left >= li_width) {
			if (space_left > container_width) space_left = container_width;
			cur_margin = (cur_margin - space_left);
			$('.list_container ul.list').animate({'marginLeft' : cur_margin + 'px'}, {queue:false, duration: 1500, complete: function() {
					list_width = $('.list_container ul.list').width();
					cur_margin = parseInt($('.list_container ul.list').css("marginLeft"));
					space_left = cur_margin + (list_width - container_width);
					if (space_left < li_width) {
						$('div.days a.next').css("visibility", "hidden");
					}
				}
			});
			
			$('div.days a.prev').css("visibility", "visible");
		}
	});
	
	$('div.days a.prev').click(function() {
		cur_margin = (cur_margin + container_width);
		if (cur_margin > 0) cur_margin = 0;
		$('.list_container ul.list').animate({'marginLeft' : cur_margin + 'px'}, {queue:false, duration: 1500, complete: function() {
			if (cur_margin == 0) {
				$('div.days a.prev').css("visibility", "hidden");
			}
		}});
		
		$('div.days a.next').css("visibility", "visible");
	});
}

function initPlayDatesSlider()
{
	table_height = $("table.playdates").height();
	div_height = $("div.playdates_innercontainer").height();
	
	if (table_height <= div_height) {
		$(".playdates_slidecontrol").hide();
		$("div.playdates_innercontainer").height(table_height);
	}
	else {
		// add a little diff before showing slidercontrols, so
		// IE doesn't show a slidercontrol for only 2px to slide..
		diff = (div_height - table_height);
		if (diff >= 5) {
			$(".playdates_slidecontrol").show();
			
			$(".playdates_slidecontrol > a").click(function() {
				if ($(this).hasClass("slidedDown")) {
					target_height = div_height;
				}
				else {
					target_height = table_height;
				}
				
				$("div.playdates_innercontainer").animate({
						height: target_height
					}, 'fast', function() { 
									$(".playdates_slidecontrol > a").toggleClass("slidedDown"); 
								}
				); 
				
				return false;
			});
		}
	}
}

$(document).ready(function() 
{

	setup_eventfrm();
	
	// facebook init
	initFacebook();
	
	// open all links marked rel="_blank" in a new window
	$("a[rel=_blank]").attr('target', '_blank');
	
	initCalendarSlider();
	
	initPlayDatesSlider();
	
	// day calender
	$('ul.list > li a').click(function() {
			pagenum = $(this).attr('rel');
			$('ul.events').each(function(index) {
				if(index == pagenum) {
					$('ul#day'+index).show();
					$('h3#daytitle'+index).show();
					var date = new Date();
					date.setTime(date.getTime()+(30*60*1000));
					document.cookie = 'lv_daycalendar=' + index + '; expires=' + date.toGMTString() + '; path=/';
					document.cookie = 'lv_daycalendar2=' + cur_margin + '; expires=' + date.toGMTString() + '; path=/';
				} else {
					$('ul#day'+index).hide();
					$('h3#daytitle'+index).hide();
				}
			});			
			
			$('ul.list li a').each(function(index) {
				$(this).removeClass('active');
			});
			$(this).addClass('active');
	});

	// carousel
	if($('#slideshow').length>0 ) {
		$(function() { 
			$('#slideshow').cycle({ 
				fx:     'fade', 
				speed:   1500, 
				timeout: 6000,
				/*timeoutFn: carouselTimeoutList,*/
				pause:   1
			});	
		});
	}
	
	// search input field
	$('#q').focus(function() {
		if($('#q').val() == 'Zoek...') {
			$('#q').val('');
		}
	});
	$('#q').blur(function() {
		if($('#q').val() == '') {
			$('#q').val('Zoek...');
		}
	});
	
	
	$("img.cmsmenu").click(function(e) {
		if (!e) e = window.event;
		
		e.stopPropagation();
		e.cancelBubble();
	})
	.css("z-index", 99)
	.css("position", "relative");
});

function form_remove_file(iname, no_previous_text)
{
	$("#" + iname + "_previous").html(no_previous_text);
	$("#" + iname + "_delete_id").attr("value","yes");
	$('#' + iname + '_remove').hide();

	return false;
}

function form_add_file(iname)
{
	$("#" + iname + "_delete_id").attr("value","no");

	return false;
}

/**
 * Facebook
 */
function initFacebook()
{
	$("a.fblogin").click(function() {
		FB.login(function(response) {
			if (response.authResponse) {
				// user successfully logged in
				FB.api('/me', function(response) {
					document.location = "scripts/webuser.php?act=FBlogin";
				});
			} else {
				// user cancelled login
			}
		}
		, {scope:"email"});

		return false;
	});
}

/**
 * PSD2HTML page init functions
 */
function initPage() {
	initAutoScalingNav({
		menuId: "nav",
		sideClasses: true
	});
}
function initAutoScalingNav(o) {
	if (!o.menuId) o.menuId = "nav";
	if (!o.tag) o.tag = "a";
	if (!o.spacing) o.spacing = 0;
	if (!o.constant) o.constant = 0;
	if (!o.minPaddings) o.minPaddings = 0;
	if (!o.liHovering) o.liHovering = false;
	if (!o.sideClasses) o.sideClasses = false;
	if (!o.equalLinks) o.equalLinks = false;
	if (!o.flexible) o.flexible = false;
	var nav = document.getElementById(o.menuId);
	if(nav) {
		nav.className += " scaling-active";
		var lis = nav.getElementsByTagName("li");
		var asFl = [];
		var lisFl = [];
		var width = 0;
		for (var i=0, j=0; i<lis.length; i++) {
			if(lis[i].parentNode == nav) {
				var t = lis[i].getElementsByTagName(o.tag).item(0);
				asFl.push(t);
				asFl[j++].width = t.offsetWidth;
				lisFl.push(lis[i]);
				if(width < t.offsetWidth) width = t.offsetWidth;
			}
			if(o.liHovering) {
				lis[i].onmouseover = function() {
					this.className += " hover";
				}
				lis[i].onmouseout = function() {
					this.className = this.className.replace("hover", "");
				}
			}
		}
		var menuWidth = nav.clientWidth - asFl.length*o.spacing - o.constant;
		if(o.equalLinks && width * asFl.length < menuWidth) {
			for (var i=0; i<asFl.length; i++) {
				asFl[i].width = width;
			}
		}
		width = getItemsWidth(asFl);
		if(width < menuWidth) {
			var version = navigator.userAgent.toLowerCase();
			for (var i=0; getItemsWidth(asFl) < menuWidth; i++) {
				asFl[i].width++;
				if(!o.flexible) {
					asFl[i].style.width = asFl[i].width + "px";
				}
				if(i >= asFl.length-1) i=-1;
			}
			if(o.flexible) {
				for (var i=0; i<asFl.length; i++) {
					width = (asFl[i].width - o.spacing - o.constant/asFl.length)/menuWidth*100;
					if(i != asFl.length-1) {
						lisFl[i].style.width = width + "%";
					}
					else {
						if(navigator.appName.indexOf("Microsoft Internet Explorer") == -1 || version.indexOf("msie 8") != -1 || version.indexOf("msie 9") != -1)
							lisFl[i].style.width = width + "%";
					}
				}
			}
		}
		else if(o.minPaddings > 0) {
			for (var i=0; i<asFl.length; i++) {
				asFl[i].style.paddingLeft = o.minPaddings + "px";
				asFl[i].style.paddingRight = o.minPaddings + "px";
			}
		}
		if(o.sideClasses) {
			lisFl[0].className += " first-child";
			lisFl[0].getElementsByTagName(o.tag).item(0).className += " first-child-a";
			lisFl[lisFl.length-1].className += " last-child";
			lisFl[lisFl.length-1].getElementsByTagName(o.tag).item(0).className += " last-child-a";
		}
		nav.className += " scaling-ready";
	}
	function getItemsWidth(a) {
		var w = 0;
		for(var q=0; q<a.length; q++) {
			w += a[q].width;
		}
		return w;
	}
}
if (window.addEventListener)
	window.addEventListener("load", initPage, false);
else if (window.attachEvent)
	window.attachEvent("onload", initPage);
