function highlight(me, a)
{
 var it = document.getElementById(me);

 if (a)
 {
  it.style.backgroundImage = 'url(http://www.fehnlicht.de/img/pointer.png)';
 }
 else
 {
  it.style.backgroundImage = 'none';
 }
}

var paths = new Array();
var counts = new Array();
var currentx = new Array();
var currenty = new Array();

var h = 0;

function prepare(place, path, count, start)
{
 if (typeof passive_mode != 'undefined')
 {
  passive_mode = window.clearTimeout(passive_mode);
 }

 var j = 0;

 while (j != h)
 {
  if (paths[j] == path)
  {
   break;
  }
  else
  {
   j++;
  }
 }

 if (j == h)
 {
  paths[j] = path;
  h++;
 }

 counts[j] = count;

 currentx[j] = new Array(count);
 currenty[j] = new Array(count);

 var k = 0;
 var site = 1;
 var multiply = 1;

 while (k < count)
 {
  document.getElementById(place).innerHTML += '<\!--[if IE]>\n<style type="text/css">\n#i_'+j+'_'+k+' \{\n filter: alpha(opacity=0);\n\}\n</style>\n<\![endif]-->\n';

  if (site == 1)
  {
   currentx[j][k] = (-1)*(start*multiply);
   currenty[j][k] = (-1)*(start*multiply);
   document.getElementById(place).innerHTML += '<img alt="" id="i_'+j+'_'+k+'" class="disperse" style="margin-top: '+(-1)*(start*multiply)+'px; margin-left: '+(-1)*(start*multiply)+'px; opacity: .0;" src="'+path+'" />\n';

   site++;
  }
  else if (site == 2)
  {
   currentx[j][k] = (start*multiply);
   currenty[j][k] = (-1)*(start*multiply);
   document.getElementById(place).innerHTML += '<img alt="" id="i_'+j+'_'+k+'" class="disperse" style="margin-top: '+(-1)*(start*multiply)+'px; margin-left: '+(start*multiply)+'px; opacity: .0;" src="'+path+'" />\n';

   site++;
  }
  else if (site == 3)
  {
   currentx[j][k] = (start*multiply);
   currenty[j][k] = (start*multiply);
   document.getElementById(place).innerHTML += '<img alt="" id="i_'+j+'_'+k+'" class="disperse" style="margin-top: '+(start*multiply)+'px; margin-left: '+(start*multiply)+'px; opacity: .0;" src="'+path+'" />\n';

   site++;
  }
  else if (site == 4)
  {
   currentx[j][k] = (-1)*(start*multiply);
   currenty[j][k] = (start*multiply);
   document.getElementById(place).innerHTML += '<img alt="" id="i_'+j+'_'+k+'" class="disperse" style="margin-top: '+(start*multiply)+'px; margin-left: '+(-1)*(start*multiply)+'px; opacity: .0;" src="'+path+'" />\n';

   multiply++;
   site = 1;
  }

  k++;
 }

 disperse();
}

var w = 0;
var speed = 20;

function disperse()
{
 var c = 0;
 var move_on = false;
 w++;

 if (w < 10)
 {
  w = '0' + w;
 }

 while (c < h)
 {
  var d = 0;

  while (d < counts[c])
  {
   if (currentx[c][d] > 0 && currenty[c][d] < 0)
   {
    currentx[c][d]--;
    currenty[c][d]++;
   }
   else if (currentx[c][d] < 0 && currenty[c][d] > 0)
   {
    currentx[c][d]++;
    currenty[c][d]--;
   }
   else if (currentx[c][d] > 0 && currenty[c][d] > 0)
   {
    currentx[c][d]--;
    currenty[c][d]--;
   }
   else if (currentx[c][d] < 0 && currenty[c][d] < 0)
   {
    currentx[c][d]++;
    currenty[c][d]++;
   }

   document.getElementById('i_'+c+'_'+d).style.marginLeft = currentx[c][d]+'px';
   document.getElementById('i_'+c+'_'+d).style.marginTop = currenty[c][d]+'px';

   if (currentx[c][d] != 0)
   {
    if (w <= (100/counts[c]))
    {
     document.getElementById('i_'+c+'_'+d).style.opacity = '.'+w;
     document.getElementById('i_'+c+'_'+d).style.filter = 'alpha(opacity='+w+')';
    }

    move_on = true;
   }
   else
   {
    document.getElementById('i_'+c+'_'+d).style.opacity = '1.0';
    document.getElementById('i_'+c+'_'+d).style.filter = 'alpha(opacity=100)';
   }

   d++;
  }

  c++;
 }

 if (move_on)
 {
  passive_mode = window.setTimeout("disperse()", speed);
 }
}

var v = 1;

function rise()
{
 if (v != 100)
 {
  if (v < 10)
  {
   v = '0' + v;
  }

  document.getElementById('rise_element').style.opacity = '.'+v;
  document.getElementById('rise_element').style.filter = 'alpha(opacity='+v+')';

  v++;

  passive_mode = window.setTimeout("rise()", 60);
 }
 else
 {
  document.getElementById('rise_element').style.opacity = '1.00';
  document.getElementById('rise_element').style.filter = 'alpha(opacity=100)';
 }
}

var items = new Array();
var limits = new Array();
var currents = new Array();
var notes = new Array();

var i = 0;

function setitup(it, to, message)
{
 if (typeof passive_mode != 'undefined')
 {
  passive_mode = window.clearTimeout(passive_mode);
 }

 var j = 0;

 while (j != i)
 {
  if (items[j] == it)
  {
   break;
  }
  else
  {
   j++;
  }
 }

 if (j == i)
 {
  items[j] = it;
  i++;
 }

 limits[j] = to;
 notes[j] = message;

 if (!currents[j])
 {
  currents[j] = 0;
 }

 stretch();
}

function stretch()
{
 var c = 0;
 var move_on = false;

 while (c < i)
 {
  if (currents[c] != limits[c])
  {
   if (limits[c] == 0)
   {
    currents[c]--;
   }
   else
   {
    currents[c]++;
   }

   document.getElementById(items[c]).style.width = currents[c]+'%';

   if (limits[c] == 0)
   {
    document.getElementById(items[c]).innerHTML = '';
   }

   move_on = true;
  }
  else
  {
   document.getElementById(items[c]).style.width = limits[c]+'%';
   document.getElementById(items[c]).innerHTML = notes[c];
  }

  c++;
 }

 if (move_on)
 {
  passive_mode = window.setTimeout("stretch()", 10);
 }
}

function multi(form, price)
{
 var multi = document.getElementById(form).anzahl.value;
 var result = ''+Math.round((price*multi)*100)/100+'';

 if (result != "NaN")
 {
  if (result.indexOf('.') != -1)
  {
   var split_res = new Array();
   split_res = result.split('.');

   if (split_res[1].length == 1)
   {
    document.getElementById('calculated').innerHTML = split_res[0] + ',' + split_res[1] + '0';
   }
   else
   {
    document.getElementById('calculated').innerHTML = split_res[0] + ',' + split_res[1];
   }
  }
  else
  {
   document.getElementById('calculated').innerHTML = result;
  }
 }
}


var offsetxpoint = -60;
var offsetypoint = 20;
var ie = document.all;
var other = document.getElementById && !document.all;
var status = false;

var moved = document.all? document.all.box : document.getElementById? document.getElementById("box") : "";

function truebody()
{
 return (document.documentMode && document.documentMode != "BackCompat")? document.documentElement : document.body;
}

function visualize(data)
{
 if(!status && data != "")
 {
  moved.innerHTML = data.replace(/\[/g, "<").replace(/\]/g, ">").replace(/{ae}/g, "&auml;").replace(/{ue}/g, "&uuml;").replace(/{oe}/g, "&ouml;").replace(/{sz}/g, "&szlig;");
  status = true;
 }
 else
 {
  moved.style.visibility = "hidden";
  moved.style.left = "-1000px";
  status = false;
 }
}

function position(v)
{
 if(status)
 {
  var curX = (other)? v.pageX : event.clientX+truebody().scrollLeft;
  var curY = (other)? v.pageY : event.clientY+truebody().scrollTop;
  var rightedge = ie && !window.opera? truebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-v.clientX-offsetxpoint-20;
  var bottomedge = ie && !window.opera? truebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-v.clientY-offsetypoint-20;
  var leftedge = (offsetxpoint < 0)? offsetxpoint*(-1) : -1000;

  if(rightedge < moved.offsetWidth)
  {
   moved.style.left = ie? truebody().scrollLeft + event.clientX-moved.offsetWidth+"px" : window.pageXOffset+v.clientX-moved.offsetWidth+"px";
  }
  else if(curX < leftedge)
  {
   moved.style.left = "5px";
  }
  else
  {
   moved.style.left = curX+offsetxpoint+"px";
  }

  if(bottomedge < moved.offsetHeight)
  {
   moved.style.top = ie? truebody().scrollTop+event.clientY-moved.offsetHeight-offsetypoint+"px" : window.pageYOffset+v.clientY-moved.offsetHeight-offsetypoint+"px";
  }
  else
  {
   moved.style.top = curY+offsetypoint+"px";
   moved.style.visibility = "visible";
  }
 }
}
