function setLokalisierungCookie(marktID) {
	var a = new Date();
	a = new Date(a.getTime() +1000*60*60*24*700); // Lebensdauer 700 Tage
	document.cookie = 'marktidVM='+marktID+'; expires='+a.toGMTString()+';'; 
}

// Bundesland fuer Markt holen
function getBLFromCookie(mId) {
	for (var i in maerkte_vm) {
		for (var x in maerkte_vm[i]) {
			if (maerkte_vm[i][x][0] == mId)
			  return i;
		}
	}
}

// Combobox-Default-Wert setzen
function setSelectByValue( elemId, defVal ) {
	var combo = document.getElementById(elemId), rv=false;
	if ( combo.type == 'select-one' ) {
		for ( var i=0; i < combo.options.length && combo.options[i].value!=defVal; i++ );
	if ( rv = (i != combo.options.length) )
		combo.selectedIndex = i;
	}
	return rv;
}

function getMarktIdVMCookie() {
	var cookieMarktId = getmktcookie('VM');
	var minus = cookieMarktId.indexOf('-');
	if (minus != -1) // wenn "-hash" entshalten, dann extrahiere nur die Marktid
		cookieMarktId = cookieMarktId.substring(0,minus);
	return cookieMarktId;
}

// Fuellt Newsletter-Lokalisierungs-Formular aus, falls bereits lokalisiert
function populateNLForm() {
   if (getMarktIdVMCookie() != "") {
      setSelectByValue("blSelect", getBLFromCookie(getMarktIdVMCookie()));
      setBundeslandNL(getBLFromCookie(getMarktIdVMCookie()));
      if (document.getElementById("cbVM") != undefined)
	     setSelectByValue("cbVM", getMarktIdVMCookie());
	}
}

/*
	Newsletter-Anmeldung + Cookie setzen
*/
function nlAnmeldung() {
	var completeMA = false;
	var completeNL = false;
	var myMarktId = "NO_MARKT";
	
	document.getElementById('nlError').style.display="none";
	document.getElementById('nlError2').style.display="none";
	document.getElementById('maError').style.display="none";
	document.getElementById('blError').style.display="none";
	
	// ausgewaehlten Markt holen
	var myMarkt = document.getElementById('cbVM');
	if (myMarkt != null)
		myMarktId = myMarkt.options[myMarkt.options.selectedIndex].value;
	
	var isNlEmail = document.getElementById('nlCB').checked;
	
	// Newsletter E-Mail holen
	var nlEmail = document.getElementById('nlAdresse').value;
	
	// kein Bundelsand gewaehlt
	if (document.getElementById('blSelect').selectedIndex == 0)
		document.getElementById('blError').style.display="block";
	
	// eMail ohne Einverstaendnis
	if (nlEmail.length > 0 && !isNlEmail) { 
		document.getElementById('nlError').style.display="block";
	}
	
	// Einverstaendnis ohne eMail
	if ((nlEmail.length == 0 && isNlEmail) || (!isNlEmail && nlEmail.length == 0)) {
		document.getElementById('nlError2').style.display="block";
	}
	
	if ( (nlEmail.length > 0 && isNlEmail)) completeNL = true;
	
	// kein Markt ausgewaehlt
	if (myMarktId == 'NO_MARKT') {
		document.getElementById('maError').style.display="block";
	}
	else {
		completeMA = true;
	}
	
	if (completeMA && completeNL) {
		// Cookie setzen
		setLokalisierungCookie(myMarktId, 0);
		
		document.nlAnForm.submit();
	}
}

function nlAnmeldungNeu() {
	var completeMA = false;
	var completeNL = false;
	
	document.getElementById('nlError').style.display="none";
	document.getElementById('nlError2').style.display="none";
	document.getElementById('nlError3').style.display="none";
	
	var isNlEmail = document.getElementById('nlCB').checked;
	
	// Newsletter E-Mail holen
	var nlEmail = document.getElementById('nlAdresse').value;
	
	// eMail ohne Einverstaendnis
	if (nlEmail.length > 0 && !isNlEmail) { 
		document.getElementById('nlError').style.display="block";
	}
	
	// Einverstaendnis ohne eMail
	if ((nlEmail.length == 0 && isNlEmail) || (!isNlEmail && nlEmail.length == 0)) {
		document.getElementById('nlError2').style.display="block";
	}
	
	if ( (nlEmail.length > 0 && isNlEmail)) completeNL = true;
	
	// kein Markt ausgewaehlt
	if (getmktcookie_generic('toom_selectedmarket') == "") {
		document.getElementById('nlError3').style.display="block";
	}
	else {
		completeMA = true;
	}
	
	if (completeMA && completeNL) {
		document.nlAnForm.submit();
	}
}

function nlAbmeldung() {
	if (document.getElementById('nlAbAdresse').value.length > 0) 
		document.nlAbForm.submit();
	else
		document.getElementById('nlErrorAb').style.display="block";
}

/*
	Funktion, die bei Auswahl des Bundeslandes im Dropdown aufgerufen wird.
	Es wird dynamisch aus dem Array maerkte_vm eine zweite Dropdown-Liste
	mit den zum Bundesland gehoerenden Maerkten erzeugt.
*/
function setBundeslandNL(bl) {
	document.getElementById('maError').style.display="none";
	document.getElementById('blError').style.display="none";

	// da soll das neue Dropdown hin
	var target = document.getElementById('maSelect');
	
	// ggf. existierendes Dropdown entfernen
	var existing = document.getElementById('cbVM');
	if (existing) {
		target.removeChild(existing);
	}
	
	// neues Dropdown erstellen
	var combo_box = document.createElement('select');
	combo_box.name = 'maerkteVM';
	combo_box.id = 'cbVM';
	if (maerkte_vm[bl]) {
		// bitte waehlen option
		var bwoption = document.createElement('option');
		bwoption.value = "NO_MARKT";
		bwoption.appendChild(document.createTextNode("Bitte auswählen..."));
		combo_box.appendChild(bwoption);
		for (i=0; i<maerkte_vm[bl].length; i++) {
			var choice = document.createElement('option');
			choice.value = maerkte_vm[bl][i][0]; // marktId
			choice.appendChild(document.createTextNode(maerkte_vm[bl][i][1])); // PLZ und Ort
			combo_box.appendChild(choice);
		}
		target.appendChild(combo_box);
		document.getElementById('nlSelMa').style.display="block";
	}
}

/*
	Methode, die einen onLoad Event hinzufuegt.
*/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

