function otherLang(){
    
    if(document.getElementById('other_lang')){
        var clickZone = document.getElementById('other_lang');
        var langList = document.getElementById('lang_list');
        $(clickZone).click(function(){
            if(langList.style.overflow != 'visible'){
                langList.style.overflow = 'visible';
            }
        });
        $(document).mouseup(function(){
            if(langList.style.overflow == 'visible'){
                langList.style.overflow = 'hidden';
            }
        }); 
    }
}

function otherHotels(){
	
	if(document.getElementById('image_gallery_category_select')){
		var clickZone = document.getElementById('image_gallery_category_select');
		var langList = document.getElementById('image_gallery_category_list');
		$(clickZone).click(function(){
			if(langList.style.overflow != 'visible'){
				langList.style.overflow = 'visible';
			}
		});
		$(document).mouseup(function(){
			if(langList.style.overflow == 'visible'){
				langList.style.overflow = 'hidden';
			}
		}); 
	}
}

function tabsChange(){
    var pathToImg = '/assets/templates/premier/img/tabs/';
    var lang = document.body.lang;
    var i_reservation, i_reservation_n, i_club, i_club_n, i_news, i_news_n, i_offer, i_offer_n;
    
    switch(lang){
        case 'en':
            i_reservation = 'booking_en_on.gif';
            i_reservation_n = 'booking_en_off.gif';
            i_club = 'premier-club_en_on.gif';
            i_club_n = 'premier-club_en_off.gif';
            i_news = 'news_en_on.gif';
            i_news_n = 'news_en_off.gif';
            i_offer = 'special-offers_en_on.gif';
            i_offer_n = 'special-offers_en_off.gif';
            break;
        case 'ru':
            i_reservation = 'booking_ru_on.gif';
            i_reservation_n = 'booking_ru_off.gif';
            i_club = 'premier-club_ru_on.gif';
            i_club_n = 'premier-club_ru_off.gif';
            i_news = 'news_ru_on.gif';
            i_news_n = 'news_ru_off.gif';
            i_offer = 'special-offers_ru_on.gif';
            i_offer_n = 'special-offers_ru_off.gif';
            break;
        case 'ua':
            i_reservation = 'booking_ua_on.gif';
            i_reservation_n = 'booking_ua_off.gif';
            i_club = 'premier-club_ua_on.gif';
            i_club_n = 'premier-club_ua_off.gif';
            i_news = 'news_ua_on.gif';
            i_news_n = 'news_ua_off.gif';
            i_offer = 'special-offers_ua_on.gif';
            i_offer_n = 'special-offers_ua_off.gif';
            break;
    }

    $('.tabs a').click(function(){
        this.blur();
        if(this.parentNode.className == 'active'){ return false; }
        
        var reservForm = document.getElementById('reserv_form');
        var clubForm = document.getElementById('club_form');
        var offersBlock = document.getElementById('offers_block');
        var newsBlock = document.getElementById('news_block');

        var curId = this.id;
        var curTarget = this.rel;

        var older = this.parentNode.parentNode.childNodes;

        for(var i=0; i<older.length; i++){
            if(older[i].className == 'active'){
                older[i].className = '';
                switch(curId){
                    case 'club':
                        older[i].firstChild.firstChild.src = pathToImg + i_reservation_n;
                        this.firstChild.src = pathToImg + i_club;
                        
                        reservForm.style.visibility = 'hidden';
                        clubForm.style.visibility = 'visible';

                        break;
                    case 'reserv':
                        older[i].firstChild.firstChild.src = pathToImg + i_club_n;
                        this.firstChild.src = pathToImg + i_reservation;

                        clubForm.style.visibility = 'hidden';
                        reservForm.style.visibility = 'visible';

                        break;
                    case 'offers':
                        older[i].firstChild.firstChild.src = pathToImg + i_news_n;
                        this.firstChild.src = pathToImg + i_offer;

                        newsBlock.style.visibility = 'hidden';
                        offersBlock.style.visibility = 'visible';

                        break;
                    case 'news':
                        older[i].firstChild.firstChild.src = pathToImg + i_offer_n;
                        this.firstChild.src = pathToImg + i_news;
                        
                        offersBlock.style.visibility = 'hidden';
                        newsBlock.style.visibility = 'visible';

                        break;
                }
            }
        }
        this.parentNode.className = 'active';
        return false;
    });

}

function checkHeight(){
    if(document.getElementById('offers_block') && document.getElementById('news_block')){
        var offHeight = parseInt(document.getElementById('offers_block').offsetHeight);
        var newsHeight = parseInt(document.getElementById('news_block').offsetHeight); 
        if(newsHeight > offHeight){
            document.getElementById('offers_block').parentNode.style.height = newsHeight + 'px';
        }
        else{
            document.getElementById('offers_block').parentNode.style.height = offHeight + 'px';
        }
    }
}

function fakePNG(){
    if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){
        var fakeImg = document.getElementById('ie-fake');
        fakeImg.src = fakeImg.src.replace(/\.png/, '.gif');
    }
}


function sliders_scroll(){
    if(document.getElementById('back_sl') && document.getElementById('fwd_sl') && document.getElementById('cropper') && document.getElementById('slide_line')){
        
        //$('#slide_line li a').lightBox({fixedNavigation:true});
        
        var back_ctl = document.getElementById('back_sl');
        var fwd_ctl = document.getElementById('fwd_sl');
        var cropper = document.getElementById('cropper');
        var slide_line = document.getElementById('slide_line');
        
        if (!fwd_ctl || !slide_line) {
            return false;
        }
        
        //ширина обреза
        var crop_width = parseInt(cropper.offsetWidth);
        
        //а теперь будут слайды
        var sliders = $('#slide_line li');
        
        if (sliders.length == 0) {
            return false;
        }
        
        //кол-во слайдов
        var slide_quant = sliders.length;
        
        //ширина слайда
        var slide_width = parseInt(sliders[0].offsetWidth);
        
        //ширина контента
        var content_width = slide_width * slide_quant;
        
        //кол-во видимых
        var slide_view = parseInt((crop_width+17)/slide_width);
        
        if((slide_quant * slide_width) > (crop_width + 17)){
            fwd_ctl.style.visibility = 'visible';
        }
        
        $(".sl_control").click(function(){
            
            var shift;
            
            var curMargin = parseInt(slide_line.style.marginLeft);
            
            if(!curMargin){ curMargin = 0; }
            
            var cId = this.id;
            
            if (/fwd/.test(cId)){
                
                if((content_width-(17+crop_width-curMargin)) > crop_width){
                    shift = crop_width+10;
                    back_ctl.style.visibility = 'visible';
                }
                else{
                    shift = content_width-(15+crop_width-curMargin);
                    fwd_ctl.style.visibility = 'hidden';
                }
                
                $('#slide_line').animate( { marginLeft:curMargin-shift+'px' }, 2000 );
                
            }
            else if (/back/.test(cId)){
                
                if((-curMargin-10) <= crop_width){
                    shift = 0;
                    back_ctl.style.visibility = 'hidden';
                }
                else{
                    shift = (-curMargin-10) - crop_width;
                    fwd_ctl.style.visibility = 'visible';
                }
                
                $('#slide_line').animate( { marginLeft:-shift+'px' }, 2000 );
                
            }
            
        });
        
        $("#slide_line a").lightBox();
    }
}

function hl_Hotels(idImg, idName, idCity){
    
    var image = document.getElementById(idImg);
    var name = document.getElementById(idName);
    var city = document.getElementById(idCity);
    
    name.src  = name.src.replace( '_off_', '_on_');
    city.src  = city.src.replace( '_off_', '_on_');
    image.src = image.src.replace('_off_', '_on_');
}

function hw_Hotels(idImg, idName, idCity){
    
    var image = document.getElementById(idImg);
    var name = document.getElementById(idName);
    var city = document.getElementById(idCity);
    
    name.src  = name.src.replace( '_on_', '_off_');
    city.src  = city.src.replace( '_on_', '_off_');
    image.src = image.src.replace('_on_', '_off_');
}

function popup(flag){
	if(flag){
		document.getElementById('float_hotels').style.display='block';
	}
	else{
		document.getElementById('float_hotels').style.display='none';
		
	}
}


document.onmousedown = function(ev) {
	var ev = ev || window.event;
	var target = ev.target || ev.srcElement;
	if (target && target.id == 'hotopen' ) { 
		popup(true);
	}
	else{
		while(target.parentNode&&(target.id!="float_hotels")){
			target=target.parentNode;
			//alert(target.className);
		}
		if(!target.parentNode)popup(false);
	}
}
	
/**
 * Дикие костыли для формы бронирования.
 * Не удалять!
 */

// Инициализация
function booking_form() {
    
    // Рендерим все селекты с отелями как видимые, а потом сразу скрываем. Иначе отображаются криво 
    document.getElementById("booking_hotels_container").style.overflow = "visible";
    $("#reserv_form div.left_form_hidden_select:not(:first)").hide();
    
    // Запускаем обработку выбора города. На случай если выбрали город и отель, а потом обновили страницу
    bookingFormChangeCity(document.getElementById("reserv_form").city);
}

// Когда выбираем другой город меняется список отелей (показывается другой селект)
function bookingFormChangeCity(node) {
    
    var select_containers = $("#reserv_form div.left_form_hidden_select").hide().get();
    
    if (node.value == "") {
        
        $(select_containers[0]).show();
        
    } else {
        
        for (var i in booking_hotels_list) {
            
            if (booking_hotels_list[i].city == node.value) {
                
                $(select_containers[parseInt(i) + 1]).show();
                bookingFormChangeHotel($(select_containers[parseInt(i) + 1]).find("select").get(0));
            }
        }
    }
}

// Когда меняем отель, меняется ссылка формы
function bookingFormChangeHotel(node) {
    
    if (node.value == "") {
        
        node.form.action = "";
        
    } else {
        
        node.form.action = booking_hotels_list[node.form.city.selectedIndex - 1].hotels[node.selectedIndex - 1].url;
    }
}

// Если ссылка формы пустая, не отправляем форму
function bookingFormSubmit(form) {
    
    var doSubmit = true;
    
    if (form.city.value == "") {
        
        $(form.city.parentNode).find("span").addClass("error_input").click(function(){
            $(form.hotel_.parentNode).siblings().andSelf().removeClass("error_input");
            $(this).siblings().andSelf().removeClass("error_input");
        });
        $(form.hotel_.parentNode).find("span").addClass("error_input").click(function(){
            $(this).siblings().andSelf().removeClass("error_input");
        });
        doSubmit = false;

    } else if (form.elements["hotel_" + form.city.value].value == "") {
        
        $(form.elements["hotel_" + form.city.value].parentNode).find("span").addClass("error_input").click(function(){
            $(this).siblings().andSelf().removeClass("error_input");
        });
        doSubmit = false;
        
    }
	
	form.promocode.value = form.promocode.value.toUpperCase();
    
    return doSubmit;
}

// Разбираем отображаемую дату и подставляем дату в другом формате в скрытые поля
function bookingFormSetDate(node1, node2) {
    
    var date = node1.value.split('-');
    var datetemp = date[0];
    date[0] = date[1];
    date[1] = datetemp;
    node2.value = date.join('/');
}

// При выборе начальной даты, подставляем конечную
function setEndDate(node1, node2) {
    
    var date = $(node1).datepicker("getDate");
    date.setDate(date.getDate() + 1);
    if ($(node2).datepicker("getDate") < date) {
        $(node2).datepicker("setDate", date);
    }
    $(node2).datepicker('option', 'minDate', date);
    bookingFormSetDate(node2, node2.form.elements[node2.name.substr(1)]);
} 
/*** Конец диких костылей ***/



$(document).ready(function(){
    otherLang();
    otherHotels();
    tabsChange();
    checkHeight();
    fakePNG();
    booking_form();
    sliders_scroll();
});

function exClose(){
    $("#globWrap").html("");
    $("#shWrapUp").css({ width: "1px", height:"1px"});
}
function ___createBlock(lang, action, url){
        //russian
        if(lang == "ru"){
            var sender   = "Ваше имя";
            var mailFrom = "Ваш E-mail";
            var letter   = "Назначение";
            var error1    = "Ошибка! Введите данные.";
            var error2    = "Ошибка! Введите корректный Email.";
        }
        //uakrainian
        else if(lang == "ua"){
            var sender   = "Ваше ім&rsquo;я";
            var mailFrom = "Ваш E-mail";
            var letter   = "Призначення";
            var error1    = "Помилка! Введіть дані.";
            var error2    = "Помилка! Введіть коректний Email.";
        }
        //default language
        else{
            var sender   = "Your name";
            var mailFrom = "Your E-mail";
            var letter   = "Purpose";
            var error1    = "Error! Enter data.";
            var error2    = "Error! Enter valid Email.";
        }
		//<div class="pupSlot"><div class="pupCont"><table cellspacing="0"><tbody><tr><td><img width="14" height="40" src="/assets/templates/premier/img/__contLeft.png" class="png"/></td><td><div class="png cTop"> </div><div class="cText">Ошибка! Введите данные.</div><div class="png cBot"> </div></td><td><img width="15" height="40" src="/assets/templates/premier/img/__contRight.png" class="png"/></td></tr></tbody></table></div></div>
        text = '<form method="post" action="' + action + '" onsubmit="return submitVcardsForm(this);" id="form_vcards"><input type="hidden" name="vcard_submit" value="1" /><input type="hidden" name="url" value="' + url + '" /><table cellspacing="0" id="cardRoot"><tr><td class="bordLine"><img class="png" src="/assets/templates/premier/img/popup_cards-0-0.png" width="13" height="19"></td><td class="cardSh10"><div style="height:19px;"></div></td><td><img class="png" src="/assets/templates/premier/img/popup_cards-2-0.png" width="13" height="19"></td></tr><tr><td class="cardSh01"></td><td class="cardBody"><!-- BodySection --><div style="position:relative; height:1px; width:100%; "><img src="/assets/templates/premier/img/close.gif" alt=""  style="display:block; position:absolute; top:-5px; right:0;cursor:pointer;" onclick=" exClose();"  /></div><h4 id="nameCard"></h4><div class="bigImg"><img src="" id="cardpixel"></div><div class="formGrad"><table cellspacing="0" class="popForm"><tr><td class="padTd"><div><input type="text" name="name" value="' + sender + '" onfocus="if(this.value==this.defaultValue) this.value=\'\'; $(\'#form_err_name\').hide();" onblur="if(this.value==\'\') this.value=this.defaultValue;" onchange="this.className = \'\';"></div><div class="pupSlot"><div class="pupCont" style="margin-left:0;" id="form_err_name" onclick="document.getElementById(\'form_vcards\').name.focus();"><table cellspacing="0"><tbody><tr><td><img width="14" height="40" src="/assets/templates/premier/img/__contLeft.png" class="png"/></td><td><div class="png cTop"> </div><div class="cText">' + error1 + '</div><div class="png cBot"> </div></td><td><img width="15" height="40" src="/assets/templates/premier/img/__contRight.png" class="png"/></td></tr></tbody></table></div></div></td><td><div><input type="text" name="email" value="' + mailFrom + '" onfocus="if(this.value==this.defaultValue) this.value=\'\'; $(\'#form_err_email\').hide();" onblur="if(this.value==\'\') this.value=this.defaultValue" onchange="this.className = \'\';"></div><div class="pupSlot"><div class="pupCont" style="margin-left:0;" id="form_err_email" onclick="document.getElementById(\'form_vcards\').email.focus();"><table cellspacing="0"><tbody><tr><td><img width="14" height="40" src="/assets/templates/premier/img/__contLeft.png" class="png"/></td><td><div class="png cTop"> </div><div class="cText">' + error2 + '</div><div class="png cBot"> </div></td><td><img width="15" height="40" src="/assets/templates/premier/img/__contRight.png" class="png"/></td></tr></tbody></table></div></div></td></tr><tr><td colspan="2"><textarea cols="0" rows="0" name="purpose" onfocus="if(this.value==this.defaultValue) this.value=\'\'; $(\'#form_err_purpose\').hide();" onblur="if(this.value==\'\') this.value=this.defaultValue" onchange="this.className = \'\';">' + letter + '</textarea><div class="pupSlot"><div class="pupCont" style="margin-left:0;" id="form_err_purpose" onclick="document.getElementById(\'form_vcards\').purpose.focus();"><table cellspacing="0"><tbody><tr><td><img width="14" height="40" src="/assets/templates/premier/img/__contLeft.png" class="png"/></td><td><div class="png cTop"> </div><div class="cText">' + error1 + '</div><div class="png cBot"> </div></td><td><img width="15" height="40" src="/assets/templates/premier/img/__contRight.png" class="png"/></td></tr></tbody></table></div></div></td></tr></table><input type="image" src="/assets/templates/premier/img/buttons/download_' + lang + '.gif" title="Send"></div><!-- EndBodySection --></td><td class="cardSh21"></td></tr><tr><td><img class="png" src="/assets/templates/premier/img/popup_cards-0-2.png" width="13" height="17"></td><td class="cardSh12"><div style="height:17px;"></div></td><td><img class="png" src="/assets/templates/premier/img/popup_cards-2-2.png" width="13" height="17"></td></tr></table></form>';
        return text;
    }
function ___getPageScroll() {
    var xScroll, yScroll;
    if (self.pageYOffset) {
        yScroll = self.pageYOffset;
        xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {     // Explorer 6 Strict
        yScroll = document.documentElement.scrollTop;
        xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
        yScroll = document.body.scrollTop;
        xScroll = document.body.scrollLeft;    
    }
    arrayPageScroll = new Array(xScroll,yScroll);
    return arrayPageScroll;
}
function ___winSize(){
    var myWidth = 0, winHeight = 0;
    if( typeof( window.innerWidth ) == 'number' ) {
        //Non-IE
        winWidth = window.innerWidth;
        winHeight = window.innerHeight;
    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        //IE 6+ in 'standards compliant mode'
        winWidth = document.documentElement.clientWidth;
        winHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        winWidth = document.body.clientWidth;
        winHeight = document.body.clientHeight;
    }
    arrayWinSize = new Array(winWidth,winHeight);
    return arrayWinSize;
}
function ___docSize(){
    if(document.getElementById("root")){
        docHeight = parseInt(document.getElementById("root").offsetHeight);
        docWidth = parseInt(document.getElementById("root").offsetWidth);
        arrayDocSize = new Array(docWidth,docHeight);
    }
    return arrayDocSize;
}

jQuery(function() {
    $("a.python").click(function(){
        ___getPageScroll();
        var ScrY = arrayPageScroll[1];
        ___winSize();
        var winWidth = arrayWinSize[0];
        var winHeight = arrayWinSize[1];
        var bigimg = $(this).attr("href");
        var toCache  = new Image(); toCache.src = bigimg;
        var title = $(this).attr("title");
		//if(title==''){ title='фотография' }
        var lang = $(this).attr("lang");
        var rootWidth = $(".share").width();
        var rootHeight = $(".share").height() + 60;
        if(winWidth >= rootWidth){
            maxWidth = winWidth;
        }
        else{
            maxWidth = rootWidth;
        }
        if(winHeight >= rootHeight){
            maxHeight = winHeight;
        }
        else{
            maxHeight = rootHeight;
        }
        ___createBlock(lang, $(this).attr("rel"), bigimg.replace("medium", "big"));
        $("#globWrap").html(text);
        $("#cardpixel").attr({"src": bigimg});
        $("#shWrapUp").css({width:maxWidth - 20 + "px", height:maxHeight + "px"}); 
        $("#nameCard").html(title);
        upH = $("#cardRoot").height();
        upW = $("#cardpixel").width();
        $("#cardRoot").css({top:parseInt(ScrY + winHeight/2 - upH/2) + "px", left:-($("#cardRoot").width()/2) + "px"});
        $("#cardRoot").css({ display: "none", visibility:"visible"});
        $("#cardRoot").fadeIn("fast");
        return false;
    });
    
    
});

function excl(){
    //$("#flashSlot").html("");
    //$("#wrapperFlash").fadeOut("fast");
    $("#wrapperFlash, #flashSlot").remove();
}


function __flashBlock(pdfDoc){
    ___getPageScroll();
    ___winSize();
    ___docSize();
    // arrayWinSize; arrayPageScroll; arrayDocSize
    if(arrayWinSize[0] > arrayDocSize[0]){
        workWidth = arrayWinSize[0] - 50;
    }else{
        workWidth = arrayDocSize[0];
    }
    if(arrayWinSize[1] > arrayDocSize[1]){
        workHeight = arrayWinSize[1];
    }else{
        workHeight = arrayDocSize[1];
    }
    
    var flashWidth = parseInt(document.getElementById(pdfDoc).offsetWidth);
    var flashHeight = parseInt(document.getElementById(pdfDoc).offsetHeight);
    var flashBorder = flashWidth + 26;
    //alert(flashBorder);
    //var wrapBox = '<div id="wrapperFlash" style="width:' + workWidth + 'px; height:'+ workHeight+ 'px;" onclick="excl()\;"></div><div id="flashSlot" style="width:' + flashWidth + 'px; height:'+ flashHeight+ 'px;"></div>';
    var wrapBox = '<div id="wrapperFlash" style="width:' + workWidth + 'px; height:'+ workHeight+ 'px;" onclick="excl()\;"></div><div id="flashSlot" style="width:' + flashBorder + 'px; height:'+ flashHeight+ 'px;"><table cellspacing="0" id="cardRoot"><tr><td class="bordLine"><img class="png" src="/assets/templates/premier/img/popup_cards-0-0.png" width="13" height="19"></td><td class="cardSh10"><div style="height:19px;"></div></td><td><img class="png" src="/assets/templates/premier/img/popup_cards-2-0.png" width="13" height="19"></td></tr><tr><td class="cardSh01"></td><td class="cardBody" id="pdf_body" style="width:'+ flashWidth +'px;"></td><td class="cardSh21"></td></tr><tr><td><img class="png" src="/assets/templates/premier/img/popup_cards-0-2.png" width="13" height="17"></td><td class="cardSh12"><div style="height:17px;"></div></td><td><img class="png" src="/assets/templates/premier/img/popup_cards-2-2.png" width="13" height="17"></td></tr></table></div>';
    
    
    
    $("body").append(wrapBox);
    var margTop = parseInt((arrayWinSize[1]/2) + arrayPageScroll[1] - (flashHeight/2)) - 20;
    var margLeft = parseInt((arrayWinSize[0]/2) + arrayPageScroll[0] - (flashWidth/2)) - 20;
    $("#flashSlot").css({top:margTop + "px", left:margLeft + "px"});
    $("#" + pdfDoc).clone().appendTo("#pdf_body").css({visibility:"visible"});
}

function resizeFlash(){
    ___getPageScroll();
    ___winSize();
    ___docSize();
    if(arrayWinSize[0] > arrayDocSize[0]){
        workWidth = arrayWinSize[0] - 50;
    }else{
        workWidth = arrayDocSize[0];
    }
    if(arrayWinSize[1] > arrayDocSize[1]){
        workHeight = arrayWinSize[1];
    }else{
        workHeight = arrayDocSize[1];
    }
    var flashWidth = parseInt(document.getElementById("flashSlot").offsetWidth);
    var flashHeight = parseInt(document.getElementById("flashSlot").offsetHeight);
    //alert('ap');
    var margTop = parseInt((arrayWinSize[1]/2) + arrayPageScroll[1] - (flashHeight/2)) - 20;
    var margLeft = parseInt((arrayWinSize[0]/2) + arrayPageScroll[0] - (flashWidth/2)) - 20;
    $("#flashSlot").css({top:margTop + "px", left:margLeft + "px"});
}



jQuery(function() {
    $("#shWrapUp").click(function(){
        exClose();
    });
    
    
});
