$(window).resize(function(){
	C.doResize()
})

var C={
	init: function(){
		C.dobrypromo.init();
		C.bg.init();
		slider.init();
		C.content.init();
		C.flash.init();
		if(typeof Shadowbox=='object'){
			Shadowbox.init({
				handleOversize: 'drag',
				displayNav: 'true',
				enableKeys: 'true'
			});
		}
	},

	doResize: function(){
		C.bg.redraw();
	},

	dobrypromo: {
		init: function(){
			if($('#juiceTextCol').length && $('#promodobry').length){
				$('#juiceTextCol').css('display','block');$('#promodobry').css('display','none');
				//если нет куки, показываем флеш, что выше - не разбирался
				if(!C.getCookie('promotionalLogo')){
				/*
					$('#promodobry').css('display','block');
					var so = new SWFObject('/img/dpromo/promo_sight.swf', "promodobrybox", "100%", "100%", "8", "#ffffff");
					so.addVariable('link1', 'http://multon.ru/brands/dobry/about/');
					so.addVariable('link2', 'http://multon.ru/dobry_promo/');
					so.write('promodobry');
					//var timerOnce = window.setTimeout("$('#promodobry').css('display','none');$('#juiceTextCol').css('display','block')", 15000);
					C.setCookie('promotionalLogo', '1');*/
				} else {
					$('#juiceTextCol').css('display','block');
				}
				
			}
		}
	},
	//Получение куки
	getCookie:function (name) {
		var cookie = " " + document.cookie;
		var search = " " + name + "=";
		var setStr = null;
		var offset = 0;
		var end = 0;
		if (cookie.length > 0) {
			offset = cookie.indexOf(search);
			if (offset != -1) {
				offset += search.length;
				end = cookie.indexOf(";", offset)
				if (end == -1) {
					end = cookie.length;
				}
				setStr = unescape(cookie.substring(offset, end));
			}
		}
		return(setStr);
	},	
	//Ф-я записи куки, expires - время в минутах
	setCookie:function (name, value, expires, path, domain, secure) {
		if (expires){
			var oDate=new Date();
			oDate.setMinutes(oDate.getMinutes()+expires);
			var expires=oDate.toUTCString();
		}
		document.cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
	},
	bg: {
		$element: null,//левый нижний бг - либо фрукт, либо иной предмет
		animated: false,//флаг анимации, которая происходит сразу после загрузки страницы

		init: function(){
			if($('#fruitBg').length){
				C.bg.$element=$('#fruitBg');
			}else if($('#smljuiceBg').length){
				C.bg.$element=$('#smljuiceBg');
			}
			C.bg.redrawStart();
			setTimeout('C.bg.redrawEnd()',1000);
		},

		redraw: function(){
			C.bg.redrawStart();
			C.bg.redrawEnd();
		},

		redrawStart: function(){
			var mainbox_w=$('#mainBox')[0].offsetWidth;
			if(mainbox_w<1244){
				var left=parseInt((mainbox_w-1244)/2);
				var percent=100 + (1244-mainbox_w)/20;
			}else{
				var left=0;
				var percent=100;
			}
			$('#mainTbl').css({backgroundPosition:''+left+'px 0'});
			$('#mainBox').css({backgroundPosition:''+percent+'% 100%'});
			$bigjuice_bg=$('#bigjuiceBg');
			if($bigjuice_bg.length){
				$bigjuice_bg.css({height:'100%'});
			}
		},

		redrawEnd: function(){
			if(C.bg.$element){
				var $contentbox=$('#contentBox');
				var min_height=$('#submenu')[0].offsetHeight + C.bg.$element[0].offsetHeight;
				if($contentbox[0].offsetHeight-125 < min_height){
					$contentbox.height(min_height);
				}
				if(!C.bg.animated){
					C.bg.$element.css({visibility:'visible',opacity:0}).animate({opacity:1},'slow');
				}
			}
			if($bigjuice_bg.length){
				$('#bigjuiceBg').css({height:$('#mainBox')[0].offsetHeight+'px'});
				if(!C.bg.animated){
					$('#bigjuiceBg').css({visibility:'visible',opacity:0}).animate({opacity:1},'slow');
				}
			}
			if(!C.bg.animated){
				C.bg.animated=true;
			}
		}
	},
	
	content: {
	  init: function(){
			var bodies=[3,13,47,56,103,113,147,156];
			var $bodies=$('body.id0');
			for(var i=0; i<bodies.length; i++){
				$bodies=$bodies.add('body.id'+bodies[i]);
			}
	    var $h3=$bodies.find('div.contentZone h3');
	    if($h3.length){
        //фолдим разделы
        $h3.each(function(){
          //все теги до следующего заголовка h3 помещаем в <div class="folder">
          //вернее так: создаем тег <div class="folder"> сразу после заголовка 
          //и помещаем в него все теги идущие до следующего заголовка
          $(document.createElement('div')).addClass('folder').insertAfter(this);
          var $next_all=$(this).nextAll();
          for(var i=0; i<$next_all.length; i++){
            if(i==0){
              var $folder=$next_all.eq(i);
            }else{
              if($next_all.eq(i)[0].tagName=='H3') break;
              if($next_all.eq(i)[0].tagName=='DIV' && $next_all.eq(i)[0].className=='clear') break;
              $next_all.eq(i).appendTo($folder);
            }
          }
          if($folder.children().length){
            $(this).wrapInner(
              $(document.createElement('a')).attr({href:'#'})
            ).children('a').bind('click',function(event){
							event.preventDefault();
							$('#contentBox').css({height:'auto'});
              $folder.slideToggle('fast',C.doResize);
            }).trigger('click')
          }
        })
	    }
	  }
	},
	
	flash: {
		init: function(){
			if($('#juiceTextCol').length){
				var so = new SWFObject('/swf/maintwelv.swf', "juiceTextCol", "621", "444", "9", "#ffffff");
				so.addVariable('path', C.flash_xml);
				so.write('juiceTextCol');
			}
		}
	},
	video: {
		display: function(idv) {
			var so = new SWFObject('/swf/player.swf', "videof", "480", "232", "8", "#ffffff");
			so.addVariable('list', '/u/xml/movies/'+idv+'.xml');
			so.write('videoflash');
		}
	}
}

var slider = {
	scrollBar: null,
	slideStartValue: 0,
	isSlide: false,
	isClick: false,
	max: 0,

	init: function() {
		if($('#scrollBarFruit').length || $('#scrollBarProcess').length){
      slider.tooltip.init();
      if (document.getElementById('scrollBarProcess') !== null) {
        this.scrollBar = document.getElementById('scrollBarProcess');
        slider.max = 12;
      } else {
        this.scrollBar = document.getElementById('scrollBarFruit');
        slider.max = 10;
      }
      $(this.scrollBar).slider({
        //range: 'max',
        min: 0,
        max: slider.max,
        value: 3,
        slide: function(event, ui) {
          $('#scrollValue').text(ui.value);
        },
        change: function(event, ui) {
          // Проверяем что бы пользователь не выходил за рамки видимости
          if (ui.value < 3) {
            slider.slideTo(3);
          }
          slider.isSlide = true;
          var currentValue = parseInt(ui.value);
          if (slider.slideStartValue < currentValue) {
            for (var i = 0; i < (currentValue - slider.slideStartValue); i++) {
              if (!slider.isClick) {
                $('#right').click();
              }
            }
          } else if (slider.slideStartValue >= currentValue) {
            for (var i = 0; i < (slider.slideStartValue - currentValue); i++) {
              if (!slider.isClick) {
                $('#left').click();
              }
            }
          } else {
            return;
          }
          slider.isSlide = false;
        },
        start: function(event, ui) {
          slider.slideStartValue = parseInt(ui.value);
        }
      });
  
      if (slider.max == 10) {
        $('a.ui-slider-handle').css('width', '252px');
        $('a.ui-slider-handle').css('margin-left', '-252px');
      }
  
      // Анимируем передвижение
      $('#scrollShow').scrollShow({
        view:'#scroll',
        content:'#images',
        itemSize: {
          width: 290,
          height: 365
        },
        speed: 600,
        navigators:'a[id]',
        navigationMode:'s',
        circular: false,
        start: 0
      });
  
      // Влево
      $('#left').bind('click', function(event) {
        slider.isClick = true;
        slider.slideLeft(event);
        slider.isClick = false;
      });
  
      // Вправо
      $('#right').bind('click', function(event) {
        slider.isClick = true;
        slider.slideRight(event);
        slider.isClick = false;
      });
		}
	},

	slideRight: function(event) {
		var currentValue = parseInt($('#scrollValue').text());
		// Если кликнули по стрелке
		if (!slider.isSlide) {
			slider.slideStartValue = parseInt($('#scrollValue').text());
			slider.slideTo(currentValue + 1);
		} else {
			$('#scrollValue').text($(this.scrollBar).slider('value'));
		}

		if (currentValue >= slider.max && slider.isSlide) {
			$('#right').hide(300);
		} else if (currentValue >= slider.max - 1 && !slider.isSlide) {
			$('#right').hide(300);
		}

		if (currentValue >= 3) {
			$('#left').show(300);
		}
	},

	slideLeft: function(event) {
		var currentValue = parseInt($('#scrollValue').text());
		if (!slider.isSlide) {
			slider.slideStartValue = parseInt($('#scrollValue').text());
			slider.slideTo(currentValue - 1);
		}
		$('#scrollValue').text($(this.scrollBar).slider('value'));
		if (currentValue <= 4) {
			$('#left').hide(300);
		}

		if (currentValue <= slider.max) {
			$('#right').show(300);
		}
	},

	slideTo: function (num) {
		$(this.scrollBar).slider('value', num);
		$('#scrollValue').text($(this.scrollBar).slider('value'));
	},

	tooltip: {
		tooltips: [],
		init: function() {
			$('#scroll a').each(function(i, item) {
				var tooltipIndex = i;
				var elemId   = parseInt($(item).attr('name').substr(5));
				var listElem = $(item).parent();
				var tooltipHTML = listElem.children('span.invisible').html();
                if (tooltipHTML == null) {
                    slider.tooltip.tooltips.push(null);
                    return (0);
                }
                listElem.children('a').addClass('linked');
                var topElement     = $('<div class="tooltipTop"><div class="tl"></div><div class="tr"></div></div>');
                var bottomElement  = $('<div class="tooltipBottom"><div class="bl"></div><div class="br"></div></div>');
                var contentElement = $('<div class="tooltipArrow"></div><div class="tooltipContent">' + tooltipHTML + '</div>');
                slider.tooltip.tooltips.push($('<div class="tooltip" id="tooltip'+ tooltipIndex + '"></div>').appendTo('body'));
                topElement.appendTo('#tooltip' + tooltipIndex);
                contentElement.appendTo('#tooltip' + tooltipIndex);
                bottomElement.appendTo('#tooltip' + tooltipIndex);
				$(item).click(
					function(e) {
						var mouseX = e.clientX + 20;
						var mouseY = e.clientY - 50;
						slider.tooltip.tooltips[tooltipIndex].css('top', mouseY + 'px');
						slider.tooltip.tooltips[tooltipIndex].css('left', mouseX + 'px');
						if ($.browser.msie) {
							slider.tooltip.tooltips[tooltipIndex].css("background", "url(/img/tooltip_bg.gif) top left no-repeat");
						}
						slider.tooltip.tooltips[tooltipIndex].fadeIn(300);
					}
				),

				$(item).hover(function(e){},
					function(e) {
						slider.tooltip.tooltips[tooltipIndex].fadeOut(300);
					}
				)
			})
		}

	}
}


function getElementPosition(elem) {
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;

    var l = 0;
    var t = 0;

    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }

    return {"left":l, "top":t, "width": w, "height":h};
}

