/*
  copyright design und programmierung haase, www.olh.de
  author oliver lutz haase

  Jquery, HTML, CSS, ActionScript3, Ruby On Rails, Blender 3D

  contact: software.support@olh.de

*/
var AnimationInterval=[];
var AnimationTimeout=[];
var AniFrames = [];
var FrameValues = [];
var StarRainData = [];
function starrain(){
  var position = $("#mushroom").position();
  var topval = 0;
  var finish = true; 
  $('#starshower img').each(function(index) {
    this.style.left = (Number((Math.cos(Math.PI/180 * StarRainData[index][0]) * StarRainData[index][1] * AniFrames['starrain']))+Number(position.left+40))+'px';
    topval = (Number((Math.sin(Math.PI/180 * StarRainData[index][0]) * StarRainData[index][1] * AniFrames['starrain']) - ( 0.5 * -9.81 * AniFrames['starrain'] * AniFrames['starrain'] ))+Number(position.top));
    this.style.top = topval+'px';
    if(topval < $('#olhimage').height()){ finish = false; }
  });
  if(finish){ 
    clearInterval(AnimationInterval['starrain']);
    AnimationInterval['starrain'] = null;
    $('#starshower').remove();
  }
    AniFrames['starrain'] += FrameValues['starrain'];
  }
  function singing_bird(bird){
    $(('#'+bird)).empty();
    $(('#'+bird)).append('<img src="images/'+bird+'_'+Math.floor(Math.random()*3)+'.gif" alt="'+bird+'" />');
    if(AniFrames[bird] < 7){
      var posx = AniFrames[bird] * 35;
      if(bird == 'bird_left'){ posx += 115; }
      var posy = ((AniFrames[bird]+1) * Math.floor(Math.random()*7)+5)*-1;
      if(bird == 'bird_right'){ posx = (posx+15) *-1; }
      $(('#'+bird+'_notes')).append('<img src="images/note_'+Math.floor(Math.random()*3)+'.gif" class="clip" style="top:'+posy+'px; left:'+posx+'px; z-index:'+AniFrames[bird]+'" alt="note" />');
      AniFrames[bird] += 1;
    }
    $(('#'+bird+'_notes img')).each(function(index) {
    var position = $(this).position();
    $(this).css({ 'left' : ( position.left +2 ), 'top' : (position.top - (3*(index+1))) });
  });
}
function finish_bird(bird){
  clearInterval(AnimationInterval[bird]);
  AnimationInterval[bird] = null;
  $(('#'+bird)).empty();
  $(('#'+bird)).append('<img src="images/'+bird+'_0.gif" alt="'+bird+'" />');
  $(('#'+bird+'_notes')).remove();
}
function rollover_image(target, num){
  $(('#'+target)).empty();
  if( AniFrames[target] >= num ){ AniFrames[target]=0; }
  $(('#'+target)).append('<img src="images/'+target+'_'+AniFrames[target]+'.png" alt="'+target+'" />');
  AniFrames[target] += 1;
}
function rollover_image_finish(target){
  clearInterval(AnimationInterval[target]);
  AnimationInterval[target] = null;
  $(('#'+target)).empty();
  $(('#'+target)).append('<img src="images/'+target+'_0.png" alt="'+target+'" />');
}
function enter_site(){
  clearInterval(AnimationInterval['logo']);
  AnimationInterval['logo'] = null;
  $('#logo').empty();
  $('#logo').append('<img src="images/logo_0.png" alt="logo" />');
  $('#entersite').remove();
  window.location.href = '/friseure';
}
  var preloads = [];
  var preloads_files = [
    "images/bird_left_0.gif",
    "images/bird_left_1.gif",
    "images/bird_left_2.gif",
    "images/bird_right_0.gif",
    "images/bird_right_1.gif",
    "images/bird_right_2.gif",
    "images/logo_0.png",
    "images/logo_1.png",
    "images/note_0.gif",
    "images/note_1.gif",
    "images/note_2.gif",
    "images/woman_0.png",
    "images/woman_1.png",
    "images/woman_2.png",
    "images/entersite.png"
  ];
  function preloaded(id){
    preloads[id].loaded = true;
    var loaded=true;
    for( var i=0; i < this.preloads.length; i++ ){
      if( this.preloads[i].loaded != true ){ loaded=false; }
    }
    if(loaded){
      //$('#loading').remove();
      olhimage_ready();
    }
  }
function olhimage_ready(){
  $("a.enter_site").bind('click', function() { 
    if( AnimationInterval['logo'] == null ){
      AniFrames['logo'] = 0;
      AnimationInterval['logo'] = setInterval( "rollover_image('logo',2)", 100);
      AnimationTimeout['logo'] = setTimeout ( "enter_site()", 2000 );
      $('#olhimage').append('<div id="entersite"><img src="images/entersite.png"</div>');
      olhSound.play(8,10);
    }
    return false;
  });

  $("#woman").bind('mouseover click', function() { 
    if( AnimationInterval['woman'] == null ){
      AniFrames['woman'] = 0;
      AnimationInterval['woman'] = setInterval( "rollover_image('woman',2)", 300);
      AnimationTimeout['woman'] = setTimeout ( "rollover_image_finish('woman')", 3500 );
      olhSound.play(16,20);
    }
  });
  $("#mushroom").bind('mouseover click', function() {
    if( AnimationInterval['starrain'] == null ){
      $('#olhimage').append('<div class="clip" id="starshower" style="left:0; top:0px; z-index:100"></div>');
      var position = $("#mushroom").position();
      for(var i = 0; i < 20 ; i++){
        $('#starshower').append('<img src="images/star.gif" id="star_'+i+'" class="clip" style="left:'+(position.left+40)+'px; top:'+(position.top)+'px; z-index:'+i+'" alt="flower" />');
        /* degree, velocity */
        StarRainData.push([ ((Math.floor(Math.random()*40)+50)*-1), (Math.floor(Math.random()*30)+40)]);
      }
      AniFrames['starrain'] = 0;
      FrameValues['starrain'] = 0.4;
      AnimationInterval['starrain'] = setInterval( starrain, 50);
      olhSound.play(11,15);
    }
  });
  $("#bird_left").bind('mouseover click', function() {
    if( AnimationInterval['bird_left'] == null ){
      var position = $("#bird_left").position();
      $('#olhimage').append('<div class="clip" id="bird_left_notes" style="left:'+position.left+'px; top:'+position.top+'px; z-index:101; color:#ffffff;"></div>');
      AniFrames['bird_left'] = 0;
      FrameValues['bird_left'] = 0.4;
      AnimationTimeout['bird_left'] = setTimeout ( "finish_bird('bird_left')", 2200 );
      AnimationInterval['bird_left'] = setInterval( "singing_bird('bird_left')", 100);
      olhSound.play(1,3);
    }
    return false;
  });
  $("#bird_right").bind('mouseover click', function() {
    if( AnimationInterval['bird_right'] == null ){
      var position = $("#bird_right").position();
      $('#olhimage').append('<div class="clip" id="bird_right_notes" style="left:'+position.left+'px; top:'+position.top+'px; z-index:102; color:#ffffff;"></div>');
      AniFrames['bird_right'] = 0;
      FrameValues['bird_right'] = 0.4;
      AnimationTimeout['bird_right'] = setTimeout ( "finish_bird('bird_right')", 2200 );
      AnimationInterval['bird_right'] = setInterval( "singing_bird('bird_right')", 100);
      olhSound.play(4,7);
    }
    return false;
  });
}
$(document).ready(function(){

  $('#layout').css('padding', ( Math.floor( ($(window).height()-$('#layout').height())/3 ) + 'px 0 0 0') );

  for( var i=0; i < preloads_files.length; i++ ){
    preloads.push( { img:new Image(), loaded:false } );
    preloads[ (preloads.length-1) ].img.src =preloads_files[i];
  }
  for( i=0; i < preloads.length; i++ ){
    preloads[ i ].img.onLoad = preloaded( i );
  }
  var aurls = [];
  $('audio:first').children('source').each(function(i) { aurls.push( $(this).attr('src') ); });
  olhSound.init({ audio:document.getElementById('imagesound'), files:aurls, playfile:"" });
  /* day and night */
  var dn = new Date();
  if ( dn.getHours()  < 8 || dn.getHours() > 19 ) {
    $('#olhimage img:first').remove();
    $('#olhimage').prepend("<img src=\"/images/night.png\" class=\"clip\" style=\"left:63px; top:24px; z-index:1\" alt=\"night\" />");
  }
});

