/**********************************************************************************
* WLW - JavaScript
* 
*
*********************************************************************************/

/* Anzeige Einfache/Erweiterte Suche */
function theSearch(zustand) {
  if (zustand == "Erweitert") {
    document.getElementById("suchmaskeobenEinfach").style.display = "none";
  } else {  
    document.getElementById("suchmaskeobenErweitert").style.display = "none";
  }  
  document.getElementById("suchmaskeoben"+zustand).style.display = "block";
}

function markit(formname,suchart) {
	if(suchart == "produkt") {
		document.forms[formname].anzeige[0].checked = true;
		document.forms[formname].anzeige[1].checked = false;
	} else {
		document.forms[formname].anzeige[1].checked = true;
		document.forms[formname].anzeige[0].checked = false;
		checkAnzeige;
	}
}

/* Anzeige Umkreissuche */
function theFilter(zustand) {
  if (zustand == "close") {
    document.getElementById("contfilter").style.display = "block";
    document.getElementById("filterclosed").style.display = "none";
    // Wenn der Slider verdeckt ist, hat das Setzen des Wertes keine
    // Auswirkung - d.h. der Slider bleibt auf "0".
    // Deshalb setzen wir an dieser Stelle (nachdem der Block mit dem Slider sichtbar
    // geworden ist) nochmals den Umkreis.
    initSliderWithCookieValues(document.forms["filter"].umkreis.value);
  } else {  
    document.getElementById("contfilter").style.display = "none";
    document.getElementById("filterclosed").style.display = "block";
  }
}

/* Anzeige Hinweise */
function theHinweis(zustand,anzeige) {
  if (zustand == "close") {
    document.getElementById("hinweisecontentOpen").style.display = "none";
    document.getElementById("hinweisecontentClose").style.display = "block";
    document.getElementById("statusmeldung").style.display = "none";
    document.getElementById("statusmeldunggeschlossen").style.display = "inline";
    if (document.getElementById("zuvieleTreffer")) {
    	document.getElementById("zuvieleTreffer").style.display = "none";
    }
  } else {  
    document.getElementById("hinweisecontentOpen").style.display = "block";
    document.getElementById("hinweisecontentClose").style.display = "none";
    document.getElementById("statusmeldung").style.display = "inline";
    document.getElementById("statusmeldunggeschlossen").style.display = "none";
    if (document.getElementById("zuvieleTreffer")) {
    	document.getElementById("zuvieleTreffer").style.display = "block";
    }
  }
  /* IE6-Bug, sonst positioniert sich der Container nicht korrekt */
  if (navigator.appVersion.indexOf("MSIE 6") && document.getElementById("filterclosed")) {
	  document.getElementById("filterclosed").style.display = "none";
	  document.getElementById("filterclosed").style.display = "block";
  }
  // checkHeight darf nicht in der Trefferliste ausgefuehrt werden
  if (anzeige != "Trefferliste") {
	  checkHeight("open");
  }
}

/* Errechnen der Breite der einzelnen Pfadelemente fuer die zur Verfuegung stehende Breite des letzen Elements */

function thePath(design) {
	if (design == "seibt_ik" || design == "wbm" || design == "seibt_mt" || design == "km_db") {
		var TotalWidth = 979; // Gesamtbreite des Pfads
	} else {
		var TotalWidth = 999; // Gesamtbreite des Pfads
	}
	if (design == "seibt_ik" || design == "wbm" || design == "seibt_mt" || design == "km_db") {
		var TotalWidthIE678 = 974; // Gesamtbreite des Pfads fuer IE6 und IE7 und IE8
	} else {
		var TotalWidthIE678 = 994; // Gesamtbreite des Pfads fuer IE6 und IE7 und IE8
	}
	var ulPadding = 20; // linker Abstand des Pfads
	var thePfeil = 46; // Breite des Trennpfeils
	var theWidth = 0; // die errechnete Breite wird hier gespeichert
	var lastPadding = 20; // padding-left und right des letzten Elements
	var firmaWidth;
	
    var startwidth = document.getElementById("pfad_startseite").offsetWidth + ulPadding;
    theWidth = startwidth;
    if (document.getElementById("pfad_produkttreffer")) {
    	var produkttrefferWidth = document.getElementById("pfad_produkttreffer").offsetWidth + thePfeil;
        theWidth = theWidth + produkttrefferWidth;
    }
    if (document.getElementById("pfad_firmentreffer")) {
    	var firmentrefferWidth = document.getElementById("pfad_firmentreffer").offsetWidth + thePfeil;
        theWidth = theWidth + firmentrefferWidth;
    }
    if (document.getElementById("pfad_rubrik")) {
    	var rubrikWidth = document.getElementById("pfad_rubrik").offsetWidth + thePfeil;
        theWidth = theWidth + rubrikWidth;
    }
    
	if (navigator.appVersion.indexOf("MSIE 6")!=-1 || navigator.appVersion.indexOf("MSIE 7")!=-1  || navigator.appVersion.indexOf("MSIE 8")!=-1) {
		firmaWidth = TotalWidthIE678 - (theWidth + thePfeil) - lastPadding;
	} else {
		firmaWidth = TotalWidth - (theWidth + thePfeil) - lastPadding;
	}
    document.getElementById("pfad_firma").style.width = firmaWidth + "px";
    document.getElementById("pfad_firma").style.paddingRight = 10 + "px";
    var firmaHeight;
    
    if (navigator.appName == "Microsoft Internet Explorer") {
	    firmaHeight = document.getElementById("pfad_firma").offsetHeight;
	} else {
	    // Ohne folgendes Umschalten wird die tatsaechliche Hoehe nicht korrekt berechnet
		document.getElementById("pfad_firma").style.position = "absolute";
		firmaHeight = document.getElementById("pfad_firma").offsetHeight;
		document.getElementById("pfad_firma").style.position = "relative";
	}
 
    var startHeight = document.getElementById("pfad_startseite").offsetHeight;
  
	//alert(firmaHeight + " " + startHeight);

    if (firmaHeight > startHeight) { // zweizeilig
        document.getElementById("pfad_firma").style.marginTop = -9 + "px";
    }
    
}

/* Rubrikendefinitionen */
function showRubrikendefTooltip() {
	var posImg = $("#rubrikdef").position();
	var posImgOffset = $("#rubrikdef").offset();
	$("#rubrikdeftooltip").css('left', posImgOffset.left+7);
	$("#rubrikdeftooltip").css('top', posImgOffset.top+17);
	$("#rubrikdeftooltip").css('z-index', 10);
	$("#rubrikdeftooltip").show();
}

function hideRubrikendefTooltip() {
	$("#rubrikdeftooltip").hide();
}

function setRubrikendefText(theheader, thetext, emailadress, emailsubject, emailbody, urlvorschlag, rubrikendefemailtext,klobjid,mailto,clientip,urlhinweis,rubrikendefmeldentext) {
	var theHTML = '<div class="rubrikdefheader">' + theheader + '</div>';
	theHTML = theHTML + '<div class="rubrikdeftext">' + thetext + '</div>';
	theHTML = theHTML + '<ul>';
	theHTML = theHTML + '<li><a href="mailto:' + emailadress + '?subject=' + emailsubject + '&amp;body=' + emailbody + '" onclick="countKlickGo(\'' + urlvorschlag + '\');">' + rubrikendefemailtext + '</a></li>';
	theHTML = theHTML + '<li><a href="#" onclick="RubrikendefSendEmail(\'' + klobjid + '\',\'' + mailto + '\',\'' + clientip + '\'),countKlickGo(\'' + urlhinweis + '\');return false;">' + rubrikendefmeldentext + '</a></li>';
	theHTML = theHTML + '</ul>';
	theHTML = theHTML + '<br class="clearit"/>';
	$("#rubrikdefcrowd").html(theHTML);
}

function RubrikendefSendEmail(rubrikid, mailto, clientip) {
	$.post("/sse/Form2Mail", {subject: "Optimierungsbedarf Rubrikendefinition", from: "rubriken@wlw.de", to: mailto, mailtmpl: "/formular/de/rubrikendefinition.txt", rubrikid: rubrikid, clientip: clientip});
	$("#rubrikdeftooltip").hide();
}

// TODO setCrowdsrcFirmadatenText(...)

function setCrowdsrcFirmendatenText(theposition,thetext,crowdsrcself,crowdsrcmitteilen,firmaid,kundenstatus,rubrikid,mailto,clientip,urlmitteilen,land,urlselberkorrigieren,urlselberkorrigierenkurz) {
	var theHTML = '<div class="einleitung">' + thetext + '</div>';
	theHTML = theHTML + '<div class="self"><a href="#" onclick="popupCrowdsrcFirmendaten(\'' + theposition + '\',\'' + urlselberkorrigierenkurz + '\');countKlickGo(\'' + urlselberkorrigieren + '\');return false;">' + crowdsrcself + '</a></div>';
	theHTML = theHTML + '<div class="mitteilen"><a href="#" onclick="CrowdsrcFirmendatenSendEmail(\'' + theposition + '\',\'' + firmaid + '\',\'' + kundenstatus + '\',\'' + rubrikid + '\',\'' + mailto + '\',\'' + clientip  + '\',\'' + land + '\'),countKlickGo(\'' + urlmitteilen + '\');return false;">' + crowdsrcmitteilen + '</a></div>';
	theHTML = theHTML + '<br class="clearit"/>';
	$("#crowdContent"+theposition).html(theHTML);
}

function CrowdsrcFirmendatenSendEmail(theposition,firmaid, kundenstatus, rubrikid, mailto, clientip, land) {
	$.post("/sse/Form2Mail", {subject: "Crowdsourcing 0,5", from: mailto, to: mailto, mailtmpl: "/formular/de/crowdsourcing.txt", firmaid: firmaid, rubrikid: rubrikid, clientip: clientip, kundenstatus: kundenstatus, land: land});
	$("#crowdCont"+theposition).hide();
}

function showCrowdsrcFirmendaten(theposition,anzEintraege) {
	//alert(anzEintraege);
	for (var i = 1; i <= anzEintraege; i++) {
		if("#crowdCont"+i) {
			hideCrowdsrcFirmendaten(i);
		}
	}
	$("#crowdCont"+theposition).show();
}


function hideCrowdsrcFirmendaten(theposition) {
	$("#crowdCont"+theposition).hide();
}

function popupCrowdsrcFirmendaten(theposition,theURL){
	wname = "crowdsourcing";
	myparams = "width=1019,height=1257, resizable=yes,scrollbars=yes,status=yes,toolbar=no";
	myfenster = window.open(theURL, wname, myparams);
	myfenster.focus();
	$("#crowdCont"+theposition).hide();
}

/*
 * Bei automatischer Umschaltung von Produkt- auf Firmensuche
 * soll der Radiobutton Produktsuche dennoch aktiviert sein
*/

function checkAnzeige() {
	var theParameter = getparameter("anzeige");
	if(theParameter == "produkt" || theParameter == "produkt#") {
		$("#anzeigeproduktE").attr("checked","checked");
		$("#anzeigeproduktErw").attr("checked","checked");
	} else {
		$("#anzeigefirmaE").attr("checked","checked");
		$("#anzeigefirmaErw").attr("checked","checked");
	}
}


/* 
 * vergleicht die Laenge eines Textes mit der maximal zur
 * Verfuegung stehenden Breite des Containers
 * aendert ggf. den Text und fuegt Leerzeichen fuer automatischen
 * Umbruch ein
 * 
 * Parameter:
 * 
 * theContainer: Der HTML-Container, in dem der Text steht
 * maxwidth: Die maximale Breite des Containers
 *
 */
function checkTheWidth(theContainer, maxwidth) {
	var thezeichen = new Array(",",":",";","-","/",".","|","+");
	var thebigs = new Array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
	var theID = $("#"+theContainer);
	theID.css("position","absolute"); // sonst wird die tatsaechliche Breite nicht berechnet
	var thewidth = theID.width();
	//theID.html("Hallo,diesisteinTest/.:;+-|/Hallo,diesisteinTest/.:;+-|/Hallo,diesistein Test/.:;+-|/");
	var theHTML = theID.html();
	var Leerzeichen = theHTML.indexOf(" ");
	if(thewidth > maxwidth && (Leerzeichen == -1 || Leerzeichen > 70)) { // Nach Breite und Leerzeichen abfragen
		for (var i = 0; i < thezeichen.length; i++) {
			var theHTML = theID.html();
			if(theHTML.indexOf(thezeichen[i]) != -1) {
				// Sonderbehandlung, da diese Zeichen beim replace den Slash brauchen
				if((thezeichen[i]) == "." || (thezeichen[i]) == "|" || (thezeichen[i]) == "+") {
					thenewzeichen = "\\" + thezeichen[i];
					var theReplace = theHTML.replace(new RegExp(thenewzeichen, 'g'), "" + thezeichen[i] + "&shy;");
				} else {
					var theReplace = theHTML.replace(new RegExp(thezeichen[i], 'g'), "" + thezeichen[i] + "&shy;");
				}
				theID.html(theReplace);
			}
		}
		for (var i = 0; i < thebigs.length; i++) {
			var theHTML = theID.html();
			if(theHTML.indexOf(thebigs[i]) != -1) {
				var theReplace = theHTML.replace(new RegExp(thebigs[i], 'g'), "&shy;" + thebigs[i]);
				theID.html(theReplace);
			}
		}
	}
	theID.css("position","relative"); // wichtig!
}


