function getActiveTab() {
	return $('li[@id="active"] a');
}
// printing
function printThisDiv(divId) {
	var currentClass = document.getElementById(divId).className;
	$('div[@id^="tab"]').each(function(i){
		this.className = 'inactive printThisPage_NoPrint';
	});
	document.getElementById(divId).className = 'active printThisPage_Print';
	$.post("/phoenix/storeTabbedUsage.cfx", buildUsagePacket('P', getActiveTab().attr('name')));
	window.print();
}

function printLink(){
	$('a.printAllLink').click(function(e){
		var divId = getActiveTab().attr('rel');
		var tabs = $('div[@id="contentWrapper"] div[@id^="tab"]');

		$('#animatedLoadingImage').show(500, function() {
			loadPage('tabcrac_url', 'tabcrac', false);
			loadPage('tabbbg_url','tabbbg', false);
			loadPage('tabwc_url','tabwc', false);
			loadPage('tabsrr_url','tabsrr', false);


			for (var i = 0; i < tabs.size(); i = i + 1) {
				var currentTab = $(tabs.get(i)).attr('id');
				var isActiveClass = 'inactive ';
				if (currentTab == divId) {
					isActiveClass = 'active ';
				}
				switch (i) {
					case 0:
						document.getElementById(currentTab).className = isActiveClass + 'printAllFirstPage';
						break;
					case 1:
						document.getElementById(currentTab).className = isActiveClass + 'printAllSecondPage';
						break;
					default:
						document.getElementById(currentTab).className = isActiveClass + 'printAllOtherPages';
						break;
				}

			}

			$('#animatedLoadingImage').hide();
			window.focus();
			window.print();


			$.post("/phoenix/storeTabbedUsage.cfx", buildUsagePacket('A','ALL'));
		});


		return false;
	});

	$('a.printPageLink').click(function(e){
		printThisDiv($("#active a").attr('rel'));
	});
}

// IE fix
function fixIEFlicker(){
	try {
 	 document.execCommand("BackgroundImageCache", false, true);
	} catch(err) {}
}

// link binders
function bindCracLinks(tabPanel){
	var cractivator = function(e){
		tabPanel.activate('tabcrac');
		window.scrollTo(0,0);
		return false;
	};
	$('#tellUsCracLinkOtherInfoSummarySection').click(cractivator);
	$('#tellUsCracLinkDetailsSection').click(cractivator);
}

function bindWarrantyLinks(tabPanel) {
	var warrantyactivator = function(e) {
		tabPanel.activate('tabwc');
		window.scrollTo(0,0);
		return false;
	}
	$('#textRecalculateWarranty').click(warrantyactivator);
	$('#textViewInfo').click(warrantyactivator);
}

function bindWss() {

	$('#header a').click(function(e){
		try {
			if (window._hbPageView) {

				window._hbPageView(hbx.pn.substring(0, hbx.pn.length-3)+this.id,hbx.mlc);
			}
		}catch(err) { }

	});
}

// usagePacket maker
function buildUsagePacket(actionCode,tabName) {
return  {actionCode:actionCode,
		 tabName:tabName,
		 product:$('meta[@name="product"]').attr('content'),
		 timeStamp:$('meta[@name="timeStamp"]').attr('content'),
		 cfxId:$('meta[@name="cfxId"]').attr('content'),
 		 vinSelectPattern:$('meta[@name="vinSelectPattern"]').attr('content')
		};
}


function loadPage(varName, tabName, async) {
	var url = $('var[name="' + varName + '"]').text();
	if (url != '') {
		if (async) {
			$('#animatedLoadingImage').show(500, function() {
				loadPageFromUrl(url, tabName, async);
			});
		}else {
			loadPageFromUrl(url, tabName, async);
		}
	}
}

function loadPageFromUrl(url, tabName, async) {
	$.ajax({
		type:"GET",
		url: url,
		dataType: "html",
		async:async,
		success: function(data) {
			try{
				data = data.replace('src="http://dvlp.carfax.com/phoenix/js/lib/jQuery.js"','');
				data = data.replace('src="http://my.carfax.com/phoenix/js/lib/jQuery.js"','');
				data = data.replace('src="http://alpha.carfax.com/phoenix/js/lib/jQuery.js"','');
				data = data.replace('src="http://www.carfax.com/phoenix/js/lib/jQuery.js"','');
				data = data.replace('src="/phoenix/js/lib/jQuery.js"','');

				$('#'+tabName).html(data);

			}catch(e){
				//alert('error getting data' + e);
			}
		}
	});
	var called = false;
	$('#' + tabName).ajaxComplete(function(request, settings) {
		if (async) {
			$('#animatedLoadingImage').hide();
		}
	});
}

function tabbedVhrSetup(){
	if($.browser.msie){fixIEFlicker();}
	window.panel = new TabbedPanel();
	var tabs = $('div[@id^="tab"]').each(function(i){
		window.panel.add(this.id);
	});
	window.panel.activate('tabvhr');
	bindCracLinks(window.panel);
	bindWarrantyLinks(window.panel);
	printLink();
	bindWss();


	window.panel.onActivate('tabcrac', function(){
		loadPage('tabcrac_url', 'tabcrac', true);
	});
	window.panel.onActivate('tabbbg', function() {
		loadPage('tabbbg_url','tabbbg', true);
	});
	window.panel.onActivate('tabwc', function() {
		loadPage('tabwc_url','tabwc', true);
	});
	window.panel.onActivate('tabsrr', function() {
		loadPage('tabsrr_url','tabsrr', true);
	});
};

