/*
 * jQuery UI Effects 1.8.5
 *
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Effects/
 */
jQuery.effects||function(f,j){function l(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return m.transparent;return m[f.trim(c).toLowerCase()]}function r(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return l(b)}function n(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function o(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in s||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function t(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d=
a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=r(b.elem,a);b.end=l(b.end);b.colorInit=
true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var m={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,
183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,
165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},p=["add","remove","toggle"],s={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=o(n.call(this)),q,u=e.attr("className");f.each(p,function(v,
i){c[i]&&e[i+"Class"](c[i])});q=o(n.call(this));e.attr("className",u);e.animate(t(h,q),a,b,function(){f.each(p,function(v,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?
f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.5",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==
null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();
var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});
c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c||
typeof c=="number"||f.fx.speeds[c]||!f.effects[c])return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||!f.effects[c])return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||!f.effects[c]||typeof c==
"boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,
a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=
e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+
b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/
2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*
a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;
return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,
a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
;

function openSust(){
window.location.href='http://stage.thegreenwichhote.com';
}
function showImages(){
	
	$('#gallery .image-bar').trigger('mouseover');
}
core.rooms ={
		init : function(){
			$.address.crawlable(true);
			
			$("body").ajaxStart(function(){
				$(this).css('cursor','wait');
			});
			$("body").ajaxStop(function(){
				$(this).css('cursor','');
			});
			
			var myregexp = new RegExp("^#|http://" + location.host);
			
			$('#nav-tier2 a:not([href^=http]), #nav-rooms a:not([href^=http]),#nav-rooms a:not(#sustainability)')
			.address(function(){
				return $(this).attr('href').replace(myregexp, '');  
			});
			
			$('#nav-rooms li a,#nav-rooms a:not(#sustainability)')
			.live(
				'click',
				function(e){
					e.preventDefault();
					$.address.path( $(this).attr('href').replace(myregexp, '') );
				}
			);
			
			
			
			$(window)
			.resize(
				function(){
					$('#photos img, #gallery img').each(
						function(){
							core.fn.resizer( $(this) );
						}
					);
				}
			);
			
			$('.image-bar ul li a')
			.live(
				'click',
				function(e){
					e.preventDefault();
					//$.address.path( $(this).attr('href') );
					var that = $(this),
						sibs = that.closest('ul').find('a'),
						index = sibs.index(that);
						//Adding show images link if browser is an idevice
					if($('#nav-info #showImage').length==0 && vars.idevice)
						$('#nav-info').append('<li id="showImage" style="margin-bottom:1px;"><a  href="javascript:showImages();">Show Thumbnails</a></li>');	
					$.address.queryString(index+'');
				}
			);
			
			$('#nav-info .floorplan a')
			.live(
				'click',
				function(e){
					e.preventDefault();
					//$.address.path( $(this).attr('href') );
					var index = $('.image-bar ul li a').size()-1;
						echo(index)
					$.address.queryString(index+'');
					$('#gallery .image-bar').trigger('mouseout');
					if($('#nav-info #showImage').length==0)
						$('#nav-info').append('<li id="showImage" style="margin-bottom:1px;"><a  href="javascript:showImages();">Show Thumbnails</a></li>');
						
				}
			);
			
			
			$('#gallery .image-bar')
			.live('mouseover mouseout click',
				function(event){
					if (event.type == 'mouseover' || event.type == 'click') {
						$(this).parent().find('.bg,.image-area')
						.stop()
						.animate({left:0},{duration:500});
					} else {
						$(this).parent().find('.bg,.image-area')
						.stop()
						.animate({left:-155},{duration:500});
					}
				}
			);
			
			
				vars.jqphotos = $('#photos .holder'),
				vars.jqbase   = $('#bodyCol .base');
				vars.gallery  = $('#gallery');
				vars.colTwo   = $('#snavCol');
				vars.colThree = $('#contentCol');
		}
	};

core.fn.resizer = function(img){
		var minus = ($('body').hasClass('with-thirdtier-nav')) ? 397 : 0;

		img
		.data('startwidth', img.get(0).width)
		.data('startheight', img.get(0).height)
		.width('100%')
		.width(
			function(){
				return img.width()-minus;
			}
		)
		.height(
			Math.round(
				img
					.data('startheight')*((img.width())/img.data('startwidth'))
			)
		)
		.width(img.width());
		
		var p = $('#bodyCol');
		
		echo( p.height() )
		
		if( img.height() > p.height() ){
			img.css({'width':'','height':p.height()});
		}
	};
	
core.fn.setImage = function( index ){
	if( index.length ===0 ){
		index = 0;
	}
	var as = $('.image-bar ul li a'),
		that = as.eq(index),
		src = that.attr('href'),
		img = $('#gallery-image-'+index);
		
		$('.jcarousel-list')
		.stop()
		.animate({backgroundPosition:"0px "+(parseInt(that.position().top,10)-2)+"px"},{duration:500});
	
	if( img.size() ){
		$('#gallery img.galery-image:not(:hidden)').fadeOut();
		img.fadeIn();
	}
	else{
		img = $('<img src="'+src+'" class="nne galery-image" id="gallery-image-'+index+'"/>')
		.prependTo('#gallery')
		.onImagesLoad({
			itemCallback : function( el ){
				var jqimg = $( this );
				
				jqimg.css('opacity',0.1).removeClass('nne');
			
				core.fn.resizer( jqimg );
				
				jqimg.hide().css('opacity','');
				
				$('#gallery img.galery-image:not(:hidden)').fadeOut();
				
				jqimg.fadeIn();
			}
		});
	}
};

core.fn.shrinkColTwo = function(){
	vars.colTwo.animate({width:5}, 500,'easeInQuad',function(){});
};
core.fn.expandColTwo = function(){
	vars.colTwo.animate({width:155}, 500,'easeInQuad',function(){});
};

core.fn.shrinkColThree = function(){
	vars.colThree.animate({'width':0}, 400, 'easeInOutCirc', function(){$(this).hide();});
};
core.fn.expandColThree = function(){
	vars.colThree.width(0).show().animate({'width':237}, 400, 'easeInOutCirc');
};
	
core.fn.handler = function( data ){
	echo('core -> fn -> handler','info');
	var html = $( data ).filter('div'),
		ic = html.eq(0),
		ib = html.eq(1);
			
	if( vars.jqbase.is(':not(:hidden)') ){
		vars.jqbase.fadeOut();
		core.fn.shrinkColTwo();
		core.fn.expandColThree();
			
			
		$('body').addClass('with-thirdtier-nav');
		
		//core.fn.set_winsize();
	}

	vars.colThree.find('.gut').html(ic);
	
	Cufon.replace('.colThree .gut h2, .colThree .gut li, .colThree .gut p');
	
	vars.colThree.find('.gut').fadeIn();
			
	var fn = function(){
		$(".image-area").jcarousel({
			vertical : true,
			scroll: 1,
			initCallback: function( carousel ){
				$('.next',carousel.container).bind('click', function() {
					carousel.next();
					return false;
				});

				$('.prev',carousel.container).bind('click', function() {
					carousel.prev();
					return false;
				});
			},
			buttonNextCallback : function(){},
			buttonPrevCallback : function(){},
			itemVisibleInCallback : {
				onBeforeAnimation : function(carousel, item, idx, state){
					if( state == 'init' ){ return; }
				},
				onAfterAnimation : function(carousel, item, idx, state){
					if( state == 'init' ){ return; }
				}
			},
			itemFallbackDimension:100
		});
		
		var carousel = jQuery('.image-area').data('jcarousel');
		
		if( carousel.options.size <= 4 ){
			$('.jcarousel-next',carousel.container)
				.addClass('jcarousel-next-disabled')
				.addClass('jcarousel-next-disabled-horizontal');
		}
		
		vars.gallery.fadeIn();
		if( $.browser.msie && parseInt($.browser.version,10)<7 ){
			DD_belatedPNG.fix('#gallery .jcarousel-container .jcarousel-clip .jcarousel-list, .info-col h1 img');
		}
		core.fn.setImage( $.address.queryString() );	
	};
	
	if( vars.gallery.is(':hidden') ){
		vars.gallery.append( ib );
		fn();
	}
	else{
		vars.gallery.fadeOut(function(){
			vars.gallery.html( ib );
			fn();
		});
	}
	
	setTimeout(
		function(){
			
			var imgs = $('.jcarousel-item a'),
				it = 0,
				pl = function( img ){
					var i = new Image();
					i.onload = function(){
						pl( imgs.eq(it++).attr('href') );
					};
					i.src = img;
				};
			
			pl( imgs.eq(it++).attr('href') );
		}, 2000
	);
	
};

$.address
.change(
	function( event ){
		vars.jqbase   = $('#bodyCol .base');
		if( event.path == '/' ){
			if( vars.jqbase.is(':hidden') ){
				vars.jqbase.fadeIn();
				vars.gallery.fadeOut(function(){vars.gallery.empty();});
				core.fn.expandColTwo();
				core.fn.shrinkColThree();
					
			}
			vars.lastpg = event.path;
		}
		else{
		
			if( vars.lastpg == event.path ){
				core.fn.setImage( event.queryString );
				return;
			}
			
			vars.lastpg = event.path;
			
			$.get(
				event.path,
				{'ajax':true},
				core.fn.handler
			);
		}
	}
);
