/**
 * scripts.js
 * Beaconsfield website JavaScript
 * @author Peter Edwards <tech@e-2.org>
 * @version 1.0
 * @package WordPress
 * @subpackage Beaconsfield_Theme
 * @requires Google Ajax APIs, jQuery, swfObject
 */

google.load("jquery", "1");
google.load("swfobject", "2");
google.setOnLoadCallback(function(){
	jQuery(function($){
		var switchCaption = function()
		{
			$(this).parent().next().children().hide();
			$('#'+this.id+'-caption').show();
		};
		if ($('.donatebutton').length) {
			var donateURL = $('.donatebutton').attr('href');
			$.getScript(template_directory+'/js/jqModal.js', function(){
				$('<div id=\"donatemodal\"><div id=\"donatemodalcontrols\"><a href=\"#\" class=\"closebutton\">&nbsp;</a></div><div id=\"donatetarget\"></div></div>').appendTo('body');
		    	$('#donatemodal').jqm({ajax: donateURL, target: '#donatetarget', trigger: '.donatebutton', closeClass: 'closebutton'});
			});
		}
		if ($('.slideshow').length) {
			$.getScript(template_directory+'/js/jquery.cycle.lite.1.0.min.js', function(){
				if ($('.slideshow-captions').length) {
    				$('.slideshow').cycle({timeout:8000,pause:1,before:switchCaption});
				} else {
    				$('.slideshow').cycle({timeout:8000,pause:1});
				}
			});
		}
		if ($('.goto').length) {
    	    $('.gotoyear').hide();
	        $('.goto').change(function(){
	        	if ($(this).val() != "null") {
	    	    	window.location = "/projects/past/"+$(this).val();
	    	    }
	        });
		}
		if ($('.page-menu-slides-link').length) {
			$('.page-menu-slides-link').each(function(){
				var target = $(this).attr("rel");
				$(this).mouseover(function(){
					$('.page-menu-slides-image').hide();
					$('.'+target).show();
				});
				$(this).mouseout(function(){
					$('.page-menu-slides-image').hide();
					$('.first').show();
				});
				
			});
		}
		/* insert players for media */
		var hasMedia = false;
		$('a').each(function(){
			var extension = $(this).attr('href').substr(-4).toLowerCase();
			if ($.inArray(extension, ['.mp3','.flv','.swf']) === -1) {
				hasMedia = true;
			}
		});
		if (hasMedia) {
			$.getScript(template_directory+'/js/jquery.metadata.min.js', function(){
				$('a').each(function(){
					var ext = $(this).attr('href').substr(-4).toLowerCase();
    				var mediaURL = $(this).attr("href");
	    			var meta = $(this).metadata();			
		    		do {
		    		    flash_container_id = 'flash_container_' + Math.round( Math.random() * 10000 );
		    		} while( $('#' + flash_container_id).length > 0 );
		    		var flash_container = $('<span id="' + flash_container_id + '"></span>');
				    switch (ext) {
				    case ".mp3":
				    	if (meta.wrap) {
    					    flash_container = $('<span>Press here to listen <span id="' + flash_container_id + '"></span> - or </span>');
				    	} else {
				    		flash_container = $('<span><span id="' + flash_container_id + '"></span> </span>');
				    	}
					    $(this).before(flash_container);
					    swfobject.embedSWF(template_directory+"/players/mp3player.swf?autoplay=false&repeat=false&song_url="+mediaURL, flash_container_id, "17", "17", "9");
					    break;
				    case ".flv":
					    var flash_container = $('<span id="' + flash_container_id + '"></span>');
					    var width = meta.width? meta.width: 320;
					    var height = meta.height? meta.height: 240;
					    var autostart = meta.austostart && meta.autostart == "true"? "true": "false";
					    $(this).replaceWith(flash_container);
				        var flashvars = {
	                      "usefullscreen":"false",
	                      "image":template_directory+"/players/bg.gif",
				          "width": width,
				          "height": height,
				          "overstretch": "none",
				          "autostart": autostart,
				          "shownavigation": "true",
				          "showicons": "false",
				          "backcolor": "0xFFFFFF",
				          "screencolor": "0xFFFFFF",
				          "frontcolor": "0x999999",
				          "lightcolor": "0xCCCCCC",
				          "file": mediaURL};
					    swfobject.embedSWF(mediaURL, flash_container_id, width, height, '9', '', flashvars);
					    break;
				    case ".swf":
					    var flash_container = $('<span id="' + flash_container_id + '"></span>');
					    var width = meta.width? meta.width: 320;
					    var height = meta.height? meta.height: 240;
					    $(this).replaceWith(flash_container);
					    swfobject.embedSWF(mediaURL, flash_container_id, width, height, '9');
					    break;
				    default:
					    return;
				    }
			    });
		    });
		}
	});
});
