$(document).ready(function(){
    $("#free-quote-form").live("submit", function() {
        if($(this).valid() && $("#quote_request_email").val() == "" && $("#quote_request_phone").val() == ""){
            alert("Either Phone or Email should be filled.");
            return false;
        } else if($("#quote_request_email").val() == "" && $("#quote_request_phone").val() != "") {
          $("#quote_request_email").val("no@email.com");
        } else if($("#quote_request_email").val() != "" && $("#quote_request_phone").val() == "") {
          $("#quote_request_phone").val("00-0000-0000");
        }
        else {
          document.getElementById("free-quote-form").submit();
        }
    });
  
    
    Cufon.replace(".cufon", {
        hover: true
    });
    Cufon.replace("div.common_body_txt h2");
    Cufon.replace("div.common_body_txt h3");
	
    $("#banners").cycle({
        height: 'auto',
        speed: 700,
        timeout: 8000
    });
	
    $("#testimonial").cycle({
        next: ".t-next",
        prev: ".t-prev",
        timeout: 9000
    });
	
    $("a[rel='colorbox']").colorbox();
	
    $("a[rel='youtube-colorbox']").colorbox({
        iframe: true,
        width: "640px",
        height: "385px"
    });
	
    $("#pdg-slider").slider();

    $("#pd-gallery img.hero").hover(function(){
        $("#pdg-scroll .jcarousel-prev.jcarousel-prev-vertical").css("z-index", "0 !important");
    });
	
    /* swap image */
    $("ul.item li a").click(function() {
        var mainImage = $(this).attr("href"); //Find Image Name
        $("#pdg-preview img").attr({
            src: mainImage
        });

        $(this).parent().siblings().children('a').removeClass(" picked");
        $(this).addClass(" picked") ;
        return false;
    });
			

    //JCarousel Plugin
    startPosition = getPosition();
    $('#carousel').jcarousel({
        vertical: true,
        scroll: 1,
        //auto: 2,
        //wrap: 'last',
        initCallback: mycarousel_initCallback,
        // This tells jCarousel NOT to autobuild prev/next buttons
        buttonNextHTML: null,
        buttonPrevHTML: null,
        itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback},
        itemVisibleInCallback: {onAfterAnimation: mycarousel_itemVisibleInCallback}
    });
});

function mycarousel_initCallback(carousel) {
    jQuery('.jcarousel-item a').bind('click', function() {
        carousel.scroll(jQuery.jcarousel.intval($(this).parent('li').attr('jcarouselindex')));
        return false;
    });

    jQuery('.jcarousel-control a').bind('click', function() {
        carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()));
        return false;
    });

    jQuery('.jcarousel-scroll select').bind('change', function() {
        carousel.options.scroll = jQuery.jcarousel.intval(this.options[this.selectedIndex].value);
        return false;
    });

    jQuery('#next').bind('click', function() {
        carousel.next();
        return false;
    });

    jQuery('#prev').bind('click', function() {
        carousel.prev();
        return false;
    });
};

var inNum;
    var outNum;
    var COOKIE_NAME = "my_carousel_position";

// MANAGE COOKIES
    function setCookie(cName, cValue, cDaysNum)
    {
      var date = new Date();
      date.setTime(date.getTime() + (cDaysNum * 24 * 60 * 60 * 1000));
      $.cookie(cName, cValue, {  expires: date });
      return false;
    }

    function getCookie(cName)
    {
      return $.cookie(cName);
    }

    function delCookie(cName)
    {
      date = "Thu, 01-Jan-70 00:00:01 GMT";
      $.cookie(cName, null, {  expires: date });
      return false;
    }
// END MANAGE COOKIES

    function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
    {
      outNum = i;
      setPosition();
    };

    function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
    {
      inNum = i;
    };

// calculate first visible item
    function getFirstVisibleItemId(inNum, outNum)
    {
      minVal = Math.min(inNum, outNum);
      if(inNum == minVal){
        minVal--;
      }
      return minVal;
    }

//set new carousel position in cookie
    function setPosition()
    {
      position = getFirstVisibleItemId(inNum, outNum)
      if(position >= 0 ){
        value = position+1;
        setCookie(COOKIE_NAME, value, 1);
      }
    }

//retrieves carousel position from cookie
    function getPosition()
    {
      startVal = 1;
      var cookieVal = getCookie(COOKIE_NAME);
      if(cookieVal != ""){
        startVal = parseInt(cookieVal);
      }else{
        delCookie(COOKIE_NAME);
      }
      return startVal;
    }

