function replaceIe6Links()
{
    if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
        var items = $('a.no-ie6-link');
        var item;

        for (var i = 0; i < items.length; i++) {
            item = $(items[i]);
            item.replaceWith('<span class="' + items[i].className + '">' + item.html() + '<\/span>');
        }

        return items.length > 0;
    }

    return false;
}

function showCallMeBackForm()
{
    var form = $('#main-call-me-back-form');
    form.css('top', $(window).scrollTop() + 'px');
    form.css('left', Math.round(($(window).width() - form.outerWidth()) / 2 + $(window).scrollLeft()) + 'px');

    if (!document.getElementById('main-call-me-back-form-bg')) {
        var bg = document.createElement('div');
        bg.setAttribute('id', 'main-call-me-back-form-bg');
        bg.onclick = hideCallMeBackForm;
        document.getElementsByTagName('body')[0].appendChild(bg);
        $(window).bind('resize scroll', showCallMeBackForm);
        $(window).bind('keydown', function(event) {
            if (event.which == 27) {
                event.preventDefault();
                hideCallMeBackForm();
            }
        });
    }

    var bg = $('#main-call-me-back-form-bg');
    bg.css({
        top: $(window).scrollTop() + 'px',
        left: $(window).scrollLeft() + 'px',
        width: $(window).width() + 'px',
        height: $(window).height() + 'px',
        opacity: 0.85
    });

    form.show();
    bg.show();
}

function hideCallMeBackForm()
{
    $('#main-call-me-back-form').hide();
    $('#main-call-me-back-form-result').hide();
    $('#main-call-me-back-form-container').show();
    $(window).unbind('resize scroll keydown');

    var bg = document.getElementById('main-call-me-back-form-bg');
    if (bg) {
        bg.parentNode.removeChild(bg);
    }
}

function checkCallMeBackForm()
{
    var phoneEle = document.getElementById('cmb-phone');

    if (phoneEle) {
        if (phoneEle.value == '') {
            phoneEle.className = 'error ' + phoneEle.className;
            phoneEle.focus();

        } else {
            phoneEle.className = getClassName(phoneEle, 'error');
            return true;
        }
    }

    return false;
}

function callMeBack()
{
    if (checkCallMeBackForm()) {
        var form = $('#main-call-me-back-form');
        var loading = $('#main-call-me-back-form img');
        var button = $('#main-call-me-back-form input[type="submit"]');

        loading.show();
        button.attr('disabled', 'true');

        $.post(
            '/ajax/call-me/',
            form.serializeArray(),
            function() {
                $(':input', form).not(':button, :submit, :reset, :hidden').val('');
                loading.hide();
                button.removeAttr('disabled');

                $('#main-call-me-back-form-result').slideDown();
                $('#main-call-me-back-form-container').slideUp();
            }
        );
    }

    return false;
}

function getClassName(ele, exeptClassName)
{
    var classes = ele.className.split(' ');
    var className = '';

    for (var i = 0; i < classes.length; i++) {
        if (exeptClassName != classes[i]) {
            className += (className.length > 0 ? ' ' : '') + classes[i];
        }
    }

    return className;
}

