﻿var theBandCarousel = null; 
function checkDate(date){ 
	/* 
		voor grote hoeveelheden events: data cache aanleggen via ajax op de achtergrond.
		http://alexdinnouti.blogspot.com/2008/03/jquery-php-mysql-and-datepicker.html		
	*/
	if (eventDays[date]){
		return [eventDays[date],"has-event",eventDays[date]];
	}else{
		return [0, ""];
	}
}

function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return randomstring;
}

function TMSSelect (dateText, inst){ 
	var data = "r=" + randomString() + "&getEvent=1&date=" + dateText;
	var targetEl = document.getElementById('eventDescriptionPH');
	$.ajax({
		url: "assets/php/getEventInfo.php",
		type: "GET",
		data: data,
		cache: false,
		success: function(html){
			if (html) {				
				targetEl.innerHTML = html;								
			}else{
				targetEl.innerHTML = "Une erreur inattendue est survenue. Veuillez réessayer plus tard.";
			}	
		},
		error:	function(XMLHttpRequest, textStatus, errorThrown ){
			alert(textStatus);
		}
	});
	return false; 
}

/** sort bandlist and bandcarousel and show them **/
function sortPop(a,b)
{
	return a.poporder - b.poporder;
}
function reversePop(a,b)
{
	return b.poporder - a.poporder;
}
function sortTitle(a,b)
{
	if (a.title.toUpperCase() > b.title.toUpperCase()) return 1;
	return -1
}
function reverseTitle(a,b)
{
	if (a.title.toUpperCase() < b.title.toUpperCase()) return 1;
	return -1

}
function fillBandList()
{
	var idx = 0; //index of bandcarouselB_itemList
	var totalbands = bandcarousel_itemList.length;
	var lijnid = 0;
	var banCont = "";
	//clear bandlistitems
	$("#bandlist").empty();		
	for( idx=0; idx < totalbands; idx++){
		if (lijnid == 0) {
			//nieuwe lijn bands
			banCont ="<div class='bandbar'><ul>";
		}
		lijnid++;
		var item = bandcarousel_itemList[idx];
		//alert(item.title);
		banCont +="<li title='"+idx+" "+item.title+"' class='bandlistitems ui-draggable' id='banditem"+idx+"' style='width: 91px;'>";
		banCont += bandlist_getItemHTML(item);
		banCont +="</li>";
		if (lijnid == 6) {
			//einde van een lijn
			banCont +="</ul></div><div style='clear:both'></div>";
			lijnid=0;
			$("#bandlist").append(banCont);
			banCont= "";
		}
	}
	if (banCont != "") {
		banCont +="</ul></div><div style='clear:both'></div>";
		$("#bandlist").append(banCont);
		banCont= "";
	}
	//re-bind drag event to banditems
	$(".bandlistitems").draggable({
	    helper: 'clone',
	    appendTo: 'body'
	});
}

function bandcarousel_itemLoadCallback(carousel, state)
{
	for (var i = carousel.first; i <= carousel.last; i++) {
        carousel.add(i, mycarousel_getItemHTML(bandcarousel_itemList[i-1]));
        carousel.get(i).addClass('bandlistitems');
    	carousel.get(i).attr("id", bandcarousel_itemList[i-1].id);
        carousel.get(i).draggable({
		    helper: 'clone',
		    appendTo: 'body'
		});
    }
};
function fillBandCarousel()
{
	theBandCarousel.reset();
}

function bandlist_getItemHTML(item)
{
    return '<img src="' + item.url + '" width="91" height="62" alt="' + item.title + '" onclick="' + item.onclick + '" /><br />' + item.title;
};

/* callback functions first carrousel */
function mycarousel_initCallback(carousel)
{
	theBandCarousel = carousel;
    carousel.list.bind('mousewheel', function(event, delta) {
        if (delta > 0)
        {
        	carousel.prev();
        }else{
        	carousel.next();
        }
        return false;
    });

};

/* itemlist and callback functions first carrousel */
function mycarousel_getItemHTML(item)
{
    return '<img src="' + item.url + '" width="91" height="62" alt="' + item.title + '" onclick="' + item.onclick + '" /><br />' + item.title;
};

$(document).ready(function(){
	// initialize carousel + sorting //
    jQuery('#bandcarousel').jcarousel({
        scroll: 1,
        visible: 6,
        wrap: 'last',
        size: bandcarousel_itemList.length,
        initCallback: mycarousel_initCallback,
        itemLoadCallback: {onBeforeAnimation: bandcarousel_itemLoadCallback},
        itemReloadCallback: {onBeforeAnimation: bandcarousel_itemLoadCallback}
    });  
    
	$("#sortBandlistABC").toggle(
		function () {
	        bandcarousel_itemList.sort(sortTitle);
	        fillBandList();
	    },
	    function () {
	        bandcarousel_itemList.sort(reverseTitle);
	        fillBandList();
	    }
	);
	$("#sortBandlistPOP").toggle(
		function () {
	        bandcarousel_itemList.sort(sortPop);
	        fillBandList();
	    },
	    function () {
	        bandcarousel_itemList.sort(reversePop);
	        fillBandList();
	    }
	);
	$("#sortBandcarABC").toggle(
		function () {
	        bandcarousel_itemList.sort(sortTitle);
	        fillBandCarousel();
	    },
	    function () {
	        bandcarousel_itemList.sort(reverseTitle);
	        fillBandCarousel();
	    }
	);
	$("#sortBandcarPOP").toggle(
		function () {
	        bandcarousel_itemList.sort(sortPop);
	        fillBandCarousel();
	    },
	    function () {
	        bandcarousel_itemList.sort(reversePop);
	        fillBandCarousel();
	    }
	);

	   
    $("#button1").click(function() {
    	carexpanded = true;
		var pos = $("#carrouselWrapper").offset();
		var tabPos = $("#tempomusictabs").offset();
		var ww = $("#carrouselWrapper").width();
		var hh = $("#carrouselWrapper").height();
		var idx = 0; //index of bandcarouselB_itemList
		var totalbands = bandcarousel_itemList.length;
		var lijnid = 0;
		var maxTop = tabPos.top;
		var maxHeight = pos.top+hh-tabPos.top;
		var curHeight = 0;
		var curTop = pos.top + hh;
		var banCont = "";
		var paddingLR = 10;
		//$("#rolloverbands").css({"position":"absolute", "left":"0px", "top":pos.top + "px", "width":(ww - (2*paddingLR)) + "px", "height":hh + "px", "padding-left":paddingLR + "px", "padding-right":paddingLR + "px"});
		$("#rolloverbands").css({"position":"absolute", "left":"0px", "top":pos.top + "px", "width":ww + "px", "height":hh + "px"});
		$("#rolloverbands").css("z-index", "31");
		fillBandList();		
		//$("#bandlist").css({"overflow":"auto", "height":(pos.top+hh-tabPos.top-38) + "px"});		
		$("#rolloverbands").animate({height:(pos.top+hh-tabPos.top)+'px', top:(tabPos.top)+'px'}, 1000,"linear",function(){$("#bandlist").css({"overflow":"auto", "height":(pos.top+hh-tabPos.top-38) + "px"});});
		return false;
	});
	$("#button2").click(function() {
			carexpanded = false;
			var pos = $("#carrouselWrapper").offset();
			var ww = $("#carrouselWrapper").width();
			var hh = $("#carrouselWrapper").height();
			$("#bandlist").css("overflow", "hidden");
			$("#rolloverbands").animate({height:(hh)+'px', top:(pos.top)+'px'}, 1000,"linear",function(){$("#rolloverbands").css("display", "none");});
			fillBandCarousel();
			return false;
	});
});
/** end sort bandlist and bandcarousel **/


$(document).ready(function(){
	$(".next-event-link").click(function(){
		$("#tempomusictabs").tabs("url", 3, this.href);
		var selectedtab = $("#tempomusictabs").tabs("option", "selected");
		
		if (selectedtab != 3) $("#tempomusictabs").tabs("select", 3);
		else $("#tempomusictabs").tabs("load", 3);
		
		return false;
	});

	/* initialize tab stuff */
	/*main tab*/

	if (document.getElementById('tempomusictabs') != null){
	    $("#tempomusictabs").tabs({
	    	remote: true,
	    	cache: false,
	    	show: function(event, ui){if(profiletoshow>0){showProfile(profiletoshow);profiletoshow=0;}},
	    	ajaxOptions: { cache: false, async: false }
	    });
	}  
	/*affichetab*/
	if (document.getElementById('affichetabs') != null){
	    $("#affichetabs").tabs({
	    	remote: true,
	    	cache: false,
	    	ajaxOptions: { cache: false, async: false }
	    });
	}  	
	
    /* initialize drag-drop stuff   optional for draggable:$('.bandlistitems').draggable({ connectToSortable: '#droppable' });*/
    if (document.getElementById('droppable') != null){
	    $(".bandlistitems").draggable({
	    helper: 'clone',
	    appendTo: 'body'
	    }); 
		$("#droppable").droppable({
		      accept: ".bandlistitems",
		      hoverclass : 'dropareahover',
		      tolerance : 'pointer',
		      drop: function(ev, ui) 
		      	{ 	      		
		      		var dropBandId = ui.draggable.attr("id");
		      		var data = 'addBandId=' + dropBandId;
		      		var targetEl = $('#jouwaffiche');
		      		$.ajax({
						//this is the php file that processes the data and returns content for droppablearea
						url: "tempomusicstage/my_billboard.php",
						type: "GET",
						data: data,	
						cache: false,
						success: function (html) {
							if (html) {	
								targetEl.html(html);	
								var ttt = $('#affichetabs').tabs();
								if (ttt != null){if (ttt.tabs('option', 'selected') != 1){ttt.tabs('select', 1);}}	
							}else{
								targetEl.html("Onverwachte fout tijdens het verwerken van de data. Connectie met de server werd verbroken. Gelieve later opnieuw te proberen.");
							}
						}	
					});
		      	}
		}); 
    }    

});

//display/hide elements with given Id's

function toggle(){
	for(var i=0;i<arguments.length;i++){
		var element=document.getElementById(arguments[i]);
		element.style.display=element.style.display=='block'?'none':'block';
	}
	return false;
}

function ff_toggle_example(){
	toggle('address_book_login_widget');
	toggle('upload_contact_link');
	toggle('webmail_contact_link');
	toggle('address_book_upload');
}

//email validation function
function validateEmail(email)
{
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}


//required validation

function TestRequiredInput(objValue)
{
 var ret = true;
 var val = objValue.value;
 val = val.replace(/^\s+|\s+$/g,"");//trim
    if(eval(val.length) == 0) 
    { 
          ret=false; 
    }//if 
return ret;
}

function isNumberKey(evt)
{
 var charCode = (evt.which) ? evt.which : event.keyCode
 if (charCode > 31 && (charCode < 48 || charCode > 57))
    return false;

 return true;
}

 /*
 add event to the +image button
 http://www.dustindiaz.com/add-and-remove-html-elements-dynamically-with-javascript/
 with events to elements:
 http://www.dustindiaz.com/add-remove-elements-reprise/
 */
 $(document).ready(function() {
  var i = 0;
  $("#add_contact").click(function(){
    var errMsg = $("#myform_errorloc");   
   	var msg = "";
   	if (!TestRequiredInput($("#naam"))){ 
   		msg = 'Gelieve een naam in te vullen ';
   	}else{
		if (!TestRequiredInput($("#email"))){ 
			msg = 'Gelieve een emailadres in te vullen<br />';
		}else{
			if (!validateEmail($("#email").value)){ 
				msg = 'Gelieve een geldig emailadres in te vullen<br />';
			}else{
				if (document.getElementById('contact' + elNewEmail.value))
				{
				 	msg = 'Emailadres reeds ingegeven<br />';
				}
			}
		}
	}
	errMsg.innerHTML = msg;
	if(eval(msg.length) > 0) 
	{		
		return false; 
	}else{
	    var elCc = document.createElement('input');
	    elCc.type = 'hidden';
	    elCc.name = 'checkman_' + ++i;
	    elCc.id = 'checkman_' + i;
	    elCc.value = i;
		var elCN = document.createElement('input');
	    elCN.type = 'hidden';
	    elCN.name = 'contactName' + i;
	    elCN.id = 'contactName' + i;
	    elCN.value = $("#naam").value;
	    var elCE = document.createElement('input');
	    elCE.type = 'hidden';
	    elCE.name = 'contactEmail' + i;
	    elCE.id = 'contactEmail' + i;
	    elCE.value = $("#email").value;    
	    
	    var elRem = document.createElement('div');
	    elRem.className = 'deleteButton';
	    elRem.innerHTML='&nbsp;';
	  	var elCont = document.createElement('div');
	    elCont.className = 'contactString';
	    elCont.innerHTML= i  + ' - ' + $("#naam").value + '&nbsp;&nbsp;&nbsp;(' + $("#email").value +')';

	    var el = document.createElement('div');
	    el.id = 'contact' + $("#email").value;
	    el.appendChild(elCc);
		el.appendChild(elCN);
		el.appendChild(elCE);
	    /*el.innerHTML = i  + ' - ' + elNewName .value + '&nbsp;&nbsp;&nbsp;(' + elNewEmail .value +')' ;*/	    
	    el.appendChild(elCont);
	    el.appendChild(elRem);
	    Dom.add(el, 'table_manual_submit');
	    Event.add(elRem, 'click', function(e) {
	      Dom.remove(el);
	      return false;
	    });
	    return false;
	}
  });
});