Cufon.replace('.cufon-themix',{
	fontFamily: 'The Mix Semi Bold-'
});

Cufon.replace('.cufon-themix-twitter',{
	fontFamily: 'The Mix Semi Bold-',
	textShadow: '#0463a1 1px 1px'
});

var autoSlide;

$(document).ready(function () {

    IE6Css();

    if ($('.quick-search') != null) {


        // Quick search
        $('.quick-search').css('position', 'relative');

        //---dont display 1st tab(car) if category selected
        //$('.qs:first').show();
        //$('.qs-nav li:first a').addClass('active');


        $('.qs-nav li a').click(function () {
            if (!$(this).hasClass('active')) {
                $(".qs-nav li a,.qs").removeClass('active');
                $(this).addClass('active');
                var qsTarget = $(this).attr('href');
                $('.qs').hide(); //<--replaced fadeOut;
                $(qsTarget).fadeIn();

                //---added for advance search, css class contains height definition
                var li_parent = $(this).parent().attr('class');
                $('.advance-search').removeClass('advance-trucks-search').removeClass('advance-buses-search');
                switch (li_parent) {

                    case 'qs-trucks':
                        $('.advance-search').addClass('advance-trucks-search');
                        break;
                    case 'qs-buses':
                        $('.advance-search').addClass('advance-buses-search');
                    default:
                        break;
                }
            }

            return false;
        });

        $('.qs .qs-other-type').change(function () {
            var vehc = $(this).val();
            var imageSrc;
            if (vehc == 'truck') {
                imageSrc = '/assets/img/qs-other-truck.jpg';
            } else if (vehc == 'bus') {
                imageSrc = '/assets/img/qs-other-bus.jpg';
            } else if (vehc == 'campers') {
                imageSrc = '/assets/img/qs-other-camper.jpg';
            } else if (vehc == 'farm') {
                imageSrc = '/assets/img/qs-other-farm.jpg';
            } else {
                imageSrc = '/assets/img/qs-other-truck.jpg';
            }
            $('#qs-other-image').attr('src', imageSrc);
        });

    }

    if ($('.listings-nav') != null) {
        // Popular & New Listings
        $('.listings-nav').css('position', 'relative');
        //$('.listings-block').css('position','absolute').hide();//<---removed for cookie based value
        $('.listings-block').css('position', 'absolute');
        //$('.listings-block:first').show();//<---removed for cookie based value
        //$('.listings-nav li:first a').addClass('active');//<---removed for cookie based value
        $('.listings-nav li a').click(function () {
            if (!$(this).hasClass('active')) {
                $(".listings-nav li a,.qs").removeClass('active');
                $(this).addClass('active');
                var listingsTarget = $(this).attr('href');
                $('.listings-block').fadeOut();
                $(listingsTarget).fadeIn();
            }
            return false;
        });


        // Homepage Carousel
        var navUL = '.carousel-nav';
        var contentWrapper = '.carousel-content';
        var overlay = '#carousel-overlay';

        $(navUL + ' a:first').addClass('active');

        $(navUL).prepend($('<li><a href="#" class="ir play-pause">&nbsp;</a></li>'));
        $(contentWrapper + ' li:gt(0)').css('position', 'absolute').hide();

        function updateClickThrough(e) {
            var href = $(e).children('a').attr('href');
            if (href != '' && href != undefined) {
                $(overlay).attr('href', href);
            } else {
                $(overlay).attr('href', '#');
            }
        }
        var autoSlideFunction = function () {
            var target = $(contentWrapper + ' li:eq(1)').attr('id');
            $(contentWrapper + ' li:eq(0)').fadeOut(800)
			    .next('li').fadeIn(800)
			    .end().appendTo(contentWrapper);
            $(navUL + ' a').removeClass('active');
            $('#' + target + '-nav a').addClass('active');
            updateClickThrough(target);
        };

        autoSlide = setInterval(autoSlideFunction, 4000);

        $(navUL + ' a').click(function () {
            if ($(this).hasClass('play-pause')) {
                if ($(this).hasClass('paused')) {
                    clearInterval(autoSlide);
                    autoSlide = setInterval(autoSlideFunction, 4000)
                    $(this).removeClass('paused')
                } else {
                    clearInterval(autoSlide);
                    $(this).addClass('paused')
                }
            } else {
                if (!$(this).hasClass('active')) {
                    var target = $(this).attr('href');
                    clearInterval(autoSlide);
                    $(navUL + ' a.play-pause').addClass('paused')
                    $(navUL + ' a').removeClass('active');
                    $(contentWrapper + ' li').fadeOut(600).siblings(target).fadeIn(600).end().appendTo(contentWrapper);
                    $(this).addClass('active');
                    updateClickThrough(target);
                }
            }
            return false;
        });

    }



    //$('.place-advert-form .required input,.place-advert-form .required textarea,.place-advert-form .required select').blur(function(){
    //validateForm($(this),$('#error-message')); //<--validate on server implemented CANCELED
    //});

    /*
    $('.create-membership-form .required input').blur(function(){
    validateForm($(this),$('#error-message'));
    });
    */

    if ($(".viewport") != null) {
        ////Vehicle Gallery

        var slider_item = 1;
        var slider_scrolls = true;
        var slider_item_max = 0;
        var slider_item_offset = 0;
        var slider_item_view_max = 0;
        var slider_viewport_width = 240;
        var slider_viewport_items_offset = 0;
        var slider_viewport_items_offset_side = 0;

        $(".viewport ul.overview li").each(function () {
            slider_item_max++;
            if (slider_item_max == 1) {
                $(this).addClass('active');
            }
        });

        // If slider items don't need to be scrollable 
        if (slider_item_max < 6) {
            slider_scrolls = false;

            $("#slider .prev").hide();
            $("#slider .next").hide();

            // align center

            slider_item_offset = (parseInt(parseInt($('#slider').width()) - (parseInt($("#slider .viewport li").outerWidth(true)) * slider_item_max)) / 2);
            $('#slider .viewport').css('left', slider_item_offset + "px");
        }
        else {
            var slider_items_width = (parseInt($("#slider .viewport li").outerWidth(true)) * slider_item_max);

            slider_viewport_width = parseInt($('#slider').width());
            slider_viewport_items_offset_side = ((parseInt($("#slider .viewport li").outerWidth(true)) - parseInt($("#slider .viewport li").width())));
            slider_viewport_items_offset = parseInt(((slider_items_width - slider_viewport_width) - slider_viewport_items_offset_side) / (slider_item_max-1));
            slider_item_offset = parseInt($('#slider .viewport').css('left').replace(/px/, ''));

            $("#slider .prev").fadeOut();
        }

        function goto_slider_item(slider_item) {
            if (slider_scrolls) {
                
                var itemWidth = parseInt($("#slider .viewport li").outerWidth(true));

                var leftInt = 0;

                if (slider_item >= 4 && slider_item < (slider_item_max - 3)) {
                    leftInt = (slider_item_offset - (itemWidth * slider_item) + (itemWidth * 3));
                }

                if (slider_item >= (slider_item_max-3)) {
                    var x = slider_item_max-4;
                    leftInt = (slider_item_offset - (itemWidth * x) +  (itemWidth * 2));
                }

                var leftString = leftInt + "px";

                $("#slider .viewport").animate({ left: leftString }, 250);


            }


            if (slider_item == 1) {
                if ($.browser.msie) {
                    $("#slider .prev").hide();
                }
                else {
                    $("#slider .prev").fadeOut();
                }
            } else {
                if ($.browser.msie) {
                    $("#slider .prev").show();
                }
                else {
                    $("#slider .prev").fadeIn();
                }
            }

            if ((slider_item == slider_item_max) || (slider_item_max > 5 && (slider_item == slider_item_max))) {//-1
                if ($.browser.msie) {
                    $("#slider .next").hide();
                }
                else {
                    $("#slider .next").fadeOut();
                }
            } else {
                if ($.browser.msie) {
                    $("#slider .next").show();
                }
                else {
                    $("#slider .next").fadeIn();
                }
            }

            var slider_item_count = 1;
            $("#slider .viewport ul.overview li").each(function () {
                if (slider_item == slider_item_count) {
                    $(this).addClass('active');
                    $(".vehicle-image img").attr('src', $(this).children("a").attr('href'));
                }
                else {
                    $(this).removeClass('active');
                }

                slider_item_count++;
            });

        }

        $('#slider .viewport ul.overview li a').click(function () {
            var slider_item_id = $(this).attr('id').replace(/photo_/, '');
            slider_item = parseInt(slider_item_id);
            goto_slider_item(slider_item);

            return false;
        });

        $('#slider .prev a').click(function () {

            if ((slider_item - 1) >= 1) {
                slider_item--;
                goto_slider_item(slider_item);
            }

            return false;
        });

        $('#slider .next a').click(function () {
            if ((slider_item + 1) <= slider_item_max) {
                slider_item++;
                goto_slider_item(slider_item);
            }

            return false;
        });

    }

});


//JS Validation goes here (needs to be expanded...)
function validateForm(target_el,error_message) {
	var target = target_el.val();
	target_el.parent('.field').removeClass('error').removeClass('okay');
	
	if($(target_el).get(0).tagName=='SELECT' && (target == '0' || target == '-1'))
	{
		target_el.parent('.field').addClass('error');
		error_message.fadeIn();
		return false;
	}
	
	if(target == '' || !target) {
		target_el.parent('.field').addClass('error');
		error_message.fadeIn();
		return false;
	} else {
		target_el.parent('.field').addClass('okay');
		return true;
	}
}


// Dealer map
var geocoder;
var map;
function initialise() {
  geocoder = new google.maps.Geocoder();
  var latlng = new google.maps.LatLng(-34.397, 150.644);
  var myOptions = {
    zoom: 15,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}
  }
  map = new google.maps.Map(document.getElementById("dealer_map_canvas"), myOptions);
}

function codeAddress(address) {
  geocoder.geocode( { 'address': address}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      map.setCenter(results[0].geometry.location);
      var marker = new google.maps.Marker({
          map: map, 
          position: results[0].geometry.location
      });
    } else {
      alert("Geocode was not successful for the following reason: " + status);
    }
  });
}

/* Created:04/02/2011 by Krishan */
function codeLocation(Lat, Lang) {
  latlng = new google.maps.LatLng(Lat,Lang);
  geocoder.geocode( { 'location': latlng}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      map.setCenter(results[0].geometry.location);
      var marker = new google.maps.Marker({
          map: map, 
          position: results[0].geometry.location
      });
    } else {
      alert("Geocode was not successful for the following reason: " + status);
    }
  });
}

function IE6Css()
{
    if($('#ie6-css').length>0)
    {
        $('#ie6-css').remove();
    }
	
	var ie_version = getIEVersion();
    if(ie_version<=6.0 && ie_version>-1)
    {    
        $('head').append('<link id="ie6-css" rel="stylesheet" href="/App_Themes/default-ie6.css" type="text/css" />'); 
    }
}

function getIEVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}



//Javascript QueryString
window.location.queryString = (function() {

    // The return is a collection of key/value pairs
    var queryStringDictionary = {};

    // Gets the query string, starts with '?'
    var querystring = decodeURI(location.search);

    // document.location.search is empty if no query string
    if (!querystring) {
        return {};
    }

    // Remove the '?' via substring(1)
    querystring = querystring.substring(1);

    // '&' seperates key/value pairs
    var pairs = querystring.split("&");

    // Load the key/values of the return collection
    for (var i = 0; i < pairs.length; i++) {
        var keyValuePair = pairs[i].split("=");
        queryStringDictionary[keyValuePair[0]]
                = keyValuePair[1];
    }

    // toString() returns the key/value pairs concatenated
    queryStringDictionary.toString = function() {

        if (queryStringDictionary.length == 0) {
            return "";
        }

        var toString = "?";

        for (var key in queryStringDictionary) {
            toString += key + "=" +
                queryStringDictionary[key];
        }

        return toString;
    };

    // Return the key/value dictionary
    return queryStringDictionary;
})();

