$(document).ready(init_page);
var page_height;
var cur_caption = 0;
var sux_browser = false;
var display_timeout;
var slideshow_timeout;
var slideshow_playing = false;

init_sifr();  
  
function init_page(){
  BrowserDetect.init();
  if(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 8)sux_browser = true;
  $('#main_menu').supersubs({ 
            minWidth:    12,   // minimum width of sub-menus in em units 
            maxWidth:    27,   // maximum width of sub-menus in em units 
            extraWidth:  1     // extra width can ensure lines don't sometimes turn over 
                               // due to slight rounding differences and font-family 
        }).superfish( ); 
        
  init_sifr();
  // Toggle Items
  //init_toggle_items();
  
  // Setup Lightbox
  $('a.lightbox').fancybox({titlePosition:'inside'});
  //$('#content_main img').wrap('<div class="ds" style="background:#000"></div>');
  //$('.ds').dropShadow({color:'#000000'});
   $('#content_main img.shadow').css('background','#000');
  $('#content_main img.shadow').dropShadow({color:'black',opacity:0.7,top:1,left:1});
	
	$("#slideshow .slideshow_item").click(function() {
		if(!slideshow_playing){
			start_slideshow();
			slideshow_playing = true;
			
			$("#slideshow .slideshow_item").css('cursor','auto');
		}
	});
	
	/*
	setTimeout(function(){
	  alert("SWITCH");
	$('#display_items .display_item').each(
	  function(){
	    $(this).find('.desc').remove();  
	    $(this).append($('#tmp_display #' + this.id +' .desc'));
	    
	    
	  }
	)
  },4000);
  */
  

/*
  setTimeout(function(){
  $('.home #display .display_item .desc').css({opacity:1});;
  },1500);
*/
 // setTimeout(function(){ init_display();},2000);
	//init_display();
	setTimeout(function(){autoplay()},8000);
  init_slideshow();
  
  employment_links();
}

function employment_links() {
	$('#content_main ul li a[href$=".pdf"]:contains("Application")').each(function() {
		$(this).attr('target', '_BLANK').click(function() {
			location.href = WWW_ROOT + 'employment/thank_you';
		});
	});
}

function init_display(){
  $('#display .display_item').each(function(idx){
    if(!$(this).hasClass('current')){
      $(this).hide();  
    }  
  })  
  autoplay();
}

function init_slideshow(){
  $('#slideshow .slideshow_item').each(function(idx){
    if(!$(this).hasClass('current')){
      $(this).hide();  
    }  
  })  
}

function start_slideshow(){
  slideshow_timeout = setInterval('autoplay_slideshow();',3000);
	autoplay_slideshow();  
}

function autoplay(){
  display_timeout = setInterval('autoplay_display();',6000);  
}

function autoplay_display(){
  var idx = $('#display .display_item').index($('#display .display_item.current'));
  show_display(idx + 1);
  
}

function autoplay_slideshow(){
  var idx = $('#slideshow .slideshow_item').index($('#slideshow .slideshow_item.current'));
	if ((idx + 1) > $('#slideshow .slideshow_item').length -1) {
  	clearInterval(slideshow_timeout);
		slideshow_playing = false;
		$("#slideshow .slideshow_item").css('cursor','pointer');
  }
  show_slideshow(idx + 1);
}

function show_display(idx,clear){
  if(clear){
    clearInterval(display_timeout);
  }
  if(idx > $('#display .display_item').length -1) idx = 0;
  if($('#display .display_item')[idx] == $('#display .display_item.current')[0]) return ;

  /*  
  $('#display .display_item.current').removeClass('current').fadeOut();
  $($('#display .display_item')[idx]).fadeIn().addClass('current');
  
  $('.display_buttons a.current').removeClass('current');
  $($('.display_buttons a')[idx]).addClass('current');
  */

  $('#display .display_item.current').removeClass('current').css({top:0}).animate({top:-267});
  $($('#display .display_item')[idx]).show().css({top:267}).addClass('current').animate({top:0} );
  $('.display_buttons a.current').removeClass('current');
  $($('.display_buttons a')[idx]).addClass('current');

}

function show_slideshow(idx,clear){
  if(clear){
    clearInterval(slideshow_timeout);
  }
  if(idx > $('#slideshow .slideshow_item').length -1) idx = 0;
  if($('#slideshow .slideshow_item')[idx] == $('#slideshow .slideshow_item.current')[0]) return ;

  $('#slideshow .slideshow_item.current').removeClass('current').css({top:0}).animate({top:-267});
  $($('#slideshow .slideshow_item')[idx]).show().css({top:267}).addClass('current').animate({top:0} );

}

/* Helper functions */

function has_flash(){
  return FlashDetect.installed;
}


function is_valid_email(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false) {
      return false;
   }
   return true;
}



/* Browser Detection Class */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};


