var sk = '';


// alte erkennung kann gelöscht werden
/*function Browser() {
   var ua, s, i;

  this.isIE    = false;  // Internet Explorer
  this.isNS    = false;  // Netscape
  this.version = null;

  ua = navigator.userAgent;

  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }
} */
//var IE = null;

function Browser() {

  this.isIE		= false;
  this.isIE67    = false;  // Internet Explorer
  this.isIE8    = false;  // Internet Explorer

	//var IE = null;
	if (window.navigator.appName == "Microsoft Internet Explorer") {
		this.isIE = true;
	// Internet Exploter 8 proprietäre Eigenschaft
	   if (document.documentMode) {  
			this.isIE8    = true;  // Internet Explorer8
	   } else {
			this.isIE67    = true;  // Internet Explorer6-7
	   }
	}
}

var browser = new Browser();

function toggle(id) {
	var mydiv = document.getElementById(id);
	if (!mydiv) return;
	if (mydiv.style.display=='block') {
		mydiv.style.display='none';
	} else {
		mydiv.style.display='block';
	}
}

function hide(id) {
	var mydiv = document.getElementById(id);
	if (!mydiv) return;
	mydiv.style.display='none';
}

function show(id) {
	var mydiv = document.getElementById(id);
	if (!mydiv) return;
	mydiv.style.display='block';
}

function setHover(elem) {
	var i;
	for (i=0; i<elem.childNodes.length; i++) {
		node = elem.childNodes[i];
		if (node.className=="hmenu") {
			node.onmouseover=function() { this.className="hmover"; }
			node.onmouseout=function() { this.className="hmenu"; }
   		}

		if (node.className=="umenu") {
			node.onmouseover=function() { this.className="umover"; }
			node.onmouseout=function() { this.className="umenu"; }
   		}

		if (node.nodeName=="LI") {
			node.onmouseover=function() { this.className="miover"; }
			node.onmouseout=function() { this.className="mi"; }
   		}
		setHover(node);
	}
}

function startList(root) {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById(root);
		setHover(navRoot);
	}
}

function getPosition(obj) {
  var pos = { x:0, y:0};
  if (obj) do {
    pos.x += obj.offsetLeft;
    pos.y += obj.offsetTop;
	obj = obj.offsetParent;
  } while (obj);
	//  = obj.offsetParent);

//  alert("X: "+pos.x+"\n"+"Y: "+pos.y);

  return pos;
}


function positioniere(was, wohin, xoffset, yoffset) {
	var elem = document.getElementById(was);
	if (!elem) return;
	var quelle = document.getElementById(wohin);
	if (!quelle) return;
	var pos = getPosition(quelle);
	pos.x = pos.x + xoffset;
	pos.y = pos.y + yoffset;
	elem.style.left = pos.x + "px";
	elem.style.top = pos.y + "px";
	elem.style.display = 'block';
}


function nimmWert(Feld, Typ, Wert) {
	var elem = document.getElementById(Feld);
	if (!elem) return;
	switch (Typ) {
		case "text":
			elem.value = Wert;
			return;
		case "html":
			elem.innerHTML = Wert;
			return;
		default:
			return;
	}
}

// Lege einen namenlosen Callback fuer einen Request an
function addCallback(request, callback) {

return function ()
{
	hide('divAjaxBitteWarten');
    if (request.readyState != 4) return false;
    if (request.status == 200)
	{
		// OK, call the callback
		if (typeof(callback) == 'function')
	        return callback(request.responseText);
	}
    // Problem melden
    //alert("HTTP error: "+request.status);
    return false; 
 }
}
	
// Baue einen asynchronen Request auf
function ajaxRequest(url,callback) {
  var request=null;
  try {
    // Firefox, Opera 8.0+, Safari
    request = new XMLHttpRequest();
  } catch (e) {
    // Internet Explorer
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e) {
	try {
          request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
           return false;
        }
    } 
  }
  
  request.onreadystatechange=addCallback(request, callback);
  request.open("GET",url,true);
  request.send(null);
  return true;
}


function splitResponse(text) {
	var ar = text.split("\n");
	var array = new Object();
	var Wert; var Feld; var ar2;
	for (var c=0; c < ar.length; c++) {
		ar2 = ar[c].split(":");
		Feld = ar2[0]; Wert = ar2[1];
		for (var d=2; d < ar2.length; d++)
			Wert += ':'+ar2[d];
		array[Feld] = Wert;
	}
	return array;
}

var attElement; attElement = '';
var attNumber; attNumber = 0;

//persönlicer Artikel
function cbArtikelPersoenlich(response) {
	hide('artikel_persoenlich');
	if (attElement!='') {
    	if (browser.isIE) {
			positioniere('artikel_persoenlich', attElement,  -260, -5);
    	}
		else
			positioniere('artikel_persoenlich', attElement,  0, -3);
	}
	nimmWert('artikel_persoenlich', 'html', response);
	show('artikel_persoenlich');
}

function showArtikelPersoenlich(thisNumber, Artikelnummer, AuspraegungID) {
	if (attNumber == thisNumber)
		ajaxRequest(sk+'/artikel.php?Artikelnummer='+Artikelnummer+'&AuspraegungID='+AuspraegungID+'&style=persArtikel', cbArtikelPersoenlich);
}

function ajArtikelPersoenlich(Element, Artikelnummer, AuspraegungID) {
	attElement = Element;
	attNumber = attNumber + 1;
	var thisNumber = attNumber;
	setTimeout("showArtikelPersoenlich('"+thisNumber+"','"+Artikelnummer+"','"+AuspraegungID+"')", 100);
}

//Textlaenge für textarea anzeigen
   var formular = null;
   var textfeld = null;
   var uebrigFeld = null;
   var intv = null;
   var maxZeichen = 0;

   function Zaehlen ()
   {
       var laenge = textfeld.value.length;
       var uebrig = maxZeichen - laenge;

       if (uebrig < 0)
       {
             var inhalt = textfeld.value;
             var neuerInhalt = inhalt.substr(0, maxZeichen);
             textfeld.value = neuerInhalt;
             uebrig = 0;
       }
    
       uebrigFeld.value = uebrig;
   }

function closeToolLightbox(feature,page)
{
	switch (feature)
	{
		case 'CloseVerktool':
		// location.href = (sk+'/artikel.php?Artikelnummer='+page);
		//parent.window.close();
			break;
	
		default:
			break;
	}
	top.location.reload(top.location.href);
//	$('#DialogContent').hide();
}
   
//lightbox
function loadLightbox(Artikelnummer,AuspraegungID,breite,hoehe,inhalt,einblendung) {

	//breite und hohe  dialogbox festlegen
	$("#DialogContent")
		.css("width",breite+"px")
		.css("height",hoehe+"px")
		.css("top",$(window).height()/2-$("#DialogContent").height()/2)
		.css("left",$(window).width()/2-$("#DialogContent").width()/2);

	//centerWindow("#DialogContent");

	switch (inhalt) {
		case 'Verkostungstool':
			$('#DialogContent').css("backgroundColor","transparent");
			$('#DialogContent').html('<iframe id="VerkFrame" name="VerkFrame" src="'+sk+'/tools/verkostung/index.php?aktion=starteVerkostung&Artikelnummer='+Artikelnummer+'&AuspraegungID='+AuspraegungID+'" width="100%" height="100%" scrolling="no" allowtransparency="true" marginheight="0" marginwidth="0" frameborder="0"><p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis aufrufen: <a style="color:#FFF;" href="'+sk+'/tools/verkostung/index.php">zum Verkostungstool</a></p></iframe>');
			//window.location.href = sk+'/tools/verkostung/index.php';
			//ajaxRequest(sk+'/tools/verkostung/index.php',zeigeService);
			break;		

		case 'Verkostungen':
			$('#DialogContent').css("backgroundColor","transparent");
			$('#DialogContent').html('<iframe id="VerkFrame" name="VerkFrame" src="'+sk+'/tools/verkostung/viewlist.php?aktion=sucheVerkostungen&Artikelnummer='+Artikelnummer+'&AuspraegungID='+AuspraegungID+'" width="100%" height="100%" scrolling="no" allowtransparency="true" marginheight="0" marginwidth="0" frameborder="0"><p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis aufrufen: <a style="color:#FFF;" href="'+sk+'/tools/verkostung/index.php">zum Verkostungstool</a></p></iframe>');
			break;
			
		case 'meineVerkostungen':
			$('#DialogContent').css("backgroundColor","transparent");
			$('#DialogContent').html('<iframe id="VerkFrame" name="VerkFrame" src="'+sk+'/tools/verkostung/viewlist.php?aktion=sucheMeineVerkostungen&Artikelnummer='+Artikelnummer+'&AuspraegungID='+AuspraegungID+'" width="100%" height="100%" scrolling="no" allowtransparency="true" marginheight="0" marginwidth="0" frameborder="0"><p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis aufrufen: <a style="color:#FFF;" href="'+sk+'/tools/verkostung/index.php">zum Verkostungstool</a></p></iframe>');
			break;
			
		case 'Verkostung':
			$('#DialogContent').css("backgroundColor","transparent");
			$('#DialogContent').html('<iframe id="VerkFrame" name="VerkFrame" src="'+sk+'/tools/verkostung/detailansicht.php?Artikelnummer='+Artikelnummer+'&id='+AuspraegungID+'" width="100%" height="100%" scrolling="no" allowtransparency="true" marginheight="0" marginwidth="0" frameborder="0"><p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:Sie k&ouml;nnen die eingebettete Seite &uuml;ber den folgenden Verweis aufrufen: <a style="color:#FFF;" href="'+sk+'/tools/verkostung/index.php">zum Verkostungstool</a></p></iframe>');
			break;
			
		case 'produktempfehlung':
			ajaxRequest(sk+'/artikel.php?Artikelnummer='+Artikelnummer+'&AuspraegungID='+AuspraegungID+'&style=produktEmpfehlung',zeigeService);
			break;
			
		case 'ArtikelFAQ':
			ajaxRequest(sk+'/artikel.php?Artikelnummer='+Artikelnummer+'&AuspraegungID='+AuspraegungID+'&style=ArtikelFAQ',zeigeService);
			break;
			
		case 'ArtikelNotiz':
			ajaxRequest(sk+'/artikel.php?Artikelnummer='+Artikelnummer+'&AuspraegungID='+AuspraegungID+'&style=ArtikelNotiz',zeigeService);
			break;
			
		case 'Bewertung':
			ajaxRequest(sk+'/artikel.php?Artikelnummer='+Artikelnummer+'&AuspraegungID='+AuspraegungID+'&style=UserBewertung',zeigeService);
			break;
	
		default:
			nimmWert('DialogNachricht','html',inhalt);
			break;
	}

	$("#boxDialog")
		.css("height",$(document).height() + "px")
		.css("width",$(document).width() + "px")
		.css({visibility: "visible", display: "block"}) 
		;

	$("#DialogContent").fadeIn("slow");

	$("#DialogContent")
		.css({visibility: "visible", display: "block"}) 
		;
}


function zeigeService(response) {
	//alert(response);
	nimmWert('DialogContent', 'html', response);
}



//Bewertungen für artikel
function get_src(obj_name,obj_id) {
	// Quelle der aktuellen Datei finden
	cur_src  = document.getElementsByName(obj_name)[obj_id].src;
	// Datei finden	
	tmp_src = cur_src.substr(cur_src.lastIndexOf('/')+1);
}


function clear_all(Artikelnummer) {
	// alert('clear_all() Artikelnummer='+Artikelnummer);
	if (document.getElementsByName('rated' + Artikelnummer)[0].value == 0) {
		for (var i = 0;i < 5;i++) document.getElementsByName('rate_star' + Artikelnummer)[i].src = '/pics/icons/bewertung/blatt_inactive.gif';
	} else {
		for (var i = 0;i < 5;i++) {
			if((i+1) > document.getElementsByName('rate_value' + Artikelnummer).value) {
				document.getElementsByName('rate_star' + Artikelnummer)[i].src = '/pics/icons/bewertung/blatt_inactive.gif';
			}
		}
	}
}


function new_rate_val(Artikelnummer, rate_value) {
	clear_all(Artikelnummer);
	if (document.getElementsByName('rated' + Artikelnummer)[0].value == 0) {
		for (var i = 0;i < rate_value;i++) {
			get_src('rate_star' + Artikelnummer,i);
			(tmp_src == 'blatt_inactive.gif') ? document.getElementsByName('rate_star' + Artikelnummer)[i].src = '/pics/icons/bewertung/blatt_active.gif' : document.getElementsByName('rate_star' + Artikelnummer)[i].src = '/pics/icons/bewertung/blatt_inactive.gif';
		}
	} else {
		for (var i = 0;i < rate_value;i++) {
			if((i+1) > document.getElementsByName('rate_value' + Artikelnummer).value) {
				get_src('rate_star' + Artikelnummer,i);
				(tmp_src == '/pics/icons/bewertung/blatt_inactive.gif') ? document.getElementsByName('rate_star' + Artikelnummer)[i].src = '/pics/icons/bewertung/blatt_active.gif' : document.getElementsByName('rate_star' + Artikelnummer)[i].src = '/pics/icons/bewertung/blatt_inactive.gif';
			}
		}
	}
}


function rate(Artikelnummer, rate_value) {
	if (document.getElementsByName('rated' + Artikelnummer)[0].value == 1) {
		document.getElementsByName('rate_value' + Artikelnummer)[0].value = 0;
		clear_all(Artikelnummer);
		new_rate_val(Artikelnummer,rate_value);
		document.getElementsByName('rated' + Artikelnummer)[0].value = 1;
		document.getElementsByName('rate_value' + Artikelnummer)[0].value = rate_value;
	} else {
		document.getElementsByName('rated' + Artikelnummer)[0].value = 1;
		document.getElementsByName('rate_value' + Artikelnummer)[0].value = rate_value;
	}
}


function reset_this(Artikelnummer) {
	// alert('reset_this() Artikelnummer='+Artikelnummer);
	document.getElementsByName('rated' + Artikelnummer)[0].value      = 0;
	document.getElementsByName('rate_value' + Artikelnummer)[0].value = 0;
	
	clear_all(Artikelnummer);
}

function chkFrm(Artikelnummer) {
	if (document.getElementsByName('rated' + Artikelnummer)[0].value==1) return true;
	alert ('Bitte geben Sie mit Hilfe der Weinblätter noch an, wie Ihnen der Artikel geschmeckt hat.		(siehe Bedienungsanleitung)');
	return false;
}

//ein- ausblenden artikel notiz
function anzeigen(das){
 if(document.getElementById(das).style.display=='none')
 document.getElementById(das).style.display='block';
 else document.getElementById(das).style.display='none';}






/**
  * Maskiert HTML-Zeichen innerhalb von JS, zB von einem input-value auf ein innerHTML-Wert
  * 
  * @param string str Eingabe-Zeichenkette, default ""
  * @param typ int 2 = normal, 3 = numbered entities, default 2
  * @return string
  * @author aus-dem-Netz
**/
function htmlspecialchars(str,typ) 
{
	if(typeof str=="undefined") str="";
	if(typeof typ!="number") typ=2;
	if (str == null) return "";
	if (str == undefined) return "";
	if (str == "") return "";
	typ=Math.max(0,Math.min(3,parseInt(typ)));
	var from=new Array(/&/g,/</g,/>/g);
	var to=new Array("&amp;","&lt;","&gt;");
	if(typ==1 || typ==3) {from.push(/'/g); to.push("&#039;");}
	if(typ==2 || typ==3) {from.push(/"/g); to.push("&quot;");}
	for(var i in from) str=str.replace(from[i],to[i]);
	return str;
}

