
var defaultWidth = 997;


function getTopPos(){
  var yScroll = $.browser.msie ? document.documentElement.scrollTop : self.pageYOffset;
  var windowHeight = $.browser.msie ? document.documentElement.clientHeight : window.innerHeight;
  var posTop = Math.round((windowHeight/2) + yScroll);
  return posTop;
}


function popupInfo(link){
  var link_arr = link.split('id=');
  //pub_id можно использовать для того чтобы вытащить
  //из базы нужный материал аяксом
  var pub_id = link_arr[1];
  var docHeight = $(document).height();
  var posTop = getTopPos();
  var popupWidth = $(window).width() * 0.65;
  $('body').append('<div id="overlay"></div>');
  
  function popupClose(){
    $('#overlay').fadeOut(200,function(){
      $('#overlay').remove();
    });
    $('body').css({
      'overflow': ''
    });
    $('html').css({
      'overflow': ''
    });
    $('#popup').css('top','-500px');
    $('#popupContent').html(" ");
    $('#windowtools span').html("");
    return false;
  }
  
  if(!$.browser.msie)
  {
  $('body').css({
    'overflow': 'hidden'
  });
  } else
  {
  $('html').css({
    'overflow': 'hidden'
  });
  }
  
  $('#overlay')
  .css({
    'width': $(window).width()+'px',
    'height': docHeight+'px',
    'overflow': 'hidden',
    'opacity': 0.7
  })
  .click(popupClose);
  $('a.window-close','#popup').click(popupClose);
  $('#popup').css({
    top:posTop+'px',
    width: popupWidth+'px',
    marginLeft:'-'+Math.round(popupWidth/2)+'px',
    marginTop:'-'+Math.round($("#popup").innerHeight()/2)+'px'
  });
    
  $.ajax({
    type: "POST",
    url: "modules/shop/ajax.php",
    data: "id="+pub_id,
    async: false,
    beforeSend: function() { $('#popupContent').text("подождите, идет загрузка занятия..."); },
    success: function (content) {
      $('#popupContent').html(content).jScrollPane({scrollbarWidth:5, maintainPosition:false});
      $('#windowtools span').html("<a href='#signup' onclick='showSignup("+pub_id+");return false;'>Записаться</a>");
    }
  });
  
  $('#popup').show();
};


function showSignup(id){
  var posTop = getTopPos();
   
  var docHeight = $(document).height();
  var popupWidth = $(window).width() * 0.65;
  $('body').append('<div id="overlay"></div>');
  
  function popupClose(){
    $('#overlay').fadeOut(200,function(){
      $('#overlay').remove();
    });
    $('body').css({
      'overflow': ''
    });
    $('html').css({
      'overflow': ''
    });
    $('#popup2').hide();
    return false;
  }
  
  $('select[@name=select_lesson] option:[value='+id+']').attr('selected', 'yes');
  
  if(!$.browser.msie)
  {
  $('body').css({
    'overflow': 'hidden'
  });
  } else
  {
  $('html').css({
    'overflow': 'hidden'
  });
  }
    
  $('#popup').css('top','-500px');
  $('#popupContent').empty();
  $('#popup2')
  .css({top:posTop+'px',marginLeft:'-'+Math.round($("#popup2").innerWidth()/2)+'px',marginTop:'-'+Math.round($("#popup2").innerHeight()/2)+'px'})
  .show();
  
  $('a.window-close','#popup2').click(popupClose);
  $('#overlay').css({
    'width': $(window).width()+'px',
    'height': docHeight+'px',
    'overflow': 'hidden',
    'opacity': 0.7
  }).click(popupClose);
  $("#formlesson").css("display","");
  $("#ok").text("");
  $("#error").text("");
    
};



$.fn.MinMaxWidthForIE6 = function(options){
  var windowWidth, elemWidth;
  var elems = $(this);
  mmwSettings = $.extend({min: 995, max:'auto'}, options);
  function MinMaxWidthFunc(){
    windowWidth = $(window).width();
    if($.browser.msie && $.browser.version=="6.0"){
      if(windowWidth < mmwSettings.min){
        elemWidth = mmwSettings.min+'px';
      }else{
        elemWidth = mmwSettings.max != 'auto' && windowWidth > mmwSettings.max ? mmwSettings.max+'px' : 'auto';
      }
      $(this).css('width',elemWidth);
    }
  };
  elems.each(MinMaxWidthFunc);
  $(window).resize(function(){
    elems.each(MinMaxWidthFunc);
  });
};


$.fn.imageSlider = function(){
  $(this).each(function(i){
    $(this).parent().parent().show();
    $(this).slider({
      slide: function(event, ui){
        var SlideBlock = $('div.lessons-b:eq('+i+')');
        var slideTip = $('div.slider div.tip');
        var marginSize = (SlideBlock.width() - defaultWidth + 70) * (ui.value/100);
        SlideBlock.css({
          'margin-left':-marginSize+'px'
        });
        if(ui.value>5){
          $(slideTip).eq(i).fadeOut();
        }else{
          $(slideTip).eq(i).fadeIn();
        }
      }
    });
  });
  
  return this;
};


$.fn.slideBlockSettings = function(){
  $(this).each(function(i){
    var itemWidth = $('div:first',this).outerWidth()+12;
    var itemHeight = $('div:first',this).innerHeight();
    var itemCount = $('div',this).size();
    var totalWidth = itemCount * itemWidth;
    var maxItems = itemCount - 3;
    if(itemCount<=3){
      $('#slider'+(i+1)).parent().parent().hide();
      return;
    }
    $(this).css({'width':totalWidth+'px','height':itemHeight+'px','margin-left':0});
    var thisParent = $(this);
    $('div',this).each(function(ii){
      function goSlide(){
        var parentPos = thisParent.position();
        var thisPos = $(this).position();
        var thisPosLeft = Math.round(thisPos.left);
        var parentPosLeft = Math.round(parentPos.left)+defaultWidth;
        var parentMargLeft = parseInt(thisParent.css('margin-left').replace('px',''));
        var curPersent = $('#slider'+(i+1)).slider('value')/100;
        function slideAnim(nextStep,persent){
          $('div',thisParent).unbind('mouseover');
          thisParent.animate({
            marginLeft: nextStep+'px'
          },700,'linear',function(){
            $('#slider'+(i+1)).slider('value', persent);
            $('div',thisParent).mouseover(goSlide);
          });
        };
        if(parentPosLeft - 380 < thisPosLeft && curPersent < 100){
          if(parentPosLeft-thisPosLeft>250){
            var nextStep = parentMargLeft-itemWidth*0.3;
          }else{
             var nextStep = parentMargLeft-itemWidth;
          }
          var curItems = Math.abs((nextStep-(nextStep%itemWidth)))/itemWidth;
          var persent = (maxItems-(maxItems-curItems))/maxItems*100;
          if(curItems+3==itemCount){
            nextStep += 50;
          }
          slideAnim(nextStep,persent);
        }else if(thisPosLeft < parentPos.left+50 && curPersent > 0){
          var nextStep = parentMargLeft-(parentMargLeft%itemWidth);
          var curItems = Math.abs((nextStep-(nextStep%itemWidth)))/itemWidth;
          var persent = (maxItems-(maxItems-curItems))/maxItems*100;
          if(curItems>0){
            nextStep += 50;
          }
          slideAnim(nextStep,persent);
        }
      };
      var link = $('a:first',this).attr('href');
    
      $('a',this).click(function(){
        popupInfo(link);
        return false;
      });
      $(this)
      .click(function(){
        popupInfo(link);
      })
      .mouseover(goSlide);
    });
  });
  
  return this;
};



//main page
function mainPageAction(){
  var docHeight = $(document).height();
  windowWidth = $(window).width()>997 ? $(window).width() : 997;
  $('#mainpageCont').css({
    'width':windowWidth+'px',
    'overflow':'hidden'
  });
  //$('body').append('<div id="status" style="position:fixed;left:0;bottom:0;background-color:#fff;"></div>');
  $().mousemove(function(e){
    var persent = 1450 / windowWidth;
    xScroll = $.browser.msie ? document.documentElement.scrollLeft : self.pageXOffset;
    var moveX = (persent * e.pageX) - windowWidth;
    //$('#status').html(moveX+' / '+e.pageX);
    if(moveX>0){
      $('#mainpageCont').css({
        marginLeft: -moveX+'px',
        width: windowWidth + moveX+'px'
      });
    }else{
      $('#mainpageCont').css({
        marginLeft: '0px',
        width: windowWidth+'px'
      });
    }
  });
};


$.fn.carousel = function(){
  var parent = $(this);
  var num = $('div.cloud-box',parent).size();
  var slideBlock = $('div.cloud-box',parent);
  var firstBlock = $(slideBlock).eq(0);
  var stepSize = $(firstBlock).width();
  $(parent).css({
    'marginLeft':'140px',
    'width':num*stepSize+'px'
  });
  
  if(num>1){
    $('a.cb-arrow-right',firstBlock).show();
    $(slideBlock).eq(1).css({'cursor':'pointer'}).bind("click",moveNext);
  }
  
  function moveNext(){
    var posLeft = $(parent).css('marginLeft');
    posLeft = parseInt(posLeft.replace('px',''))-stepSize;
    var curP = Math.round(Math.abs(posLeft) / stepSize);
    var curSlide = $(slideBlock).eq(curP-1);
    var nextSlide = $(slideBlock).eq(curP);
    $('a.cb-arrow-left',curSlide).hide().unbind('click');
    $('a.cb-arrow-right',curSlide).hide().unbind('click');
    $(slideBlock).eq(curP).css({'cursor':'default'}).unbind('click');
    $(parent).animate({'marginLeft':posLeft+'px'},500,'swing',function(){
      if(curP+1<num){
        $('a.cb-arrow-right',nextSlide).show().bind("click",moveNext);
        $(slideBlock).eq(curP+1).css({'cursor':'pointer'}).bind('click',moveNext);
      }
      if(curP!=0){
        $('a.cb-arrow-left',nextSlide).show().bind("click",movePrev);
        $(slideBlock).eq(curP-1).css({'cursor':'pointer'}).bind('click',movePrev);
      }
    });
    return false;
  }
  
  function movePrev(){
    var posLeft = $(parent).css('marginLeft');
    posLeft = parseInt(posLeft.replace('px',''))+stepSize;
    var curP = Math.round(Math.abs(posLeft) / stepSize);
    var curSlide = $(slideBlock).eq(curP+1);
    var nextSlide = $(slideBlock).eq(curP);
    $('a.cb-arrow-left',curSlide).hide().unbind('click');
    $('a.cb-arrow-right',curSlide).hide().unbind('click');
    $(slideBlock).eq(curP).css({'cursor':'default'}).unbind('click');
    $(parent).animate({'marginLeft':posLeft+'px'},500,'swing',function(){
      if(curP+1<num){
        $('a.cb-arrow-right',nextSlide).show().bind("click",moveNext);
        $(slideBlock).eq(curP+1).css({'cursor':'pointer'}).bind('click',moveNext);
      }
      if(curP!=0){
        $('a.cb-arrow-left',nextSlide).show().bind("click",movePrev);
        $(slideBlock).eq(curP-1).css({'cursor':'pointer'}).bind('click',movePrev);
      }
    });
    return false;
  }
  
  $('a.cb-arrow-right',firstBlock).bind("click",moveNext);
  
  return this;
};

$.fn.textFieldFocusVal = function(){
  var fieldVal = $(this).val();
  $(this).focus(function(){
    if($(this).val()==fieldVal){
      $(this).val('');
    }
  });
  $(this).blur(function(){
    if($(this).val()==''){
      $(this).val(fieldVal);
    }
  });
  return this;
};



$(document).ready(function(){
  $(".ie6mmw").MinMaxWidthForIE6();
  
  $('a','#pixel').hover(function(){
    $('div.pixel-logo:first').show();
  },function(){
    $('div.pixel-logo:first').hide();
  });
    
  $('a.id_zan').click(function(){
    link = $(this).attr('href');
    popupInfo(link);
    return false;
  });
  
});

