/*
document.getElementById('shopcategories').onmousemove = display_product_description;
document.getElementsByTagName('body')[0].onmouseover = body_mouse;
*/

function format_number(zahl, k, fix) {
  if(!k) k = 0;
  var neu = '';
	var dec_point = ',';
	var thousands_sep = '.';
  // Runden
  var f = Math.pow(10, k);
  zahl = '' + parseInt(zahl * f + (.5 * (zahl > 0 ? 1 : -1)) ) / f ;

  // Komma ermittlen
  var idx = zahl.indexOf('.');

  // fehlende Nullen einfügen
  if(fix) {
    zahl += (idx == -1 ? '.' : '' )
    + f.toString().substring(1);
  }

	var sign = zahl < 0;
	if(sign) zahl = zahl.substring(1);
  idx = zahl.indexOf('.');

// Nachkommastellen ermittlen
  if( idx == -1) idx = zahl.length;
  else neu = dec_point + zahl.substr(idx + 1, k);

  while(idx > 0)    {
      if(idx - 3 > 0)
        neu = thousands_sep + zahl.substring( idx - 3, idx) + neu;
      else
      	neu = zahl.substring(0, idx) + neu;
      idx -= 3;
  }
  return (sign ? '-' : '') + neu;
}


function body_mouse( evnt ) {
	var r = event_handling( evnt );
	var el = r.el;
	//alert( el.tagName + "." + el.className );
	while( el.id.substr(0,4) != 'shop' && el.tagName != 'BODY' ) {
		el = el.parentNode;
	}
	
	if ( el.tagName == 'BODY') {
		//alert(el.tagName);
		document.getElementById('shop_info_box').style.display="none";
		//alert('BLIND');
	}
}

function display_product_description( evnt ) {
	var r = event_handling( evnt );
	var row = r.el;
	if ( row.tagName=='TABLE' ) return false;
	while ( row.tagName!='TR' ) {
		row = row.parentNode;
	}
	var info = row.getElementsByTagName('TD');
	var info_box = document.getElementById('shop_info_box');
	var info_box_display="none";
	if ( info[0] ) {
		if ( info = info[0].getElementsByTagName('DIV') ) {
			if ( info = info[0] ) {
  			if ( info.hasChildNodes() ) {
	  			if ( info.firstChild.nodeValue.length > 10 ) {
		  			//var re = /<.*?>(.*?)</;
		  			//re.exec(info.innerHTML);
						var info_td = info_box.getElementsByTagName('TD');
						//info_td[2].innerHTML = RegExp.$1;
						info_td[2].innerHTML = info.innerHTML.replace(/%28cms%29/g, "(cms)");
						info_box_display="";
						info_box.style.left=r.pos.x+5;
						info_box.style.top=r.pos.y;
						
						//if ( RegExp.$1.length > 10 ) {
						//}
	  			}
				}
			}
		}
	}
	info_box.style.display=info_box_display;
}

/* UNIVERSELL */
function element_position_get( el ) {
	var pos = {x: el.offsetLeft, y: el.offsetTop};
	var offset_el = el;
	while( offset_el=offset_el.offsetParent ) {
		pos.x += offset_el.offsetLeft;
		pos.y += offset_el.offsetTop;
	}
	return pos;
}

/*
	rueckgabe object:
	.exploder
	.el
	.pos.x
	.pos.y
*/
function event_handling( evnt ) {
	var r={exploder:false};
	if ( !evnt ) {
		var evnt = window.event;
		r.exploder = true;
	}
	if ( !r.exploder ) {
		r.el = evnt.originalTarget;
		r.pos = {x:evnt.pageX,y:evnt.pageY};
	} else {
		r.el = evnt.srcElement;
		r.pos = element_position_get(r.el);
		
		r.pos.x+=evnt.offsetX;
		r.pos.y+=evnt.offsetY;
	}
	return r;
}