// JavaScript Document

function EngineSpecs(relativeRoot, engine){

var _this = this;
var _clickOnText = "null show";
var _clickOffText = "hull hide";
var _relativeRoot = relativeRoot;
var _engine = engine;
var _isIE6 = $.browser.msie && $.browser.version.substr(0,1) < 7 ? true : false;

$(document).ready(function(){
	_this.init(); 
});	
	
	
this.init = function() {
	this.setHover();
	this.setClick();
	this.handleIE6();
}

this.setHover = function() {
	$(".EngineSpecsToggleButton").hover(
	function(){ 
		$(this).css({ color : "#1f7bb9"});
	}, 
	function() {
		if($(this).hasClass("on"))
		{
			$(this).css({ color : "#1f7bb9"});
		}
		else
		{
			$(this).css({ color: "#626365"});
		}
	});
}

this.setClick = function() {
	
	_clickOnText = $(".EngineSpecsToggleButton").html() != "" ? $(".EngineSpecsToggleButton").html() : _clickOnText;
	_clickOffText = $(".EngineSpecsToggleButton").attr("rel") != "" ? $(".EngineSpecsToggleButton").attr("rel") : _clickOffText;
	
	$(".EngineSpecsToggleButton").click(function()
	{
		var button = $(this);
		if(button.hasClass("on"))
		{
			_this.setButtonsOff();
		}
		else
		{
			button.html(_clickOffText);
			button.addClass("on");
			_this.getSpecs();
		}
	});	
}
	
	
this.getSpecs = function() {
	var target = $("#engineSpecs");
	$.ajax({
		type: "POST",
		url: _relativeRoot + "/ajax/EngineSpecs_" + _engine + ".aspx",
		data: "",
		success: function(val){
			target.html(val);
			if(!_isIE6)
			{
				target.css({"opacity": 0});
				target.slideDown("medium", fadeIn);
			}
			else
			{
				target.slideDown("medium", setupCloseButtonListener);
			}
		}
	});
	
	function fadeIn(){
		_this.updateCufon();
		target.animate({opacity: 1}, "medium");
		
		/*  Need to wait for Ajax response for this */
		setupCloseButtonListener();
	}
	
	function setupCloseButtonListener(){
		$("#hideEngineToggle").hover(function(){$(this).addClass("hover");}, function(){$(this).removeClass("hover")});
		$("#hideEngineToggle").click(function(){
			$(this).removeClass("hover");
			_this.setButtonsOff();
		});
	}
}

this.setButtonsOff = function() {
	$(".EngineSpecsToggleButton").html(_clickOnText);
	$(".EngineSpecsToggleButton").removeClass("on");
	$(".EngineSpecsToggleButton").css({ color: "#626365"});
	_this.removeSpecs();	
}


this.removeSpecs = function() {
	var target = $("#engineSpecs");
	if(!_isIE6)
	{
		target.animate({opacity:0}, "medium", handleFadeOut);
	}
	else
	{
		target.slideUp("medium", function(){ target.empty(); });	
	}
	
	function handleFadeOut() {
			target.slideUp("medium", function(){
				target.empty();
			});	
		}
}

this.handleIE6 = function() {

}

this.updateCufon = function() {
	Cufon.replace('.cufon',{ fontfamily: 'Trade Gothic LT Std'});
	Cufon.replace('.cufonPrintButton',{ fontfamily: 'Trade Gothic LT Std', hover:{"color":"#1f7bb9", "textDecoration":"none"}});
}
	
	
	
} // Ends Class
