var RazsorLayoutJS = {};

RazsorLayoutJS.init = function() {
	RazsorLayoutJS.globalJS ();
	RazsorLayoutJS.socialNaviLinks ();
    RazsorLayoutJS.usedVehicleSearchExpander();
    RazsorLayoutJS.verticalScroller();
    RazsorLayoutJS.stripphotos();
    RazsorLayoutJS.imageGalleryNavi();
    RazsorLayoutJS.fullFinanceForm();
    RazsorLayoutJS.techSpecBehaviour();
    RazsorLayoutJS.sideCategoryLinks();
    RazsorLayoutJS.techFinanceFunctionality();
    RazsorLayoutJS.stocklistFinanceCalculator();
    RazsorLayoutJS.createDateTimePicker('.selected-date');
    RazsorLayoutJS.openNewWindow();
};

RazsorLayoutJS.globalJS = function() {
    // mark as javascript enabled
    $("body").addClass("js");
    
};
RazsorLayoutJS.sideCategoryLinks = function(){
	var tmpText;
	$(".filterleft .used-cars-links, .filterleft .used-cars-model-links").find('a').each(function() {
		tmpText = $(this).text().replace("Used"," ").replace("cars"," ");
		$(this).text(tmpText);
	});
};

RazsorLayoutJS.stocklistFinanceCalculator = function() {
	if (!$(".finance-calculator .wrapper .box-calculator").hasClass("rzc-hidden")) {
	$(".finance-calculator").append('<div class="finance-calculator-show-hide"><span>Adjust finance options</span</div>');
	$(".finance-calculator .wrapper").hide();
	$(".finance-calculator-show-hide").live('click',function(){
	 	if($(".finance-calculator .wrapper").hasClass("down")){		
			$(".finance-calculator .wrapper").slideUp().removeClass("down");
			$(this).find("span").html("Adjust finance options");
			$(this).css("bottom","-20px");
		} else {
			$(".finance-calculator .wrapper").slideDown().addClass("down");
			$(this).find("span").html("Close finance options");
			$(this).css("bottom","-30px");
		}
	});
	}
	$(".rzc-stocklist .calculateFinance").click(function(){		
		$(this).val("Updating...");	
	});
};


RazsorLayoutJS.socialNaviLinks = function(){
	var pageURL = $(".pageURL").val();
	var fullSocialURL;
	$(".social-navigation .navFacebook").click(function(){
		fullSocialURL = "http://www.facebook.com/share.php?u=" + pageURL;
		window.open(fullSocialURL,'_blank');
		return false;
	});
	$("li.social-navigation .navTwitter").click(function(){
		fullSocialURL = "http://twitter.com/home?status=" + pageURL;
		window.open(fullSocialURL,'_blank');
		return false;
	});
};

RazsorLayoutJS.usedVehicleSearchExpander = function() {
	$(".adv-search, .error-message").hide();
	$(".searchmore, .searchless").live('click',function(){
	 	$(".rzc-search .basic, .rzc-search .advanced").slideUp();	
		if($(this).hasClass("selected")){				
			$(".adv-search").slideUp();
			$(this).find("h3").html("More options");
			$(this).removeClass("selected");			
			$(this).addClass("searchmore").removeClass("searchless");
		} else {
			$(".adv-search").slideDown();
			$(this).addClass("selected");
			$(this).find("h3").html("Less options");			
			$(this).removeClass("searchmore").addClass("searchless");
		}
	});
};
$(function () {
	var tabContainers = $('div.tabs > div');
	tabContainers.hide().filter(':first').show();
	
	$('div.tabs ul.tabNavigation a').click(function () {
		tabContainers.hide();
		tabContainers.filter(this.hash).show();
		$('div.tabs ul.tabNavigation a').removeClass('selected');
		$(this).addClass('selected');
		return false;
	}).filter(':first').click();
});

RazsorLayoutJS.verticalScroller = function() {
	var minItems = 0;
	var maxItems = 3;		
	var countIt = 0;		
	$("a.up").click(function(){		
		if(countIt > minItems){
			countIt --;
			$("ul.featured-cars").animate({marginTop : ( -104 * countIt )},300);
		} else {
			countIt = maxItems;
			$("ul.featured-cars").animate({marginTop : (-104 * countIt)},300);
		}
		return false;
	});
	$("a.down").click(function(){
		if(countIt < maxItems){			
			countIt ++;
			$("ul.featured-cars").animate({marginTop : ( -104 * countIt )},300);
		} else {
			countIt = 0;
			$("ul.featured-cars").animate({marginTop : 0},300);
		}
		return false;
	});
};

RazsorLayoutJS.stripphotos = function(){
	$(".rzc-stocklist .hlisting, .rzc-advert .hlisting").find('.imagecontainer').each(function() {
		$(this).text($(this).text().replace("Photos"," ").replace("Photo"," "));
		$('.rzc-stocklist .hlisting .imagecontainer:contains("0"), .rzc-advert .hlisting .imagecontainer:contains("0")').addClass("withoutphotos");

	});
	$(".rzc-stocklist .hlisting .rzc-advert-video, .rzc-advert .hlisting .rzc-advert-video").find('a').each(function() {
		$(this).text($(this).text().replace("Video","1"));
	});	
	$(".rzc-stocklist .hlisting .rzc-advert-video, .rzc-advert .hlisting .rzc-advert-video").find('span').each(function() {
		$(this).text($(this).text().replace("Video","0"));
	});
};

RazsorLayoutJS.imageGalleryNavi = function() {   
    if ($('.image_v .leftright').css('top') === '0px')
	{
		$(".on-image").show();
	}
    
    $(".on-image a.on-image-left").click(function(){
    	$(".image_v ul.leftright li.left a").trigger('click');
    	return false;
    });
    
    $(".on-image a.on-image-right").click(function(){
    	$(".image_v ul.leftright li.right a").trigger('click');
    	return false;
    });
};
RazsorLayoutJS.fullFinanceForm = function () {

    // hide full enquiry form
    $(".rzc-finance .full").hide();
    $(".rzp-finance .submit-and-warning button.submit span").text("Send my finance enquiry");

    // show correct form on page load
    var formToShow = $("#formToShow").attr("value");

    if (formToShow !== null && formToShow === "full") {
    	$("#full-enquiry-form").attr("value","true");
        $(".rzc-finance .quick").hide();
        $(".rzc-finance .full").show();
    } else {
    	$("#full-enquiry-form").attr("value", "false");
    	$(".rzc-finance .quick").show();
        $(".rzc-finance .full").hide();
    }

    // show hide forms on click
    var fullLink = $(".quick .switch a");
    fullLink.click(function () {
        $(".quick").fadeOut('fast',function () {
            $(".rzc-finance .full").show();
            $("#fields > .full").slideDown(1000);
            formToShow = "full";
            $("#full-enquiry-form").attr("value", "true");
            $('.common-field').removeClass("highlight-error");
            $('#finance-form .form-warning').empty();
        });
    });
    var quickLink = $(".full .switch a");
    quickLink.click(function () {
        $(".full").fadeOut('fast', function () {
            $(".rzc-finance .quick").show();
            $("#fields > .quick").slideDown();
            $("#full-enquiry-form").attr("value","false");
            formToShow = "quick";
            $('.common-field').removeClass("highlight-error");
            $('#finance-form .form-warning').empty();
        });
    });

    $(".current-address").change(function () {
        var yearsCheckAddress = parseInt($(".current-address").val(), 10);
        if (yearsCheckAddress > 3) {
            $(".previous-address input").attr("disabled", "disabled");
            $(".previous-address input").attr("style", "background:#EBEBE4;");
        } else {
            $(".previous-address input").removeAttr("disabled");
            $(".previous-address input").removeAttr("style");
        }
    });

    $(".current-employer").change(function () {
        var yearsCheckEmp = parseInt($(".current-employer").val(), 10);
        if (yearsCheckEmp > 2) {
            $(".previous-employer input").attr("disabled", "disabled");
            $(".previous-employer input").attr("style", "background:#EBEBE4;");
        } else {
            $(".previous-employer input").removeAttr("disabled");
            $(".previous-employer input").removeAttr("style");
        }
    });
    
    $(".dob").datepicker({
		dateFormat : 'dd/mm/yy' ,
		changeMonth: true,
		changeYear: true,
		yearRange: '-111:+0'
	});

};

RazsorLayoutJS.techSpecBehaviour = function() {
    // Detail page, tech specs
    $('.rzc-advert .more-details h3:eq(0)').addClass('on');
    $('.rzc-advert .more-details .box:not(:eq(0))').hide();
    $('.rzc-advert .more-details h3').click(function() {
        if ($(this).hasClass('on')) {
            $(this).removeClass('on');
            $(this).next().slideUp();
        } else {
            $(this).parent().find('h3').removeClass('on');
            $(this).parent().find('.box').slideUp();
            $(this).addClass('on');
            $(this).next().slideDown();
        }
    });
    $(".rzc-advert .more-details table tbody tr:even").addClass('alt');
};

RazsorLayoutJS.techFinanceFunctionality = function() {
	  // Tabs for advert detail page
    $(".rzc-advert .rzc-c-s-strip, .rzc-finance-calculator").hide();
    $(".tab-tech-spec").addClass("tab-on");
    $(".more-details").show();

    if ($('#capTechSpecComponent').length < 1 && $("#similarVehiclesComponent").length < 1) {
        $('.tab-finance-calculator').addClass("tab-on");
        $("ul.similar-tabs").hide();
        $("ul.tech-tabs").hide();
        $('#financeCalculatorComponent').show();
    }
    if ($('#financeCalculatorComponent').length < 1) {
        $(".finance-tabs").hide();
    }
    if ($('#similarVehiclesComponent').length < 1) {
        $(".similar-tabs").hide();
    }
    if ($('#capTechSpecComponent').length < 1) {
        $(".tech-tabs").hide();
    }
    

    $(".advert-detail-more-info-tabs li a").click(function() {
        if (!$(this).hasClass("tab-on")) {
            $(".more-details, .rzc-c-s-strip, .rzc-finance-calculator").slideUp();
            $(".advert-detail-more-info-tabs li a").removeClass("tab-on");
            var moreInfoArea = $(this).attr("class");
            moreInfoArea = moreInfoArea.split(" ");
            switch (moreInfoArea[0]) {
            case "tab-tech-spec":
                $(".tab-tech-spec").addClass("tab-on");
                $(".more-details").slideDown();
                break;
            case "tab-similar-cars":
                $(".tab-similar-cars").addClass("tab-on");
                $(".rzc-c-s-strip").slideDown();
                break;
            case "tab-finance-calculator":
                $(".tab-finance-calculator").addClass("tab-on");
                $(".rzc-finance-calculator").slideDown();
                break;
            }
        }
        else {
        	$(".more-details, .rzc-c-s-strip, .rzc-finance-calculator").slideUp();
        	$(".advert-detail-more-info-tabs li a").removeClass("tab-on");
        	}	 
        return false;
    });

    if ($(".tab-tech-spec").length == 0) {
        $(".tab-similar-cars").addClass("tab-on");
        $(".rzc-c-s-strip").slideDown();
    }
};

RazsorLayoutJS.createDateTimePicker = function() {
    for (i = 0; i < arguments.length; i++) {
        $(arguments[i]).datepicker({
            showOn : "button",
            dateFormat : 'dd/mm/yy'
        });
    }
    $(".form-style .ui-datepicker-trigger").html("Click to select");
};
RazsorLayoutJS.openNewWindow = function() {
	  $('a[rel*="external"]').click(function(){
		    $(this).attr('target','_blank');
		  });
};

$(document).ready(function() {
    RazsorLayoutJS.init();
});
