
var language = lang.toUpperCase();

var currentVehicleSelectionControl;     //Reference to the drop-down the user is using to select a new vehicle
var comparisionDataLoaded = false;
var photoContentImageIds = new Array(); //Photo content image array

var containerFordModels;
var containerAllManufacturers;

var DEBUG = true;


function getSavedVehicles(){
	url = ajaxsavedvehicles;
	url += "?type=saved";
	$('#compare_vehicle_1').ajaxAddOption(url);
}

function getRecentlyViewedVehicles(){
	url = ajaxsavedvehicles;
	url += "?type=recent";
	$('#compare_vehicle_1').ajaxAddOption(url);

	$("#compare_vehicle_1").copyOptions("#compare_vehicle_2");
	$("#compare_vehicle_1").copyOptions("#compare_vehicle_3");
}

function closeErrorDialog(){
	$("#compareoverlay_errorcontainer").css('display', 'none');

	try{
		currentVehicleSelectionControl.selectedIndex = 0;
	}catch(e){}
	$(".compare_vehicle_dropdown select").css("visibility","visible");
}

function highlightSelectionTab(link){
    var tab = link.parentNode;
    var tabGroup = tab.parentNode;
    var tabs = tabGroup.getElementsByTagName("li");
    for(var i=0; i<tabs.length; i++) {
        removeClass(tabs[i], "on");
    }
    addClass(tab, "on");
}

function completeGetCompetitorVehicles(evt, response){

	if( response != "success" ){
		showErrorDialog(response);
		return false;
	}

	writeBreadCrumb();
	$("#comparisoncontent").css("display", "block");

	hideBnpLoader();
}

function getCompetitorVehicles(){
	showBnpLoader();
	var url = ajaxcompetitorvehicles;

	url += "?language=" + language + "&modelYrId=" + modelYearIdFirstPosition +  "&baseAcode=" + vehicleComparisionSelections["compare_vehicle_1"];

	$("#comparisoncontent").load(url, null, completeGetCompetitorVehicles  );

}
function completeGetVehicleManufacurers(evt, response){

	if( response != "success" ){
		showErrorDialog(response);
		return false;
	}

	writeBreadCrumb();
	$("#comparisoncontent").css("display", "block");

	containerAllManufacturers = $("#comparisoncontent").html();

	hideBnpLoader();
}
function getVehicleManufacurers(){
		if( !containerAllManufacturers ){

		showBnpLoader();
		var url = ajaxmanufacturerlist;
		url += "?language=" + language;
		$("#comparisoncontent").load(url, null, completeGetVehicleManufacurers  );
	}else{
		$("#comparisoncontent").html( containerAllManufacturers );
	}
}


function completeGetModelsForDivision(division){

	writeBreadCrumb();
	if( division == 'FO' ){
		containerFordModels = $("#comparisoncontent").html();
	}

	hideBnpLoader();

}


function getModelsForDivision(division){

	if( containerFordModels && division == 'FO' ){
		$("#comparisoncontent").html(containerFordModels);
	}else{

		showBnpLoader();
		var url = ajaxmodelslist;
		if( division == 'FO' ){
			url = ajaxfordmodelslist;
		}

		$(document).ready(function() {
			$("#comparisoncontent").load(url + "?language=" + language + "&division=" + division, null, function() { completeGetModelsForDivision(division); }  );
		});

	}
}
function completeGetVehicleFilterGrid(evt, response){

	if( response != "success" ){
		showErrorDialog(response);
		return false;
	}

	writeBreadCrumb();
	$("#comparisoncontent").css("display", "block");
	hideBnpLoader();
}
function getVehicleFilterGrid(modelYearId){
	this.modelYearId = modelYearId;
	showBnpLoader();
	var url = ajaxvehiclefiltergrid;
	$("#comparisoncontent").load(url + "?language=" + language + "&modelYearId=" + modelYearId, null, completeGetVehicleFilterGrid  );
}
function completeGetVehicleFilterChoices(evt, response){

	if( response != "success" ){
		showErrorDialog(response);
		return false;
	}

	writeBreadCrumb();

	$("#comparisoncontent").css("display", "block");

	hideBnpLoader();
}
function getVehicleFilterChoices(filterSequence , answerId , aCodesList ){
	showBnpLoader();
	var url = ajaxvehiclefilterchoices;
	url += "?language=" + language + "&modelYearId=" + this.modelYearId + "&filterSequence=" + filterSequence + "&answerId=" + answerId;
	if( aCodesList != null && aCodesList != 'null' ){
		url += "&aCodesList=" + aCodesList;
	}
	$("#comparisoncontent").load(url, null, completeGetVehicleFilterChoices  );
}
function grouptab_onclick(tabName, link){
	if( tabName == 'grpOverview' ){
		showOverview();
	}else{
		showTab(tabName);
	}

	if( link ){
	    var tab = link.parentNode;
	    var tabGroup = tab.parentNode;
	    var tabs = tabGroup.getElementsByTagName("li");
	    for(var i=0; i<tabs.length; i++) {
	        removeClass(tabs[i], "on");
	    }
	    addClass(tab, "on");
	}
	return false;
}
function showOverview(){
		$("div[id^='grp']").fadeIn("normal");
}

function showTab(tabName){
	$("div[id^='grp']").css("display", "none");
	$('#' +	tabName).fadeIn("normal");
}

function completeGetTrimsForModelYearID(evt, response){

	if( response != "success" ){
		showErrorDialog(response);
		return false;
	}

	writeBreadCrumb();
	$("#comparisoncontent").css("display", "block");

	hideBnpLoader();
}
function getTrimsForModelYearID(modelYearId){
	showBnpLoader();
	var url = ajaxmodeltrims;
	$("#comparisoncontent").load(url + "?language=" + language + "&modelYearId=" + modelYearId, null, completeGetTrimsForModelYearID );

}
function completeGetTrimsForAcodeList(evt, response){

	if( response != "success" ){
		showErrorDialog(response);
		return false;
	}

	writeBreadCrumb();
	$("#comparisoncontent").css("display", "block");

	hideBnpLoader();
}
function getTrimsForAcodeList(aCodesList){
	showBnpLoader();
	var url = ajaxmodeltrims;
	$("#comparisoncontent").load(url + "?language=" + language + "&aCodesList=" + aCodesList, null, completeGetTrimsForAcodeList );

}

function swapImage(name){
	$("#vehicleImage").attr( 'src', name);
}
function swapAutoDataImage(name){
	if(!name){
		$("#vehicleImage").attr( 'src', '/images/blank.gif' );
	}else{
		$("#vehicleImage").attr( 'src', 'http://imageonthefly.autodatadirect.com/images/?IMG=' + name + '101.png&HEIGHT=77&WIDTH=153&AUTOTRIM=1');
	}
}

function showFilterMarketingInfo(marketingText){
	$("#filterMarketingInfo").text( marketingText );
}
function showVehicleFilterValueDescription(description) {
	$("#filterDescription").text( description );
}

function confirmedVehicleDelete(){

		if(currentVehicleSelectionControl.id == "compare_vehicle_2"){
			vehicleComparisionSelections["compare_vehicle_2"] = vehicleComparisionSelections["compare_vehicle_3"];
			vehicleComparisionSelections["compare_vehicle_3"] = "";
		}else{
			vehicleComparisionSelections[currentVehicleSelectionControl.id] = "";
		}

		getCompareVehicles(true);

		//Close window no effects
		//$("#compareoverlay_deletecontainer").css("display", "none");
		//Close window w/effects
		$("#compareoverlay_deletecontainer").fadeOut("slow");
		$(".compare_vehicle_dropdown select").css("visibility","visible");
}

function rejectConfirmVehicleDelete(){
	currentVehicleSelectionControl.selectedIndex = 0;

	//Close window w/effects
	$(".compare_vehicle_dropdown select").css("visibility","visible");
	$("#compareoverlay_deletecontainer").fadeOut("slow");
	//Close window no effects
	//$("#compareoverlay_deletecontainer").css("display", "none");
}

function showHideVehicleSelectionTabs(){
		$(".compare_vehicle_dropdown select").css("visibility","hidden");
		if( currentVehicleSelectionControl.id == "compare_vehicle_1"){
			$("#tab_direct_competitors").css("visibility", "hidden");
			$("#tab_any_vehicle").css("visibility", "hidden");
		}else{
			$("#tab_direct_competitors").css("visibility", "visible");
			$("#tab_any_vehicle").css("visibility", "visible");
		}

		$("#compare_close_button").css("visibility", "visible");
}

function showDefaultSelelectionBox(){

	if( !modelYearIdFirstPosition || modelYearIdFirstPosition == '' || modelYearIdFirstPosition == 'null' || modelYearIdFirstPosition == "undefined" ){

			 $(document).ready(function() {

		 		currentVehicleSelectionControl = document.getElementById('compare_vehicle_1');  //$("#compare_vehicle_1");
				//Hide select boxes
				$(".compare_vehicle_dropdown select").css("visibility","hidden");
				$("#compare_close_button").css("visibility", "hidden");

		      	$("#tab_direct_competitors").css("visibility", "hidden");

				$("#tab_any_vehicle").css("visibility", "hidden");

				clearBreadcrumbs();
				//Initialize the selection box with Ford vehicles
				setCompareMake('Ford');
				
				if (language == "EN"){
					setBreadcrumbPath('All Ford Vehicles', 'getFordVehicles()' );
				}else{
						setBreadcrumbPath('Tous les véhicules Ford', 'getFordVehicles()' );
				}
				
				getModelsForDivision('FO');

				$("#tab_direct_competitors").removeClass("on");
				$("#tab_any_vehicle").removeClass("on");
				$("#tab_direct_competitors").addClass("off");
				$("#tab_any_vehicle").addClass("off");
				$("#tab_fordvehicles").addClass("on");


				$("#compareoverlay_changecontainer").fadeIn("slow");

				hideBnpLoader();

		    });
	}else{

 		$(document).ready(function() {
		     clearBreadcrumbs();
  	    	 getCompareVehicles(true);
		});

	}

}

function getFordVehicles(){
	getModelsForDivision('FO');
}

function processVehicleSelectionControl(objSelect){

	currentVehicleSelectionControl = objSelect;

	if( objSelect.value == "delete" ){

		//$("#compareoverlay_deletecontainer").css("display", "block");

		$(".compare_vehicle_dropdown select").css("visibility","hidden");
		$("#compareoverlay_deletecontainer").fadeIn("slow");

	}else if( objSelect.value == "select" ){

		showHideVehicleSelectionTabs();

		currentVehicleSelectionControl = objSelect;
		clearBreadcrumbs();

		//Initialize the selection box with Ford vehicles
		setCompareMake('Ford');
		if (language == "EN"){
			setBreadcrumbPath("All Ford Vehicles", "getModelsForDivision('FO')" );
		}else{
			setBreadcrumbPath("Tous les véhicules Ford", "getModelsForDivision('FO')" );
		}
		
		getModelsForDivision('FO');

		$("#tab_direct_competitors").removeClass("on");
		$("#tab_any_vehicle").removeClass("on");
		$("#tab_direct_competitors").addClass("off");
		$("#tab_any_vehicle").addClass("off");
		$("#tab_fordvehicles").addClass("on");

		$("#compareoverlay_changecontainer").fadeIn("slow");

	}
}
function getCompareVehiclesURLParameters(){

	count = 0;
	url = "";
	for( i in vehicleComparisionSelections){
		 if( vehicleComparisionSelections[i] ){
			url += "&aCode" + count + "=" + vehicleComparisionSelections[i];
			 count++;
		 }
	}


	return url;
}
function getVehiclePhotosURLParameters(){

	url = "";
	for( i in vehicleComparisionSelections){
		 if( vehicleComparisionSelections[i] ){
			url += "," +  vehicleComparisionSelections[i] ;
		 }
	}

	return "aCodesList=" + url.substring(1);
}

function whyBuyInitialization(){
	var url = ajaxwhybuy;
	url += "?language=" + language + "&modelYearId=" + modelYearIdFirstPosition;
	
	$("#bottombar_whybuyford")[0].className=("x_" + modelYearIdFirstPosition);

	$("#bottombar_whybuyford").load(url);
}



function distributeVehicleContent(evt, response){
			if( response != "success" ){
				showErrorDialog(response);
				return false;
			}

			$(document).ready(function() {
			 	$("#compare_vehicle_dropdowns").html( $("#_compare_vehicle_dropdown").html()  );
				$("#bottombar_advantages").html( $("#_compare_content_advantages").html()  );

				$("#_compare_vehicle_dropdown").css("display", "none");
				$("#_compare_content_advantages").css("display", "none");

				//SELECT the first tab in the COMPARE grid
				grouptab_onclick('grpOverview');

				//Get the photos
				photoInitialization();

				//Get the 'why buy' info
				whyBuyInitialization();

				hideBnpLoader();
			});
}

function distributeComparisonTabs(){
	$("#compare_subnav_first").html( $("#_compare_subnav_first").html()  );
}

function showErrorDialog(response){

	hideBnpLoader();
	$("#compareoverlay_errorcontainer").css('display', 'block');
	if(DEBUG) {
		$("#compareoverlay_error_message").css('display', 'block');
		$("#compareoverlay_error_message").innerHTML = " because response = " + response;
	}
}

function getCompareVehicles(reload){

	 	if( !comparisionDataLoaded || reload  ){

			showBnpLoader();

	 		currentSelectedPhotosTab = "grpExterior";

	        $("#compareoverlay_changecontainer").css("display", "none");
			var url = ajaxcomparevehicles;
			url += "?" + getCompareVehiclesURLParameters();
			url += "&language=" + language + "&stateString=" + vehicleComparisionStateString;

			$(document).ready(function() {
				$("#compare_content_specifications").load(url, null, distributeVehicleContent);
			});
		}else{
			$("#compare_content_specifications").css("display", "block");
		}

}
function setSelectedVehicle(aCode, modelYrId){

	$("#compare_container").css("display", "block");

	if( currentVehicleSelectionControl != null && currentVehicleSelectionControl.id == "compare_vehicle_1" ){
		modelYearIdFirstPosition = modelYrId;
	}else{
		modelYearId = modelYrId;
	}

	if( currentVehicleSelectionControl != null ){
		vehicleComparisionSelections[currentVehicleSelectionControl.id] =  aCode;
	}else{
		//alert("currentVehicleSelectionControl was not set. Using the second box");
		vehicleComparisionSelections["compare_vehicle_2"] =  aCode;
	}
	getCompareVehicles(true);
	doubleClickCompareVehicles();
}

function doubleClickCompareVehicles() {
	var name = (currentVehicleSelectionControl) ? "compare_vehicle_1" : currentVehicleSelectionControl.id;
	var num = countSelections();
	//alert("num" + num);
	if (language == "EN") {
		var cat = (num == 1) ? "compa589" : (num == 2)? "compa557" : "compa827";
	}else{
		var cat = (num == 1) ? "compa427" : (num == 2)? "compa676" : "compa947";
	}
	createDoubleClickIframe("type=shopp257;cat=" + cat);
	getspec();
}

function getspec() {
	var nume = countSelections();
	if (nume <= 1){
	document.getElementById('spec').style.display='none';
	}
	else{
	document.getElementById('spec').style.display='block'; 
	}
	
	
}
function countSelections() {
    var cnt = 0;
    for(var vhcl in vehicleComparisionSelections) {
        if(vehicleComparisionSelections[vhcl]) cnt++;
    }
    return cnt;
}

function loadInitialContent(){
    $(document).ready(function() {
      	getCompareVehicles();
    });
}


function hideOverlay(){
	currentVehicleSelectionControl.selectedIndex = 0;
	$("#compareoverlay_changecontainer").fadeOut("slow");
	$(".compare_vehicle_dropdown select").css("visibility","visible");
}



