/**
 *
 * Copyright 2009 Johannes Körner
 *
 */
(function(){
  $.fn.panorama=function(){


  }
  var panorama=window.panorama=function(){

    var original_position={
      0:{
        top:0,
        left:0
      },
      1:{
        top:0,
        left:0
      },
      2:{
        top:0,
        left:0
      }
    }
    var offset_position={
      0:{
        top:0,
        left:0
      },
      1:{
        top:0,
        left:0
      },
      2:{
        top:0,
        left:0
      }
    }
    var time=0;
    //var elem=new Array($('#p1'),$('#p2'),$('#p3'),$('#p4'),$('#p5'),$('#p6'),$('#p8'),$('#p9'),$('#p10'),$('#p11'),$('#p12'),$('#p13'),$('#p14'),$('#p15'),$('#p16'),$('#p17'),$('#p18'),$('#p19'),$('#p20'),$('#p21'),$('#p22'),$('#p23'),$('#p24'),$('#p25'),$('#p26'),$('#p27'));
    var elem=new Array();
    var length=0;
    var start=0;
    var velocity=1;
    var scrollingTimer;
    var mousePosition={
      x:0,
      y:0
    };
    var mousePositionOld={
      x:0,
      y:0
    };
    var windowWidth=$(document).width();
    var mouseDevisor=(windowWidth/2);
    this.init=panorama.prototype.init= function(){
      $('.articles').each(function(){
        elem.push($(this));
      });
      length=193;
      start=elem[0].position().left;
      for(var i in elem){
        original_position[i]=elem[i].position();
        offset_position[i]=elem[i].position();
      //window.console.log('init:',elem[i].position().left);
      //offset_position[i].top=0-original_position[i].top-original_position[1].top;
      }
      //window.console.log('init:',offset_position);
      return this;
    }
    panorama.startTest=panorama.prototype.startTest=function(){
      var d = new Date();
      time=d.getTime();
      isScrolling=true;
      scrollingTimer=setInterval(scroll, 10);
    }
    panorama.startScrolling=panorama.prototype.startScrolling=function(){
      velocity=5;
      var d = new Date();
      time=d.getTime();
      isScrolling=true;
      scrollingTimer=setInterval(scroll, 10);
    }
    panorama.setMousePos=panorama.prototype.setMousePos=function(mouseX,mouseY){
      mousePosition.x=mouseX;
      mousePosition.y=mouseY;
    }
    var c_=0;
    var c_time=0;
    var c_time_arr=new Array();
    var c_offset_arr=new Array();
    var c_offset=0;
    var timeoutcounter=0;
    function scroll(){

      var docWidth=$('#page').width();
      $('div#artikelshow').width(docWidth);
      $('div#artikelshow >ul').width(docWidth);
      //window.console.log(mousePosition.x);
      var d = new Date();
      var oldtime=time;
      time=d.getTime();
      var frametime=time-oldtime;
      if(mousePosition.x==mousePositionOld.x&&mousePosition.y==mousePositionOld.y){
        //window.console.log(mousePosition.x,mousePositionOld.x,timeoutcounter);
        timeoutcounter+=frametime;
        if(timeoutcounter>5000){
          //window.console.log('stop',mousePosition.x,timeoutcounter);
          timeoutcounter=0;
          panorama.stop();
        }
      }
      else{
        //window.console.log('else',mousePosition.x,mousePositionOld.x,timeoutcounter);
        timeoutcounter=0;
      }
      mousePositionOld.x=mousePosition.x;
      mousePositionOld.y=mousePosition.y;
      //if(velocity<20)velocity=velocity*1.1;
      velocity=((mousePosition.x-mouseDevisor)*15)/mouseDevisor;
      $('#fc1').html(frametime);
      //window.console.log(elem.length);
      if(frametime>50)frametime=50;
      var posOffset=(velocity*frametime)/100;
      c_++;
      c_time+=frametime;
      c_offset+=posOffset;
      for(var i in elem){
        offset_position[i].left-=posOffset;
        if(elem[i].position().left<(start-length)){
          offset_position[i].left+=(elem.length*length);
        }
        else if(elem[i].position().left>(start+length*(elem.length-1))){
          offset_position[i].left-=(elem.length*length);
        }
        elem[i].css({
          left: offset_position[i].left
        });
      }

    }
   
    panorama.stop=panorama.prototype.stop=function(){
      //window.console.log('stop:',c_,c_time/c_,c_offset/c_);
      for (var v in c_time_arr) {

        //window.console.log('stop:',v,c_time_arr[v],c_offset_arr[v]);
        }
      c_time_arr=new Array();
      c_offset_arr=new Array();
      c_=0;
      c_time=0;
      c_offset=0;
      clearInterval(scrollingTimer);
      // $('.animate').stop();
      return this;
    }

  };




  function changeLogo(color){

    $('#logo').css('background-color',color);
  }

  $(document).ready(function(){

    $('div#artikelshow').hide();
    $('div#artikelshow >ul').empty();
    var startpos=$('div#artikelshow').position();
    var elem='';
    elem='<li class="articles" id="20047" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/20047.jpg" alt="Paisleykissenhülle" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="21829" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><a href="en/17_marie_fleure_kissenhuelle_marie-fleure.html"><img class="pictstart" src="images/big/21829.jpg" alt="Kissenhülle Marie-Fleure" height="226" width="188" /></a></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="21810" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/21810.jpg" alt="Halbgardine mit Palmen" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="21883" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/21883.jpg" alt="Vorhang Pfau" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="21904" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/21904.jpg" alt="Teppich Sophia" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="21953" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><a href="en/41_zeitreise_fuer_romantiker_vorhang_novalis.html"><img class="pictstart" src="images/big/21953.jpg" alt="Vorhang Novalis" height="226" width="188" /></a></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="21994" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><a href="en/3_woolen_plaid,_grey_with_multi_checks_wollplaid.html"><img class="pictstart" src="images/big/21994.jpg" alt="Wollplaid" height="226" width="188" /></a></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="22030" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/22030.jpg" alt="Kissenhülle Muffins" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="22034" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/22034.jpg" alt="Kissenhülle Gartenparty" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="22047" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/22047.jpg" alt="Vorhang Folklore" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="22063" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/22063.jpg" alt="Kissenhülle Engel" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
elem='<li class="articles" id="22072" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><img class="pictstart" src="images/big/22072.jpg" alt="Kissenhülle Feenschloss" height="226" width="188" /></li>';
$('div#artikelshow >ul').append(elem);
startpos.left+=193;
   // for(var i in options){
   //   var elem='<li class="articles" id="'+i+'" style="position:absolute;display:none;left:'+(startpos.left-193)+'px;top:0px"><a href="beispiel.php?name=pgview"><img class="pictstart" src="images/big/'+options[i]+'" alt="'+options[i]+'" height="226" width="188" /></a></li>';
   //   $('div#artikelshow >ul').append(elem);
   //   startpos.left+=193;
    //}
    $('div#artikelshow >ul >li').show(0,function(){

      });

   
    $('div#page').animate({
      width: '100%'
    }, 0, function() {


      var docWidth=$('#page').width();
      $('#page').css('border', 'none');
      $('#fc2').append('docWidth: '+docWidth);
      //window.console.log(docWidth);
      $('div#artikelshow').width(docWidth);
      $('div#artikelshow >ul').width(docWidth);
      // Animation complete.

      $('div#artikelshow').slideDown(0,function(){
        $('div.artikelshow').panorama();
        var pa=new panorama();
        pa.init();
        pa.startScrolling();
        $(document).mousemove(function(e){
          pa.setMousePos(e.pageX,e.pageY);
        });
        $('#artikelshow').mouseover(function(evt){

          pa.stop();
        }).mouseout(function(){
          pa.startScrolling();
        });
      });
    });
  });
})();



















