/* carousel configurations */
var DEFAULT_WIDTH = 582;
var DEFAULT_HEIGHT = 380;
var CONTENT_WIDTH = 1000;
var EXTRA_CONTENT_WIDTH = 150;
var MAX_CONTENT_WIDTH = CONTENT_WIDTH + (2 * EXTRA_CONTENT_WIDTH);
var selectionIndex = 0;
var previousIndex = -1;
var timeout = 10000;
var animation_time = 500;
var animation_offset = 40;
var timer = 0;
var numImages = 0;
var animation_lock = false;

/* src location for sprites */
var subsprite_src = "/static/img/sprites/subpage_sprite_compressed.png";

/* src location string for image preloader */
var src_locations = new Array("/static/img/sprites/mainpage_small_sprite.png",
								"/static/img/sprites/mainpage_larger_sprite.png",
								"/static/img/homepage/scapp_hp.png",
								"/static/img/homepage/tiff_hp.png",
								"/static/img/homepage/u2_hp.png",
								"/static/img/homepage/wes_hp.png",
								"/static/img/subpage/scapp_w.png",
								"/static/img/subpage/tiff_w.png",
								"/static/img/subpage/u2_w.png",
								"/static/img/subpage/wes_w.png");
	
/* cached images from image preloader */
var images = new Array();

var $ = jQuery.noConflict();

$(document).ready(function(){

	var current_url = document.location.toString();
	if(current_url.indexOf("index.html") != -1){			
		$('.treeBranch a').hover(
			function () {
				var id = $(this).parent().attr("id");
				$('#treeNav').addClass(id);
				$('#treeNav').removeClass("normState");
			},
			function () {
				var id = $(this).attr("id");
				$('#treeNav').removeClass(id);
				$('#treeNav').addClass("normState");
			});
		
		sweetCarousel('#carouselContainer');
		makeSlideSelectors('#pager');
		bindSlideSelectorEvents();		
	}else{
		src_locations[src_locations.length] = subsprite_src;
	}	
	preload(src_locations);
	
	if(window.location.toString().indexOf("index") != -1){
		renderContent();
		$(window).resize(function() {
		  renderContent();
		});
	}else{
		$("#extra_content_left").css({"display":"none"});
		$("#extra_content_right").css({"display":"none"});
	}
	
	 if($.browser.msie){
    	//fix placeholder text
   		$('[placeholder]').focus(function() {
   		  var input = $(this);
   		  if (input.val() == input.attr('placeholder')) {
   		    input.val('');
   		    input.removeClass('placeholder');
   		  }
   		}).blur(function() {
   		  var input = $(this);
   		  if (input.val() == '' || input.val() == input.attr('placeholder')) {
   		    input.addClass('placeholder');
   		    input.val(input.attr('placeholder'));
   		  }
   		}).blur();
   		
   		$('[placeholder]').parents('form').submit(function() {
   		  $(this).find('[placeholder]').each(function() {
   		    var input = $(this);
   		    if (input.val() == input.attr('placeholder')) {
   		      input.val('');
   		    }
   		  })
   		});
	 }
	 
	 if(isiPad() || isiPhone() || isiPod()){
		 $(".cellWrapper").css({"margin-top":"-1px"});
	 }
	 
	 if($("#mobile_app_links").length > 0){
		 $("#mobile_app_links").children().each(function(){
			 $(this).hide();
		 });
		 if(isAndroid()){
			 $("#android_dl").show();
			 $("#videotest_debug_message").html("SC Events App link for Android:");
		 }else if(isBlackberry()){
			 $("#blackberry_dl").show();
			 $("#videotest_debug_message").html("SC Events App link for Blackberry:");
		 }else if(isiPad() || isiPhone() || isiPod()){
			 $("#ios_dl").show();
			 $("#videotest_debug_message").html("SC Events App link for iOS");
		 }
	 }
});

/*window.onload = function() {
	if($.browser.msie){
		centerFooter();
		$(window).resize(function() {
			centerFooter();
		});
	}
}*/

function preload(src_array) {
	for (var i = 0; i < src_array.length; i++) {
		if(src_array[i]){
			images[i] = new Image();
			images[i].src = src_array[i];
		}		
	}
}

var video_urls = new Array("http://vimeo.com/32738716", "http://vimeo.com/32686794", "http://vimeo.com/32684699", "http://vimeo.com/32683239", "http://vimeo.com/32680282");
var video_titles = new Array("TIFF app demo", "Gaming app demo", "WES 2010 app demo", "U2 app demo", "Fortune 500 app demo");

function sweetCarousel(parent_id){
	
	var i = 0;
	var max_width = DEFAULT_WIDTH;
	var max_height = DEFAULT_HEIGHT;
	var parent = $(parent_id);
	
	var carouselImages = $(parent_id + " a");//img");
	var temp_count = 0;
	carouselImages.each(function(){
		//if($.browser.msie){
		//	$(this).click(function(){
		//		window.open(video_urls[selectionIndex]);
		//	});
		//}else{
			//$(this).attr("href", video_urls[temp_count]);
			//$(this).attr("title", video_titles[temp_count]);
			$(this).prettyPhoto({
				default_width: 800,
				default_height: 450
			});
		//}
		temp_count++;
	});
	
	numImages = carouselImages.length;
	
	for(i = 0 ; i < numImages ; i++){
		if(carouselImages[i].width > max_width){
			max_width = carouselImages[i].width;
		}
		if(carouselImages[i].height > max_height){
			max_height = carouselImages[i].height;
		}
	}

	max_width = max_width + 2 * animation_offset;
	
	parent.parent().width = max_width + "px";
	parent.css({"width":max_width + "px"});
	parent.css({"height":max_height + "px"});

	displayFirst();
}

function displayFirst(){
	clearTimeout(timer);
	previousIndex = 0;
	showSlide($("#slide" + selectionIndex));
}

function showSlide(nextSlide){
	clearTimeout(timer);
	nextSlide.css({"display":"block"});
	nextSlide.css({"position":"absolute"});
	nextSlide.css({"opacity":"0"});
	nextSlide.animate({
		opacity: 1,
		left: '+=' + animation_offset 
	}, animation_time, function(){
		previousIndex = selectionIndex;
		selectionIndex = (selectionIndex+1) % 4;
		animation_lock = false;
		timer = setTimeout(function(){transistionToNextSlide($("#slide"+previousIndex))}, timeout);
	});
}

function transistionToNextSlide(previousSlide){
	clearTimeout(timer);
	animation_lock = true;
	previousSlide.animate({
		opacity: 0
	}, animation_time, function(){
		previousSlide.css({"display":"none"});
		previousSlide.css({"left":"0px"});
		updateSelector(selectionIndex);
		//timer = setTimeout(function(){showSlide($("#slide"+selectionIndex))}, timeout);
		showSlide($("#slide"+selectionIndex));
	});
}

function makeSlideSelectors(selector_holder_id){
	var holder = $(selector_holder_id);
	var i;
	var holder_html = "";
	
	for(i = 0; i < numImages; i++){
		holder_html += "<div id=\"" + "slideSelector" + i + "\" class=\"slideSelector\">";
		holder_html += "</div>";
	}
	
	var left_offset = 263; //fix later (parseInt($('#carouselContainer').width()/2) - holder.width()) / 2);
	holder.html(holder_html);
	holder.css({"margin":"20px 0px 0px " + left_offset + "px"});
	
	$("#slideSelector"+"0").addClass("slideSelected");
	
}

function bindSlideSelectorEvents(){
	$(".slideSelector").click(function(){
		if(!animation_lock){
			var id = this.id;
			selectionIndex = parseInt(id.substring(id.length-1));
			transistionToNextSlide($("#slide" + previousIndex));
		}		
	});
}

function updateSelector(next_slide_id){
	$("#slideSelector"+previousIndex).removeClass("slideSelected");
	$("#slideSelector"+next_slide_id).addClass("slideSelected");
}

var extra_left_content_ids = new Array("plantGroup1", "smallWhiteTree", "about_bg_left", "platforms_bg_left");

function renderContent(){
	var window_width = $(window).width();
	var left_content = $("#extra_content_left");
	var right_content = $("#extra_content_right");
	
	var extra_left_content = new Array();
	var extra_width = 0;
	
	for(var i = 0; i < extra_left_content_ids.length; i++){
		extra_left_content[extra_left_content.length] = $("#"+extra_left_content_ids[i]);
	}
	
	if (window_width >= CONTENT_WIDTH){
		extra_width = window_width - CONTENT_WIDTH;
		extra_width = parseInt(extra_width / 2);
		left_content.css({"width":extra_width+"px"});
		//fixes weird white space bug on the right side of the page
		if(extra_width % 2 != 0){
			right_content.css({"width":(extra_width-1)+"px"});
		}else{
			right_content.css({"width":(extra_width-2)+"px"});
		}
		left_content.css({"display":"block"});
		right_content.css({"display":"block"});
		$("#topBar").css({"width":CONTENT_WIDTH+"px"});
		$("#split5").css({"width":CONTENT_WIDTH+"px"});
		$("#cell6").css({"width":CONTENT_WIDTH+"px"});
	}else{
		$("#topBar").css({"width":"100%"});
		$("#split5").css({"width":"100%"});
		$("#cell6").css({"width":"100%"});
		left_content.css({"width":"0px"});
		right_content.css({"width":"0px"});
		left_content.css({"display":"none"});
		right_content.css({"display":"none"});
	}
	
	for(var j = 0; j < extra_left_content.length; j++){
		if(extra_left_content[j].width() > extra_width){
			extra_left_content[j].css({"display":"none"});
		}else{
			extra_left_content[j].css({"display":"block"});
		}
	}
	
}

function isiPad(){
    return (navigator.platform.indexOf("iPad") != -1);
}

function isiPhone(){
    return (navigator.platform.indexOf("iPhone") != -1);
}

function isiPod(){
    return (navigator.platform.indexOf("iPod") != -1);
}

function isAndroid(){
    return (navigator.userAgent.toLowerCase().indexOf("android") != -1);
}

function isBlackberry(){
    return (navigator.userAgent.toLowerCase().indexOf("blackberry") != -1);
}

function isMobile(){
	return navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry)/);
}


