$(document).ready(function() {
    /* Markup crunches */
    $('hr').replaceWith('<div class="hr"><!-- --></div>');
    $('table.interlaced tr:even').addClass('even');
    $('table.interlaced tr:odd').addClass('odd');

    $('#breadcrumbs a:last').addClass('last');

    $('#media_block .media_block_cell:first').addClass('first');
    $('#media_block .media_block_cell:last').addClass('last');

    $('#media_block .media_block_cell.news .news_item:first').addClass('first');

    /* Grid */
    $('.grid_holder .grid_item:even').addClass('even');
    $('.grid_holder .grid_item:odd').addClass('odd');

    /* Bahaviours */
    initTabs();

    $('.allow_digits_only').blur(allowDigitsOnly);
    $(function() {$( "#dt" ).datepicker();});
    
});	
function allowDigitsOnly() {
    while (/[^\d]/.test(this.value)) {
        this.value = this.value.replace(/[^\d]/, '');
    }
}

/* ========================================================================== */

function showHideDiv(id) {
    var elem = $('#' + id);

    if (elem.length > 0) {
        elem.toggle();
    }
}

function showHideTr(id) {
    var showingDisp = 'table-row';
    if (/MSIE\s(6|7)/i.test(navigator.userAgent)) {
        showingDisp = 'block';
    }

    var tr = $('#' + id);

    if (tr.length > 0) {
        if (tr.css('display') == 'none') {
            tr.css('display', showingDisp);
        } else {
            tr.css('display', 'none');
        }
    }
}

/* ========================================================================== */

function hideInputLabel(inp, label) {
    if (inp && (typeof(inp) != 'undefined') && label && (typeof(label) != 'undefined')) {
        if (inp.value == label) {
            inp.value = '';
        }
    }
}

function showInputLabel(inp, label) {
    if (inp && (typeof(inp) != 'undefined') && label && (typeof(label) != 'undefined')) {
        if (inp.value == '') {
            inp.value = label;
        }
    }
}

/* ========================================================================== */

function getCookie(name) {
    var str = '';
    var start = document.cookie.indexOf(name);
    name += '=';

    if (start >= 0) {
        str = document.cookie.slice(start + name.length);

        var stop = str.indexOf(';');
        if (stop >= 0) {
            str = str.slice(0, stop);
        }
    }

    return unescape(str);
}

function setCookie(name, value, ttl, path) {
    var dt = null;
    if (typeof(ttl) == 'undefined') {
        ttl = 0
    }
    if (typeof(path) == 'undefined') {
        path = '/';
    }

    if (ttl > 0) {
        dt = new Date(ttl);
    }

    var cookie = name + '=' + escape(value);

    if (dt) {
        cookie += ';expires=' + dt.toUTCString();
    }

    cookie += ';path=' + path;

    document.cookie = cookie;
}

/* ========================================================================== */

function initTabs() {
    var i = 0;

    $('.tabs_holder').each(function() {
        var holder = $(this);
        var j = 0;

        this.id = 'dTabs_holder_' + i;

        holder.find('h4').each(function() {
            this.id = 'dTabs_label_' + i + '_' + j;
            $(this).click(dTabSelect);
            j++;
        });

        j = 0;
        holder.find('.tab_content').each(function() {
            this.id = 'dTabs_content_' + i + '_' + j;
            j++;
        });

        $('#dTabs_label_' + i + '_0').addClass('active');
        $('#dTabs_content_' + i + '_0').addClass('active');
        i++;
    });

    if (location.hash.length > 1) {
        $('h4.tab_code_' + location.hash.replace('#', '')).click();
    }
}

function dTabSelect() {
    try {
        if (/^dTabs_label_(\d+)_(\d+)$/i.test(this.id)) {
            var holderId = RegExp.$1;
            var tabId = RegExp.$2;

            $('#dTabs_holder_' + holderId).find('h4').removeClass('active');
            $('#dTabs_holder_' + holderId).find('.tab_content').removeClass('active');

            $(this).addClass('active');
            $('#dTabs_content_' + holderId + '_' + tabId).addClass('active');
        }
    } catch (e) {}
}

/* ========================================================================== */

function changePromoBanner(elem) {
    if (/^promo_bnr_number_(\d+)$/i.test(elem.id)) {
        var id = RegExp.$1;
        var img = $('#promo_bnr_' + id);
        var imgHolder = $('#promo_block .images');

        if ((img.length > 0) && (imgHolder.length > 0)) {
            $('#promo_block .numbers a').removeClass('active');
            $(elem).addClass('active');
            var y = -1 * img.attr('offsetTop');

            $(imgHolder).animate({"top": y + 'px'}, 500);
        }
    }
}

/* ========================================================================== */

function toggleNewsTinyDescr(id) {
    var goodsHolder = $('#news_item_' + id);

    if (goodsHolder.length > 0) {
        if (goodsHolder.hasClass('opened')) {
            goodsHolder.removeClass('opened');
            goodsHolder.find('a.title span').html('+');
        } else {
            goodsHolder.addClass('opened');
            goodsHolder.find('a.title span').html('-');
        }
    }
}

/* ========================================================================== */

function leftMenu_showTriangle(elem) {
	if (!$(elem).is('.active')) {
		$(elem).find('.triangle').toggle();
	}
}

/* ========================================================================== */

/*function initTinyMCE(selector) {
    if (typeof(selector) == 'undefined') {
        selector = 'textarea.tinyMCE_needed';
    }

    $(selector).tinymce({
        // Location of TinyMCE script
        script_url : '/lib/external/tiny_mce/tiny_mce.js',

        // General options
        theme : "advanced",
        plugins : "autolink,lists,pagebreak,style,table,advhr,advlink,iespell,images,inlinepopups,preview,searchreplace,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,xhtmlxtras,advlist",

        // Theme options
        theme_advanced_buttons1 : "cut,copy,paste,pastetext,pasteword,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull|,sub,sup",
        theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,outdent,indent|,undo,redo,|,link,unlink,cleanup,code,images",
        theme_advanced_buttons3 : "tablecontrols,|,removeformat,|,charmap,|,fullscreen",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,

        // Drop lists for link/image/media/template dialogs
        external_image_list_url : "lists/image_list.js",
    });
}*/
/* ========================================================================== */
function showSkypePopup() {
    var cfg = {
        "id": 'skype_call_us',
        "label": '',
        "closeBtn": true,
        "content": ''
    };

    cfg.content += '<div style="width: 447px; margin: 0 auto; padding-top: 15px;">';
    cfg.content += '<img src="/visualization/img/skype_head.jpg" width="447" /><br />';
    cfg.content += '<div style="width: 365px; margin: 0 auto 30px auto;">Вы можете позвонить нам, если на Вашем компьютере установлен Skype.<br /><br />Для этого просто нажмите кнопку &quot;Позвонить&quot;.<br /><br />Звонок бесплатный.</div>';
    cfg.content += '<a href="skype:mrsoft.ru" style="display: block; width: 252px; height: 52px; margin: 0 auto 24px auto; overflow: hidden; text-indent: -9999px; background: transparent url(/visualization/img/skype_btn_call.gif) no-repeat;">Позвонить</a>';
    cfg.content += '</div>';

    dPopupShow(cfg);
}

function showAuthPopup(act) {
    if ((act != 'auth') && (act != 'registration') && (act != 'reminder')) {
        act = 'auth';
    }

    var cfg = {
        "id": 'auth',
        "label": '',
        "closeBtn": true,
        "content": ''
    };

    /* Tab buttons */
    cfg.content += '<div class="tabs_labels">';
    cfg.content += '<a href="#" class="tab_label auth ' + ((act == 'auth') ? 'active' : '') + '" onclick="showAuthTab(this); return false;">Вход</a>';
    cfg.content += '<a href="#" class="tab_label registration ' + ((act == 'registration') ? 'active' : '') + '" onclick="showAuthTab(this); return false;">Регистрация</a>';
    cfg.content += '<a href="#" class="tab_label reminder ' + ((act == 'reminder') ? 'active' : '') + '" onclick="showAuthTab(this); return false;">Восстановление пароля</a>';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';

    /* Tab auth */
    cfg.content += '<div class="tab_content auth">';
    cfg.content += '<form action="" method="post" class="classic_form">';
    cfg.content += '<fieldset>';
    cfg.content += '<input type="hidden" name="auth_frm" value="1" />';
    cfg.content += '<div class="fld_holder">';
    cfg.content += '<label for="auth_popup_login">Логин:</label>';
    cfg.content += '<input type="text" class="inp_txt" name="login" id="auth_popup_login" value="" />';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';
    cfg.content += '<div class="fld_holder">';
    cfg.content += '<label for="auth_popup_pwd">Пароль:</label>';
    cfg.content += '<input type="password" class="inp_txt" name="pwd" id="auth_popup_pwd" value="" />';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';
    cfg.content += '<div class="fld_holder chkbx_holder">';
    cfg.content += '<input type="submit" value="Войти" />';
    cfg.content += '</div>';
    cfg.content += '</fieldset>';
    cfg.content += '</form>';
    cfg.content += '</div>';

    /* Tab registration */
    cfg.content += '<div class="tab_content registration">';
    cfg.content += '<form id="reg_frm" action="/personal/registration/" method="post" class="classic_form">';
    cfg.content += '<fieldset>';
    cfg.content += '<input type="hidden" name="reg_frm_flag" value="1" />';
    cfg.content += '<div class="fld_holder">';
    cfg.content += '<label for="reg_mail">Контактный e-mail:</label>';
    cfg.content += '<input type="text" class="inp_txt" name="reg_mail" id="reg_mail" value="" maxlength="255" onblur="dValidator.catchOnChange(this);" />';
    cfg.content += '<div class="err_msg">Укажите корректный E-mail</div>';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';
    cfg.content += '<div class="fld_holder">';
    cfg.content += '<label for="reg_pwd">Пароль:</label>';
    cfg.content += '<input type="password" class="inp_txt" name="reg_pwd" id="reg_pwd" value="" maxlength="255" onblur="dValidator.catchOnChange(this);" />';
    cfg.content += '<div class="err_msg">Минимум 6 символов</div>';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';
    cfg.content += '<div class="fld_holder">';
    cfg.content += '<label for="reg_ppwd">Пароль повторно:</label>';
    cfg.content += '<input type="password" class="inp_txt" name="reg_ppwd" id="reg_ppwd" value="" maxlength="255" onblur="dValidator.catchOnChange(this);" />';
    cfg.content += '<div class="err_msg">Пароли не совпадают</div>';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';
    cfg.content += '<div class="fld_holder">';
    cfg.content += '<label for="reg_fio">ФИО:</label>';
    cfg.content += '<input type="text" class="inp_txt" name="reg_fio" id="reg_fio" value="" maxlength="255" onblur="dValidator.catchOnChange(this);" />';
    cfg.content += '<div class="err_msg">Укажите ФИО</div>';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';
    cfg.content += '<div class="fld_holder">';
    cfg.content += '<label for="reg_phone">Контактный телефон:</label>';
    cfg.content += '<input type="text" class="inp_txt" name="reg_phone" id="reg_phone" value="" maxlength="100" onblur="dValidator.catchOnChange(this);" />';
    cfg.content += '<div class="err_msg">Укажите телефон</div>';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';
    cfg.content += '<div class="fld_holder chkbx_holder">';
    cfg.content += '<input type="submit" value="Зарегистрироваться" />';
    cfg.content += '<br /><a href="/personal/registration/is.legal/">Регистрация для юридических лиц</a>';
    cfg.content += '</div>';
    cfg.content += '</fieldset>';
    cfg.content += '</form>';
    cfg.content += '</div>';

    /* Tab reminder */
    cfg.content += '<div class="tab_content reminder">';
    cfg.content += '<form action="/personal/reminder/" method="post" class="classic_form">';
    cfg.content += '<fieldset>';
    cfg.content += '<input type="hidden" name="reminder_request_frm_flag" value="1" />';
    cfg.content += '<div class="fld_holder">';
    cfg.content += '<label for="popup_remind_mail">E-mail:</label>';
    cfg.content += '<input type="text" class="inp_txt" name="remind_mail" id="popup_remind_mail" value="" maxlength="255" />';
    cfg.content += '<div class="clear"><!-- --></div>';
    cfg.content += '</div>';
    cfg.content += '<div class="fld_holder chkbx_holder">';
    cfg.content += '<input type="submit" value="Восстановить" />';
    cfg.content += '</div>';
    cfg.content += '</fieldset>';
    cfg.content += '</form>';
    cfg.content += '</div>';

    dPopupShow(cfg);

    showAuthTab($('#dPopup_auth .tab_label.' + act).get(0));
}

function showAuthTab(elem) {
    elem = $(elem);

    /* Activate button */
    $('#dPopup_auth .tab_label').removeClass('active');
    elem.addClass('active');

    /* Hide-show */
    $('#dPopup_auth .tab_content').hide();

    switch (true) {
        case elem.hasClass('auth'):
            $('#dPopup_auth .tab_content.auth').show();
            break;
        case elem.hasClass('registration'):
            $('#dPopup_auth .tab_content.registration').show();
            break;
        case elem.hasClass('reminder'):
            $('#dPopup_auth .tab_content.reminder').show();
            break;
    }
}

/* ========================================================================== */

if (/\/personal\/cart\/order.*\/from.facebook_/i.test(location.href)) {
    window.fbAsyncInit = function() {
        FB.init({
            appId : '196306690403610',
            status : true, 
            cookie : true, 
            xfbml : true 
        });

        FB.login(dfbLogin, {perms:'email,user_about_me'});
    };
}

function dfbLogin(resp) {
    if (resp && (typeof(resp) != 'undefined')) {
        if (resp.status == 'connected') {
            if (resp.session && (typeof(resp.session) != 'undefined')) {
                FB.api('/me', dfbPasteData);
            }
        }
    }
}

function dfbPasteData(resp) {
    var name = $('#ord_name');
    var mail = $('#ord_mail');

    if (resp && (typeof(resp) != 'undefined')) {
        if ((name.val() == '') && resp.name && (typeof(resp.name) != 'undefined') && (resp.name != '')) {
            name.val(resp.name);
        }

        if ((mail.val() == '') && resp.email && (typeof(resp.email) != 'undefined') && (resp.email != '')) {
            mail.val(resp.email);
        }
    }
}

/* ========================================================================== */

function vardump(item) {
    var str = '(' + typeof(item) + ') ' + item + '\n\n';

    if (item && (typeof(item) != 'undefined')) {
        for (var i in item) {
            str += i + ' = ' + item[i] + '\n';
        }
    }

    alert(str);
}
