$(document).ready(function(){
	var show_block = $('#show');//фотки на главной
	var qv_block = $('#question_popup');//форма задать вопрос
	var swf_show = $('#swf_show');//панорамы
	var house = $('#house');//коттедж в усть-качке
	var pano = $('#pano_wrap');//панорамы на страницах номеров
	var res_wrap = $('#res_wrap');//бронировать
	
	/*крутилка фоток на главной*/
	$('#slider').cycle({ 
		fx:      'fade',			
		speed:    3000, 
		timeout:  2000
	});
	
	/*фотогалерея на главной*/
	$('#c_gallery div:last').css('margin-right','0');//отступ последнего блока в ряду
	$('#c_gallery div').mouseover(function(){
		$(this).css('background','url("images/img_border.png") no-repeat')//добавляем рамку при наведении
	});
	$('#c_gallery div').mouseout(function(){   //убираем рамку
			$(this).css('background','none')
	});	
	
	var f_index = $('#c_gallery div:first').index()+1;	
	var l_index = $('#c_gallery div:last').index()+1;
	$('#c_gallery div img').click(function(){
		$('#c_gallery div img').removeClass('current');
		$(this).addClass('current');
		
		var path = $(this).attr('src');
		var large_path = path.replace(new RegExp('/s/'),'/b/');
		var offset = $(document).scrollTop();
		$('#popup_in').append(show_block);
		$('#popup').css({'top':+ (offset+150) + 'px'});
		$('#popup, #shadow, #show').removeClass('none');
		$('#img_show').html('<img src="' + large_path + '" alt="" />');
		
		var index = $(this).parent().index()+1;
		if (index == f_index){
			$('#prev').css('display','none');
			$('#next').css('display','block');
		}
		if ( index == l_index){
			$('#prev').css('display','block');
			$('#next').css('display','none');
		}
		if ( index < l_index && index > f_index){
			$('#prev').css('display','block');
			$('#next').css('display','block');
		}		
	});
	
	$('#next').click(function(){
		$('img.current').parent().next().children().addClass('current');
		var nimg = $('img.current').parent().prev().children();
		if($(nimg).hasClass('current')){
			$(nimg).removeClass('current')
		}
		var ni = $('img.current').parent().index()+1;
		var d = ni;
		if (d == f_index){
			$('#prev').css('display','none');
			$('#next').css('display','block');
		}
		if ( d == l_index){
			$('#prev').css('display','block');
			$('#next').css('display','none');
		}
		if ( d < l_index && d > f_index){
			$('#prev').css('display','block');
			$('#next').css('display','block');
		}
		$('#img_show').html('<img src="/images/c_gallery/b/c_room' +  d  +'.jpg" alt="" />');
	});
	
	$('#prev').click(function(){
		$('img.current').parent().prev().children().addClass('current');
		var pimg = $('img.current').parent().next().children();
		if($(pimg).hasClass('current')){
			$(pimg).removeClass('current')
		}
		var pi = $('img.current').parent().index()+1;
		var d = pi;
		if (d == f_index){
			$('#prev').css('display','none');
			$('#next').css('display','block');
		}
		if ( d == l_index){
			$('#prev').css('display','block');
			$('#next').css('display','none');
		}
		if ( d < l_index && d > f_index){
			$('#prev').css('display','block');
			$('#next').css('display','block');
		}
		$('#img_show').html('<img src="/images/c_gallery/b/c_room' +  d  +'.jpg" alt="" />');
	});
	
	$('#prev, #next, #c_gallery div img').click(function(){
		var img_head = $('img.current').attr('alt');
		$('#img_head').html(''+img_head+'');
	});
	
	/*кнопка закрытия попапов*/	
	$('.close, #shadow').click(function(){
		$('#shadow, .popup, .popup1, #show, #swf_show, #popup, #pano_wrap, #res_wrap').addClass('none');
		$('#shadow').css('display','none');
		$('#shell').append(show_block);
		$('#shell').append(qv_block);
		$('#shell').append(swf_show);
		$('#shell').append(house);
		$('#shell').append(pano);
		$('#f1_list a').removeClass('current_swf');
		$('#f2_list a').removeClass('current_swf');
	});
	$('.close1').click(function(){
		$('#shadow, send').addClass('none');
	});
		
	/*форма задать вопрос*/	
	$('#bell').click(function(){
		var offset = $(document).scrollTop();
		$('#popup').css({'top':+ (offset+150) + 'px'});
		$('#popup_in').append(qv_block);
		$('#shadow, #popup, #question_popup').removeClass('none');	
		$('#shadow').css('display','block');	
	});	
	
	/*форма бронировать номер*/	
	$('#res_form').click(function(){
		var offset = $(document).scrollTop();
		$('#popup').css({'top':+ (offset+150) + 'px'});
		$('#popup_in').append(res_wrap);
		$('#shadow, #popup, #res_wrap').removeClass('none');	
		$('#shadow').css('display','block');
	});

	/*minigallery*/	
	$('.minigallery_thumbs img:first').addClass('img_active');
	$('.minigallery_thumbs img').click(function(){
		var mg_path = $(this).attr('src');
		var mg_large_path = mg_path.replace(new RegExp('/s/'),'/b/');
		$("#big_img").attr({ src: mg_large_path});
		$('.minigallery_thumbs img').removeClass('img_active');
		$(this).addClass('img_active')
	});
	
	/*house ust-kachka*/
	$('#house_test').click(function(){
		$('#popup_in').append(house);
		var offset = $(document).scrollTop();
		$('#popup').css({'top':+ (offset+50) + 'px'});
		$('#popup, #shadow, #house').removeClass('none');
	});
	
	/*switch rooms*/
	var room_link = $('div.switch_room a');	
	$('div.switch_room a:first').addClass('f_link');
	if($('div.switch_room a').hasClass('f_link item_room')){
		$('a.f_link item_room').css('margin-left','-5px');
	}
	var room_path = $('a.item_room').attr('title');
		$('img.big_r_img').attr({src: '/images/rooms/'+ room_path +'/b/room1.jpg'})
		$(init);		
		function init() {				
			$('img.r_img').attr( 'src', setSrc );
			function setSrc( index, attributeValue ) {
				var room_path = $('a.item_room').attr('title');
				var thumbs_path = '/images/rooms/'+ room_path +'/s/room';
				return ( thumbs_path + (index+1)+ '.jpg');
			}
		}
	$(room_link).click(function(){	
		$('img.img_active').removeClass('img_active');
		$('div.f_line img:first').addClass('img_active');
	
		$(room_link).removeClass('item_room');
		$(this).toggleClass('item_room');	
										
		var room_path = $('a.item_room').attr('title');
		$('img.big_r_img').attr({src: '/images/rooms/'+ room_path +'/b/room1.jpg'})
		$(init);		
		function init() {				
			$('img.r_img').attr( 'src', setSrc );
			function setSrc( index, attributeValue ) {
				var room_path = $('a.item_room').attr('title');
				var thumbs_path = '/images/rooms/'+ room_path +'/s/room';
				return ( thumbs_path + (index+1)+ '.jpg');
			}
		}
		if($('div.switch_room a').hasClass('f_link item_room')){
		$(this).css('margin-left','-5px');
		}
	});
	
	/*rooms view pano*/
	$('#view_pano').click(function(){
		if($('.switch_room').length){
			var pano_xml = $('.switch_room .item_room').attr('title');
			var pano_name = $('.switch_room .item_room').attr('longdesc');
		}else{
			pano_xml = $('.minigallery').attr('alt');
			pano_name = $('.minigallery').attr('longdesc');
		}
		var so = new SWFObject("panoramas/panoram.swf", "vpano", "600", "300", "9", "#000000"); 
		so.addVariable("xml_file", "panoramas/" + pano_xml + ".xml");
		so.addParam("allowFullScreen","true");
		so.addParam("allowScriptAccess","always");
		so.write("pano");
		var offset = $(document).scrollTop();
		$('#popup').css('top',+ (offset+150) + 'px');
		$('#pano_head').html(''+pano_name+'');
		$('#popup_in').append(pano);
		$('#popup, #shadow, #pano_wrap').removeClass('none');
	});
	
	/*panoramas*/
	$('#f1_list a, #f2_list a').click(function pan(){
		$(this).addClass('current_swf');
		function add(){
			var swf_head = $('a.current_swf').attr('title');
			$('#swf_head').html(''+swf_head+'');
			if ($('a.current_swf').hasClass('choose') === true){							
				var so = new SWFObject("panoramas/panoram.swf", "pan", "600", "300", "9", "#000000"); 
				so.addVariable("xml_file", "panoramas/" + p_xml + ".xml");
				so.addParam("allowFullScreen","true");
				so.addParam("allowScriptAccess","sameDomain");
				so.write("panorama");
			}
			else{
				$('#panorama').html('<img src="panoramas/' + p_xml + '.jpg" alt="'+ swf_head +'" />');
			}
		}	
		var p_xml = $(this).attr('id');
		var ioffset = $(document).scrollTop();
		$('#popup').css('top',ioffset);
		$(add);				
		$('#popup_in').append(swf_show);
		$('#popup, #shadow,#swf_show').removeClass('none');	
	});
	
	$('#next_swf').click(function(){			
		var wrap_id = $('a.current_swf').parent().attr('id');
		var p_elem = '#'+wrap_id;
			function add(){
			var swf_head = $('a.current_swf').attr('title');
			$('#swf_head').html(''+swf_head+'');
			if ($('a.current_swf').hasClass('choose') === true){//проверяем по классу есть ли панорама для этой сслыки
				var so = new SWFObject("panoramas/panoram.swf", "pan", "600", "300", "9", "#000000"); 
				so.addVariable("xml_file", "panoramas/" + p_xml + ".xml");
				so.addParam("allowFullScreen","true");
				so.addParam("allowScriptAccess","sameDomain");
				so.write("panorama");
			}
			else{//если нет грузим в попап картинку
				$('#panorama').html('<img src="panoramas/' + p_xml + '.jpg" alt="'+ swf_head +'" />');
			}
			}	
	
			if($('a.current_swf').next('a').length){//проверяемм существование следующей ссылки в списке
				var nswf = $('a.current_swf').next().addClass('current_swf').attr('id');//присваем следующей ссылке активный класс
				$('a.current_swf').prev().removeClass('current_swf');//текущий становится предыдущим, убираем с него активный класс
				p_xml = nswf;
				$(add);	
			}else{//если ссылка последняя
				nfswf = $(p_elem + ' a:first').attr('id');//у первой ссылки в списке берем name
				$(p_elem + ' a:last').removeClass('current_swf');
				$(p_elem + ' a:first').addClass('current_swf');//присваеваем ей активный класс
				p_xml = nfswf;
				$(add);
			}			
	});
	
		$('#prev_swf').click(function(){
			var wrap_id = $('a.current_swf').parent().attr('id');	
			var p_elem = '#'+wrap_id;	
			function add(){
			var swf_head = $('a.current_swf').attr('title');
			$('#swf_head').html(''+swf_head+'');
			if ($('a.current_swf').hasClass('choose') === true){							
				var so = new SWFObject("panoramas/panoram.swf", "pan", "600", "300", "9", "#000000"); 
				so.addVariable("xml_file", "panoramas/" + p_xml + ".xml");
				so.addParam("allowFullScreen","true");
				so.addParam("allowScriptAccess","sameDomain");
				so.write("panorama");
			}
			else{
				$('#panorama').html('<img src="panoramas/' + p_xml + '.jpg" alt="'+ swf_head +'" />');
			}
			}		
			
			if($('a.current_swf').prev('a').length){
				var pswf = $('a.current_swf').prev().addClass('current_swf').attr('id');
				$('a.current_swf').next().removeClass('current_swf');				
					p_xml = pswf;
					$(add);	
			}else{
				pfswf = $(p_elem + ' a:last').attr('id');
				$(p_elem + ' a:first').removeClass('current_swf');
				$(p_elem + ' a:last').addClass('current_swf');
				p_xml = pfswf;
				$(add);
			}	
		});	
		
		
	
	/*сообщение отправлено*/
	if(post == 1){
		var offset = $(document).scrollTop();
		$('#shadow').css('display','block');
		$('#send').css({'visibility':'visible', 'display':'block','top':+ (offset+150) + 'px'});
		$('#send, #shadow').fadeOut(6000).addClass('none');
	}
	post=0;	
	
	/*форма бронирования*/	
	$('#reserve_btn').click(function(){
		$('#shadow, #reserve_popup').css('display','block');
		var rw = $('#reserve_popup').width();
		$('#reserve_popup').css({'margin-left':'-'+(rw+300)/2+'px','z-index':'300'});	
		$('#shadow').css('z-index','300');		
	});	
	
	/*for ie6 die*/
	if ($.browser.msie && $.browser.version == 6) {
		$('#foriedie').css('display','block');
	}	
	
});	
	
	/*google maps*/
	$(addMap);
	function addMap() {
      if (GBrowserIsCompatible()) {
		var oIcon = new GIcon(G_DEFAULT_ICON);
		oIcon.image = "/images/map_point.gif";
		oIcon.iconSize = new GSize(163, 95);
		oIcon.iconAnchor = new GPoint(58.004311,55.677711); 

        var map = new GMap2(document.getElementById("smap"));
		map.setUIToDefault();
		map.setMapType(G_HYBRID_MAP);
		var point1 = new GLatLng(parseFloat(58.004311),parseFloat(55.677711));
		map.addOverlay(new GMarker(point1, oIcon));
        map.setCenter(new GLatLng(58.004028,55.677915), 17);
		
		var nIcon = new GIcon(G_DEFAULT_ICON);
        var fmap = new GMap2(document.getElementById("fmap"));
		fmap.setUIToDefault();
		var point2 = new GLatLng(parseFloat(58.005133),parseFloat(55.680156));
		fmap.addOverlay(new GMarker(point2, nIcon));
        fmap.setCenter(new GLatLng(58.005101,55.679812), 10);		
      }
    }
				
		/*проверка почтовой формы*/				
		function checkform_qv(of){
		  if(!document.getElementById || !document.createTextNode){return;}//проверка DOM
		  if(!document.getElementById('required_qv')){return;}//проверка существования поля required
		  var errorID='errormsg';//этот id приваевается сообщения об ошибке над над кнопкой "отправить"
		  var errorClass='error';//имя класса которое присваивается полю с ошибкой
		  var errorMsg='Пожалуйста заполните отмеченные поля';//сообщение выводиться в случае ошибки над кнопкой отправить
		 var reqfields=document.getElementById('required_qv').value.split(',');//смотрим поля которые надо проверить
		  // очистка старых сообщений
		  // if there is an old errormessage field, delete it
		  if(document.getElementById(errorID))
		  {
			var em=document.getElementById(errorID);
			em.parentNode.removeChild(em);
		  }
		  // убираем прежние сообщения из проверяемых полей
		  for(var i=0;i<reqfields.length;i++)//смотрим все поля
		  {
			var f=document.getElementById(reqfields[i]);
			if(!f){continue;}			
			f.className='';//удаляем класс поля
		  }
		  // поиск проверяемых полей
			for(var i=0;i<reqfields.length;i++)
			  {
			// проверка заполнения полей
				var f=document.getElementById(reqfields[i]);
				if(!f){continue;}

			// проверка полей на заполнение по типам 
				switch(f.type.toLowerCase())
				{
				  case 'text':
					if(f.value=='' && f.id!='email'){cf_adderr(f)}
			// email проверяется регулярным выражением (функция с ним внизу)
					if(f.id=='email' && !cf_isEmailAddr(f.value)){cf_adderr(f)}  
					if(f.id=='email' && !cf_isEmailAddr(f.value) && document.question_form.email.value != '') 
						{document.getElementById('email_err').innerHTML = '<span style="color:red">Поле заполнено неверно</span>';} 						else 
						{document.getElementById('email_err').innerHTML = ' ';}	
				  break;
				  case 'textarea':
					if(f.value==''){cf_adderr(f)}					
				  break;
				  case 'checkbox':
					if(!f.checked){cf_adderr(f)}              
				  break;
				  case 'select-one':
					if(!f.selectedIndex && f.selectedIndex==0){cf_adderr(f)}              
				  break;
				}				
			  }
			  
			return !document.getElementById(errorID);

			/* Tool methods */
		function cf_adderr(o)
		  {
			o.className=errorClass;										
			// Check if there is no error message
			if(!document.getElementById(errorID))
			{
			// создаем сообщение об ошибке и помещаем над кнопкой отправить
			  var em=document.createElement('div');
			  em.id=errorID;
			  em.appendChild(document.createTextNode(errorMsg))			  
			  
			// ищем кнопку отправить по типу submit 
			  for(var i=0;i<of.getElementsByTagName('input').length;i++)
			  {
				if(/submit/i.test(of.getElementsByTagName('input')[i].type))
				{
				  var sb=of.getElementsByTagName('input')[i];
				  break;
				}
			  }
			  if(sb)
			  {
				sb.parentNode.insertBefore(em,sb);
			  }  
			} 
		  }
		  
		function cf_isEmailAddr(str) 
		  {
			return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
		  }		
		}
		
		function checkform_rs(of){
		if(!document.getElementById || !document.createTextNode){return;}
		if(!document.getElementById('required_rs')){return;}
		var errorID='errormsg';
		var errorClass='error';
		var errorMsg='Пожалуйста, заполните отмеченные поля';
		var reqfields=document.getElementById('required_rs').value.split(',');
		if(document.getElementById(errorID)){
			var em=document.getElementById(errorID);
			em.parentNode.removeChild(em);
		}
		for(var i=0;i<reqfields.length;i++){
			var f=document.getElementById(reqfields[i]);
			if(!f){continue;}f.className='';
		 }
		for(var i=0;i<reqfields.length;i++){
			var f=document.getElementById(reqfields[i]);
			if(!f){continue;}
				switch(f.type.toLowerCase()){
				  case 'text':
					if(f.value=='' && f.id!='email'){cf_adderr(f)}
					if(f.id=='email1' && !cf_isEmailAddr(f.value)){cf_adderr(f)}  
					if(f.id=='email1' && !cf_isEmailAddr(f.value) && document.form_reserve.email1.value != '') 
						{document.getElementById('email_err').innerHTML = '<span style="color:red">Поле заполнено неверно</span>';} 						else 
						{document.getElementById('email_err').innerHTML = ' ';}	
				  break;
				  case 'textarea':
					if(f.value==''){cf_adderr(f)}					
				  break;
				  case 'checkbox':
					if(!f.checked){cf_adderr(f)}              
				  break;
				  case 'select-one':
					if(!f.selectedIndex && f.selectedIndex==0){cf_adderr(f)}              
				  break;
				}				
			}			  
			return !document.getElementById(errorID);
		function cf_adderr(o){
			o.className=errorClass;										
			if(!document.getElementById(errorID))
			{var em=document.createElement('div');
			  em.id=errorID;
			  em.appendChild(document.createTextNode(errorMsg))			  
			  for(var i=0;i<of.getElementsByTagName('input').length;i++){
				if(/submit/i.test(of.getElementsByTagName('input')[i].type)){
				  var sb=of.getElementsByTagName('input')[i];
				  break;
				}
			  }
			  if(sb){
				sb.parentNode.insertBefore(em,sb);
			  }  
			} 
		}
		function cf_isEmailAddr(str) {
			return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);}		
		}	
			
/*fix png for fucking ie6*/		
function fixPNG(element)
{
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
	{
		var src;
		
		if (element.tagName=='IMG')
		{
			if (/\.png$/.test(element.src))
			{
				src = element.src;
				element.src = "images/1x1.gif";
			}
		}
		else
		{
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src)
			{
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
		}
		
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
}

function cropPNG(element)
{
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
	{
		var src;
		
		if (element.tagName=='IMG')
		{
			if (/\.png$/.test(element.src))
			{
				src = element.src;
				element.src = "images/1x1.gif";
			}
		}
		else
		{
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src)
			{
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
		}
		
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
}	

/*search form*/
/*function clearSearchForm(){
    if (document.cse-search-box.q.value == "Поиск по сайту")
		document.cse-search-box.q.value = "";
	}
     function doCheckKeyHeader(e)
        {
             var key;
            if (window.event) key = window.event.keyCode;
            else if (e) key = e.which;

            if (key == 13)
                {
                    document.cse-search-box.submit();
                }
        }	*/
		
	
