$(function(){
	initGallery();
	initFeatureArea();
	showHide("#small-feature1");
	showHide("#small-feature2");
});

/****** Home page Feature Area ********/
var galleryInterval;

function initGallery() {
	
	buildGalleryItem($("#gallery div ul li:first"))
	$("#gallery div ul li:first").show().css("z-index", 1000);

var w = $(window);

	if(jQuery.browser.version <= 419.3 && $.browser.safari) {
		galleryLoad();
	}
	$(window).load(function() {
		galleryLoad();
	});
}

function galleryLoad() {
	$("#gallery div ul li:not(:first)").each(function() {
		buildGalleryItem($(this));
	});
		
	galleryInterval = setInterval(triggerRotate,5000);
}

/*
 * Get all the child a tags which should link to an image
 * Create an image tag, append it to the item
 * Create a p tag with text from the a tag
 * Hide the item
 */
function buildGalleryItem(item) {
	var a = item.children("a");
	var src = a.attr("href");
	var alt = a.attr("title");
	var text = a.text();
	a.remove();
	
	item.append($("<img />").attr({"src":src, "alt":alt})).append($("<p></p>").text(text)).hide();
}

/*
 * Rotate through images in the gallery
 * Fade animation between each
 */
function triggerRotate() {
	var numItems = $("#gallery div ul li").length;
	var firstItem = $("#gallery div ul li:first");
	
	curItem  = $("#gallery div ul li.active");
	if(curItem.length < 1) curItem = firstItem;
	
	var nextItem = curItem.next();
	if(nextItem.length != 1) nextItem = firstItem;
	
	nextItem.addClass("active").css("z-index", 999).show();
	curItem.removeClass("active").css("z-index", 1000).fadeOut(2500);
	
	if($("#feature-items").css("left") < 0) {
		clearInterval(galleryInterval);
	}
}

function initScroll(scrollAmount) {
	var featureOffset = $("#feature-items").css("left").replace("px", "");
	if(featureOffset == "auto") featureOffset = 0;

	var curFeature = Math.round(featureOffset / -869);
	curFeature = curFeature + scrollAmount;

	if(curFeature >= 1 && curFeature <= 5) {
		curItem = ".slider-lbl" + (curFeature) + " a";
		moveSliderAndContent($(curItem), curFeature);
	}
}

function moveSliderAndContent(curItem, curFeature) {
	var container = $('div#feature-area');
	var ul = $('#feature-items', container);
	
	$("#slider").show();
	clearInterval(galleryInterval);
	
	// the parent item's offset from the left side of the window
	var parentOffset = $("#feature-nav").offset().left;

	// how far the item is from the left border of its parent
	var itemWidth = curItem.parent().width();
	if(itemWidth == "auto") itemWidth = 0;

	// off set the handle by this much to make it appear centered on the label
	var handleOffest = ($(".handle").css("width").replace("px", "") - itemWidth) / 2;				

	var newOffset = curItem.offset().left - parentOffset - handleOffest;
	ul.animate({'left' : curFeature * -869}, 700, "easeOutCubic");
	$('#slider').animate({'left' : newOffset}, 700, "easeOutCubic");
	
	stopMovie();
}

function initFeatureArea() {
	if(document.getElementById("feature-area")) {
		var curFeature = 1;
		var container = $('div#feature-area');
		var ul = $('#feature-items', container);
		var itemsWidth = ul.innerWidth() - container.outerWidth();

		$("#feature-nav li a").click(function() {

			var parentClass = $(this).parent().attr("class");
			
			switch(parentClass)
			{
				case "slider-lbl1":
					curFeature = 1;
					break;
				case "slider-lbl2":
					curFeature = 2;
					break;
				case "slider-lbl3":
					curFeature = 3;
					break;
				case "slider-lbl4":
					curFeature = 4;
					break;
				case "slider-lbl5":
					curFeature = 5;
					break;
			}

			moveSliderAndContent($(this), curFeature);
			
			return false;
		});
		
		
		// click events for scroll buttons
		$(".prev-item").click(function() {
			initScroll(-1);
			return false;
		});
		$(".next-item").click(function() {
			initScroll(1);
			return false;
		});
	}
	else {
		setTimeout("initFeatureArea", 1);
	}


}

function stopMovie() {
	onClipDone();
}

/** 
 * flashembed 0.31. Adobe Flash embedding script
 * 
 * http://flowplayer.org/tools/flash-embed.html
 *
 * Copyright (c) 2008 Tero Piirainen (tipiirai@gmail.com)
 *
 * Released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * >> Basically you can do anything you want but leave this header as is <<
 *
 * version 0.01 - 03/11/2008 
 * version 0.31 - Tue Jul 22 2008 06:30:31 GMT+0200 (GMT+02:00)
 */
function flashembed(root,userParams,flashvars){function getHTML(){var html="";if(typeof flashvars=='function'){flashvars=flashvars();}if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){html='<embed type="application/x-shockwave-flash" ';if(params.id){extend(params,{name:params.id});}for(var key in params){if(params[key]!==null){html+=[key]+'="'+params[key]+'"\n\t';}}if(flashvars){html+='flashvars=\''+concatVars(flashvars)+'\'';}html+='/>';}else{html='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';html+='width="'+params.width+'" height="'+params.height+'"';if(!params.id&&document.all){params.id="_"+(""+Math.random()).substring(5);}if(params.id){html+=' id="'+params.id+'"';}html+='>';html+='\n\t<param name="movie" value="'+params.src+'" />';params.id=params.src=params.width=params.height=null;for(var k in params){if(params[k]!==null){html+='\n\t<param name="'+k+'" value="'+params[k]+'" />';}}if(flashvars){html+='\n\t<param name="flashvars" value=\''+concatVars(flashvars)+'\' />';}html+="</object>";if(debug){alert(html);}}return html;}function init(name){var timer=setInterval(function(){var doc=document;var el=doc.getElementById(name);if(el){flashembed(el,userParams,flashvars);clearInterval(timer);}else if(doc&&doc.getElementsByTagName&&doc.getElementById&&doc.body){clearInterval(timer);}},13);return true;}function extend(to,from){if(from){for(key in from){if(from.hasOwnProperty(key)){to[key]=from[key];}}}}var params={src:'#',width:'100%',height:'100%',version:null,onFail:null,expressInstall:null,debug:false,bgcolor:'#ffffff',allowfullscreen:true,allowscriptaccess:'always',quality:'high',type:'application/x-shockwave-flash',pluginspage:'http://www.adobe.com/go/getflashplayer'};if(typeof userParams=='string'){userParams={src:userParams};}extend(params,userParams);var version=flashembed.getVersion();var required=params.version;var express=params.expressInstall;var debug=params.debug;if(typeof root=='string'){var el=document.getElementById(root);if(el){root=el;}else{return init(root);}}if(!root){return;}if(!required||flashembed.isSupported(required)){params.onFail=params.version=params.expressInstall=params.debug=null;root.innerHTML=getHTML();return root.firstChild;}else if(params.onFail){var ret=params.onFail.call(params,flashembed.getVersion(),flashvars);if(ret){root.innerHTML=ret;}}else if(required&&express&&flashembed.isSupported([6,65])){extend(params,{src:express});flashvars={MMredirectURL:location.href,MMplayerType:'PlugIn',MMdoctitle:document.title};root.innerHTML=getHTML();}else{if(root.innerHTML.replace(/\s/g,'')!==''){}else{root.innerHTML="<h2>Flash version "+required+" or greater is required</h2>"+"<h3>"+(version[0]>0?"Your version is "+version:"You have no flash plugin installed")+"</h3>"+"<p>Download latest version from <a href='"+params.pluginspage+"'>here</a></p>";}}function concatVars(vars){var out="";for(var key in vars){if(vars[key]){out+=[key]+'='+asString(vars[key])+'&';}}return out.substring(0,out.length-1);}function asString(obj){switch(typeOf(obj)){case'string':return'"'+obj.replace(new RegExp('(["\\\\])','g'),'\\$1')+'"';case'array':return'['+map(obj,function(el){return asString(el);}).join(',')+']';case'function':return'"function()"';case'object':var str=[];for(var prop in obj){if(obj.hasOwnProperty(prop)){str.push('"'+prop+'":'+asString(obj[prop]));}}return'{'+str.join(',')+'}';}return String(obj).replace(/\s/g," ").replace(/\'/g,"\"");}function typeOf(obj){if(obj===null||obj===undefined){return false;}var type=typeof obj;return(type=='object'&&obj.push)?'array':type;}if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};});}function map(arr,func){var newArr=[];for(var i in arr){if(arr.hasOwnProperty(i)){newArr[i]=func(arr[i]);}}return newArr;}return root;}if(typeof jQuery=='function'){(function($){$.fn.extend({flashembed:function(params,flashvars){return this.each(function(){flashembed(this,params,flashvars);});}});})(jQuery);}flashembed=flashembed||{};flashembed.getVersion=function(){var version=[0,0];if(navigator.plugins&&typeof navigator.plugins["Shockwave Flash"]=="object"){var _d=navigator.plugins["Shockwave Flash"].description;if(typeof _d!="undefined"){_d=_d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");var _m=parseInt(_d.replace(/^(.*)\..*$/,"$1"),10);var _r=/r/.test(_d)?parseInt(_d.replace(/^.*r(.*)$/,"$1"),10):0;version=[_m,_r];}}else if(window.ActiveXObject){try{var _a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{_a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version=[6,0];_a.AllowScriptAccess="always";}catch(ee){if(version[0]==6){return;}}try{_a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(eee){}}if(typeof _a=="object"){_d=_a.GetVariable("$version");if(typeof _d!="undefined"){_d=_d.replace(/^\S+\s+(.*)$/,"$1").split(",");version=[parseInt(_d[0],10),parseInt(_d[2],10)];}}}return version;};flashembed.isSupported=function(version){var now=flashembed.getVersion();var ret=(now[0]>version[0])||(now[0]==version[0]&&now[1]>=version[1]);return ret;};

/**
 * flowembed 0.11. Flowplayer embedding script
 * 
 * http://flowplayer.org/tools/flow-embed.html
 *
 * Copyright (c) 2008 Tero Piirainen (tero@flowplayer.org)
 *
 * Released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * >> Basically you can do anything you want but leave this header as is <<
 *
 * Version: 0.10 - 05/19/2008
 */ 
(function($) {		
	
	// jQuery plugin initialization
	$.fn.extend({
		flowembed: function(params, config, opts) { 			
			return this.each(function() {
				new flowembed($(this), params, config, opts);
			});
		}
	});

	function flowembed(root, params, config, embedOpts) {
	
		var opts = {
			oneInstance: true,
			activeClass: 'playing',
			overlayClass: 'playButton',
			fallback: null
		};	
		
		$.extend(opts, embedOpts);
		var player = null;
		config = config || {};
		if (typeof params == 'string') params = {src:params};
		
		root.click(function(event) {			
			
			// disable default behaviour
			event.preventDefault();
			
			if (root.find("embed, object").length) return false;
				
			// if oneInstance = true, resume previously playing video	
			if (opts.oneInstance) onClipDone();
			
			// save nested HTML content for resuming purposes
			root.addClass(opts.activeClass).data("html", root.html());
			
			// build flowplayer with videoFile supplied in href- attribute
			var href = root.attr("href");
			config.videoFile = href;

			// possible fallback
			if (opts.fallback && !flashembed.isSupported([9,115])) {
				config.videoFile = href.substring(0, href.lastIndexOf(".") + 1) + opts.fallback;				
			}
			
			player = flashembed(this, params, {config:config});
			
		});

		// create play button on top of splash image
		root.append($("<div/>").addClass(opts.overlayClass));

		
		/* 
			this function is called by Flowplayer when playback finishes. 
			it makes currently playing video to oneInstance it's original
			HTML stage.
		*/
		if (opts.oneInstance && !$.isFunction("onClipDone")) {
			window.onClipDone = function() {

				$("." + opts.activeClass).each(function() {
					$(this).html($(this).data("html")).removeClass(opts.activeClass);	
				});

			};
		} 
	}

})(jQuery);