// JavaScript Document

var root = '/canada';
var page;
var galleryimages;

$(document).ready(function()
	{	$('#thenav > li').bind('mouseover', jsddm_open);
		$('#thenav > li').bind('mouseout',  jsddm_timer);
		
		$('#joinform .bg').css('opacity',0.9);
		$('#joinmailinglist').submit(signup);
		$('#joinform #email').focus(cleardefault).blur(resetdefault).val(defText);
		
		$('#joinmailinglist').validate({
			messages:{ email:errorText },
			errorLabelContainer: $("#form div#error"),
			onfocusin: null,
			onfocusout: null,
			//onkeyup: null,
			onclick: null,
			highlight: null,
			unhighlight: null
		});
		
		// FORCE THE SIZE OF THE MP3Player PopUp
		if(page == 'mp3player' && $(window).height() > 350) window.resizeTo(350, 350);
					
		// LIGHT BOX FUNCTION FOR GALLERIES - ONLY SHOWS UP ON PAGES WITH THE LIGHBOX JS
		
		if(typeof $.fn.lightBox == 'function' && startgallery != null) {
			$('#gallery').html(loading);
			if(startgallery != 'uploaded') gallery(startgallery, 0);	
			else uploadgallery(); // COMMENT OUT ELSE IF NOT USING JS TO SHOW IMAGES		
		}
		
		if(typeof $.fn.dropShadow == 'function') $('.lineupday').dropShadow({left:2, top:2, opacity:.3, blur:1});
		
	}
)


// ****** NAV 
	var timeout = 500;
	var closetimer = 0;
	var ddmenuitem = 0;
	
	function jsddm_open(){	
		jsddm_canceltimer();
		jsddm_close();
		ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');
	}
	
	function jsddm_close(){	
		if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
	}
	
	function jsddm_timer(){	
		closetimer = window.setTimeout(jsddm_close, timeout);
	}
	
	function jsddm_canceltimer()
	{	if(closetimer)
		{	window.clearTimeout(closetimer);
			closetimer = null;
		}
	}
	
	document.onclick = jsddm_close;
// ********* END NAV

// ****** MAILING LIST 

var defText = (lang == 'fr') ? 'VOTRE COURRIEL' : 'ENTER YOUR EMAIL';
var errorText = 'Please enter a valid email address.';
var thanksText = 'Thanks for signing up';

	function cleardefault() {
		if($('#joinform #email').val() == defText) $('#joinform #email').val('');
	}
	
	function resetdefault() {
		if($('#joinform #email').val() == '') $('#joinform #email').val(defText)	
	}
	
	function signup(event) {
		event.preventDefault();
		$('#joinform #submit').attr('disabled', 'disabled');
		var email = $('#joinform #email').val();
		var dataString = 'email=' + email;
		if(location != undefined) dataString += ('&location=' + theLocation);
		if($('#joinmailinglist').valid()) {
			$("#form div#error").html('');
			$.ajax({
				type: "GET",
				url: "http://www.virginfestival.ca/_scripts/getupdated.php",//http://aj.local/canada/_scripts/signup.php //http://www.tr1ck.net/virginfestivalca/_scripts/emailJoin.php
				data: dataString,
				dataType: 'jsonp',
				jsonp:'jsoncallback',
				success: function() {
					//$("#form div#error").css({'visibility':'visible', 'display':'block'}).html('Thanks for signing up');
					$('#joinform #submit').removeAttr('disabled');
					$('#joinform #email').val(thanksText);
				}
			});
		} else $('#joinform #submit').removeAttr('disabled');
		return true;
	}
	
	function showsignup() {
		$('#joinform').css('visibility', 'visible');
	}
	
	function closesignup() {
		$('#joinform').css('visibility', 'hidden');
	}
	
// ****** END MAILING LIST 


// ****** SHOW BAND FROM LINEUP

	function loadband($id) {
				
		var band = lineup[$id];
		var stage = band.stage;
		var name = band.name;
		var bio = band.bio;
		var nophoto = band.nophoto;
		
		var div = $('#' + stage);
		var opendiv = $('.bandinfo.active');
			
		if($(opendiv).attr('id') != $(div).attr('id')) $(opendiv).removeClass('active');
		
		if(!div.hasClass('active')) {
			div.addClass('active');
			div.show('normal');
		}
		
		var links = '';
		$.each(band.links, function(i, val) {
			links += '<a href="'+ val.link + '" target="_blank">' + val.text + '</a>';
			if(band.links.length > 1 && i < band.links.length - 1) links += ' || ';
			
		})
		
		$('#'+ stage + ' .bandname').html(name);
		$('#'+ stage + ' .bandbio').html(bio);
		$('#'+ stage + ' .bandbio').scrollTop(0);
		if(nophoto != undefined) {		
			$('#'+ stage).addClass('nophoto');
		} else {
			$('#'+ stage).removeClass('nophoto');
			$('#'+ stage + ' .bandphoto img').attr('alt', name);
			var imgpath = (lang == 'fr' || theLocation != 'montreal') ? '../_images/bands/' : '../../_images/bands/';
			$('#'+ stage + ' .bandphoto img').attr('src', imgpath+$id+'.jpg');
		}
		$('#'+ stage + ' .bandlinks').html(links);
	}
	
	function closeband() {
		var opendiv = $('.bandinfo.active');
		$('.bandinfo.active .bandphoto img').removeAttr('src');
		$(opendiv).removeClass('active');
		$(opendiv).hide('normal');
		
	}	

// ****** END SHOW BAND FROM LINEUP

// ****** GALLERY 

var loadingtxt = (lang == 'fr') ? 'Chargement Des Photos' : 'Loading Images';
var loading = '<center><img src="' + root + '/_global_images/loading.gif" alt="Loading" class="loading" /><br /><h5>' + loadingtxt + '</h5></center>';

var startgallery;
var perpage = 21;
var currentgallery = '';
var galleries = {
	bestof: {
		total:42	
	}
}

	// DON'T MESS WITH THIS FUNCTION
	function gallery($gal, $p) {
				
		var gallery = galleries[$gal];
		var startnum = ($p * perpage) + 1;
		var endnum;
		var total = gallery.total;
		var pages = Math.ceil(total/perpage);
		
		if($gal != currentgallery) {
			
			var pagelinks = '';
			var pagename = '';
			var pageid = '';
			for(var p=1; p<=pages; p++) {
				
				if(pages <= 2) {
					pagename = p;
					if(p == 1) pageid = 'first'
					else if(p == pages) pageid = 'last';
				} else if(p == 1) {
					pagename = 'FIRST';
					pageid = 'first';
				} else if(p < pages) {
					pagename = p;
					pageid = 'page_' + p;
				} else {
					pagename = 'LAST';
					pageid = 'last';
				}
				
				pagelinks += '<a onclick="gallery(\'' + $gal + '\', ' + (p - 1) + ')" id="' + pageid + '">' + pagename + '</a>';
				if(p < pages) pagelinks += ' | ';
			}
			
			$('#pages').html(pagelinks);	
		}
		
		$('#pages .active').removeClass('active');
		
		if($p == 0) $('#first').addClass('active');
		else $('#first').removeClass('active');
		
		if($p == pages - 1) $('#last').addClass('active');
		else $('#last').removeClass('active');
				
		$('#page_' + ($p + 1)).addClass('active');
		
		endnum = startnum + perpage;	
		if(total < endnum) {
			endnum = total + 1;	
		}
				
		var imgs = '';
		
		for(var i = startnum; i<endnum; i++) {
			imgs += '<a href="' + imagepath + $gal + '/full/image_' + i + '.jpg" target="_blank"><img src="' + imagepath + $gal + '/thumbs/image_' + i + '.jpg" width="75" height="75" /></a>';
		}
		
		$('#gallery').html(imgs);
		$('#gallery a').lightBox({
			overlayBgColor: '#7bd3f6',
			overlayOpacity: 0.8,
			imageLoading: root + '/_global_images/loading_black.gif',
			imageBtnPrev: root + '/_global_images/lightbox-btn-prev.gif',
			imageBtnNext: root + '/_global_images/lightbox-btn-next.gif',
			imageBlank: root + '/_global_images/spacer.gif',
			containerResizeSpeed: 250,
			fixedNavigation: true
		});
		
		currentgallery = $gal;
		
	}
	
	function uploadgallery() {
		/*
		$.getJSON("http://www.tr1ck.net/VMC/vfest09/_scripts/uploads.php?action=list&festival=bc", function(data){
		   alert("Data Loaded: " + data);
		 });
		 */
		 var dataString = 'action=list&festival=' + theLocation;
		 
		 $.ajax({
			type: "GET",
			url: "http://www.tr1ck.net/VMC/vfest09/_scripts/uploads.php",//http://aj.local/canada/_scripts/signup.php //http://www.tr1ck.net/virginfestivalca/_scripts/emailJoin.php
			data: dataString,
			dataType: 'jsonp',
			jsonp:'jsoncallback',
			success: function(data) {
				//$("#form div#error").css({'visibility':'visible', 'display':'block'}).html('Thanks for signing up');
				//$('#joinform #submit').removeAttr('disabled');
				//$('#joinform #email').val(thanksText);
				galleryimages = data.files;
				showuploadgallery();
			}
		});
		 
	}
	
	function showuploadgallery($p) {
		
		var gallery = galleryimages.split(',');
		
		if($p == null || $p == undefined) $p = 0;
		
		//var gallery = galleries[$gal];
		var startnum = ($p * perpage);
		var endnum;
		var total = gallery.length;
		var pages = Math.ceil(total/perpage);
		var imagepath = 'http://tr1ck.net/VMC/vfest09/uploads/' + theLocation + '/';
		
		//if($gal != currentgallery) {
			
			var pagelinks = '';
			var pagename = '';
			var pageid = '';
			for(var p=1; p<=pages; p++) {
				
				if(pages <= 2) {
					pagename = p;
					if(p == 1) pageid = 'first'
					else if(p == pages) pageid = 'last';
				} else if(p == 1) {
					pagename = (lang == 'fr') ? 'PREMIER' : 'FIRST';
					pageid = 'first';
				} else if(p < pages) {
					pagename = p;
					pageid = 'page_' + p;
				} else {
					pagename = (lang == 'fr') ? 'DERNIER' : 'LAST';
					pageid = 'last';
				}
				
				pagelinks += '<a onclick="showuploadgallery(' + (p - 1) + ')" id="' + pageid + '">' + pagename + '</a>';
				if(p < pages) pagelinks += ' | ';
			}
			
			$('#pages').html(pagelinks);	
		//}
		
		$('#pages .active').removeClass('active');
		
		if($p == 0) $('#first').addClass('active');
		else $('#first').removeClass('active');
		
		if($p == pages - 1) $('#last').addClass('active');
		else $('#last').removeClass('active');
				
		$('#page_' + ($p + 1)).addClass('active');
		
		endnum = startnum + perpage;	
		if(total < endnum) {
			endnum = total;	
		}
				
		var imgs = '';
		
		for(var i = startnum; i<endnum; i++) {
					
			imgs += '<a href="http://www.tr1ck.net/VMC/vfest09/_scripts/uploads.php?action=resize&width=450&crop=false&festival=' + theLocation + '&file=' + gallery[i] + '" target="_blank"><img src="http://www.tr1ck.net/VMC/vfest09/_scripts/uploads.php?action=resize&height=75&width=75&crop=false&festival=' + theLocation + '&file=' + gallery[i] + '" width="75" height="75" /></a>';
		}
		
		
		$('#gallery').html(imgs);
		
		$('#gallery a').lightBox({
			overlayBgColor: '#7bd3f6',
			overlayOpacity: 0.8,
			imageLoading: root + '/_global_images/loading_black.gif',
			imageBtnPrev: root + '/_global_images/lightbox-btn-prev.gif',
			imageBtnNext: root + '/_global_images/lightbox-btn-next.gif',
			imageBlank: root + '/_global_images/spacer.gif',
			containerResizeSpeed: 250,
			fixedNavigation: true
		});
		
		//currentgallery = $gal;
			
	}
	
	function showupload() {
		$('div.galleries').block({
			message: null ,
			overlayCSS: { backgroundColor: '#FFF', cursor:'default' },
			baseZ: 343
		}); 	
		
		$('#upload').css({visibility:'visible', display:'block'}); //show('normal');
		
	}
	
	function closeupload() {
		$('#upload').css({visibility:'hidden', display:'none'});//hide('normal');
		$('div.galleries').unblock(); 	
	}
	
// ****** END GALLERY


// ****** MP3PLAYER

	function openmp3player() {
		
		var popup = window.open("./mp3player.php","mp3player","menubar=no,toolbar=no,location=no,status=no,personalbar=no,directories=no,width=350,height=240");
		if ( popup == null || !popup) return false;
				
		return true;
	}
	
	function closewindow() {
		self.close();	
	}

// ****** END MP3PLAYER


// ****** HOMEPAGE OVERLAY
	
	function closeoverlay() {
		$('.overlay').remove();
		swfobject.embedSWF('../_swf/location_container.swf', 'flashholder', '723', '435', '9.0.45', false, flashvars, params, attr);	
		
	}
	
<!-- BC -->

	function closeBCoverlay() {
		
		var ni = document.getElementById('homeMessage');
		ni.style.display = 'none';
		
	}
	
	function openoverlay() {
		var ni = document.getElementById('homeMessage');
		ni.style.display = 'block';
		ni.innerHTML = '<div class="close"><a href="javascript:closeBCoverlay()">CLOSE</a></div><img src="_images/bc_overlay_rainout.gif" width="860" height="445" /><img src="../_global_images/bandinfoL.gif" class="left" /><img src="../_global_images/bandinfoR.gif" class="right" />';
		
		

	}
	
// ****** END HOMEPAGE OVERLAY