$(document).ready(function(){
	$("a.external").attr("target", "_blank");
	$("#button_search_positions").click(function(){
		$("#position_results").fadeOut(500,function(){ x_searchPositions($("#location").val(),$("#career").val(),search_positions_cb) }).fadeTo(1500,"1").fadeIn(500);
	})
	
	$("#property_search_results").fadeIn(2000);
	
	$(".property_category_toggle").click(function(){
		if ($(this).siblings('ul:first').css('display') == 'none') {
			$(this).siblings('ul:first').slideDown();
			scrollToTarget(this);
		}else {
			$(this).siblings('ul:first').slideUp();
			scrollToTarget(this);
		}
	});
	$(".property_toggle").click(function(){
		if ($(this).siblings('ul:first').css('display') == 'none') {
			$(this).siblings('ul:first').slideDown();
			scrollToTarget(this);
		}else {
			$(this).siblings('ul:first').slideUp();
			scrollToTarget(this);
		}
	});
	//
	var history_current;
	var history_years;  
	var history_descriptions; 
	var rankings_current;
	var rankings_data; 
	var awards_current;
	var awards_data; 
	var news_current;
	var news_data; 
	//

	var url = window.location;
	var params = window.location.search;
	
	url = url.toString();
	params = params.toString();
	
	if(url.indexOf("/history") != -1){
		x_loadHistoryData(load_history_data_cb);
	}
	if(url.indexOf("/rankings") != -1){
		x_loadRankingsData(load_rankings_data_cb);
	}
	/*
	if(url.indexOf("/awards") != -1){
		x_loadAwardsData(load_awards_data_cb);
	}
	*/
	if(url.indexOf("/news") != -1){
		if(params.indexOf("archive") != -1){
			x_loadNewsData("archive",load_news_data_cb);
		}else{
			x_loadNewsData("news",load_news_data_cb);
		}
	}
	//
	$(".history_previous").click(function(){
		$(".greybox_content").fadeOut(500,function(){ previous_history() }).fadeIn(500);
	})
	
	$(".history_next").click(function(){
		$(".greybox_content").fadeOut(500,function(){ next_history() }).fadeIn(500);
	})
	
	$("#history_year").change(function(){
		$(".greybox_content").fadeOut(500,function(){ set_history($("#history_year").val()) }).fadeIn(500);
	})
	
	$("#rankings_year").change(function(){
		$(".rankings_content").fadeOut(500,function(){ set_rankings($("#rankings_year").val()) }).fadeIn(500);
	})
	
	$("#awards_year").change(function(){
		$(".awards_content").fadeOut(500,function(){ set_awards($("#awards_year").val()) }).fadeIn(500);
	})
	
	$("#news_year").change(function(){
		$(".news_content").fadeOut(500,function(){ set_news($("#news_year").val()) }).fadeIn(500);
	})
	//
	//Google Maps
	if(url.indexOf("/property_map_search") != -1){
		load();
	}
	
	/*** CALL BACKS ***/
	function load_history_data_cb(args){
		history_current = args[0];
		history_years = eval(args[1]);
		history_descriptions = eval(args[2]);
	}
	
	function load_rankings_data_cb(args){
		rankings_current = args[0];
		rankings_data = eval(args[1]);
		//
		set_rankings_cb(rankings_current,rankings_data[rankings_current]);
	}
	
	function load_awards_data_cb(args){
		awards_current = args[0];
		awards_data = eval(args[1]);
		//
		set_awards_cb(awards_current,awards_data[awards_current]);
	}
	
	function load_news_data_cb(args){
		news_current = args[0];
		news_data = eval(args[1]);
		//
		set_news_cb(news_current,news_data[news_current]);
	}
	
	function set_history_cb(current,left_year,description,right_year){
		history_current = current;
		$("#left_year").text(left_year);
		$("#right_year").text(right_year);
		$("#description_year").text(description);
	}
	
	function set_rankings_cb(current,data){
		rankings_current = current;
		$(".rankings_content").html(data);
		$("a.external").attr("target", "_blank");
	}
	
	function set_awards_cb(current,data){
		awards_current = current;
		$(".awards_content").html(data);
		$("a.external").attr("target", "_blank");
	}
	
	function set_news_cb(current,data){
		news_current = current;
		$(".news_content").html(data);
		$("a.external").attr("target", "_blank");
	}
	/*** END CALL BACKS ***/
	
	function next_history(){
		
		if(history_current == history_years.length - 1){
			history_current = 0;
		}else{
			history_current++;
		}
		//
		if(history_current + 1 == (history_years.length)){
			next = 0;
		}else{
			next = history_current + 1;
		}
		//
		set_history_cb(history_current,history_years[history_current],history_descriptions[history_current],history_years[next]);
	}
	
	
	function previous_history(){
		if(history_current == 0){
			history_current = history_years.length - 1;
		}else{
			history_current--;
		}
		//
		if(history_current + 1 == (history_years.length)){
			next = 0;
		}else{
			next = history_current + 1;
		}
		//
		set_history_cb(history_current,history_years[history_current],history_descriptions[history_current],history_years[next]);
	}
	
	function set_history(current){
		history_current = current;
		//
		if(history_current == 0){
			history_current = (history_years.length) - 1;
		}else{
			history_current--;
		}
		//
		if(history_current + 1 == (history_years.length)){
			next = 0;
		}else{
			next = history_current + 1;
		}
		//
		set_history_cb(history_current,history_years[history_current],history_descriptions[history_current],history_years[next]);
	}
	
	function set_rankings(current){
		rankings_current = current;
		//
		/*
		if(rankings_current == 0){
			rankings_current = (rankings_data.length) - 1;
		}else{
			rankings_current--;
		}
		//
		if(rankings_current + 1 == (rankings_data.length)){
			next = 0;
		}else{
			next = rankings_current + 1;
		}
		*/
		//
		set_rankings_cb(rankings_current,rankings_data[rankings_current]);
	}
	
	function set_awards(current){
		awards_current = current;
		//
		/*
		if(awards_current == 0){
			awards_current = (awards_data.length) - 1;
		}else{
			awards_current--;
		}
		//
		if(awards_current + 1 == (awards_data.length)){
			next = 0;
		}else{
			next = awards_current + 1;
		}
		*/
		//
		set_awards_cb(awards_current,awards_data[awards_current]);
	}
	
	function set_news(current){
		news_current = current;
		//
		set_news_cb(news_current,news_data[news_current]);
	}
	
	function search_positions_cb(html){
		$("#position_results").html(html);
	}
	
	if(jQuery.browser.msie){
		 //Apply Drop Down Transparency for IE 
		$("ul#main-nav li ul li a").css('opacity','0.9');
		
		 //Apply Drop Down Styles for IE 6 
		var msie_version = (parseInt(jQuery.browser.version));
	  
		if(msie_version == 6){
			$("ul#main-nav li.hunt").hover(function(){
				$("ul#main-nav li.hunt ul").addClass("msiefix");
				//$("ul#main-nav li.home_nav ul").bgiframe();
			}, function(){
				$("ul#main-nav li.hunt ul").removeClass("msiefix");}
			);
			
			$("ul#main-nav li.focus").hover(function(){
				$("ul#main-nav li.focus ul").addClass("msiefix");
				//$("ul#main-nav li.programs_nav ul").bgiframe();
			}, function(){
				$("ul#main-nav li.focus ul").removeClass("msiefix");}
			);
			
			$("ul#main-nav li.expertise").hover(function(){
				$("ul#main-nav li.expertise ul").addClass("msiefix");
				//$("ul#main-nav li.programs_nav ul").bgiframe();
			}, function(){
				$("ul#main-nav li.expertise ul").removeClass("msiefix");}
			);
			
			$("ul#main-nav li.companies").hover(function(){
				$("ul#main-nav li.companies ul").addClass("msiefix");
				//$("ul#main-nav li.programs_nav ul").bgiframe();
			}, function(){
				$("ul#main-nav li.companies ul").removeClass("msiefix");}
			);
			
			$("ul#main-nav li.careers").hover(function(){
				$("ul#main-nav li.careers ul").addClass("msiefix");
				//$("ul#main-nav li.programs_nav ul").bgiframe();
			}, function(){
				$("ul#main-nav li.careers ul").removeClass("msiefix");}
			);
		}
	}
	
	//Slideshow toggles
	$(".slideshow_image img").hover(
			function(){
				$(this).css('opacity',0.6);
			},
			function(){
				$(this).css('opacity',1);
			}
	);
	
	
	$(".slideshow_image").bind('click',function(){
		if($("#info_box").css('display') == 'none'){
			
			// Get the vars
			image = $(this).data('params').image;
			text_image = $(this).data('params').text_image;
			header = $(this).data('params').header;
			caption = $(this).data('params').caption;
			body = $(this).data('params').body;
			//
			clicked_image = $(this);
			
			$("#flash_front").css('padding-left','1px');
			//$("#flash_front").html('<img src="' + image + '" />');
			$("#flash_front").html('<img src="" />');
			$("#flash_front img").attr('src', image).load(function(){
				
				$("#flash_front").fadeTo(100,1,function(){
					$("#flash_end").fadeTo(700,0,function(){
							$("#flash_front").css('z-index','2');
							$("#flash_front").bind('click',function(){
									clicked_image.click();			
							});
							$("#info_box").bind('click',function(){
									clicked_image.click();			
							});
					  });
				 });
				//
				$("#info_box").html('<img src="' + text_image + '" />');
				/*
				$("#info_box .header").html(base64_decode(header));
				$("#info_box .caption").html(base64_decode(caption));
				$("#info_box .body").html(nl2br(base64_decode(body)));
				*/
				//
				$("#info_box").css('display','block');
				//
				$("#info_box").animate({ opacity: 0.8, marginTop: "253px"}, 300 );
			});
		}else{
			
			$("#info_box").animate({ opacity: 0.8,marginTop: "333px"}, 300 ,function(){
				$("#info_box").css('display','none');
			  });
			//
			$("#flash_end").fadeTo(100,1,function(){
				$("#flash_front").fadeTo(700,0,function(){
						$("#flash_front").css('z-index','1');
						$("#flash_front").html('<img src="" />');
						$("#flash_front").unbind();
						$("#info_box").unbind();
						
				  });
		  	});
		}
	});
	
});

function scrollToTarget(target){
	var targetOffset = $(target).offset().top;
	$('html,body').animate({scrollTop: targetOffset}, 1000);
}

function playSlideShow(identifier,duration,repeat){
	start_slide = $(identifier).data("config").start;
	current_slide = $(identifier).data("config").current;
	end_slide = $(identifier).data("config").end;
	//
	//setInterval("nextSlide('" + identifier + "'," + repeat + ")",duration);
	nextSlide(identifier,duration,repeat);
}
	
function nextSlide(identifier,duration,repeat){
	current_slide = current_slide.toString();
	//
	if(parseInt(current_slide) > parseInt(end_slide)){
		
		if(repeat){
			current_slide = start_slide;
		}else{
			endSlideShow(identifier,duration);	
		}
	}else{
		current_slide = current_slide.toString();
		current_image = $(identifier).data(current_slide).image
		//
		$.ajax({
		   type: "POST",
		   url: "homepage_banners/load.php",
		   data: "image_url=" + current_image + "&sleep=" + duration,
		   success: function(){
				
				$(identifier + "_back img").attr("src",current_image).load(function(){
					$(identifier + "_front img").fadeTo(700,0,function(){
						$(identifier + "_front").html($(identifier + "_back").html());
				   });	
				});
				//
				current_slide = parseInt(current_slide) + 1;
				nextSlide(identifier,duration,repeat);
				
		   }
		 });
	}
	//
	/*
	$(identifier + "_back img").attr("src",$(identifier).data(current_slide).image).load(function(){
			$(identifier + "_front img").fadeTo(700,0,function(){
				$(identifier + "_front").html($(identifier + "_back").html());
				
		   });	
	  });
	*/
}

function endSlideShow(identifier,duration){
	// Load the Hunt Logo
	$.ajax({
	   type: "POST",
	   url: "homepage_banners/load.php",
	   data: "sleep=" + duration,
	   success: function(){
		   $(identifier + "_back img").attr("src","/homepage_banners/logo_close.jpg").load(function(){
				$(identifier + "_front img").fadeTo(700,0,function(){
						$(identifier + "_front").html($(identifier + "_back").html());
				   });		
				   //Load the SIX Images
					$.ajax({
					   type: "POST",
					   url: "homepage_banners/load.php",
					   data: "sleep=" + duration,
					   success: function(){
						  	$(identifier + "_back").html("");
							$(identifier + "_front img").fadeTo(700,0,function(){
								$(identifier + "_end").css('z-index','1');
								$("#info_box").css('z-index','3');
							});
					   }
					 });
			});
	   }
	 });
	//
	
}

function goToEndSlideShow(identifier){
	$(identifier + "_front").html($(identifier + "_back").html());
	$(identifier + "_back").html("");
	$(identifier + "_end").css('z-index','1');
	$("#info_box").css('z-index','3');
}




