$(document).ready(function(){
		
	// attrs
	$(".attr__map").each(function(){
		var canvas = this;

		var latlng = new google.maps.LatLng(55.75, 37.59);
		var myOptions = {
			zoom: 14,
			center: latlng,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			scrollwheel: false,

			mapTypeControl: true,
			mapTypeControlOptions: {
				style: google.maps.MapTypeControlStyle.DEFAULT,
				position: google.maps.ControlPosition.TOP_RIGHT
			},
			panControl: true,
			panControlOptions: {
				position: google.maps.ControlPosition.RIGHT_TOP
			},
			zoomControl: true,
			zoomControlOptions: {
				style: google.maps.ZoomControlStyle.DEFAULT,
				position: google.maps.ControlPosition.RIGHT_CENTER
			},
			scaleControl: false,
			streetViewControl: true,
			streetViewControlOptions: {
				position: google.maps.ControlPosition.RIGHT_CENTER
			}
		};
		var map = new google.maps.Map(canvas, myOptions);
	

		// hotel
		var image = new google.maps.MarkerImage(
			'/i/marker-hotel2.png',
			new google.maps.Size(81, 71),
			new google.maps.Point(0, 0),
			new google.maps.Point(24, 70)
			);
		var myLatLng = new google.maps.LatLng(55.73976, 37.595676);
		var hotelMarker = new google.maps.Marker({
			position: myLatLng,
			map: map,
			icon: image
		});
	
		// points
		var image2 = new google.maps.MarkerImage(
			'/i/marker-point.png',
			new google.maps.Size(33, 30),
			new google.maps.Point(0, 0),
			new google.maps.Point(10, 28)
			);

		var latlng1 = [];
		
		$(".attrs LI A[data-long]").each(function(){
			latlng1.push(new google.maps.LatLng($(this).attr("data-long"), $(this).attr("data-lat")));
		});
		
		var markers = [];
		
		for ( var i = 0; i < latlng1.length; i++ )	{
			var marker = new google.maps.Marker({
				position: latlng1[i],
				map: map,
				icon: image2,
				title: $(".attrs LI:not(.all)").eq(i).text(),
				click: function(){
					alert(1);
				}
			});
			marker.myid = i;
			markers.push(marker);
			
			google.maps.event.addListener(marker, 'click', function() {
				$(".attrs LI:not(.all) A").eq(this.myid).trigger("click");
				return false;
			});
		}
		
		var latlngbounds = new google.maps.LatLngBounds();
		for ( var i = 0; i < latlng1.length; i++ ) {
			latlngbounds.extend( latlng1[ i ] );
		}
		latlngbounds.extend(myLatLng);
		map.fitBounds(latlngbounds);
		map.panToBounds(latlngbounds);
		
		// logic
		$(".attrs").each(function(){
			var par = $(this),
				items = $("LI", this),
				blocks_wrap = $(this).closest(".body").find(".attr__info"),
				blocks = $(".place", blocks_wrap);
   
			items.click(function(){
				var pos = $(this).prevAll(":not(.all)").length;
				if (!$(this).hasClass("cur")) {
					$(this).addClass("cur").siblings(".cur").removeClass("cur");
   
					if ($(this).hasClass("all")) {
						blocks_wrap.hide();
						for ( var i = 0; i < markers.length; i++ )	{
							markers[i].setVisible(true);
						}
						map.fitBounds(latlngbounds);
						map.panToBounds(latlngbounds);
					}
					else {
						blocks_wrap.show();
						blocks.eq(pos).show().siblings(".place").hide();
						
						for ( var i = 0; i < markers.length; i++ )	{
							markers[i].setVisible(false);
						}
						markers[pos].setVisible(true);
						var latlngbounds1 = new google.maps.LatLngBounds();
						latlngbounds1.extend(latlng1[pos]);
						latlngbounds1.extend(myLatLng);
						map.fitBounds(latlngbounds1);
						map.panToBounds(latlngbounds1);
					}
				}
				return false;
			});
		});

	});
	
	
	// contacts
	$(".contacts-map").each(function(){
		var canvas = this;

		var latlng = new google.maps.LatLng(55.75, 37.59);
		var myOptions = {
			zoom: 14,
			center: latlng,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			scrollwheel: false,

			mapTypeControl: false,
			panControl: false,
			zoomControl: true,
			zoomControlOptions: {
				style: google.maps.ZoomControlStyle.DEFAULT,
				position: google.maps.ControlPosition.RIGHT_CENTER
			},
			scaleControl: false,
			streetViewControl: false
		};
		
		var map = new google.maps.Map(canvas, myOptions);

		var image = new google.maps.MarkerImage('/i/marker-hotel.png', google.maps.Point(59, 108));
		var myLatLng = new google.maps.LatLng(55.73976, 37.595676);
		var hotelMarker = new google.maps.Marker({
			position: myLatLng,
			map: map,
			icon: image
		});

			google.maps.event.addListener(hotelMarker, 'click', function() {

				if ( $('.contacts-box').is('.vis') )
					{
					$('.contacts-box').animate({ opacity: "hide" }, "slow");
					$('.contacts-box').removeClass('vis');
					map.setCenter(myLatLng);
					}
				else 
					{
					$('.contacts-box').animate({ opacity: "show" }, "slow");
					$('.contacts-box').addClass('vis');
					map.setCenter(latlng);
					}
					// return false;
			});

	});
	
	
	// fancybox
	$(".link-fancy-youtube").each(function(){
		$(this).fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'transitionIn'	: 'none',
			'transitionOut'	: 'none',
			'overlayColor'	: '#000',
			'title'			: this.title,
			'width'			: 680,
			'height'		: 495,
			'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
			'type'			: 'swf',
			'swf'			: {
				'wmode'				: 'transparent',
				'allowfullscreen'	: 'true'
			}
		});
	});
	
	
	// $(".gal a[rel], .link-fancy-pic").each(function(){
	// 	$(this).fancybox({
	// 		'autoScale'		: false,
	// 		'transitionIn'	: 'none',
	// 		'transitionOut'	: 'none',
	// 		'overlayColor'	: '#000',
	// 		'title'			: this.title,
	// 		'cyclic'		: true,
	// 		'changeSpeed'	: 0,
	// 		'changeFade'	: 0,
	// 		'titlePosition'	: 'inside',
	// 		onComplete: function(){
	// 			$("#fancybox-right").width($(window).width() - $("#fancybox-right").offset().left);
	// 			$("#fancybox-left").width($("#fancybox-outer").offset().left);
	// 			// $('<a href="#" class="fancy-close">закрыть</a>').prependTo("#fancybox-title");
	// 		}
	// 	});
		
	// 	$()
	// });
	
	$("body").delegate("#fancybox-wrap .fancy-close", "click", function(){
		$.fancybox.close();
		return false;
	});
	
	// js-cal
	$(".js-cal").each(function(){
		var par = $(this),
			sel_day = $(".js-cal__dd", this),
			sel_month = $(".js-cal__mmyy", this),
			tg = $(".link-cal", this),
			hid = $("<input type='text' />").insertBefore(tg).hide();

		//input.mask("99/99/9999");


		hid.datepicker({
			dateFormat: "d yy-mm",
			onSelect: function(dateText, inst) {
				sel_day.val(dateText.split(" ")[0]);
				sel_month.val(dateText.split(" ")[1]);
			}
		})
		
		tg.click(function(){
			hid.datepicker("show");
			return false;
		});
	});
	

}); // dom ready


// jQuery.ScrollTo
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

// jQuery.Browser
(function($){$.browserTest=function(a,z){var u='unknown',x='X',m=function(r,h){for(var i=0;i<h.length;i=i+1){r=r.replace(h[i][0],h[i][1]);}return r;},c=function(i,a,b,c){var r={name:m((a.exec(i)||[u,u])[1],b)};r[r.name]=true;r.version=(c.exec(i)||[x,x,x,x])[3];if(r.name.match(/safari/)&&r.version>400){r.version='2.0';}if(r.name==='presto'){r.version=($.browser.version>9.27)?'futhark':'linear_b';}r.versionNumber=parseFloat(r.version,10)||0;r.versionX=(r.version!==x)?(r.version+'').substr(0,1):x;r.className=r.name+r.versionX;return r;};a=(a.match(/Opera|Navigator|Minefield|KHTML|Chrome/)?m(a,[[/(Firefox|MSIE|KHTML,\slike\sGecko|Konqueror)/,''],['Chrome Safari','Chrome'],['KHTML','Konqueror'],['Minefield','Firefox'],['Navigator','Netscape']]):a).toLowerCase();$.browser=$.extend((!z)?$.browser:{},c(a,/(camino|chrome|firefox|netscape|konqueror|lynx|msie|opera|safari)/,[],/(camino|chrome|firefox|netscape|netscape6|opera|version|konqueror|lynx|msie|safari)(\/|\s)([a-z0-9\.\+]*?)(\;|dev|rel|\s|$)/));$.layout=c(a,/(gecko|konqueror|msie|opera|webkit)/,[['konqueror','khtml'],['msie','trident'],['opera','presto']],/(applewebkit|rv|konqueror|msie)(\:|\/|\s)([a-z0-9\.]*?)(\;|\)|\s)/);$.os={name:(/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase())||[u])[0].replace('sunos','solaris')};if(!z){$('html').addClass([$.os.name,$.browser.name,$.browser.className,$.layout.name,$.layout.className].join(' '));}};$.browserTest(navigator.userAgent);})(jQuery);

// jQuery.Hotkeys
(function(jQuery){jQuery.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",191:"/",224:"meta"},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":": ","'":"\"",",":"<",".":">","/":"?","\\":"|"}};function keyHandler(handleObj){if(typeof handleObj.data!=="string"){return}var origHandler=handleObj.handler,keys=handleObj.data.toLowerCase().split(" ");handleObj.handler=function(event){if(this!==event.target&&(/textarea|select/i.test(event.target.nodeName)||event.target.type==="text")){return}var special=event.type!=="keypress"&&jQuery.hotkeys.specialKeys[event.which],character=String.fromCharCode(event.which).toLowerCase(),key,modif="",possible={};if(event.altKey&&special!=="alt"){modif+="alt+"}if(event.ctrlKey&&special!=="ctrl"){modif+="ctrl+"}if(event.metaKey&&!event.ctrlKey&&special!=="meta"){modif+="meta+"}if(event.shiftKey&&special!=="shift"){modif+="shift+"}if(special){possible[modif+special]=true}else{possible[modif+character]=true;possible[modif+jQuery.hotkeys.shiftNums[character]]=true;if(modif==="shift+"){possible[jQuery.hotkeys.shiftNums[character]]=true}}for(var i=0,l=keys.length;i<l;i++){if(possible[keys[i]]){return origHandler.apply(this,arguments)}}}}jQuery.each(["keydown","keyup","keypress"],function(){jQuery.event.special[this]={add:keyHandler}})})(jQuery);
