/*
Supersized - Fullscreen Slideshow jQuery Plugin
By Sam Dunn (www.buildinternet.com // www.onemightyroar.com)
Version: supersized.2.0.js // Relase Date: 5/7/09
Website: www.buildinternet.com/project/supersized
Thanks to Aen for preloading, fade effect, & vertical centering
*/

(function ($) {

    //Resize image on ready or resize
    $.fn.supersized = function () {
        $.inAnimation = false;
        $.paused = false;
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
        
		if (DetectBlackBerry()) {
			//alert("is a blackberry");
			$(window).bind("load", function () {
				document.getElementById("supersize").style.display = "block";
			});
			//alert("added window bind load");
			
		}  
		else {
			//alert("NOT a blackberry");
			$(window).bind("load", function(){
			
       			$('#supersize').fadeIn('fast');
				//if ($('#slideshow .activeslide').length == 0) $('#supersize a:first').addClass('activeslide');
       		});

       		if (options.slideshow == 1){
       			slideshow_interval = setInterval("nextslide()", options.slide_interval);
       		}

       		$(window).bind("resize", function(){
           		$('#supersize').resizenow(); 
       		});
			
			$('#supersize').hide();
		} 
        //alert("calling resizeNow");
        $('#supersize').resizenow();
    };

    //Adjust image size
    $.fn.resizenow = function () {
		
		//alert("in resize now");
	
        var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
        return this.each(function () {
			
			//alert("doing function each");
			
            //Define image ratio
            var ratio = 1200 / 1920;
            var min_width = 1200;
            var min_height = 750;
			var browserwidth;
			var browserheight;
			
			if (DetectBlackBerry()) {
				browserwidth = screen.availWidth; // $(window).width();
				browserheight = screen.availHeight; // $(window).height();
			} else {
				browserwidth = $(window).width();
				browserheight = $(window).height();
			}
            var offset;


            //	appendText("browserwidth: " + browserwidth); 
            //	appendText("browserheight: " + browserheight); 

            if (browserheight / browserwidth > ratio) {
                //alert('height is the defining factor here so set height to browser height which is ' + browserheight);

                if (browserheight < min_height) {
                    browserheight = min_height;
                    browserwidth = min_width;
                }
                else {
                    browserwidth = browserheight / ratio;
                }
            }
            else {
                //alert('width is the defining factor here so set height to browser height');
                if (browserwidth < min_width) {
                    browserheight = min_height;
                    browserwidth = min_width;
                }
                else {
                    browserheight = browserwidth * ratio;
                }

            }

            browserwidth = parseInt(browserwidth);
            browserheight = parseInt(browserheight);

            $(this).width(browserwidth);
            $(this).height(browserheight);
            $(this).children().width(browserwidth);
            $(this).children().height(browserheight);

            return false;
        });
    };

    $.fn.supersized.defaults = {
        startwidth: 4,
        startheight: 3,
        vertical_center: 1,
        slideshow: 0,
        navigation: 1,
        transition: 1, //0-None, 1-Fade, 2-slide top, 3-slide right, 4-slide bottom, 5-slide left
        pause_hover: 0,
        slide_counter: 1,
        slide_captions: 1,
        slide_interval: 5000
    };

})(jQuery);

	var deviceBB = "blackberry";

	//Initialize our user agent string to lower case.
	var uagent = navigator.userAgent.toLowerCase();

	//**************************
	// Detects if the current browser is a BlackBerry of some sort.
	function DetectBlackBerry()
	{
	   if (uagent.search(deviceBB) > -1)
		  return true;
	   else
		  return false;
	}



	function getSlideByIndex(i){ 
		var currentslide = $('#supersize .activeslide');
		var index = $('#supersize a').index(currentslide);
		//var index = index.substr(3);
		
		//if (DetectBlackBerry()) alert("getSlideByIndex "+i+" index currently is "+index);
		
		
		if (($.inAnimation || i == index) && !DetectBlackBerry()) { 
			appendText("trying to set slide index i=" + i + " but is same as index of currentslide=" + index);
			return false;
		}
		else {
			appendText("setting animation to true");
			$.inAnimation = true;
		}

		//if (DetectBlackBerry()) alert("2");
		
		changeContentColor(i);
		
	    var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
	    var currentslide = $('#supersize .activeslide');
	    currentslide.removeClass('activeslide');
	
		//if (DetectBlackBerry()) alert("3");
	
	   	if ( currentslide.length == 0 ) {
			//if (DetectBlackBerry()) alert("3a");
			currentslide = $('#supersize a:last');
		}

	    //var nextslide =  $($('#supersize a')[i]);
		
		//if (DetectBlackBerry()) alert("a");
		
		if (!DetectBlackBerry())
			$('#imageMenu a').removeClass('active');
		
		//if (DetectBlackBerry()) alert("b");
		
		$($('#imageMenu a')[i]).addClass('active');

		//if (DetectBlackBerry()) alert("4");
		
	    var prevslide =  currentslide;
		
		$('.prevslide').removeClass('prevslide');
		prevslide.addClass('prevslide');
		
		var nextslide =  $(document.getElementById("supersize").getElementsByTagName("a")[i]);
		nextslide.hide().addClass('activeslide');

		//if (DetectBlackBerry()) alert("5");
		
		if (DetectBlackBerry()) {
			//alert("nextslide "+nextslide);

			//$($('#supersize a')[i]).css('display','block');
			//if (DetectBlackBerry()) alert("SETTING A TAG TO BLOCK");
			document.getElementById("supersize").getElementsByTagName("a")[i].style.display = "block";
			
			//if (DetectBlackBerry()) alert("ITEM SET TO :"+document.getElementById("supersize").getElementsByTagName("a")[i].style.display);
			$.inAnimation = false;
		} else {
			
			//alert("not a blackberry");
		
			var nextslide =  $($('#supersize a')[i]);
			nextslide.fadeIn(750, function(){
				appendText("setting animation to false");
				$.inAnimation = false;
			});
			
			$('#supersize').resizenow();//Fix for resize mid-transition	   
		}		
	}

	function appendText(txt){
		$('#debugPanel').append('<p>' + txt + '</p>');	
	}

	function changeContentColor(id){
		var slide_link = $('#supersize a')[id];
		
		if($(slide_link).attr('rel') == 'white'){
			$('#container').addClass('white');
		}else{
			$('#container').removeClass('white');
		}
		

		if($(slide_link).attr('placeholder')){
			$('#contentArea, #contentArea a, ul#footer, ul#footer a').attr('style', 'color: #' + $(slide_link).attr('placeholder'));
			$('#contentArea div.hr').attr('style', 'background-color: #' + $(slide_link).attr('placeholder'));
		}
		else{

		}							
	}
	
	//Slideshow Next Slide
	function nextslide() {
		var currentslide = $('#supersize .activeslide');
		var index = $('#supersize a').index(currentslide);
		if($('#supersize a')[index + 1] != undefined){
			getSlideByIndex(index + 1);
		}
		else{
			getSlideByIndex(0);	
		}
	}
	
	//Slideshow Previous Slide
	function prevslide() {
		var currentslide = $('#supersize .activeslide');
		var index = $('#supersize a').index(currentslide);
		if($('#supersize a')[index - 1] != undefined){
			getSlideByIndex(index - 1);
		}
		else{
			getSlideByIndex($('#supersize a').length() - 1);	
		}	
	}	
