function ytmin(x) {
	if (!$(x).hasClass('active')) {
		$(x).addClass("active");
	}
}
function ytmout(x) {
	if ($(x).hasClass('active')) {
		$(x).removeClass("active");
	}
}
function ytmclick(x,video_id,etitle,edesc) {
	var realtitle = unescape(etitle);
	var realdesc = unescape(edesc);
	var iframevid = $("#ytplayer iframe").attr("name");
	if(iframevid != video_id) {
		$("#ytplaylist li").removeClass('activevid');
		$(x).addClass('activevid');
		$("#ytplayer iframe.ytframe").attr("src","http://www.youtube.com/embed/"+video_id).attr("name",video_id);
		$("#ytplayermeta h3").html(realtitle); $("#ytplayermeta p").html(realdesc); $('#ytplayerlike .morelink a').attr('href','http://www.youtube.com/watch?v='+video_id).attr('target','_blank').attr('title',realtitle);
	}
}

function domagic() {
	//simpnav
	$("#topnav").simpnav({effect:"slide",papa:"",kids:""});
	//cycle
	$('#banner #img').cycle({fx:'fade',speed:1500,timeout:10000,height:'491px',cleartypeNoBg:true,pager:'.panenav'}); $('#featured').cycle({fx:'fade',speed:1000,timeout:5000,height:'491px',cleartypeNoBg:true,pager:'.fpanenav'});
	$('#banner .panenav a').html("&#32;"); $('#col-a-left .fpanenav a').html("&#32;");
	//cycle bikeimg
	$('#bikeview_left .bikeimg .image').cycle({fx:'fade',speed:1000,timeout:5000,height:'279px',cleartypeNoBg:true,pager:'.bikeimgpane'});
	$('#bikeview_left .bikeimg .bikeimgpane a').html("&#32;");
	//init accordion
	$('#bikeinfo').accordion({
		header: '.bikeinfohed',
		active: '.active',
		autoheight: false
	});
	$('.bikeinfohed').click( function(){
		$('.bikeinfohed span').html('click here to expand');
		$(this).find('span').html(' ');
	});
	$(".bikecompare_table, .dealerList, .demoSelectDealer").delegate("tr", "hover", function(){
		$(this).toggleClass("hover");
	});
	//cosmetics
	$('#navname li:first-child a').css('border-left','none'); $('#navname li:last-child a').css('border-right','none');
	$('.newslistings:nth-child(10n+1)').css('border-top','none').css('padding-top','0');
	$('#cimg #tnimg div:first-child').css('margin-left','0').css('margin-right','5px'); $('#cimg #tnimg div:last-child').css('margin-left','5px').css('margin-right','0');
	//zoom img
	$('#cimg #tnimg div, #cimg #heroimg').hover(
		function() { $(this).find('.zoom').fadeIn('slow'); },
		function() { $(this).find('.zoom').fadeOut('fast'); }
	);
	//hover addthis
	$('#latestnews .addthis, .bikeshare .addthis, #newslist .addthis, .motorex_body .addthis').hover(
		function() { $(this).find('.addthisbtns').slideDown('fast'); },
		function() { $(this).find('.addthisbtns').fadeOut('fast'); }
	);
	//init lightbox
	$('#cimg a').lightBox();
	$('#featured a').lightBox();
    $('#bikeimage_rotate a').lightBox();
	//init jcarousel

	$('#navbike div').jcarousel({
			scroll: 1,
			initCallback: mycarousel_initCallback,
			itemFirstInCallback: { onBeforeAnimation: mycarousel_itemFirstInCallback },
			itemFallbackDimension: 250,
			buttonNextHTML: null,
			buttonPrevHTML: null
	});

	//init youtube playlist
	$.getJSON('http://gdata.youtube.com/feeds/users/ktm/uploads?alt=json-in-script&callback=?&max-results=8', function(data) {
		$.each(data.feed.entry, function(i, item) {
			var title = item['media$group']['media$title']['$t'];
			var url = item['media$group']['media$content'][0]['url'];
			var thumb = item['media$group']['media$thumbnail'][0]['url'];
			var desc = item['media$group']['media$description']['$t'];
			var published = item['published']['$t'];
			var published = ISODate.format(published);
			var duration = item['media$group']['yt$duration']['seconds'];
			var durationmin = Math.floor(duration/60);
			var durationsec = duration % 60;

			//var vid_id =

			var video_id = url.substr(25,11); //get utube vid id from url
			var etitle = escape(title); //get escaped title
			var edesc = escape(desc); //get escaped desc

			if (i == 0) {
				$("<li class='activevid' onmouseover='javascript:ytmin(this);' onmouseout='javascript:ytmout(this);' onclick='javascript:ytmclick(this,\""+video_id+"\",\""+etitle+"\",\""+edesc+"\");'><div class='ytimg'><img src='" + thumb + "' alt='" + title + "' /></div><div class='ytmeta'><div class='ytcont'><h3>" + title + "</h3><p>" + desc + "</p></div><div class='ytdate'><span>" + published + "</span><span>" + durationmin + ':' + durationsec + "</span></div></div></li>").appendTo("#ytplaylist ul");
				$("#ytplayer iframe.ytframe").attr("src","http://www.youtube.com/embed/"+video_id).attr("name",video_id);
				$("#ytplayermeta h3").html(title); $("#ytplayermeta p").html(desc); $('#ytplayerlike .morelink a').attr('href','http://www.youtube.com/watch?v='+video_id).attr('target','_blank').attr('title',title);
				//$("#ytplayerlike .fblike span").html('<fb:like send="false" show_faces="true" id="ytfblike"></fb:like>');
				$("#ytfblike").attr('href','http://www.youtube.com/watch?v='+video_id);
			}
			else {
				$("<li onmouseover='javascript:ytmin(this);' onmouseout='javascript:ytmout(this);' onclick='javascript:ytmclick(this,\""+video_id+"\",\""+etitle+"\",\""+edesc+"\");'><div class='ytimg'><img src='" + thumb + "' alt='" + title + "' /></div><div class='ytmeta'><div class='ytcont'><h3>" + title + "</h3><p>" + desc + "</p></div><div class='ytdate'><span>" + published + "</span><span>" + durationmin + ':' + durationsec + "</span></div></div></li>").appendTo("#ytplaylist ul");
			}

		});
	});
	
	// popup animation and cookies
	if(document.cookie.indexOf('hidePopup') == -1) {
		$("#popup").animate({bottom: '0px'}, 1000);	
	}
	$("#popup").click(function(e) {
			
			// set cookie om nom.
				document.cookie = "hidePopup";
			// go to survey
			if (e.target.id == "popup") {
				document.location = "/form.php?fid=12";
			} else {
				// hide popup
				$("#popup").animate({bottom: '-150px'}, 1000);
			}
	});
	
	//init jscrollpane
	$('#ytplaylist').jScrollPane({verticalGutter: 30,autoReinitialise: true,showArrows:true});
	//init tooltip
	$("#navbike ul li").hover(
		function() {
			$(this).find("img.bhover").fadeIn("fast");
		},
		function() {
			$(this).find("img.bhover").fadeOut("fast");
		}
	);
	//init paging news
	$("#newslist").quickPager({pageSize:10});

	// on click clear default field text
	$("#postcode").focus(function(){
			defaultText($(this), 'Search by postcode', '');
	});
	$("#postcode").blur(function(){
			defaultText($(this), '', 'Search by postcode');
	});
	$(".subscrbform #people_email").focus(function(){
		defaultText($(this), 'Your e-mail', '');
	});
	$(".subscrbform #people_email").blur(function(){
		defaultText($(this), '', 'Your e-mail');
	});

	//swap map with highlighted state
	$(".state").hover(function(){
		var state = $(this).attr('rel');
		swapMap('_'+state);
	}, function(){swapMap('')}
	);

    // Preload images for navigation hover
    jQuery.preLoadImages("images/ktm2011/oauR.png", "images/ktm2011/onzR.png", "images/ktm2011/oau_ie7.png", "images/ktm2011/onz_ie7.png");

    // Test nav items position relative to next arrow.
    // If nav item is within a specified range alter the display of the AUS and NZ only hover images.
    jQuery("#navbike li").hover(function(){
        var $_bhoverElement = jQuery(this).find(".bhover");
        if ( $_bhoverElement.length )
        {
            var sElement = jQuery(this).offset().left;
            var navRight = jQuery("#nav .nextbtn").offset().left;

            if (browser == 'ie7') {
                var imgSrcAus = "images/ktm2011/oau_ie7.png";
                var imgSrcAusRight = "images/ktm2011/oau_ie7.png";
                var imgSrcNz = "images/ktm2011/onz_ie7.png";
                var imgSrcNzRight = "images/ktm2011/onz_ie7.png";
            }
            else {
            var imgSrcAus = "media/images/oau.png";
            var imgSrcAusRight = "images/ktm2011/oauR.png";
            var imgSrcNz = "media/images/onz.png";
            var imgSrcNzRight = "images/ktm2011/onzR.png";
            }

            if (((navRight - sElement) < 200) && ((navRight - sElement) > 30)) {
                $_bhoverElement.removeClass("hovLeft");
                $_bhoverElement.addClass("hovRight");
                imgSrc = imgSrcAusRight;
                if ( $_bhoverElement.hasClass("onz") )
                {
                    imgSrc = imgSrcNzRight;
                }
            }
            else{
                imgSrc = imgSrcAus;
                if ( $_bhoverElement.hasClass("onz") )
                {
                    imgSrc = imgSrcNz;
                }
                $_bhoverElement.removeClass("hovRight");
                $_bhoverElement.addClass("hovLeft");
            }

            $_bhoverElement.attr("src", imgSrc);
        }

    });
}

function defaultText( field, textCheck, textSet){
	if ( field.val() == textCheck) {
		field.val(textSet);
	}
}
function swapMap(state){
	$("#dealerMap").css('background-image', "url(images/ktm2011/map"+state+".png)");
}

function mycarousel_initCallback(carousel) {
	jQuery('#navname li a').bind('click', function() {
		if ($(this).parent('li').hasClass('active')) {
			$('#nav').animate({ height: '40px'});
		    $(this).parent('li').removeClass("active");
			return false;
		}
		else {
			if ($(this).attr('rel')) {
				var thisrel = $(this).attr('rel');
				if ($('#nav').height() != "158") {
					$('#nav').animate({ height: '158px'});
				}
				$('#navbike div li.jcarousel-item').removeClass('active');
				//$('#navbike div li.jcarousel-item li').removeClass('active');
				$(this).parent('li').addClass('active');
                //console.log('rel = '+thisrel);
                var thisrel2 = $('#navbike div').find('[itemid="navbike' + thisrel+'"]').attr('jcarouselindex');
                //console.log(thisrel2);
				carousel.scroll(jQuery.jcarousel.intval(thisrel2));
				$('#navbike div').find('[itemid="navbike' + thisrel+'"]').addClass('active');
				//$('#navbike div').find('[itemid="navbike' + thisrel+'"] li').addClass('active');
				return false;
			}
		}
	});

    //jQuery('#navname li a').bind('click', function() {
//        if ($(this).parent('li').hasClass('active')) {
//            $('#nav').animate({ height: '40px'});
//            $(this).parent('li').removeClass("active");
//            return false;
//        }
//    });

	jQuery('#nav .nextbtn').bind('click', function() {
		carousel.next();
		return false;
	});
	jQuery('#nav .prevbtn').bind('click', function() {
		carousel.prev();
		return false;
	});
};

function mycarousel_itemFirstInCallback(carousel, item, idx, state) {
	if (state != 'init') {
		var activebike = $(item).attr('itemid');
		if (activebike) {
			var activebikeid = activebike.substr(7,2);
			var activenav = $('#navname' + activebikeid);
			$("#navname li").removeClass("active");
			$("#"+activebike).addClass("active");
		}
		$('#navbike li').removeClass('active');
		$(".jcarousel-item[itemid~='" + activebike + "']").addClass('active');
		$(activenav).addClass('active');
	}
};

function swaptabs( tabid ){
	var count = 1;
	$(".motorex_tab li").each(function(){
		$(this).removeClass('active');
		var zi = 10 - count;
		$(this).css({'z-index': zi});
		count += 1;
	});

	$(".motorex_body").hide();

	$("#"+tabid).show();
	$("#"+tabid+"_li").addClass('active');
	$("#"+tabid+"_li").css({'z-index': '50'});
}

var ISODate = {
	convert : function (input){
		if (!(typeof input === "string")) throw "ISODate, convert: input must be a string";
		var d = input.match(/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(([+-])(\d{2}):(\d{2})))$/i);
		if (!d) throw "ISODate, convert: Illegal format";
		return new Date(
				Date.UTC(d[1],d[2]-1,d[3],d[4],d[5],d[6]|0,(d[6]*1000-((d[6]|0)*1000))|0,d[7]) +
				(d[7].toUpperCase() ==="Z" ? 0 : (d[10]*3600 + d[11]*60) * (d[9]==="-" ? 1000 : -1000))
		);
	},
	format : function(t,utc){
		if (typeof t === "string") t = this.convert(t);
		if (!(t instanceof Date)) throw "ISODate, format: t is not a date object";
		t = utc ?
				[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()] :
				[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()];

		//return this.month[t[1]] + " " +this.ordinal(t[2]) + ", " +t[0] + " @ " + this.clock12(t[3],t[4]);
		return this.ordinal(t[2]) + ' ' + this.month[t[1]] + ' ' + +t[0];
	},
	month:["January","February","March","April","May","June","July","September","October","November","December"],
	ordinal:function(n) {
		return n+(["th","st","nd","rd"][(( n % 100 / 10) | 0) ===1 ? 0 : n % 10 < 4 ? n % 10 : 0 ]);
	},
	clock12:function(h24,m,s){
		h24%=24;
		var h12 = h24 % 12;
		if (h12===0) h12=12;
		return h12 + ":" +
				(m<10 ? "0" + m : m) +
				(isFinite(s) ? ":" + (s<10?"0"+s:s): "") +
				(h24<12 ? "AM":"PM");
	}
};

(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)
