/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();


/*
 * jNice
 * version: 1.0 (11.26.08)
 * by Sean Mooney (sean@whitespace-creative.com) 
 * Examples at: http://www.whitespace-creative.com/jquery/jnice/
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * And apply the jNice class to the form you want to style
**/
(function($){$.fn.jNice=function(options){var self=this;var safari=$.browser.safari;$(document).mousedown(checkExternalClick);return this.each(function(){$('input:submit, input:reset, input:button',this).each(ButtonAdd);$('button').focus(function(){$(this).addClass('jNiceFocus')}).blur(function(){$(this).removeClass('jNiceFocus')});$('input:text:visible, input:password',this).each(TextAdd);if(safari){$('.jNiceInputWrapper').each(function(){$(this).addClass('jNiceSafari').find('input').css('width',$(this).width()+11);});}$('input:checkbox',this).each(CheckAdd);$('input:radio',this).each(RadioAdd);$('select',this).each(function(index){SelectAdd(this,index);});$(this).bind('reset',function(){var action=function(){Reset(this);};window.setTimeout(action,10);});$('.jNiceHidden').css({opacity:0});});};var Reset=function(form){var sel;$('.jNiceSelectWrapper select',form).each(function(){sel=(this.selectedIndex<0)?0:this.selectedIndex;$('ul',$(this).parent()).each(function(){$('a:eq('+sel+')',this).click();});});$('a.jNiceCheckbox, a.jNiceRadio',form).removeClass('jNiceChecked');$('input:checkbox, input:radio',form).each(function(){if(this.checked){$('a',$(this).parent()).addClass('jNiceChecked');}});};var RadioAdd=function(){var $input=$(this).addClass('jNiceHidden').wrap('<span class="jRadioWrapper jNiceWrapper"></span>');var $wrapper=$input.parent();var $a=$('<span class="jNiceRadio"></span>');$wrapper.prepend($a);$a.click(function(){var $input=$(this).addClass('jNiceChecked').siblings('input').attr('checked',true);$('input:radio[name="'+$input.attr('name')+'"]').not($input).each(function(){$(this).attr('checked',false).siblings('.jNiceRadio').removeClass('jNiceChecked');});return false;});$input.click(function(){if(this.checked){var $input=$(this).siblings('.jNiceRadio').addClass('jNiceChecked').end();$('input:radio[name="'+$input.attr('name')+'"]').not($input).each(function(){$(this).attr('checked',false).siblings('.jNiceRadio').removeClass('jNiceChecked');});}}).focus(function(){$a.addClass('jNiceFocus');}).blur(function(){$a.removeClass('jNiceFocus');});if(this.checked){$a.addClass('jNiceChecked');}};var CheckAdd=function(){var $input=$(this).addClass('jNiceHidden').wrap('<span class="jNiceWrapper"></span>');var $wrapper=$input.parent().append('<span class="jNiceCheckbox"></span>');var $a=$wrapper.find('.jNiceCheckbox').click(function(){var $a=$(this);var input=$a.siblings('input')[0];if(input.checked===true){input.checked=false;$a.removeClass('jNiceChecked');}else{input.checked=true;$a.addClass('jNiceChecked');}return false;});$input.click(function(){if(this.checked){$a.addClass('jNiceChecked');}else{$a.removeClass('jNiceChecked');}}).focus(function(){$a.addClass('jNiceFocus');}).blur(function(){$a.removeClass('jNiceFocus');});if(this.checked){$('.jNiceCheckbox',$wrapper).addClass('jNiceChecked');}};var TextAdd=function(){var $input=$(this).addClass('jNiceInput').wrap('<div class="jNiceInputWrapper"><div class="jNiceInputInner"></div></div>');var $wrapper=$input.parents('.jNiceInputWrapper');$input.focus(function(){$wrapper.addClass('jNiceInputWrapper_hover');}).blur(function(){$wrapper.removeClass('jNiceInputWrapper_hover');});};var ButtonAdd=function(){var value=$(this).attr('value');$(this).replaceWith('<button id="'+this.id+'" name="'+this.name+'" type="'+this.type+'" class="'+this.className+'" value="'+value+'"><span><span>'+value+'</span></span>');};var SelectHide=function(){$('.jNiceSelectWrapper ul:visible').hide();};var checkExternalClick=function(event){if($(event.target).parents('.jNiceSelectWrapper').length===0){SelectHide();}};var SelectAdd=function(element,index){var $select=$(element);index=index||$select.css('zIndex')*1;index=(index)?index:0;$select.wrap($('<div class="jNiceWrapper"></div>').css({zIndex:100-index}));var width=$select.width();$select.addClass('jNiceHidden').after('<div class="jNiceSelectWrapper"><div><span class="jNiceSelectText"></span><span class="jNiceSelectOpen"></span></div><ul></ul></div>');var $wrapper=$(element).siblings('.jNiceSelectWrapper').css({width:width+'px'});$('.jNiceSelectText, .jNiceSelectWrapper ul',$wrapper).width(width-$('.jNiceSelectOpen',$wrapper).width());if($.browser.msie&&jQuery.browser.version<7){$select.after($('<iframe src="javascript:\'\';" marginwidth="0" marginheight="0" align="bottom" scrolling="no" tabIndex="-1" frameborder="0"></iframe>').css({height:$select.height()+4+'px'}));}SelectUpdate(element);$('div',$wrapper).click(function(){var $ul=$(this).siblings('ul');if($ul.css('display')=='none'){SelectHide();}$ul.slideToggle();var offSet=($('a.selected',$ul).offset().top-$ul.offset().top);$ul.animate({scrollTop:offSet});return false;});$select.keydown(function(e){var selectedIndex=this.selectedIndex;switch(e.keyCode){case 40:if(selectedIndex<this.options.length-1){selectedIndex+=1;}break;case 38:if(selectedIndex>0){selectedIndex-=1;}break;default:return;break;}$('ul a',$wrapper).removeClass('selected').eq(selectedIndex).addClass('selected');$('span:eq(0)',$wrapper).html($('option:eq('+selectedIndex+')',$select).attr('selected','selected').text());return false;}).focus(function(){$wrapper.addClass('jNiceFocus');}).blur(function(){$wrapper.removeClass('jNiceFocus');});};var SelectUpdate=function(element){var $select=$(element);var $wrapper=$select.siblings('.jNiceSelectWrapper');var $ul=$wrapper.find('ul').find('li').remove().end().hide();$('option',$select).each(function(i){$ul.append('<li><a href="#" index="'+i+'">'+this.text+'</a></li>');});$ul.find('a').click(function(){$('a.selected',$wrapper).removeClass('selected');$(this).addClass('selected');if($select[0].selectedIndex!=$(this).attr('index')&&$select[0].onchange){$select[0].selectedIndex=$(this).attr('index');$select[0].onchange();}$select[0].selectedIndex=$(this).attr('index');$('span:eq(0)',$wrapper).html($(this).html());$ul.hide();return false;});$('a:eq('+$select[0].selectedIndex+')',$ul).click();};var SelectRemove=function(element){var zIndex=$(element).siblings('.jNiceSelectWrapper').css('zIndex');$(element).css({zIndex:zIndex}).removeClass('jNiceHidden');$(element).siblings('.jNiceSelectWrapper').remove();};$.jNice={SelectAdd:function(element,index){SelectAdd(element,index);},SelectRemove:function(element){SelectRemove(element);},SelectUpdate:function(element){SelectUpdate(element);}};$(function(){$('form.jNice').jNice();});})(jQuery);

/*
 * Scripts
 *
 */
jQuery(function($) {
 
	var Engine = {
		utils : {
			links : function(){
				$('a[rel*=external]').click(function(e){
					e.preventDefault();
					window.open($(this).attr('href'));						  
				});
			},
			mails : function(){
				$('a[href^=mailto:]').each(function(){
					var mail = $(this).attr('href').replace('mailto:','');
					var replaced = mail.replace('/at/','@');
					$(this).attr('href','mailto:'+replaced);
					if($(this).text() == mail) {
						$(this).text(replaced);
					}
				});
			}
		},
		ui : {
			tooltips : function(){
				$('div.gallery span.thumb img').each(function(){
					var el = $(this).parent().parent();
					$(this).data('tooltip','<strong>'+el.find('.title').text()+'</strong><br />'+el.find('.description').text()).removeAttr('alt');
					$(this).bind('mouseenter',function(){
						var offset 	= $(this).offset();
						var left 	= offset.left - 10;
						var top 	= offset.top + 75;
						
						$('body').append('<p id="gallery-tooltip"><span>'+ $(this).data('tooltip') +'</span></p>');
						$('#gallery-tooltip').css({ 'opacity': 1, 'left': left, 'top': top }).stop().animate({ 'marginTop': 12, opacity: 1 },300);
					}).bind('mouseleave',function(){
						$('#gallery-tooltip').remove();
					});
				});
			},
			gallery : {
				init : function(){
					var root 		= this;

					root.$main 		= $('div.gallery');
					root.$slider 	= root.$main.find('div.side div.slide');
					root.$photo		= root.$main.find('div.main div.wrapper')
					root.$media     = root.$main.find('ul').hasClass('media-library');
					root.count 		= root.$slider.find('ul li').size();
					
					// THUMBS
					root.thumbpages	= Math.ceil(root.count/8);
					root.thumbwidth	= root.$slider.parent().width();
					root.thumbpage 	= 1;
					
					/* split lis */
					var $ul	= root.$slider.find('ul:first');
					for(var i = 0; i < root.thumbpages; i++){
						$ul.parent().append('<ul></ul>');
						$ul.find('li').slice(0,8).appendTo($ul.parent().find('ul:last'));
					}
					$ul.remove();

					/* correct slider width */
					root.$slider.width(root.thumbwidth*root.thumbpages);
					
					/* paging */
					root.$main.find('div.side').append('<ul class="index"><li class="prev" style="display: none;"><a href="#less">less</a></li><li class="next"><a href="#more">more</a></li></ul>');
					root.$thumbs = root.$main.find('div.side ul.index');
					root.$thumbs.find('a').click(function(){
						if($(this).parent().is('.next')){
							root.thumbs(root.thumbpage+1);
						} else {
							root.thumbs(root.thumbpage-1);
						}
						return false;
					});
					
					/* picture click */
					root.$slider.find('li').click(function(){
						var index = root.$slider.find('li').index($(this));
						root.show(index+1);
					}).find('img').hover(function(){
						$(this).addClass('over');
					},function(){
						$(this).removeClass('over');
					});
					
					// PAGING
					root.pagingpages	= Math.ceil((root.count-2)/(20-2));
					root.pagingwidth	= 468;
					root.pagingpage		= 1;
					
					/* inject code */
					var code = '<div class="pagination" style="display: none"><div class="pages-wrapper"><ul class="steps"><li class="prev"><a href="#prev">&laquo;</a></li><li class="next"><a href="#next">&raquo;</a></li></ul><div class="pages"><ul>';
					for(var i = 0; i < root.count; i++){
						code += '<li' + (i == 0 ? ' class="active"' : '') + '><a href="#photo-' + (i+1) + '">' + (i+1) + '</a></li>';
					}
					code += '</ul></div></div></div>';
					root.$photo.after(code);
					
					/* click events */
					root.$paging = root.$main.find('div.main div.pagination div.pages-wrapper');
					root.$pagingslide = root.$paging.find('div.pages ul');
					
					root.$paging.parent().fadeIn(900);
					
					root.$paging.find('ul.steps a').click(function(){
						if($(this).parent().is('.next')){
							root.show(root.current+1);
						} else {
							root.show(root.current-1);
						}
						return false;
					});
					
					root.$paging.find('div.pages ul a').click(function(){
						root.show($(this).html());
						return false;
					});
					
					// FINISH UP
					root.$main.find('div.main').css('background','none');
					root.show(1);
				},
				show : function(num){
					var root = this;
					num = parseInt(num);
					if(num === root.current || root.$photo.is(':animated') || root.$slider.is(':animated') || num < 1 || num > root.count) return false;
					
					// mark as active
					var $current = root.$slider.find('li:eq('+(num-1)+')');
					
					root.$slider.find('li img.active').removeClass('active');
					$current.find('img').addClass('active');
					
					// show selected
					root.$photo.fadeOut(300,function(){						
						root.player(this, $current.html());
						$(this).fadeIn(300);
					});
										
					// slide to proper thumbs page
					var page = Math.ceil(num/8);
					root.thumbs(page);
					
					// change paging
					root.paging(num);
					
					// store current
					root.current = num;
				},
				player : function(el, data) {
					//regular gallery
					if (this.$media === false) {
						return $(el).html(data);	
					}
					
					data = $(data);
					var url = data.filter('.media').find('a').attr('href'),
						height = data.filter('.height').text(),
						width = data.filter('.width').text();
					
					var matches = url.match(/\.([a-z]{3})$/i)
					
					if (typeof matches[1] === 'undefined') {
						throw "Cannot determine file type";	
					}
					
					var type = matches[1].toLowerCase();
					
					//determine which player to use, by default flvplayer
					var player = this.flvplayer;
					switch (type) {
						case 'wmv':
							//handle with JV WMV player			
							var player = this.wmvplayer;
							break;
						case 'swf':
							//embed as Flash file movie
							var player = this.swfplayer;
							break;
					}
					
					player({ "url" : url, "height" : height, "width" : width, target : el });
				},
				swfplayer : function(params) {
					$(params.target).html('<div id="player-movie"/>');
					swfobject.embedSWF(params.url, 'player-movie', params.width, params.height, "9.0.115.0",'vendor/flvplayer/expressInstall.swf',{},{ wmode : 'transparent' });
					
					$('#player-movie').css({
						'top' : Math.floor((400 - params.height)/2), 
						'left' : Math.floor((600 - params.width)/2) 
					});
				},
				wmvplayer : function(params){
					var str = '<iframe src="wmvplayer.php?f=' + escape(params.url) + '&w='+params.width+'&h='+params.height+'" id="player-movie" height="'+params.height+'" width="'+params.width+'" scrolling="no"></iframe>';
					$(params.target).html(str);
					
					$('#player-movie').css({
						'top' : Math.floor((400 - params.height)/2), 
						'left' : Math.floor((600 - params.width)/2) 
					});					
				},
				flvplayer : function(opts) {
					var flashvars = {
						height : opts.height,
						width : opts.width,
						overstretch : 'true',
						usefullscreen : 'false',
						showdigits : 'false',
						autostart : 'true',
						skin : 'vendor/swfplayer/simple.swf',
						file : opts.url
					};

					var params = {
						allowfullscreen : "false",
						allowscriptaccess : "always",
						wmode : "opaque",
						allownetworking : "all"				
					};

					$(opts.target).html('<div id="player-movie" />');					
					swfobject.embedSWF('vendor/flvplayer/player.swf', 'player-movie', opts.width, opts.height, "9.0.115.0",'vendor/flvplayer/expressInstall.swf', flashvars, params);
					
					$('#player-movie').css({
						'top' : Math.floor((400 - opts.height)/2), 
						'left' : Math.floor((600 - opts.width)/2) 
					});					
				},
				thumbs : function(page){
					var root = this;
					
					// check for same page
					if(page === root.thumbpage) return false;
					
					// change page
					root.$slider.animate({'marginLeft': -1*(page-1)*root.thumbwidth},300);
					
					// update next/prev links
					if(page > 1) root.$thumbs.find('li.prev').show();
					if(page < root.thumbpages) root.$thumbs.find('li.next').show();
					if(page == 1) root.$thumbs.find('li.prev').hide();
					if(page == root.thumbpages) root.$thumbs.find('li.next').hide();
					
					// update page
					root.thumbpage = page;					
				},
				paging : function(num){
					var root = this;
					root.$paging.find('div.pages ul li:eq(' + (num-1) + ')').addClass('active').siblings('.active').removeClass('active');
					
					// animate
					var page = parseInt(Math.floor((num-2)/(20-2)))+1;
					if (page == 0) page++;
					if(page != root.pagingpage && page <= root.pagingpages){
						root.$pagingslide.animate({'marginLeft': -1*((page-1)*root.pagingwidth)},300);
						root.pagingpage = page;
					}

					// update next/prev links
					if(num > 1) root.$paging.find('li.prev').show();
					if(num < root.count) root.$paging.find('li.next').show();
					if(num === 1) root.$paging.find('li.prev').hide();
					if(num === root.count) root.$paging.find('li.next').hide();
				}
			}
		},
		
		tweaks : {
			
			cartBox : function(){
			
				if ($('#catCartSummary .cartSummaryItem').html() != 'Shopping cart is empty.') {
						var summary = $('#catCartSummary .cartSummaryItem').text().split(" ");
						//url = $('.cartSummaryLink').attr('href');
						$(".cartContents").html(summary[0]);	
					
						
				}else{
				//console.log("cart empty");	
				}
				
			}, // end cartbox
			
			productDetail : function(){
				
			if(document.location.href.indexOf("_product_") != -1){ // prod large view is different than list
				$(".main-a").attr("class","main-b");
				$(".aside-a").attr("class","aside aside-b");
				}
				
				
			if(document.location.href.indexOf("_catalog_") != -1){ // ditch related slider on cats
					$("#relatedProds").hide();
				}
				
				if(document.location.href.indexOf("prints") != -1){ // ditch related slider on cats
					$("#relatedProds").hide();
					$("#breadcrumbs").hide();
				}
				
			if($("#realtedProdsHide").html() === ""){
					$("#relatedProds").hide();
				}
				
			// add dynamic slider name from prod {custom2}
			$(".prodCategoryName").html($("#prodCategory").html());
			
			// make slide h2 dynamic link from prod {custom3}
			$(".bar-a h2").find("a").attr("href",$("#catalogLink").html());
			
			// spit out featured prods 
			$(".slider-related .productfeaturelist").html($(".productfeaturelist").html());
			
			//freaking BC creates blank <li> for some reason:
			//$(".slider-related .productfeaturelist li:even").hide();
			
			

			
			}, // end productDetail
			
			homeBG : function(){
				
				$(".home #wrapper").attr("style","background:url("+$("#homeBackgroundImage").find("img").attr("src")+") no-repeat");
			}, // end homeBG
			
			loginPeepShow : function(){
			
			$("#btnLostPass").click(function(){
    			$("#lostPass").slideToggle();
				return false;
			});
		
			
			$("#btnRegister").click(function(){
    			$("#registerForm").slideToggle();
				return false;
			});
			
			
			},
			
			checkout : function(){
				// -----------------------------------------------------
				// This will copy over the shipping address value to the 
				// billing address.  Make sure the checkbox Id is "SameAsShipping"
				//
				// * Update - changed to check length and clear fields on unchecked
				// -----------------------------------------------------	
				$("#SameAsShipping").bind("change", function(e){
					
					var n = $("#SameAsShipping:checked").length
						if(n == 0){
							
							$("#BillingAddress").val('');
							$("#BillingCity").val('');
							$("#BillingState").val('');
							$("#BillingZip").val('');
							$("#BillingPhone").val('');
						}else{
							
							
							$("#BillingAddress").val($("#ShippingAddress").val());
							$("#BillingCity").val($("#ShippingCity").val());
							$("#BillingState").val($("#ShippingState").val());
							$("#BillingZip").val($("#ShippingZip").val());
							$("#BillingPhone").val($("#ShippingPhone").val());
						}
				
				});
				
				 if ($('input#Amount').val() === '0.00') {
									$('#PaymentMethodType_9').attr('checked','checked');
									   $('#credit-card-information').css('display','none');    
									   // alert($('input#Amount').val());    
									   }else{
										
										//console.log('nope not zero');
									}
				
				
		},// end checkout

		checkoutTotal : function(){
			
			$("#order-summary-value").html("$"+$("#Amount").val());
			
			
			},
			
		catLink : function(){
			
				$(".item").each(function(){
	
					var link = $(this).find("h2 a").attr("href");
		
					$(this).find(".more a").attr("href",link);
	   
				});
			
			},
			
			tweets : function(){
			  if ($('#tweets').size() === 0) { return;}
			
				$('#tweets').twit('trevorclark', {
				  limit: 5,
				  label: 'Twitter',
				  title: 'My tweets'
				});
			},
			
			noRightClick : function(){
				$(document).bind("contextmenu",function(e){
					return false;
				});	
			}
			
			
		
		}// end tweaks
	};

	Engine.utils.links();
	Engine.utils.mails();
	Engine.ui.gallery.init();
	Engine.ui.tooltips();
	
	Engine.tweaks.cartBox();
	Engine.tweaks.productDetail();
	Engine.tweaks.homeBG();
	Engine.tweaks.loginPeepShow();
	Engine.tweaks.checkout();
	Engine.tweaks.checkoutTotal();
	Engine.tweaks.catLink();
	Engine.tweaks.tweets();
	Engine.tweaks.noRightClick();
	
	var img = $(".media img").attr("src");
	// $("ul.media").html("<img src='"+img+"' />");
	
	$("#breadcrumbs").html($("#catBcrumb").html());
	
	
	
});