﻿
jQuery.noConflict();

if (typeof expandText == 'undefined') {
    var expandText = 'expand';
};
if (typeof collapseText == 'undefined') {
    var collapseText = 'collapse';
};
/*Flash rendering*/
function flash(version, filename, name, width, height, wmode, bgcolor, menu, flashvars) {

    document.write("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="
          + version + "' width='" + width + "' height='" + height + "' id='" + name + "' align='middle'>");
    document.write("<param name='allowScriptAccess' value='sameDomain' />");
    document.write("<param name='wmode' value='" + wmode + "' />");
    document.write("<param name='bgcolor' value='" + bgcolor + "' />");
    document.write("<param name='salign' value='lt' />");
    document.write("<param name='movie' value='" + filename + "' />");
    document.write("<param name='menu' value='" + menu + "' />");
    document.write("<param name='quality' value='high' />");
    document.write("<param name='flashvars' value='" + flashvars + "' />");
    document.write("<embed src='" + filename + "' wmode='" + wmode + "' menu='" + menu + "' quality='high' flashvars='" + flashvars + "' salign='lt' width='" + width + "' height='" + height + "' bgcolor='" + bgcolor + "' name='" + name + "' align='middle' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />");
    document.write("</object>");
}

/*Video rendering*/
function video(filename, name, width, height) {

    document.write("<object type='application/x-shockwave-flash' data='/Helpers/flvplayer.swf' height='" + height + "' width='" + width
           + "' id='" + name + "' >");
    document.write("<param name='movie' value='/Helpers/flvplayer.swf' />");
    document.write("<param name='allowfullscreen' value='true' />");
    document.write("<param name='flashvars' value='file=" + filename + "&amp;autostart=false&amp;showicons=true&amp;backcolor=0xFFFFFF&amp;frontcolor=0x280000&amp;lightcolor=0x000000&amp;resize=false&amp;screencolor=0x000000'/>");

    document.write("</object>");
}

jQuery(document).ready(function () {
    (function ($) {
        /* Ready DOM function */

        jQuery('#search-block-input input').each(function () {
            var input = this;
            var inputJquery = jQuery(this);
            var dropdown = jQuery('#search-block-autocomplete').eq(0);

            inputJquery.focus(function () {
                if (input.value == input.defaultValue) {
                    input.value = '';
                }
                else {
                    if (input.value != '') {
                        changeSpotlite(input.value);
                        jQuery('#search-block').addClass('showAutocomplete');
                        dropdown.css('visibility', 'visible');
                    };
                };
            }).keyup(function (key) {
                if (input.value) {
                    changeSpotlite(input.value);
                    setSpotliteFlag(dropdown);
                    jQuery('#search-block').addClass('showAutocomplete');
                    dropdown.css('visibility', 'visible');
                }
                else {
                    jQuery('#search-block').removeClass('showAutocomplete');
                    dropdown.css('visibility', 'hidden');
                };
            }).keydown(function (e) {
                var keycode = e.which;
                switch (keycode) {
                    case 9: //tab
                        blurSpotlite();
                        return true;
                        break;
                };
            });

            function blurSpotlite() {
                if (input.value == '')
                    input.value = input.defaultValue;
                jQuery('#search-block').removeClass('showAutocomplete');
                dropdown.css('visibility', 'hidden');
            };

            var date = new Date();
            var flag = 'fl' + date.getTime();

            function setSpotliteFlag(parent) {
                parent.get(0).spotliteFlag = flag;
                var children = parent.children();
                var len = children.length;
                if (len != 0) {
                    for (var i = 0; i < len; i++) {
                        var child = children.eq(i);
                        setSpotliteFlag(child);
                    };
                };
            };

            setSpotliteFlag(inputJquery.parent().parent());

            jQuery(document).click(function (e) {
                var obj = e.target;
                if (typeof obj.spotliteFlag == 'undefined' || obj.spotliteFlag != flag) {
                    blurSpotlite();
                };
            });

            function changeSpotlite(keyword) {
                var url = '/Search/SearchAutocompleteControl/' + keyword;
                jQuery.get(url, null, function (result) {
                    jQuery('#search-block').addClass('showAutocomplete');
                    jQuery(dropdown).html(result);
                });
            };

            $('#search-block-button').click(function () {
                var searchInputValue = $('#search-block-input input').val();
                if (searchInputValue == '' || searchInputValue == 'Search') return false;
                window.location = '/search/' + searchInputValue;
                return false;
            });

            $('#search-block-input input').focus(function () {
                if (this.value == this.defaultValue) {
                    this.value = '';
                    $(this).addClass('active');
                };
            })
			.blur(function () {
			    if (this.value == '' || this.value == this.defaultValue) {
			        this.value = this.defaultValue;
			        $(this).removeClass('active');
			    };
			});

        });

        var operaSubmenuTimeout;
        var submenuHideTimeout = new Object();
        var outFlag = false;


        var menuItems = $('#menu li div.submenu').each(function () {
            var submenu = $(this);
            var menuItem = submenu.prev();
            var firstChildItem = submenu.find(':first');
            if (typeof firstChildItem[0] != 'undefined') {
                var target = menuItem[0].attributes['target'] != undefined ? 'target="' + menuItem[0].attributes['target'].value + '"' : '';

                var nameMenuItem = $('<div class="item-name"><a href="' + menuItem[0].href + '" ' + target + '><span>' + menuItem.text() + '</span></a><div><!-- --></div></div>').insertBefore(firstChildItem);
                var submenuElem = submenu.find('a').filter(function () { return $(this).next().hasClass('submenu-item'); });
                submenuElem.addClass('isSubmenu').each(function () {
                    var obj = $(this);
                    var nextObj = $(this).next();
                    obj.mouseenter(function () {
                        outFlag = false;
                        nextObj.css({ display: 'block' });
                        obj.addClass('submenuOpen');
                        if (typeof obj[0].timeOut != 'undefined') {
                            clearTimeout(obj[0].timeOut);
                        }
                        var aTags = nextObj.children('a');
                        var innerWidth = obj.innerWidth();
                        var maxWidth = 185;
                        for (var i = 0; i < aTags.length; i++) {
                            var spanElem = aTags.eq(i).children().eq(0).css({ display: 'inline' });
                            var aElem = aTags.eq(i);
                            var aElemInnerWidth = spanElem.width() + 15 + parseInt(spanElem.css('padding-left')) + parseInt(aElem.css('padding-left')) + parseInt(aElem.css('padding-right'));
                            spanElem.css({ display: 'block' });
                            if (aElemInnerWidth > maxWidth) {
                                maxWidth = aElemInnerWidth;
                            };
                        };
                        nextObj.css({
                            width: maxWidth,
                            left: innerWidth,
                            top: obj.offset().top - obj.parent().offset().top
                        });
                    }).mouseleave(function () {
                        obj[0].timeOut = setTimeout(function () {
                            nextObj.css({ display: 'none' });
                            obj.removeClass('submenuOpen');
                        }, 400);
                    });
                    nextObj.mouseenter(function () {
                        outFlag = false;
                        if (typeof obj[0].timeOut != 'undefined')
                            clearTimeout(obj[0].timeOut);
                    }).mouseleave(function () {
                        obj[0].timeOut = setTimeout(function () {
                            nextObj.css({ display: 'none' });
                            obj.removeClass('submenuOpen');
                        }, 400);
                    });
                    obj.parent().children('a').not(obj).mouseenter(function () {
                        if (typeof obj[0].timeOut != 'undefined')
                            clearTimeout(obj[0].timeOut);
                        nextObj.css({ display: 'none' });
                        obj.removeClass('submenuOpen');
                    });
                });
                var firstChildItemATag = firstChildItem.children('a');
                menuItem.mouseenter(function () {
                    outFlag = false;
                    if (typeof operaSubmenuTimeout != 'undefined' && $.browser.opera) {
                        clearTimeout(operaSubmenuTimeout);
                    };
                    if (typeof submenuHideTimeout.timeOut != 'undefined') {
                        if (typeof submenuHideTimeout.submenu != 'undefined' && submenuHideTimeout.submenu[0] != submenu[0]) {
                            clearTimeout(submenuHideTimeout.timeOut);
                            submenuHideTimeout.submenu.css({ display: 'none' });
                            submenuHideTimeout.submenuElem.each(function () {
                                if (typeof this.timeOut != 'undefined')
                                    clearTimeout(this.timeOut);
                                $(this).removeClass('submenuOpen');
                            })
							.next().css({ display: 'none' });
                            submenuHideTimeout.firstChildItem.css({ display: 'none' });
                            if ($.browser.opera) {
                                $('body').css({ display: 'inline' });
                                operaSubmenuTimeout = setTimeout(function () { $('body').css({ display: 'block' }); }, 100);
                            };
                        };
                    };
                    firstChildItem.css({ display: 'block' });
                    submenu.css({ display: 'block' });
                    var width = nameMenuItem.innerWidth();
                    firstChildItem.children('div.si-top').find('b').css({ marginLeft: (width - 12) + 'px' })
                    var maxWidth = 185;
                    for (var i = 0; i < firstChildItemATag.length; i++) {
                        var spanElem = firstChildItemATag.eq(i).children().eq(0).css({ display: 'inline' });
                        var aElem = firstChildItemATag.eq(i);
                        var innerWidth = spanElem.width() + 15 + parseInt(spanElem.css('padding-left')) + parseInt(aElem.css('padding-left')) + parseInt(aElem.css('padding-right'));
                        spanElem.css({ display: 'block' })
                        if (innerWidth > maxWidth) {
                            maxWidth = innerWidth;
                        };
                    };
                    firstChildItem.css({ width: maxWidth + 'px' });
                    submenuHideTimeout.submenu = submenu;
                    submenuHideTimeout.submenuElem = submenuElem;
                    submenuHideTimeout.firstChildItem = firstChildItem;

                })
				.mouseleave(function () {
				    submenuHideTimeout.timeOut = setTimeout(function () { hideMenu() }, 400);
				});
                submenu.mouseenter(function () {
                    outFlag = false;
                    clearTimeout(submenuHideTimeout.timeOut);
                })
				.mouseleave(function () {
				    submenuHideTimeout.timeOut = setTimeout(function () { hideMenu() }, 400);
				});


            };
        });

        $('#menu li>a').not(menuItems.prev()).mouseenter(function () {
            if (typeof submenuHideTimeout.timeOut != 'undefined') {
                clearTimeout(submenuHideTimeout.timeOut);
                hideMenu();
            };
        });

        $('#menu li').each(function () { this.submenuFlag = true; $('*', this).each(function () { this.submenuFlag = true; }) });

        $(document).mouseover(function (e) {
            if (typeof submenuHideTimeout.submenu != 'undefined' && typeof e.target.submenuFlag == 'undefined' && outFlag) {
                submenuHideTimeout.submenu.css({ display: 'none' });
                submenuHideTimeout.submenuElem.each(function () {
                    if (typeof this.timeOut != 'undefined')
                        clearTimeout(this.timeOut);
                    $(this).removeClass('submenuOpen');
                })
				.next().css({ display: 'none' });
                submenuHideTimeout.firstChildItem.css({ display: 'none' });
                if ($.browser.opera) {
                    $('body').css({ display: 'inline' });
                    operaSubmenuTimeout = setTimeout(function () { $('body').css({ display: 'block' }); }, 100);
                };
                outFlag = false;
            };
        });


        function hideMenu() {
            submenuHideTimeout.submenu.css({ display: 'none' });
            submenuHideTimeout.submenuElem.each(function () {
                if (typeof this.timeOut != 'undefined')
                    clearTimeout(this.timeOut);
                $(this).removeClass('submenuOpen');
            })
			.next().css({ display: 'none' });
            submenuHideTimeout.firstChildItem.css({ display: 'none' });
            if ($.browser.opera) {
                $('body').css({ display: 'inline' });
                operaSubmenuTimeout = setTimeout(function () { $('body').css({ display: 'block' }); }, 100);
            };
            outFlag = true;
        };

        /* Contact expand-collapse */
        $('.ce-navigation').each(function () {
            var button = $(this);
            var buttonText = button.find('a').children().eq(0);
            button.parent().find('div.ce-content').each(function () {
                var content = $(this);
                if (button.hasClass('open')) {
                    content.show();
                    buttonText.text('свернуть');
                }
                else {
                    content.hide();
                };
                button.click(function () {
                    if (content.is(':visible')) {
                        content.slideUp(300);
                        buttonText.text(expandText);
                    }
                    else {
                        content.slideDown(300);
                        buttonText.text(collapseText);
                    }
                });
                buttonText.parent().click(function () {
                    if (content.is(':visible')) {
                        content.slideUp(300);
                        buttonText.text(expandText);
                    }
                    else {
                        content.slideDown(300);
                        buttonText.text(collapseText);
                    }
                    return false;
                });
            });
        });
        /*end Contact expand-collapse */
    })(jQuery)
});
