﻿	/*******************************************************************************
 * Отдельный набор специально для первой страницы.
 ******************************************************************************/

$(function() {

	$._oLoaded = {
		"cookie" : false,
		"corners" : false
	};
	/**
	 * подключаем всякие плагины
	 */
    $.getScript("/common/upload/js/jquery.cookie.js", function()
    {
		$._oLoaded.cookie = true;
		$.tryToInit();
	});

    $.getScript("/common/upload/js/jquery.corner.js", function()
    {
		$._oLoaded.corners = true;
		$.tryToInit();
	});

	/**
	 * Определяем константы
	 */
	var sSearchText = "поиск по сайту";
	var sSearchTextEng = "search";
	var sCookieName = "color";
	var oMetaShadow;

	/**
	 * Некоторый МетаИнит, который проверяет, все ли плагины загрузились.
	 * Работать надо через него.
	 */
	$.tryToInit = function()
	{
		for ( var i in $._oLoaded)
		{
			if ($._oLoaded[i] == false)
			{
				return false;
			}
		}
		// Всё ок, можно инициализировать
		$.initPage();
	};

	$.initPage = function()
	{
		initFirstPageMenu();
		initRoundCorners();
		initColorChoosing();
		initSearchField();
        initFilesIcons();
        initULs();              // после FileIcons! :)
        initBreadCrumbs();
        initMetaShadow();
        initServiceLinks();    
        initFeedbackForm();    
        initOrderThis();    
    };

	/***************************************************************************
	 * Общее затенение
	 **************************************************************************/
	function initMetaShadow()
	{
	    oMetaShadow = $("<div id='MetaShadow'>").appendTo("body").css(
	        {
	            position: "absolute",
	            zIndex: 90,
	            top: 0,
	            left: 0,
	            backgroundColor: "#000000",
	            opacity: 0.7
	        }).hide();
	}

    function showMetaShadow()
    {
        oMetaShadow.width( $("body").width() ).height( $("body").height() );
        oMetaShadow.fadeIn("fast");
    }
    function hideMetaShadow()
    {
        oMetaShadow.fadeOut("fast");
	}
	/***************************************************************************
	 * Расстановка тире в списках
	 **************************************************************************/
    function initULs()
    {
        // Только для Ie6
        if( !$.support.cssFloat && !$.support.objectAll )
        {
            $("#ContentExactly ul li:not(.IconFile)").addClass("WithDash");
        }
    }

	/***************************************************************************
	 * Поле поиска
	 **************************************************************************/
	function initSearchField()
	{
		var sTempSearchText = ( $("#MetaLayout").hasClass("EngVer") ) ? sSearchTextEng : sSearchText;
		$oSearchInput = $("#Search input[type='text']").eq(0);
/*		if ($.browser.safari)
			$oSearchInput.replaceWith($oSearchInput.clone().attr("type",
					"search").attr("results", "5").attr("placeholder",
					sSearchText));
		else
*/		
			$oSearchInput.bind("focus", function()
			{
				if ($(this).val() == sTempSearchText)
					$(this).val("").removeClass("Holding");
			}).bind("blur", function()
			{
				if ($(this).val() == "" || $(this).val() == sTempSearchText)
					$(this).val(sTempSearchText).addClass("Holding");
			}).blur();
	}

	/***************************************************************************
	 * Выбор фона
	 **************************************************************************/
	function initColorChoosing()
	{
		$("#ColorChoose").click(
			function()
				{
					if( $.cookie( sCookieName ) == "Blue" )
					{
						$.cookie( sCookieName, null, {path: '/'});
					} else {
						$.cookie( sCookieName,"Blue", {expires: 90, path: '/'});
					}
					updateSiteColor();
					return false;
				}
		);
        updateSiteColor();
    }
    
    function updateSiteColor()
    {
        if( $.cookie( sCookieName ) == "Blue" )
        {
            $("body").addClass("Blue");
        } else {
        
            $("body").removeClass("Blue");
        }
        initRoundCorners( true );
    }

	/***************************************************************************
	 * Закругленные уголки
	 **************************************************************************/
	function initRoundCorners( bIsForChangeColor )
	{
        var sTempColor = ( $("body").hasClass("Blue") ) ? "#021b2c" : "#141414";
	    if( $("#FirstPage").length > 0 )
	    {
	        var sTempTeaserColor = sTempColor;
        } else {
            var sTempTeaserColor = "#eff2f4";
        }
        $("ul.TeasersBlock li").uncorner().corner("bottom 12px cc:" + sTempTeaserColor);
        $("ul.TeasersBlock em").uncorner().corner("top 13px cc:" + sTempTeaserColor);
        
        $("div.Corners").uncorner().corner("13px cc:" + sTempTeaserColor);
        $("div.CornersTop").uncorner().corner("top 13px cc:" + sTempTeaserColor);
        $("div.CornersBottom").uncorner().corner("bottom 13px cc:" + sTempTeaserColor);

        // Хак для ie -- устанавливаем фиксированную ширину. Плохо, так как очевидно влияет на смену шрифтов
        if( !bIsForChangeColor )
        {
			if( !$.support.cssFloat )
			{
				$("div.Status em").each( function()
				{
					$( this ).width( $( this ).width() );
					if( $.browser.msie && $.browser.version >= 7 )
					{
						$( this ).height( $( this ).height() + 4 );	// совсем какой-то грязный хак, но пока самое простое решение.
					}
				});
			}
		}
		$("div.Status em").uncorner().corner("10px cc:" + sTempTeaserColor);
    }

	/***************************************************************************
	 * Иконки файлов для скачивания
	 **************************************************************************/
     function initFilesIcons()
     {
        $("#ContentExactly a").each( function()
            {
                var sHref = $( this ).attr("href");
                if( sHref )
                {
					switch( sHref.substr( sHref.length - 4) )
					{
						case ".doc":
							setFileIcon( this, "DOC");
						break;
						case ".rtf":
							setFileIcon( this, "RTF");
						break;
						case ".pdf":
							setFileIcon( this, "PDF");
						break;
						case ".exe":
							setFileIcon( this, "EXE");
						break;
						case ".zip":
							setFileIcon( this, "ZIP");
						break;
					}
				}
            });
     }

    function setFileIcon( oLink, sType )
    {
        var $oLink = $( oLink );
        if( $oLink.parent().get(0).tagName == "LI" )
        {
			if($oLink.parent().parent().get(0).tagName == "OL")
			{
/*				var sOldText = $oLink.html();
				var sText	= ($oLink.attr("title") ) ? $oLink.attr("title") : $oLink.html();
				var $oTemp	= $("<a>").attr("href", $oLink.attr("href")).html( sText );
				var $oDiv	= $("<div>").append( $oTemp ).addClass("IconFile").addClass( sType ).appendTo( $oLink.parent() );
				$oLink.replaceWith( sOldText ); */
			} else {
				$oLink.parent().addClass("IconFile").addClass( sType );
				$oLink.parent().parent().addClass("IconsList");
			}
        } else {
            $oLink.wrap( $("<div>").addClass("IconFile").addClass( sType ) );
        }
    }

	/***************************************************************************
	 * Меню на первой странице (корпоративные/частные)
	 **************************************************************************/
    function initFirstPageMenu()
    {
        showJuridical();
    }

    function showJuridical()
    {
        $("#ForPhysical").removeClass("Selected");
        $("#ForJuridical").addClass("Selected");
        $("#ForJuridical em").unbind("click");
        $("#ForPhysical em").bind("click", showPhysical );
    }
    
    function showPhysical()
    {
        $("#ForJuridical").removeClass("Selected");
        $("#ForPhysical").addClass("Selected");
        $("#ForPhysical em").unbind("click");
        $("#ForJuridical em").bind("click", showJuridical );
    }

	/***************************************************************************
	 * Закрываем открытые модальные окна
	 **************************************************************************/
	function initModalWindow()
	{
		$(document).bind("keydown",function( e )
		{ 
			if( e.which == 27) {  // escape, close box 
				closeModalWindow();
			} 
		}); 
		$(".OpenedWindow").click( function( e )
		{
			e.stopPropagation();
		});
		$( document ).click(function( e ) {
			closeModalWindow();
		});
        $("DFN.CloseBtn").click( closeModalWindow );
	}

	function closeModalWindow()
	{
		hideMetaShadow();
		$(".OpenedWindow").fadeOut("fast").removeClass("OpenedWindow");
		$(document).unbind("keydown");
		$("body").unbind("click");
	}
	/***************************************************************************
	 * Хлебные крошки
	 **************************************************************************/
    function initBreadCrumbs()
    {
        var oLink = $("div.Status em");
            oLink.addClass("Enabled")
            	.click(function(){
					showSubMenu( $( this ) ); return false;
				})
            	.hover(
					function(){ $( this ).css("backgroundColor", "#e0e0e0"); },
					function(){ $( this ).css("backgroundColor", "#cfd5d9"); }
				);
            $("#StatusMenu").appendTo("body");
    }
    
    function showSubMenu( oLink )
    {
		$("#StatusMenu div.SubStatusBlock").hide();
		var $oLink = $( oLink );

        $("#SubStatus_" + $oLink.attr("id").substr(14)).show();
        $("#StatusMenu").css({
            left: ($oLink.offset().left - 20) + "px",
            top: ($oLink.parent().offset().top - 15) + "px"
        });
        
        showMetaShadow();
        $("#StatusMenu").addClass("OpenedWindow").fadeIn("fast");
        $("#StatusMenu thead span").click( hideSubMenu );
        initModalWindow();
    }

    function hideSubMenu()
    {
        hideMetaShadow();
        $("#StatusMenu").fadeOut("fast");
    }

	/***************************************************************************
	 * "Заказать эту услугу"
	 **************************************************************************/
    function initOrderThis()
    {
    	// Переносим форму в body, чтобы было удобнее.
    	$("#OrderThisForm").appendTo("body").css({
    			top: $("#OrderThis").offset().top,
    			left: "50%",
    			marginLeft: "-" + ($("#OrderThisForm").width() / 2) + "px"
    		});
    
        $("#OrderThis a").click( function()
            {
                showOrderForm();
                return false;
            });
           
        $("#OrderThisForm INPUT.BtnCancel").click( function()
            {
                hideOrderForm();
                return true;
            });
    }
    
    function showOrderForm()
    {
    	// подставляем название, если еще там ничего не написано
    	var $oInput = $("#OrderThisForm input:text").eq(0);
    	if( $oInput.val() == "" )
    	{
    		$oInput.val( $("h1").text() );
    	}

        showMetaShadow();
        $("#OrderThisForm").fadeIn("fast").addClass("OpenedWindow");
        initModalWindow();
    }
    
    function hideOrderForm()
    {
        hideMetaShadow();
        $("#OrderThisForm").fadeOut("fast");
    }

	/***************************************************************************
	 * "Форма обратной связи"
	 **************************************************************************/
    function initFeedbackForm()
    {

		if( $("#FeedbackForm").length > 0 )
		{
			// Переносим форму в body, чтобы было удобнее.
			$("#FeedbackForm").appendTo("body").css({
					top: ($("#LinkFeedback").offset().top + 20) + "px",
					left: $("#LinkFeedback").offset().left + "px"
	//    			marginLeft: "-" + ($("#FeedbackForm").width() / 2) + "px"
				});
			$("#LinkFeedback").click( function()
				{
					showFeedbackForm();
					return false;
				});
			   
			$("#FeedbackForm INPUT.BtnCancel").click( function()
				{
					hideFeedbackForm();
					return true;
				});
		}
    }
    
    function showFeedbackForm()
    {
        showMetaShadow();
        $("#FeedbackForm").fadeIn("fast", function()
        	{
//        		$("#FeedbackForm INPUT[type=text]").eq(0).focus();
        	}).addClass("OpenedWindow");
        initModalWindow();
    }
    
    function hideFeedbackForm()
    {
        hideMetaShadow();
        $("#FeedbackForm").fadeOut("fast");
    }

	/***************************************************************************
	 * "Быстрые услуги"
	 **************************************************************************/
    function initServiceLinks()
    {
    	// Переносим форму в body, чтобы было удобнее.
    	$("#ServicesNav").appendTo("body").css({
    			top: $("#AdditionalShortLink").offset().top,
    			left: $("#AdditionalShortLink").offset().left - ($("#ServicesNav").width() - $("#AdditionalShortLink").width())
//    			left: "50%",
//    			marginLeft: "-" + ($("#ServicesNav").width() / 2) + "px"
    		});
    
        $("#LinkServiceCorp").click( function()
            {
                $("#ServicesPrivate").hide();
                $("#ServicesCorp").show();
                showServiceNavForm();
                return false;
            });
        $("#LinkServicePrivate").click( function()
            {
                $("#ServicesCorp").hide();
                $("#ServicesPrivate").show();
                showServiceNavForm();
                return false;
            });
           
        $("#ServicesNav INPUT.BtnCancel").click( function()
            {
                hideServiceNavForm();
                return true;
            });
    }
    
    function showServiceNavForm()
    {
        showMetaShadow();
        $("#ServicesNav").fadeIn("fast").addClass("OpenedWindow");
        initModalWindow();
    }
    
    function hideServiceNavForm()
    {
        hideMetaShadow();
        $("#ServicesNav").fadeOut("fast");
    }
    
});

/** *************************************************** */
$(document).ready(function() { $.tryToInit(); });

