﻿
var firstLevelRadiosCount = 0;
var FAVORIT_LINKS = {};
var CALC_RESULT_LINKS = {};

function getPageTitle() {
    var title = $.trim($('meta[property="og:title"]').attr('content'));
    if (title.length == 0) {
        title = $.trim(document.title);
    }
    return title.length == 0 ? 'ВТБ24' : title;
}

function getPageDescription() {
    var value = $.trim($('meta[property="og:description"]').attr('content'));
    if (value.length > 250) {
        value = value.substring(0, 250) + '...';
    }
    return value;
}

/** save FAVORIT_LINKS into server */
function persistFavoritLinks() {
    $.ajax({
        url: "/_layouts/Vtb24.Pages/UserSession.aspx",
        type: "POST",
        async: true, cache: false,
        data: { k: 'favoritLinks', v: JSON.stringify(FAVORIT_LINKS) },
        dataType: "text"
    });
}

/** load FAVORIT_LINKS from server*/
function fetchFavoritLinks() {
    $.ajax({
        url: "/_layouts/Vtb24.Pages/UserSession.aspx",
        type: "GET",
        async: true, cache: false,
        data: { k: 'favoritLinks' },
        dataType: "json",
        success: function (data) {
            FAVORIT_LINKS = data != null ? data : {};
            updateStars();
            updateFavoritList();
        }
    });
}

/** add or remove curent page to|from favorite */
function saveFavoritLink(isRemoveFavorite, link) {
    if (isRemoveFavorite) {
        delete FAVORIT_LINKS[link];
    } else {
        var data = { title: getPageTitle(), description: getPageDescription() };
        FAVORIT_LINKS[link] = data;
    }
    persistFavoritLinks();
    updateStars();
    updateFavoritList(FAVORIT_LINKS);
}

/** update all favorite stars on the page to actual state*/
function updateStars() {
    var data = FAVORIT_LINKS[window.location.pathname]
    if (data != null) {
        $('.breadfav').addClass('bookmarked');
        $('span.h1_fav_star_out a').addClass('active');
    } else {
        $('.breadfav').removeClass('bookmarked');
        $('span.h1_fav_star_out a').removeClass('active');
    }
}

/** recreate favorite list */
function updateFavoritList() {
    var linksArr = [];
    for (var link in FAVORIT_LINKS) {
        var item = FAVORIT_LINKS[link];
        linksArr.push(String.format(
            '<li>' +
            '<img alt="Добавить в избранное" src="/_layouts/Images/Vtb24.Images/ico_favorite.gif" class="hf"/>' +
            '<a href="{0}" title="{1}">{1}</a>' +
            '<p>{2}</p>' +
            '</li>',
            link, item.title, item.description
        ));
    }
    // разбиваем в списки по 2 элемента
    var i = 0;
    var ulListHtml = "";
    while (i < linksArr.length) {
        var first = linksArr[i++];
        var second = i < linksArr.length ? linksArr[i++] : "";
        ulListHtml += String.format("<ul class=\"favorite_list\">{0}{1}</ul>", first, second);
    }
    var lc = getFavoriteContainer();
    lc.children().remove();
    lc.append(ulListHtml);
    bindFavoritEvents();
    updateFavoriteBarSliders();
}


/** инициализирует слайдер в нижнем баре с меню */
function initCardsItemBarSliders() {
    // cardsnav
    var cardsitem = $('.fslider .cardsnav .cards_select').length;
    var cardsitem_iw = $('.fslider .cardsnav .cards_select').width(); // initial item width
    $('.fslider > .w > .cardsnav').width(cardsitem * cardsitem_iw);
    var cardsitem_pos = 0;
    $('.fslider:has(.cardsnav) > .next').click(function () {
        cardsitem_pos -= cardsitem_iw;
        $('.fslider > .w > .cardsnav').stop().animate({ 'left': cardsitem_pos + 'px' }, 500);
    });
    $('.fslider:has(.cardsnav) > .prev').click(function () {
        cardsitem_pos += cardsitem_iw;
        $('.fslider > .w > .cardsnav').stop().animate({ 'left': cardsitem_pos + 'px' }, 500);
    });
}

function getCalculatorResultBarContainer() {
    return $('#calculator_list_container');
}

function getFavoriteContainer() {
    return $('#favorite_list_container');
}

/** инициализирует слайдер в нижнем баре с ссылками */
function updateFavoriteBarSliders() {
    updateFavoriteBarWidth();
    $('.fslider:has(.favorite_list) > .next').click(function () {
        slideFooterContainer( getFavoriteContainer(), -1 );
    });
    $('.fslider:has(.favorite_list) > .prev').click(function () {
        slideFooterContainer(getFavoriteContainer(), 1);
    });
}

/** инициализирует слайдер в нижнем баре с калькуляторами */
function updateCalculatorResultBarSliders() {
    updateCalculatorResultBarWidth();
    $('.fslider:has(.calculate_list) > .next').click(function () {
        slideFooterContainer(getCalculatorResultBarContainer(), -1);
    });
    $('.fslider:has(.calculate_list) > .prev').click(function () {
        slideFooterContainer(getCalculatorResultBarContainer(), 1);
    });
}

function updateCalculatorResultBarWidth() {
    var itemsCount = $('.fslider .calculate_list').length;
    var itemWidth = $('.fslider .calculate_list').width();
    var container = getCalculatorResultBarContainer();
    initSliderContainerParams(container,itemsCount, itemWidth);
}

function updateFavoriteBarWidth() {
    var itemsCount = $('.fslider .favorite_list').length;
    var itemWidth = $('.fslider .favorite_list').width();
    var container = getFavoriteContainer();
    initSliderContainerParams(container,itemsCount, itemWidth);
}

function initSliderContainerParams(container, itemsCount, itemWidth) {
    container.width(itemsCount * itemWidth);
    container.attr('pos', 0);
    container.attr('slide_px', itemWidth);
    updateSliderButtons(container);
}

/** сдвигает контайнер влево или вправо, */
function slideFooterContainer( container, intDirect ){
    var newPos = parseInt(container.attr('pos')) + (intDirect * parseInt(container.attr('slide_px')));
    container.attr('pos', newPos);
    container.stop().animate({ 'left': newPos + 'px' }, 600);
    updateSliderButtons(container);
}

function updateSliderButtons(container) {
    var pos = parseInt(container.attr('pos'));
    var shift = parseInt(container.attr('slide_px'));
    var prevDiv = container.parent().siblings('div.prev');
    var nextDiv = container.parent().siblings('div.next');
    if (pos >= 0) {
        prevDiv.hide();
    } else {
        prevDiv.show();
    }
    if (container.width() + pos - shift <= 0) {
        nextDiv.hide();
    } else {
        nextDiv.show();
    }
}

/** save calculator state into session on server */
function saveCalcResultLink(isRemoveLink, link) {
    if (isRemoveLink) {
        delete CALC_RESULT_LINKS[link];
    } else {
        // добавление текущих параметров калькулятора
        var stateStr = serializeState();
        var calcResultId = _universalHash(stateStr);
        var link = getCalcResultLink(calcResultId);
        var data = { title: getPageTitle(), description: getCurrentCalcDescription(), args: stateStr };
        CALC_RESULT_LINKS[link] = data;
    }
    persistCalcResultLinks();
    updateCalcResultList();
}

function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
    return null;
}

function getCalcResultLink(calcResultId) {
    return window.location.pathname + '?crId=' + calcResultId;
}
function getCurrentCalcResultId() {
    return parseInt(getQueryVariable('crId'));
}

function persistCalcResultLinks() {
    $.ajax({
        url: "/_layouts/Vtb24.Pages/UserSession.aspx",
        type: "POST",
        async: true, cache: false,
        data: { k: 'calcResultLinks', v: JSON.stringify(CALC_RESULT_LINKS) },
        dataType: "text"
    });
}

function fetchCalcResultLinks() {
    $.ajax({
        url: "/_layouts/Vtb24.Pages/UserSession.aspx",
        type: "GET",
        async: true, cache: false,
        data: { k: 'calcResultLinks' },
        dataType: "json",
        success: function (data) {
            CALC_RESULT_LINKS = data != null ? data : {};
            loadCalcResultByQueryParams();
            updateCalcResultList();
        }
    });
}

function updateCalcResultList() {
    var linksArr = [];
    for (var link in CALC_RESULT_LINKS) {
        var item = CALC_RESULT_LINKS[link];
        linksArr.push(String.format(
            '<li><p class="cl_name">' +
            '<a href="{0}" title="{1}">{1}</a> ' +
            '<a href="#" link="{0}" alt="Удалить" class="removeCalcResult"><img class="count" src="/_layouts/Images/Vtb24.Images/cross.gif"></a></p>' +
            '<p class="cl_price">{2}</p>',
            link, item.title, item.description
        ));
    }
    // разбиваем в списки по 2 элемента
    var i = 0;
    var ulListHtml = "";
    while (i < linksArr.length) {
        var first = linksArr[i++];
        var second = i < linksArr.length ? linksArr[i++] : "";
        ulListHtml += String.format("<ul class=\"calculate_list\">{0}{1}</ul>", first, second);
    }
    var lc = getCalculatorResultBarContainer();
    lc.children().remove();
    lc.append(ulListHtml);
    $('.removeCalcResult', lc).click(function () {
        saveCalcResultLink(true, $(this).attr('link'));
        return false;
    });
    updateCalculatorResultBarSliders();
}

function loadCalcResultByQueryParams() {
var crId = getCurrentCalcResultId();
if (typeof crId == 'number') {
var link = getCalcResultLink(crId);
var crData = CALC_RESULT_LINKS[link];
if (crData && crData['args']) {
// global instance from calcupdate.js
deserializeState(crData['args']);
callService();
}
}
}

function ClearChildRadios(target) {
$('.filters-choose .' + target + ' li .radioAreaChecked').addClass('radioArea').removeClass('radioAreaChecked');
$('.filters-choose .' + target + ' li').removeClass('radioSelected');
var inputs = $('.filters-choose .' + target + ' input');
for (i = 0; i < inputs.length; i++)
inputs[i].checked = false;
}

function ClearChildCheckboxes(target) {
$('.filters-choose .' + target + ' li .checkboxAreaChecked').addClass('checkboxArea').removeClass('checkboxAreaChecked');
$('.filters-choose .' + target + ' li').removeClass('checkboxSelected');
}

function radioButtonsClick(current, target, objectToHide, isRoot) {
if (isRoot != undefined && isRoot) {
firstLevelRadiosCount = $('.' + current).find('input').length;
}

$('.' + current + ' li').click(function () {
var radioId = $(this).find('input')[0].id;
var index = (isRoot == undefined || !isRoot) ? -firstLevelRadiosCount : 0;

for (i = 0; i < radios.length; i++) {
if (radios[i].id == radioId) {
index += i;
break;
}
}

if ($('.filters-choose .' + target).is(':visible')) {
$('.filters-choose .' + target + ' ul').hide();
$('.filters-choose .' + target + ' ul').eq(index).show();
} else {
$('.filters-choose .' + target + ' ul').hide();
$('.filters-choose .' + target + ' ul').eq(index).show();
$('.filters-choose .' + target).slideDown(400);
}

ClearChildRadios(target);
ClearChildCheckboxes(target);

$(this).parent().find('.radioAreaChecked').addClass('radioArea').removeClass('radioAreaChecked');
$(this).parent().find('.check').attr('checked', '');

$(this).find('.radioArea').addClass('radioAreaChecked').removeClass('radioArea');

$(this).parent().find('li').removeClass('radioSelected');
$(this).addClass('radioSelected');

$(this).find('.check').attr('checked', 'checked');

if (objectToHide != undefined) {
$('.' + objectToHide).slideUp(400);
}
});
}

/* GeoSelector logic: change geo, save to cookie */
function SetAuthenticatedClass() {
    if (sp_isAuthenticatedUser) {
        $('#cityList').addClass('authenticated');
    }
}

function rememberGeo(link) {
    var href = ("string" == typeof link) ? link : $(link).attr('href');
    if (href != '#' && href != '' && href != undefined) {
        /* if service page - geoabbr in query */
        if ((href.lastIndexOf("_layouts/Vtb24.Pages") != -1) && (href.lastIndexOf("geo=") != -1)) {
            var geoAttr = href.substring(href.lastIndexOf('geo=') + 4, href.length);
            $.cookie("geoAttr", geoAttr, { path: '/', expires: 365 });
        }
        /* if regular page - geoabbr is aspx name */
        else if (href.lastIndexOf("/Pages") != -1) {
            var geoAttr = href.substring(href.lastIndexOf('/') + 1, href.lastIndexOf('.aspx'));
            $.cookie("geoAttr", geoAttr, { path: '/', expires: 365 });
        }
    }
}

var previousRegion = null;
var previousOkrug = null;
var sp_isAuthenticatedUser = false; //initializing in GeoSelector control. SharePoint is user authenticated flag

function OkrugClickHandler() {

    if (previousOkrug != null) {
        previousOkrug.parent().parent().parent().removeClass('selected');
        previousOkrug.removeAttr('href');
        previousOkrug.click(OkrugClickHandler);
    } else {
        $('#cityList ul li').removeClass('selected');
        $('#cityList .okrug-name').click(OkrugClickHandler);
    }

    previousOkrug = $(this);

    $(this).parent().parent().parent().addClass('selected');

    if (previousRegion != null) {
        previousRegion.parent().parent().parent().removeClass('selected');
        previousRegion.removeAttr('href');
        previousRegion.click(RegionClickHandler);
    }
    $(this).attr('href', GetPageRef($(this)));
    $(this).unbind('click');

    CorrectPopupHeight();

    return false;
}

function RegionClickHandler() {

    if (previousRegion != null) {
        previousRegion.parent().parent().parent().removeClass('selected');
        previousRegion.removeAttr('href');
        previousRegion.click(RegionClickHandler);
    }
    else {
        $('#cityList ul li ul li').removeClass('selected');
        $('#cityList ul li ul li .top-left-corner > div > a').click(RegionClickHandler);
    }

    previousRegion = $(this);

    $(this).parent().parent().parent().addClass('selected');

    $(this).attr('href', GetPageRef($(this)));
    $(this).unbind('click');

    CorrectPopupHeight();

    return false;
}
function GetPageRef(target) {
    return sp_isAuthenticatedUser ? target.attr("data-href") : '#';
}


function CorrectPopupHeight() {
    if ($('.error-search-message').is(':visible')) {
        var bottomBorder = 190;
    } else {
        var bottomBorder = 150;
    }
    var height1 = $('#cityList').children('ul').height();
    var height2 = $('#cityList .selected ul').height();
    var height3 = $('#cityList .selected ul .selected table').height();
    var res = Math.max(height1, height2, height3) + bottomBorder;
    $('#choose').height(Math.max(height1, height2, height3) + bottomBorder);
}

function GroupCitiesInTable() {

    var cityTables = $('#cityList .city-table');

    for (j = 0; j < cityTables.length; j++) {

        var cityTable = cityTables[j];
        var tmpCityTable = cityTable.cloneNode(true);

        var cities = tmpCityTable.getElementsByTagName('div');

        var maxCountInColumn = 34;
        var counter = 0;

        if (cityTable.hasChildNodes()) {
            while (cityTable.childNodes.length >= 1) {
                cityTable.removeChild(cityTable.firstChild);
            }
        }

        var lastRow = cityTable.rows.length;
        var row = cityTable.insertRow(lastRow);
        var cell = row.insertCell(-1);

        for (i = 0; i < cities.length; i++) {

            if (counter >= maxCountInColumn - 1) {
                cell = row.insertCell(-1);
                counter = 0;
            }

            var div = document.createElement("div");

            previousCityName = null;

            if (i > 0) {
                var previousCityName = cities[i - 1].getElementsByTagName('a')[0].innerHTML;
                var currentCityName = cities[i].getElementsByTagName('a')[0].innerHTML;
            }


            if (previousCityName != null && previousCityName.charAt(0) != currentCityName.charAt(0) && counter != 0) {
                div.className = "first-letter";
                counter++;
            }

            div.innerHTML = cities[i].innerHTML;
            cell.appendChild(div);

            counter++;
        }
    }

}

function bindFavoritEvents() {
    $('.hf').hover(
		function () {
		    $(this).attr('src', '/_layouts/Images/Vtb24.Images/hf.png');
		},
		function () {
		    $(this).attr('src', '/_layouts/Images/Vtb24.Images/ico_favorite.gif');
		}
	);

    $('.hf').click(
		function () {
		    saveFavoritLink(true, $(this).siblings('a:first').attr('href'));
		}
	);
}

function bindCalcResultEvents() {
    if (typeof serializeState == 'function') {
        $('#saveCalcLink a').click(
	    	function () {
	    	    saveCalcResultLink(false);
	    	    return false;
	    	}
	    );
    }
}

function _universalHash(s) {
    var b = 27183, h = 0, a = 31415, tableSize = 100000000;
    if (tableSize > 1) {
        for (i = 0; i < s.length; i++) {
            h = (a * h + s[i].charCodeAt()) % tableSize;
            a = ((a % tableSize) * (b % tableSize)) % (tableSize);
        }
    }
    return h;
}

$(document).ready(function () {

    initFeedbackPopup();

    $('.select-all input').change(function () {
        if ($(this).is(':checked')) {
            $(this).parents('ul').eq(0).find('input').attr('checked', 'checked');
            $(this).parents('ul').eq(0).find('.checkboxArea').removeClass('checkboxArea').addClass('checkboxAreaChecked');
        } else {
            $(this).parents('ul').eq(0).find('input').attr('checked', '');
            $(this).parents('ul').eq(0).find('.checkboxAreaChecked').removeClass('checkboxAreaChecked').addClass('checkboxArea');
        }
    });
    CreateCalculatorPager();

    $('#advanced-pass').click(function () {
        if ($('.advanced-pass-info').css('display') == 'none') {
            $('.advanced-pass-info').slideDown(500);
        } else {
            $('.advanced-pass-info').slideUp(500);
        }
    });

    if (document.getElementById('tabs_container') != null)
        $("#tabs_container").transform({ async: false, xml: "Vtb24CurrencyValue.xml", xsl: "transform.xsl" });

    SetAuthenticatedClass();
    GroupCitiesInTable();

    $('#cityList .okrug-name').click(OkrugClickHandler);

    $('#cityList ul li ul li .top-left-corner > div > a').click(RegionClickHandler);

    $('#cityList a[href]').unbind('click');

    $('.slider-box .opener').click(function () {
        $(this).parent().parent().find('.slide').slideToggle(500, function () {
            $(this).parent().toggleClass('slider-box-active');
        });
        return false;
    })

    var mapOpen = false;
    var chooseClick = false;

    $('#choose').click(function () {
        chooseClick = true;
    });
    var servDropClick = false;
    $('.services-drop').click(function () {
        servDropClick = true;
    });
    var feedDropClick = false;
    $('.feedback-bank').click(function () {
        feedDropClick = true;
    });
    $('.selected-region .name_out a:eq(0)').click(function () {

        $('#choose').removeClass().addClass('choose_region_cover');
        mapOpen = true;

        CorrectPopupHeight();
    });

    $('.inner_select_region .name_out a:eq(0)').click(function () {
        $('#choose').removeClass().addClass('hide');
    });

    $('.tabs_content div a').click(function () {
        if ($(this).next().css('display') == 'block')
            return;
        var pThis = this;

        $(this).parent().parent().children('div').children('.dirty_dollars').next().slideUp(300, function () {
            $(pThis).parent().parent().children('div').children('a').removeClass('dirty_dollars');
            $(pThis).addClass('dirty_dollars');
            $(pThis).next('div').slideDown(300);
        });
    });

    // geoselector cookies
    $('ul.main_city a').click(function () { rememberGeo(this); });
    $('div#cityListWrapper div#cityList a').click(function () { rememberGeo(this); });

    $('.fixed_footer_top img').click(function () {

        $('.fixed_footer_right div').removeClass('selected_bar_item');
        $('.breadcrumbs').removeClass('bar_selected');


        if ($('body').is('.contrast')) {
            $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/arrow-down.png').css({ 'cursor': 'pointer' });
        } else {
            $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/arrow-down.png').css({ 'cursor': 'pointer' });
        }

        $('.footer_wrapper').hide();
        $('.footer_wrapper:eq(0)').show();

        if ($(".show_bar").height() != 435) {
            $(".show_bar").animate({ 'height': '+=392px' }, 'slow');
        } else {
            $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/arrow-down.png').css({ 'cursor': 'pointer' });
        }
    });

    $('.breadcrumbs').click(function () {
        $('.fixed_footer_right div').removeClass('selected_bar_item');
        if ($(".show_bar").height() == 435 && $(this).hasClass('bar_selected')) {
            $(this).removeClass('bar_selected');
            $(".show_bar").animate({ 'height': '-=392px' }, 'slow');
            if ($('body').is('.contrast')) {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/arrow-up.png').css({ 'cursor': 'pointer' });
            } else {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/arrow-up.png').css({ 'cursor': 'pointer' });
            }
            return;
        }
        $('.footer_wrapper').hide();
        $('.footer_wrapper:eq(0)').show();
        if ($(".show_bar").height() != 435) {
            $(".show_bar").animate({ 'height': '+=392px' }, 'slow');
            if ($('body').is('.contrast')) {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/arrow-down.png').css({ 'cursor': 'pointer' });
            } else {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/arrow-down.png').css({ 'cursor': 'pointer' });
            }
        }
        $(this).addClass('bar_selected');
    });


    $('.fixed_footer_right div').click(function () {
        $('.breadcrumbs').removeClass('bar_selected');
        if ($(".show_bar").height() == 435 && $(this).hasClass('selected_bar_item')) {
            $(this).removeClass('selected_bar_item');
            $(".show_bar").animate({ 'height': '-=392px' }, 'slow');
            if ($('body').is('.contrast')) {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/arrow-up.png').css({ 'cursor': 'pointer' });
            } else {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/arrow-up.png').css({ 'cursor': 'pointer' });
            }
            return;
        }
        $('.footer_wrapper').hide();
        $('.footer_wrapper:eq(' + parseInt($(this).index() + 1) + ')').show();
        if ($(".show_bar").height() != 435) {
            $(".show_bar").animate({ 'height': '+=392px' }, 'slow');
            if ($('body').is('.contrast')) {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/arrow-down.png').css({ 'cursor': 'pointer' });
            } else {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/arrow-down.png').css({ 'cursor': 'pointer' });
            }
        }
        $('.fixed_footer_right div').removeClass('selected_bar_item');
        $(this).addClass('selected_bar_item');
    });




    $('.select_district dd').click(function () {
        $('.select_district dd').removeClass('selected');
        $(this).addClass('selected');
        $('.select_region').hide();
        $('#' + $(this).children('span').attr('id') + "sr").show();
    });

    $('.select_region dd').click(function () {
        $('.select_region dd').removeClass('selected');
        $(this).addClass('selected');
    });

    /*Плавная анимация*/
    $('.more_news').click(function () {
        $(this).prev().slideToggle(400);
    });
    $('.w1, .fixed_footer_top img, .footer-close-area').bind('click', function () {
        if ($(".show_bar").height() == 435) {
            $('.breadcrumbs').removeClass('bar_selected');
            $('.fixed_footer_right div').removeClass('selected_bar_item');
            $(".show_bar").animate({ 'height': '-=392px' }, 'slow');
            if ($('body').is('.contrast')) {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/arrow-up.png').css({ 'cursor': 'pointer' });
            } else {
                $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/arrow-up.png').css({ 'cursor': 'pointer' });
            }
        }

        if (mapOpen) {
            mapOpen = false;
            return;
        }

        if (chooseClick) {
            chooseClick = false;
            return;
        }
        if (servDropClick) {
            servDropClick = false;
            return;
        }
        if (feedDropClick) {
            feedDropClick = false;
            return;
        }
        $('#choose').removeClass().addClass('hide');
        $('.services-drop').hide();
        $('.feedback-bank').hide();
    });


    $('.breadcrumbs').hover(
		function () {
		    $(this).addClass('hoverbread');
		},
		function () {
		    $(this).removeClass('hoverbread');
		}
	);

    $('.lineTabs_meddle').click(function () {
        $('.lineTabs_meddle').parent().removeClass('active');
        $(this).parent().addClass('active');
        $('.tabs_content').hide();
        $('.tabs_content:eq(' + $(this).parent().parent().index() + ')').show();
    });

    $('.breadfav').hover(
		function () {
		    if ($('body').is('.contrast'))
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_favorite_onfocus_sel1.gif');
		    else
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/ico_favorite_onfocus_sel.gif');
		},
		function () {
		    if ($('body').is('.contrast'))
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_favorite_transp_bl1.gif');
		    else
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/ico_favorite_transp_bl.gif');
		}
	);

    $('.breadfav').click(
        function () {
            $(this).removeClass('hoverOnStar');
            saveFavoritLink($(this).hasClass('bookmarked'), window.location.pathname);
        }
    );

    $('span.h1_fav_star_out a').click(
        function () {
            saveFavoritLink($(this).hasClass('active'), window.location.pathname);
        }
    );

    $('.breadfav2').hover(
		function () {
		    if ($('body').is('.contrast'))
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_favorite_onfocus_sel1.gif');
		    else
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/ico_favorite_onfocus_sel1.gif');
		},
		function () {
		    if ($('body').is('.contrast'))
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_favorite_transp_bl1.gif');
		    else
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/ico_favorite_transp_bl1.gif');
		}
	);

    $('.hf1').hover(
		function () {
		    if ($('body').is('.contrast'))
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/contrast/hf.gif');
		    else
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/hf.png');
		},
		function () {
		    if ($('body').is('.contrast'))
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_favorite1.gif');
		    else
		        $(this).attr('src', '/_layouts/Images/Vtb24.Images/ico_favorite.gif');
		}
	);


    $('.calculate').hover(
		function () {
		    $(this).children('span').addClass('hoverbread');
		},
		function () {
		    $(this).children('span').removeClass('hoverbread');
		}
	);

    $('.favorite').hover(
		function () {
		    $(this).children('span').addClass('hoverbread');
		},
		function () {
		    $(this).children('span').removeClass('hoverbread');
		}
	);
    $(".tab-holder .tab-nav a").click(function () {
        var pattern = new RegExp("[a-zA-Z0-9\-]+$");
        var href = $(this).attr("href");
        var tClass = pattern.exec(href);
        $(this).parents(".tab-holder").find(".tab-content").hide();
        $(this).parents(".tab-holder").find("div." + tClass).show();
        $(this).parents(".tab-holder").find('.tab-nav .active').removeClass("active");
        $(this).parent().addClass("active");
        return false;
    });
    $(".tab-holder .tab-nav .active a").click();

    $('.explanation a').click(function () {
        $(this).parent().toggleClass('open');
        return false;
    })
    $('.exampl span').click(function () {
        $('.office_search .sr_inpit_middle input').val($(this).text());
    })


    //for php implementation see http://jqueryui.com/demos/autocomplete/#remote
    $(".office_search .sr_inpit_middle input").autocomplete({
        source: function (request, response) {
            AddSearchButtonHandler(false, function () {
                response(searchResults);
            });
        },
        open: function (event, ui) {
            $(this).autocomplete('widget').css({ 'width': '+=6px', 'left': '-=4px', 'top': '+=4px' });
        },
        select: function (event, ui) {
            Search(ui.item.value, true);
        },
        delay: 100,
        minLength: 1
    });
    //for php implementation see http://jqueryui.com/demos/autocomplete/#remote
    $(".searchTextBox").autocomplete({
        source: availableTags,
        open: function (event, ui) {
            $(this).autocomplete('widget').css({ 'top': '+=2px', 'left': '-=12px', 'width': '+=16px' });
        },
        select: function (event, ui) {
            Search(ui.item.value, true);
        },
        delay: 100,
        minLength: 1
    });
    var cityLabels = [];
    $('div.regionData').each(function (i) {
        var regionName = $(this).find('>a:first-child').text();
        $(this).find('a.cityLink').each(function (k) {
            var cityName = $(this).text();
            cityLabels.push({
                label: String.format("{0} ({1})", cityName, regionName),
                findInStr: cityName.toLowerCase(),
                url: $(this).attr('href')
            });
        });
    });
    var cityInput = $("#choose .sr_inpit_middle input");
    cityInput.autocomplete({ // ComboBox with autocomplete
        minLength: 0,
        source: function (r, callback) { // seach cities in cityLabels
            var term = r.term;
            var response = [];
            for (var i = 0; i < cityLabels.length; i++) {
                if (cityLabels[i].findInStr.indexOf(term.toLowerCase()) != -1) { // startsWith
                    response.push(cityLabels[i].label);
                    if (response.length > 10) {
                        break;
                    }
                }
            }
            callback(response);
        },
        open: function (event, ui) {
            $(this).autocomplete('widget').css({ 'width': '+=8px', 'left': '-=4px', 'top': '+=3px' });
        },
        select: function (event, ui) {
            setCityLocation(ui.item);
        }
    });
    function setCityLocation(item) {
        var txt = $.trim(item ? item.label : cityInput.data('autocomplete').term).toLowerCase();
        var found = 0;
        var idx = -1;
        if (txt.length > 1) {
            for (var i in cityLabels) {
                var city = cityLabels[i];
                if (city.label.toLowerCase() == txt) { // equals exactly
                    idx = i; found = 1;
                    break;
                }
                if (city.findInStr.indexOf(txt) != -1) { // startsWith
                    idx = i; found++;
                }
            }
            if (txt.length > 1 && found == 1) {
                var url = cityLabels[idx].url;
                rememberGeo(url);
                window.location.href = url;
                return;
            } else {
                showErrorSearchMessage(txt);
            }
        }
        return false;
    }
    // intercept submit action to search city 
    cityInput.keypress(function (event) {
        if (event.which == 13) {
            setCityLocation();
            event.preventDefault();
        } else {
            hideErrorSearchMessage();
        }
    });
    $('.sr_inpit_button_red').click(setCityLocation);

    function showErrorSearchMessage(city) {
        var errDiv = $('div.error-search-message');
        errDiv.html(String.format("По запросу '{0}' город не определён", city));
        errDiv.show();
    }
    function hideErrorSearchMessage() {
        $('div.error-search-message').hide();
    }

    /*
    cityInput.focusin(function() {
    console.log("f in");
    var form = $(cityInput.parents('form:first'));
    cityInput.data('origSubmit', form.attr('onsubmit'));
    form.unbind('submit');
    form.attr('onsubmit', 'javascript:setCityLocation()');
    form.bind('submit', setCityLocation);
    });
    cityInput.focusout(function() {
    console.log("f out");
    var form = $(cityInput.parents('form:first'));
    form.unbind('submit');
    form.attr('onsubmit', cityInput.data('origSubmit'));
    });
    */

    $("#searchid").autocomplete({
        source: availableTags, // in real life use "search.php" etc.
        maxsize: 4,
        open: function (event, ui) {
            $(this).autocomplete('widget').addClass('footer-search-autocomplete').css({ 'width': 336, 'left': '-=12px', 'top': '+=2px' });
        }
    });
    $('.office_search .tabs ul li:first-child a').click(function () {
        $('.office_search .tabs ul li').removeClass('active');
        $(this).parent().parent().addClass('active');
        $('#office-tab-search').show();
        $('#bank-tab-search').hide();
        inputSearchID = 'input-search';
        return false;
    });
    $('.office_search .tabs ul li:last-child a').click(function () {
        $('.office_search .tabs ul li').removeClass('active');
        $(this).parent().parent().addClass('active');
        $('#office-tab-search').hide();
        $('#bank-tab-search').show();
        inputSearchID = 'input-search2';
        return false;
    });
    $('.usl_prod span').click(function () {
        var posXY = $(this).offset();
        var posY = posXY.top;
        var posX = posXY.left;
        $('.services-drop').css({ "left": posX - 29, "top": posY - 24 }).show();
        return false;
    });
    $('.services-drop .heading a').click(function () {
        $('.services-drop').hide();
        return false;
    })
    $('#map-tab-list li a').click(function () {


        $('.ymap-container').css('display', 'none');

        $('#ymap-container-' + $(this).parents('li').index()).css('display', 'block');

        $('#map-tab-list li').removeClass('active');
        $(this).parents('li').addClass('active');
        $('#tab-map-item1, #tab-map-item2, #tab-map-item3').hide();
        if ($(this).parents('li').index() == 0) {
            $('#tab-map-item1').show();
        }
        if ($(this).parents('li').index() == 1) {
            $('#tab-map-item2').show();
        }
        if ($(this).parents('li').index() == 2) {
            $('#tab-map-item3').show();
            // AMB фикса для схемы метро: 
            var mobH = $('#metro-offices-block').height();
            var mphH = $('#metro-placeholder').height();
            $('#metro-placeholder').height((mobH < mphH) ? mphH : mobH);
            // AMB end
            // old bug	$('#metro-placeholder').height($('#metro-offices-block').height());
            ResetMetroMap();
        }
        return false;
    });

    radioButtonsClick('choose-list-level1', 'slide-box1', 'slide-box2', true);
    radioButtonsClick('choose-list-level2', 'slide-box2');


    $('.choose-list-level1 li .radioArea').live('click', function () {
        alert(1)
    });


    /* AMB 02.09.2011 переписал */
    var els_ = $('ul.cards-list-compare > li, div.card_banner ul.card_long > li');
    els_.each(function () {
        // списки для сравнения, перебор вероятных контейнеров
        var el = $(this);
        if (el.attr("IsProductItem") == 'false') {
            el.find('.compare-btn').hide();
        }
        else {
            $('a.add', el).click(function () { // клик по кнопке "к сравнению"
                if (el.hasClass('disable')) return false;
                el.addClass('selected');
                var count = $('ul.cards-list-compare > li.selected, div.card_banner ul.card_long > li.selected').length;
                $(this).hide();
                $('span.added,a.delete,a.compare', el).show();
                if (count > 1) $('a.compare', els_).addClass('active');
                if (count > 3) els_.each(function () { if (!$(this).hasClass('selected')) $(this).addClass('disable'); });
                return false;
            });

            $('a.compare', el).click(function () { // клик по кнопке "сравнить"
                if (!$(this).hasClass('active')) return false;
                // сбор и отправка id на сервер
                var compareID = '', it = 0;
                els_.each(function () {
                    if ($(this).hasClass('selected')) {
                        // collect compared items ID to string
                        compareID += ((it > 0) ? ',' : '') + $(this).attr('id');
                        it++;
                    }
                });
                // здесь уже готова строка параметров
                //alert('compareID='+compareID);
                var currentGeo = $("input[id$='HiddenFieldCurrentGeo']").val();
                var currentLocation = window.location.pathname;
                var toIndex = currentLocation.indexOf('/Pages/');
                var currentSiteUrl = currentLocation.substring(0, toIndex);
                window.location = currentSiteUrl + "/_layouts/Vtb24.Pages/ProductsComparison.aspx?productIds=" + compareID;
                return false;

                return false;
            });

            $('a.delete', el).click(function () { // клик по кнопке удаления из сравнения
                el.removeClass('selected');
                var count = $('ul.cards-list-compare > li.selected, div.card_banner ul.card_long > li.selected').length;
                $('span.added,a.delete,a.compare', el).hide();
                $('a.add', el).show();
                if (count < 2) $('a.compare', els_).removeClass('active');
                if (count < 4) els_.each(function () { $(this).removeClass('disable'); });
                return false;
            });
        }
    });

    /* / AMB 02.09.2011 */


    if (document.getElementById('presentation-link') != null)
        $("#presentation-link").fancybox({
            'padding': '16',
            'autoScale': 'true',
            'transitionIn': 'none',
            'transitionOut': 'none',
            'titlePosition': 'inside',
            'overlayColor': '#000',
            'overlayOpacity': '0.5',
            'width': '800',
            'height': '600'
        });
    if ($('.btn-all-properties').length > 0)
        $(".btn-all-properties").fancybox({
            'padding': '16',
            'autoScale': 'true',
            'transitionIn': 'none',
            'transitionOut': 'none',
            'titleShow': 'false',
            'overlayColor': '#000',
            'overlayOpacity': '0.5'
        });
    if ($('.feedback-bank-list li a').length > 0)
        $(".feedback-bank-list li a:not('.btn-department')").fancybox({
            'padding': '16',
            'autoScale': 'true',
            'transitionIn': 'none',
            'transitionOut': 'none',
            'titleShow': 'false',
            'overlayColor': '#000',
            'overlayOpacity': '0.5',
            'onComplete': function () {
                $('.feedback-popup-form select').selectmenu({ style: 'dropdown' });
                $('.checkboxArea, .checkboxAreaChecked, .radioArea, .radioAreaChecked').remove();
                initCustomForms();
            }
        });
    if ($('#feedback_msg_sent_link').length > 0)
        $("#feedback_msg_sent_link").fancybox({
            'padding': '16',
            'autoScale': 'true',
            'transitionIn': 'none',
            'transitionOut': 'none',
            'titleShow': 'false',
            'overlayColor': '#000',
            'overlayOpacity': '0.5'
        });
    if ($('.btn-showmsg').length > 0)
        $(".btn-showmsg").fancybox({
            'padding': '16',
            'autoScale': 'true',
            'transitionIn': 'none',
            'transitionOut': 'none',
            'titleShow': 'false',
            'overlayColor': '#000',
            'overlayOpacity': '0.5'
        });
    if ($('.mortgagebtn-showmsg').length > 0)
        $(".mortgagebtn-showmsg").fancybox({
            'padding': '16',
            'autoScale': 'true',
            'transitionIn': 'none',
            'transitionOut': 'none',
            'titleShow': 'false',
            'overlayColor': '#000',
            'overlayOpacity': '0.5',
            'onClosed': function () {
                window.location = $('input[id$="hfItemUrl"]').val();
            }
        });
    if ($('.applicationbtn-showmsg').length > 0)
        $(".applicationbtn-showmsg").fancybox({
            'padding': '16',
            'autoScale': 'true',
            'transitionIn': 'none',
            'transitionOut': 'none',
            'titleShow': 'false',
            'overlayColor': '#000',
            'overlayOpacity': '0.5',
            'onClosed': function () {
                window.location = $('#application_send a').attr('href');
            }

        });
    $("#vacancy_close").click(function () {
        $("#vacancies-control").hide(0);
    });
    $("#vacancy_open").click(function () {
        $("#vacancies-control").show(0);
    });





    // AMB: compare-page, delete buttons 
    $('table.compare-table div.delete-btn').each(function () {
        $('a.delete', $(this)).click(function () {
            var a = $(this);
            if (a.hasClass('disabled')) return false;
            var th = a.parents('th.card');
            var tr = th.parents('tr');
            var table = th.parents('table.compare-table');
            var ind = th.index();
            // place ajax code here
            $('tr', table).each(function () {
                $('td:eq(' + (ind + 1) + '),td:eq(' + (ind) + '),th:eq(' + (ind + 1) + '),th:eq(' + (ind) + ')', $(this)).remove();
            });
            var cnt = $('div.delete-btn', tr).length;
            table.attr('class', 'compare-table compare_' + cnt);
            if (cnt < 3) {
                $('a.delete', tr).addClass('disabled');
            }
            return false;
        });
    });
    /* 20-10-2011 */
    $('#contactToBank').click(function () {
        var workSpaceXY = $('#s4-workspace').offset();
        var posXY = $(this).offset();
        var posY = posXY.top - workSpaceXY.top;
        var posX = posXY.left - workSpaceXY.left;
        $('.feedback-bank').css({ "left": posX - 21, "top": posY - 18 }).show();
        return false;
    });

    $('.feedback-bank').click(function () {
        $('.feedback-bank').hide();
        return false;
    });
    ApplyStylesToProductsCompareTable();

    $('.sliding-news .new > a').live('click', function () {
        $(this).next().next('.hidden-news-text').slideToggle(400);
        return false;
    });
    fetchFavoritLinks();
    fetchCalcResultLinks();
    bindCalcResultEvents();

    $('.items-control .add').click(function () {
        $('.items-control .add').parents('.items-control').before('<div class="visible-fields-box">' + $(this).parents('form').find('.hidden-fields-box').html() + '</div>');
        $('.checkboxArea, .checkboxAreaChecked, .radioArea, .radioAreaChecked, .ui-selectmenu, .ui-selectmenu-menu').remove();
        $(this).parents('form').find('select').selectmenu({ style: 'dropdown' });
        $('.checkboxArea, .checkboxAreaChecked, .radioArea, .radioAreaChecked').remove();
        initCustomForms();
        if ($(this).parents('form').find('.visible-fields-box').size() >= 1) {
            $('.items-control .remove').show();
        }
        return false;
    });
    $('.items-control .remove').click(function () {
        $(this).parents('form').find('.visible-fields-box:last').remove();
        if ($(this).parents('form').find('.visible-fields-box').size() < 1) {
            $('.items-control .remove').hide();
        }
        return false;
    });

//    var cookieName = "Vtb24ContrastVersion";
//    var contrast = $.cookie(cookieName);
//    if (cookieName != null && cookieName != undefined && cookieName != "") {
//        loadCss();
//        $('body').addClass('contrast');
//        setContrastPics();
//    }

//    $('div.glasses').click(function () {
//        var contrast = $.cookie(cookieName);
//        if (contrast != null && contrast != undefined && contrast != "") {
//            removeCss();
//            $('body').removeClass('contrast');
//            setNormalPics();
//            $.cookie(cookieName, '', { path: '/', expires: 365 });
//        }
//        else {
//            loadCss();
//            $('body').addClass('contrast');
//            setContrastPics();
//            $.cookie(cookieName, 'contrast', { path: '/', expires: 365 });
//        }
//    });
});

function loadCss() {
    var url = "http://" + window.location.host + "/Style Library/vtb24_contrast.css";
    $("body").append($("<link id='contrastlink' rel='stylesheet' href='" + url + "' type='text/css' />"));
}

function removeCss() {
    $('body link#contrastlink').remove();
    $('body').removeClass('contrast');
}

function setContrastPics() {
    if ($('body').is('.contrast')) {

        $('div#s4-bodyContainer').css("background", "url(/_layouts/Images/Vtb24.Images/contrast/bg_index.png) 0 0 repeat-x !important");
        $('.wrapper_all').css("background", "url(/_layouts/Images/Vtb24.Images/contrast/bg_index.png) 0 0 repeat-x !important");
        $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/arrow-up.png');
        $('.fixed_footer_left img.breadfav').attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_favorite_transp_bl1.gif');
        $('.logo_index img, .logo > a > img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/logo2.png');
        $('.selected-region .russia-map-image').attr('src', '/_layouts/Images/Vtb24.Images/contrast/map.png');
        $('.favorite_list .hf').attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_favorite1.gif');
        $('.calculate_list .cl_name img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/cross.gif');
        $('.B_homeCrumb img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_home.gif');
        $('.loader-icon img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/ajax-loader.gif');
        $('.join_us_footer a > img[src*="ico_ut.png"], .join_us a > img[src*="ico_ut.png"]').attr('src', '/_layouts/Images/Vtb24.Images/contrast/ico_ut.png');
        $('#map-arrow').css("background", "url('/_layouts/Images/Vtb24.Images/contrast/map-stripe-back.jpg') 0 0 repeat-y");
        $('#map-arrow > img, #left-right-arrow-margin > img').attr('src', '/_layouts/Images/Vtb24.Images/contrast/map-arrow-right.png');
        $('#choose.choose_region_cover').css('height', '0 !important');
    }
}

function setNormalPics() {
    if (!$('body').is('.contrast')) {
        $('div#s4-bodyContainer').css("background", "url(/_layouts/Images/Vtb24.Images/bg_index.png) 0 0 repeat-x !important");
        $('.wrapper_all').css("background", "url(/_layouts/Images/Vtb24.Images/bg_index.png) 0 0 repeat-x !important");
        $('.fixed_footer_top img').attr('src', '/_layouts/Images/Vtb24.Images/arrow-up.png');
        $('.fixed_footer_left img.breadfav').attr('src', '/_layouts/Images/Vtb24.Images/ico_favorite_transp_bl1.gif');
        $('.logo_index img, .logo > a > img').attr('src', '/_layouts/Images/Vtb24.Images/logo.png');
        $('.selected-region .russia-map-image').attr('src', '/_layouts/Images/Vtb24.Images/map.png');
        $('.favorite_list .hf').attr('src', '/_layouts/Images/Vtb24.Images/ico_favorite1.gif');
        $('.calculate_list .cl_name img').attr('src', '/_layouts/Images/Vtb24.Images/cross.gif');
        $('.B_homeCrumb img').attr('src', '/_layouts/Images/Vtb24.Images/ico_home.gif');
        $('.loader-icon img').attr('src', '/_layouts/Images/Vtb24.Images/ajax-loader.gif');
        $('.join_us_footer a > img[src*="ico_ut.png"], .join_us a > img[src*="ico_ut.png"]').attr('src', '/_layouts/Images/Vtb24.Images/ico_ut.png');
        $('#map-arrow').css("background", "url('/_layouts/Images/Vtb24.Images/map-stripe-back.jpg') 0 0 repeat-y");
        $('#map-arrow > img, #left-right-arrow-margin > img').attr('src', '/_layouts/Images/Vtb24.Images/map-arrow-right.png');
        $('#choose.choose_region_cover').css('height', '700px');
    }
}

//Sets Products Compare table state on first page load.
function ApplyStylesToProductsCompareTable() {
    var count = 0;
    $('table.compare-table div.delete-btn').each(function () {
        if (count != 0) {
            return;
        }
        count++;
        var a = $(this);
        var th = a.parents('th.card');
        var tr = th.parents('tr');
        var table = th.parents('table.compare-table');

        var cnt = $('div.delete-btn', tr).length;
        table.attr('class', 'compare-table compare_' + cnt);
        if (cnt < 3) {
            $('a.delete', tr).addClass('disabled');
        }
    });
}

function hideAdvancedRadios() {

    $('.radio-advanced .advanced-info').css('display', 'none');
    $('.radioSelected .advanced-info').css('display', 'block').parent().addClass('current');

    $('.radio-advanced').click(function () {

        if ($(this).hasClass('current')) return;

        $('.current').removeClass('current');
        $(this).addClass('current');

        var allAdvancedInfo = $(this).parent().find('.advanced-info');
        var isSlideDown = true;
        for (i = 0; i < allAdvancedInfo.length; i++) {
            if ($(allAdvancedInfo[i]).css('display') != 'none') {
                var objectToSlideDown = $(this);
                isSlideDown = false;
                $(allAdvancedInfo[i]).slideUp(500, function () {
                    objectToSlideDown.children('.advanced-info').slideDown(500);
                });
                break;
            }
        }
        if (isSlideDown) {
            $(this).children('.advanced-info').slideDown(500);
        }


    });
}

function CreateCalculatorPager() {
    var pageItems = $('.page-separator');

    if (pageItems.length == 0) return;

    var result = '';
    for (var i = 0; i < pageItems.length; i++) {

        result += "<span class = 'tabPage' id = 'page" + (i + 1) + "'>";
        result += $(pageItems[i]).html();
        result += "</span>";
        if (i < pageItems.length - 1)
            result += "<span class = 'arrow'>→</span>";

    }
    $('#request-pager').html(result);
    $('.tabPage').click(CalculatorPageItemClickHandler);
    ShowPageItems(1);

}

function ShowPageItems(pageIndex) {

    var pageItems = $('.calculator').children('.row, .page-separator, .group-name');
    pageItems.css('display', 'none');

    $(".selected-page-item").removeClass('selected-page-item');
    $('#page' + pageIndex).addClass('selected-page-item');

    for (var i = 0; i < pageItems.length; i++) {
        if ($(pageItems[i]).hasClass('page-separator'))
            pageIndex--;
        if (pageIndex == 0 && !($(pageItems[i]).hasClass('page-separator'))) {
            $(pageItems[i]).css('display', 'block');
        }
        if (pageIndex < 0) {
            break;
        }
    }
}

function CalculatorPageItemClickHandler() {
    var pageNumber = $(this).attr('id').toString().split('page')[1];
    ShowPageItems(pageNumber);
}


function ratingOffice(ulid) {
    var ul = $(ulid);
    var officeId = $("input[id$='HiddenFieldOfficeId']").val();
    var userVoteCookieKey = "Vtb24UserVote" + officeId;
    $('a', ul).click(function () {
        var href = $(this).attr('href');
        // send data to server (ajax)
        return makeVote($(this).text(), ul, userVoteCookieKey, officeId);
    });

    setRatingOfficeState(ul, userVoteCookieKey, officeId);
}

function makeVote(vote, ul, userVoteCookieKey, officeId) {
    //get user vote from cookie
    var userVote = $.cookie(userVoteCookieKey);
    //check if user already voted and return if yes
    if (userVote != null && userVote != undefined && userVote != "") { return; }
    makeServiceCall("MakeVote", { vote: vote, officeId: officeId }, function (result) { setRating(ul, result); $.cookie(userVoteCookieKey, vote); });
}

function setRatingOfficeState(ul, userVoteCookieKey, officeId) {
    //get user vote from cookie
    var userVote = $.cookie(userVoteCookieKey);
    //check if user already voted and return if yes
    if (userVote == null || userVote == undefined || userVote == "") { return; }
    makeServiceCall("GetAverageVote", { officeId: officeId }, function (result) { setRating(ul, result); });
}

function makeServiceCall(webMethod, data, onSuccess) {
    var serviceUrl = "/_vti_bin/Vtb24.Internet/OfficeRatingWebService.svc/";
    $.ajax({
        type: "GET",
        url: serviceUrl + webMethod,
        cache: false,
        contentType: "application/json; charset=utf-8",
        data: data,
        success: onSuccess,
        error: function (error) { alert('Error: ' + error.statusText); }
    });
}

function setRating(ul, result) {
    $('li', ul).each(function () {
        var li = $(this);
        if (li.hasClass('current-rating')) {
            li.width(result + '%');
        } else {
            li.remove();
        }
    });

    ul.addClass('ratingset');
    ul.prev().hide();
    $('.ratingblock p').show();
}


function initFeedbackPopup() {
    $('#type-message-select').live('change', function () {
        if ($(this).val() == 1) {
            $('#theme-of-message-select').hide();
            $('#theme-of-message-input').show();
            $('#theme-of-message-input input').val('').removeAttr('disabled');
        }
        if ($(this).val() == 2) {
            $('#theme-of-message-select').show();
            $('#theme-of-message-input').hide();
            $('#theme-of-message-input input').val('').removeAttr('disabled');
        }
        if ($(this).val() == 3) {
            $('#theme-of-message-select').hide();
            $('#theme-of-message-input').show();
            $('#theme-of-message-input input').val('').removeAttr('disabled');
        }
        if ($(this).val() == 4) {
            $('#theme-of-message-select').hide();
            $('#theme-of-message-input').hide();
            $('#theme-of-message-input input').val('').removeAttr('disabled');
        }
        if ($(this).val() == 5) {
            $('#theme-of-message-select').hide();
            $('#theme-of-message-input').show();
            $('#theme-of-message-input input').val('').removeAttr('disabled');
        }
        if ($(this).val() == 6) {
            $('#theme-of-message-select').hide();
            $('#theme-of-message-input').show();
            $('#theme-of-message-input input').val('Консультация по пакету «Привилегия»').attr('disabled', 'true');
        }
    });
}

function Vtb24OpenDialog(url) {
    var options = { url: url, dialogReturnValueCallback: showNotification };
    SP.UI.ModalDialog.showModalDialog(options);
}
function showNotification() {
    SP.UI.Notify.addNotification("Изменения отобразятся после обновления страницы.", false);
}
(function ($) {
    $.fn.refresh = function (o) {
        o = $.extend({
            option: false
        }, o || {});
        $(this).each(
			function () {
			    var _this = $(this);
			    var _option = o.option;
			    var _thisclass = _this.attr('class');
			    $('.ui-selectmenu.' + _thisclass + ', .drop-' + _thisclass).remove();
			    if (_option) {
			        _this.find('option').remove();
			        _this.html(_option);
			    }
			    _this.selectmenu({
			        style: 'dropdown'
			    });
			});
    };
})(jQuery);

