// JavaScript Document
var enableInfo = true;
var temp_highlight = null;
var temp_hlclass = null;

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function o_detail(el,kid,koop,warenkorb)
{
	if (enableInfo == true)
	{
	var p = 'id='+kid+'&koop='+koop;

    var myAjax = new Ajax.Request('/kinfo',
        {
		asynchronous: 'true',
        method: 'post',
        postBody: p,
        onLoading: function(t)
            {
				// Tip('Bitte warten, Daten werden geladen ...');
            },
        onComplete: function(e)
            {
			
			var responseObject = e.responseText.evalJSON(true);
			
		     var outputString = '<table width="270" cellpadding:"2px" cellspacing:"2px">';
  				outputString += '<tr>';
				outputString += '<td colspan="2"><strong>Diesen Artikel kaufen bei:</strong></td>';
				outputString += '</tr><tr>';
				outputString += '<td width="80" valign="top">Firma:</td>';
				outputString += '<td width="190">'+responseObject.firma+'</td>';
				outputString += '</tr><tr><td>Anschrift:</td>';
				outputString += '<td>'+responseObject.strasse+'</td>';
				outputString += '</tr><tr>';
				outputString += '<td>PLZ / Ort:</td>';
				outputString += '<td>'+responseObject.plz+' '+responseObject.ort+'</td>';
				outputString += '</tr>';
/*
				outputString += '<tr>';
				outputString += '<td>Telefon:</td>';
				outputString += '<td>'+responseObject.telfest+'</td>';
				outputString += '</tr><tr>';
				outputString += '<td>Telefax:</td>';
				outputString += '<td>'+responseObject.fax+'</td>';
				outputString += '</tr>';
*/
			 outputString += '<tr><td>&nbsp;</td><td>&nbsp;</td></tr>';
				
				if (responseObject.aba == 'aba') {
					outputString += '<tr style="background-color:#EE0000; color:#FFFFFF">';
					outputString += '<td colspan="2"><strong> Abbuchungsauftrag erforderlich!</strong></td>';
					outputString += '</tr>';					
				}
				if (responseObject.aba == 'aba_ok') {
					outputString += '<tr style="background-color:#00EE00">';
					outputString += '<td colspan="2"><strong> Abbuchungsauftrag vorhanden</strong></td>';
					outputString += '</tr>';					
				}

				if (responseObject.schnell == 'ja') {
					outputString += '<tr style="background-color:#00EE00; color:#444444">';
					outputString += '<td colspan="2" align="center"><strong>Großhändler - schnelle Reaktionszeit</strong></td>';
					outputString += '</tr>';					
				}
				
				if (responseObject.live == 'live') {
					outputString += '<tr style="background-color:#00EE00; color:#444444">';
					outputString += '<td colspan="2" align="center"><strong>Live-Order: Verfügbarkeit und Preis<br />live prüfen und bestellen</strong></td>';
					outputString += '</tr>';					
				}
				
				if (responseObject.koop == '1') {
					outputString += '<tr style="background-color:blue; color:white">';
					outputString += '<td colspan="2" align="center"><strong>Händler ist Mitglied Ihrer Kooperation</strong></td>';
					outputString += '</tr>';	
				}
				
				if (warenkorb == 'TRUE')	{
					outputString += '<tr>';
					outputString += '<td colspan="2" align="center"><strong>Artikel dieses Anbieters bereits im Warenkorb enthalten</strong></td>';
					outputString += '</tr>';	
				}

				outputString += '</table>';
	 
			// Tip(outputString, LEFT, true, ABOVE, true, OFFSETX, 20);
			// alert(el);
			posDiv(el,'infotext',outputString, 300);
            setblurtoallas();
            Behaviour.apply();
            }
        });
	}
    return;
    }  

function s_detail(el, kid, cat, subcat)
{

	if (enableInfo == true)
	{
		var p = 'id='+kid;
		
	    var myAjax = new Ajax.Request('/kinfo/shipping/?cat=' + cat + '&subcat=' + subcat,
	        {
	        asynchronous: 'true',
	        method: 'post',
	        postBody: p,
	        onLoading: function(t)
	            {
					// Tip('Bitte warten, Daten werden geladen ...');
	            },
	        onComplete: function(e)
	            {
				
				// Tip(e.responseText);
				
				
				var responseObject = e.responseText.evalJSON(true);
			
		 
				// Tip(responseObject.frachtkosten, WIDTH, 600, TITLE, 'Versandinformationen', LEFT, true, ABOVE, true, OFFSETX, 100);
				
				// centerDiv('infotext',"<p><strong>Versandinformationen:</strong></p>"+ responseObject.frachtkosten, 600);
				posDiv(el,'infotext',"<strong>Versandinformationen:</strong>"+ responseObject.frachtkosten, 600);
	            setblurtoallas();
	            Behaviour.apply();
	            }
	        });
	}
    return;
}
    
function u_detail(el, param)
{
	if (enableInfo == true)
	{
        var text = '';
        
        if (param == 'xxxx')
        {
        	text = 'Der Anbieter hat diesen Artikel seit <strong>mehr als 10 Stunden nicht aktualisiert</strong>, die Verf&uuml;gbarkeit ist daher m&ouml;glicherweise <strong>nicht sichergestellt</strong>. Nehmen Sie ggf. mit dem Anbieter Kontakt auf, um die Verf&uuml;gbarkeit zu &uuml;berpr&uuml;fen!';
        } else if (param == '----')
        {
        	text = 'Dieser Artikel wurde <strong>manuell eingegeben</strong> und nicht regelm&auml;&szlig;ig aktualisiert. Die Verf&uuml;gbarkeit ist daher m&ouml;glicherweise <strong>nicht sichergestellt</strong>. Nehmen Sie ggf. mit dem Anbieter Kontakt auf, um die Verf&uuml;gbarkeit zu &uuml;berpr&uuml;fen!';
        } else {
        	var alter = param * 15;
        	text = 'Dieser Artikel wurde vom Anbieter vor weniger als ' + alter + ' Minuten aktualisiert';
        }
        
        posDiv(el,'infotext',"<strong>Aktualit&auml;t der Daten:</strong><br />"+ text, 300);
	}
    return;
}   

function GetElementHeight (elm)
{
  if (!elm)
    return 0;

  if (document.layers)
  {
    if (!elm.height)
      elm.height = elm.clip.height;
    return elm.height;
  }
  else if (typeof(elm.style && elm.style.height) == 'number')
  {
    return elm.style.height;
  }
  else if (typeof(elm.style && elm.style.height) == 'string' && !isNaN(parseInt(elm.style.height)))
  {
    return parseInt(elm.style.height);
  }
  else if (elm.offsetHeight)
  {
    return elm.offsetHeight;
  }
  else if (typeof(elm.style && elm.style.pixelHeight) == 'number')
  {
    return elm.style.pixelHeight;
  }
  else if (elm.clientHeight)
  {
    return elm.clientHeight;
  }

  return 0;
}

function absLeft(el) {
   return (el.offsetParent)? 
   el.offsetLeft+absLeft(el.offsetParent) : el.offsetLeft;
}

function absTop(el) {
   return (el.offsetParent)? 
   el.offsetTop+absTop(el.offsetParent) : el.offsetTop;
}

function posDiv(el, elementid, text, breite) {
	var yPos;
	var xPos;
	var myHeight;
	var myWidth;
	
	if (self.innerHeight) // all except Explorer
	{
		yPos = self.pageYOffset;
		xPos = self.pageXOffset;
		myHeight = self.innerHeight;
		myWidth = self.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict
	{
		yPos = document.documentElement.scrollTop;
		xPos = document.documentElement.scrollLeft;
		myHeight = document.documentElement.clientHeight;
		myWidth = document.documentElement.clientWidth;
	}
	else if (document.body) // all other Explorers
	{
		yPos = document.body.scrollTop;
		xPos = document.body.scrollLeft;
		myHeight = document.body.clientHeight;
		myWidth = document.body.clientWidth;
	}
	
	var elwidth = elementid.width;
	
//	yPos = yPos + myHeight/2  +"px";
//	yPos = yPos + 250  +"px";
//	xPos = xPos + myWidth/2 - (breite/2) +"px";


   // alert(absTop(el) + '/' + absLeft(el));


	// alert(xPos+'/'+yPos);
	

	var tmp = $(elementid);
	
	// tmp.update(xPos + "/" + yPos + " w:"+ myWidth+ " h:"+ myHeight);
	tmp.update(text);
	d = document.getElementById(elementid);
	// d.style.width = breite;
	d.className= 'info_'+breite;	

	
	nyPos = (absTop(el) - GetElementHeight(d)-20);
	nxPos = (absLeft(el) - breite - 10);
	
	if (nyPos < yPos) nyPos = yPos;	
	
	nyPos = nyPos+"px";
	nxPos = nxPos+"px";

	d.style.top = nyPos;
	d.style.left = nxPos;
	
	// alert(GetElementHeight(d));
	
}

function centerDiv(elementid, text, breite) {
	var yPos;
	var xPos;
	var myHeight;
	var myWidth;

	if (self.innerHeight) // all except Explorer
	{
		yPos = self.pageYOffset;
		xPos = self.pageXOffset;
		myHeight = self.innerHeight;
		myWidth = self.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict
	{
	yPos = document.documentElement.scrollTop;
	xPos = document.documentElement.scrollLeft;
	myHeight = document.documentElement.clientHeight;
	myWidth = document.documentElement.clientWidth;
	}
	else if (document.body) // all other Explorers
	{
	yPos = document.body.scrollTop;
	xPos = document.body.scrollLeft;
	myHeight = document.body.clientHeight;
	myWidth = document.body.clientWidth;
	}
	
	var elwidth = elementid.width;
	
//	yPos = yPos + myHeight/2  +"px";
	yPos = yPos + 250  +"px";
	xPos = xPos + myWidth/2 - (breite/2) +"px";

	var tmp = $(elementid);
	
	// tmp.update(xPos + "/" + yPos + " w:"+ myWidth+ " h:"+ myHeight);
	tmp.update(text);
	d = document.getElementById(elementid);
	d.style.top = yPos;
	d.style.left = xPos;
	// d.style.width = breite;
	d.className= 'info_'+breite;
}

function popup(url, titel, breite, hoehe) 
 {
  fenster = window.open(url, titel, "dependent=yes, scrollbars=yes, resizable=yes, status=no, width="+breite+", height="+hoehe);
  fenster.focus();
 }
	
function weiter(ff) {
  if (ff.name=="dot_1") {
    if (ff.value.length == 2) ff.form.elements["dot_2"].focus();
  } else if (ff.name=="dot_2") {
    if (ff.value.length == 2) ff.form.elements["menge"].focus();
  }
}

function rh(ff,c) {
	if (enableInfo == true)
	{
		if (temp_highlight != null)
		{
			temp_highlight.className = temp_hlclass; 
		}

		temp_highlight = ff;
		temp_hlclass = ff.className;
		
		ff.className=c;
	}
}

function ioff() {
    document.getElementById('infotext').className='info_hide';
}

/*
Ajax.InPlaceEditorWithEmptyText = Class.create(Ajax.InPlaceEditor, {

  initialize : function($super, element, url, options) {

    if (!options.emptyText)        options.emptyText      = 'Zum Bearbeiten, hier klicken…';
    if (!options.emptyClassName)   options.emptyClassName = 'inplaceeditor-empty';

    $super(element, url, options);

    this.checkEmpty();
  },

  checkEmpty : function() {

    if (this.element.innerHTML.length == 0 && this.options.emptyText) {

      this.element.appendChild(
          new Element('span', { className : this.options.emptyClassName }).update(this.options.emptyText)
        );
    }

  },

  getText : function($super) {

    if (empty_span = this.element.select('.' + this.options.emptyClassName).first()) {
      empty_span.remove();
    }

    return $super();

  },

  onComplete : function($super, transport) {

    this.checkEmpty();
    return $super(transport);

  }

});
*/
