﻿/*
* Набор всякого.
*/


// jQuery.noConflict();

(function($) {

	function InitSite()
		{
			InitAJAX();
			InitFeedback();
			InitProductSlider();
			InitSifrHeaders();
			InitSeminarSelect();
		}

	function InitAJAX()
		{
			$("<img id='IconAJAX' src='/i/AJAX.gif' width='16' height='16' alt='Загрузка' />")
				.css({
					position: 	"absolute",
					top:		"0",
					left:		"0",
					zIndex:	"199"
				})
				.appendTo("body")
				.hide();
		}


	////////////////////////////////////////////////////////////////////////////////
	// Продуктовый слайдер
	// (нужна библиотека ui.slider.js
	function InitProductSlider()
		{
            var oProductSlider		= $('.ProductSlider');
            
            // Если продуктовый слайдер вообще есть
            if( oProductSlider.length > 0 )
            {
            		oProductSlider.disableTextSelect();
            
					var oProductSliderUL	= $('ul', oProductSlider);
						oProductSliderUL.width( $('li', oProductSlider).length * (184 + 32) + 10 );

					var iItemsWidth			= oProductSliderUL.innerWidth() - oProductSlider.outerWidth();
					var oSliderBar			= $('.slider', oProductSlider);
					var aProductLabels		= $('span', oSliderBar);
					var oHandle				= $('.handle', oSliderBar);
					
					// Сначала расставим лейблы на баре на правильном расстоянии друг от друга
					// Ширина слайдера нам известна и так. 916 - 60 = 856. 856 - 30 = 826;
					var iOneSectorInPixels	= 826 / $('li', oProductSlider).length;
					var iAlreadyShift		= 32;
					aProductLabels.each( function( i, v )
						{
							var iTempCenter			= (iOneSectorInPixels * $('li.slider-bl' + i, oProductSlider).length) / 2;
							$( this ).css("left", (iAlreadyShift + iTempCenter - ($( this ).outerWidth() / 2) ) + "px")
							iAlreadyShift			+= (iTempCenter * 2);
							
							$( this ).bind("click", function()
								{
									shiftSliderToMainLabel( oSliderBar, oHandle, this, iItemsWidth );
									return false;
								});
						});

					// Собственно, инициализируем слайдер
					oSliderBar.slider({
						min:	0,
						max:	iItemsWidth,
						easing:	'easeOutExpo',
						handle:	'.handle',
						start: function(ev, ui)
							{
								$( window ).bind("selectstart", function(){ return false; } );
								this.iTempValue	= ui.value;
							},
						change:	function (ev, ui)
							{
//								window.console.log( ui.value );
								oProductSliderUL.css('left', Math.round(ui.value) * -1);
//								oProductSliderUL.stop().animate({'left' : Math.round(ui.value) * -1}, 500,'easeOutExpo'); 
//								alert( oSliderBar.offset().left );
//								alert( ui.handle.css("left") +  ui.handle.outerWidth() / 2);
								$( window ).unbind("selectstart", function(){ return false; } );
							},
						slide:	function (ev, ui)
							{
								oProductSliderUL.css('left', Math.round(ui.value) * -1);
								aProductLabels.each( function(i, v)
									{
									});
							}
					});

					if( $('li.Parent', oProductSlider).length > 0 )
					{
						var oSelectedLI		= $('li.Parent', oProductSlider)
						var iSelectedIndex	= $('li', oProductSlider).index( oSelectedLI );
						shiftSliderToLabel( oSliderBar, ( (184 + 32) * (iSelectedIndex - 3)  + 85));
					}
					


//					if( $("span.Parent", oSliderBar).length > 0 )
//						shiftSliderToLabel( oSliderBar, $("span.Parent", oSliderBar).data("value") );
			};
		}

	function shiftSliderToLabel( oSliderBar, iValue )
		{
			$( oSliderBar ).slider("moveTo", iValue, 0);
		}

	function shiftSliderToMainLabel( oSliderBar, oHandle, sMainLabel, iItemsWidth )
		{
			var iValue = iItemsWidth / 696 * (($( sMainLabel ).position().left + $( sMainLabel ).outerWidth() / 2) - (oHandle.width() / 2));
		
			$( oSliderBar ).slider("moveTo", iValue , 0);
		}


	////////////////////////////////////////////////////////////////////////////////
	// Заголовочки
	function InitSifrHeaders()
		{
			if ( $("h1").length > 0 )
				if ( !$("h1").hasClass("NoSifr") )
					{
						if ( $.browser.msie )
							$("h1").sifr({path: '/flash/', font: 'helvetica', color:'#000000', fontSize: '1.1em'});
						else
							$("h1").sifr({path: '/flash/', font: 'helvetica', color:'#000000', fontSize: '1.6em'});
					}
		}
	
	////////////////////////////////////////////////////////////////////////////////
	// Календарь семинаров
	function InitSeminarSelect()
		{
			if ( $(".CalendarTable").length > 0 )
				$(".CalendarTable li input").click(function()
					{
						$(this).parent().toggleClass("Selected");
					});
		}
	

	////////////////////////////////////////////////////////////////////////////////
	// Обратная связь
	function InitFeedback()
		{
			$("#FeedBackForm").css({visibility: "hidden", display: "block"});
		var iFormHeight	= $("#FeedBackForm").height();
			$("#FeedBackForm").css({visibility: "visible", display: "none"});
			if( $("#FeedBackLink").length > 0 )
				{
					$("#FeedBackLink").bind("click", function()
						{
							var iY	= $( this ).offset().top  - iFormHeight + 5;
							var iX	= $( this ).offset().left + 50; 
							$("#FeedBackForm").css({top: iY + "px", left: iX + "px"}).fadeIn("normal", function()
								{
									$("#FeedBackForm input:first").focus();
								});
							return false;
						});
					$("#FeedBackForm input[type=image]").eq(1).click( function()
						{
							$("#FeedBackForm").fadeOut("fast");
							return false;
						});
					$("#FeedBackForm input.Text").add("#FeedBackForm textarea")
						.change( function(){ CheckFeedBackBtn(); })
						.keyup( function(){ CheckFeedBackBtn(); })
						.change();
				}
					
		}

	function CheckFeedBackBtn()
		{
			if( $("#FeedBackForm input.Text").val() != '' && $("#FeedBackForm textarea").val() != '' )
				$("#FeedBackForm input[type=image]").eq(0).attr("src","/i/feedbackBtnSend.gif").unbind("click").click( function()
					{
						FeedbackSend();
						return false;
					});
			else
				$("#FeedBackForm input[type=image]").eq(0).attr("src","/i/feedbackBtnSendDisabled.gif").unbind("click").click( function()
					{
						return false;
					});

			
		}

	function FeedbackSend()
		{
			var iY			= $("#FeedBackForm td").eq(2).offset().top + 2;
			var iX			= $("#FeedBackForm td").eq(2).offset().left - 20;
			var sName		= $("#FeedBackForm input.Text").val();
			var sComment	= $("#FeedBackForm textarea").val();
			$("#IconAJAX").css({left: iX + "px", top: iY + "px"})
				.bind("ajaxSend", function(){ $(this).show(); })
				.bind("ajaxComplete", function(){ $(this).hide(); });

			$.post("/accept_feedback/", { FeedbackName: sName, FeedbackComment: sComment },
				function( data )
					{
						if( data.bAllOk == 1 )
						{
							$("#FeedBackForm").fadeOut("fast");
						} else
							alert("bug");
					}, "json");
		}
////////////////////////////////////////////////////////////////////////////////
	
	$( document ).bind("ready", function(){
			InitSite();
		});
	

})(jQuery);

