var request = false;

function setRequest() {
	// Request erzeugen
	if (window.XMLHttpRequest) {
		request = new XMLHttpRequest(); // Mozilla, Safari, Opera
	} else if (window.ActiveXObject) {
		try {
			request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
		} catch (e) {
			try {
				request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
			} catch (e) {}
		}
	}
	
}

// -----------------------------------------------------------------------------------------------------

function usernamecheck(id, url, targetid) {

	if(document.getElementById(id).value != '') {

	// Request erzeugen
	setRequest();
	
	// überprüfen, ob Request erzeugt wurde
	if (!request) {
	
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		
		return false;
		
	} else {

		value = document.getElementById(id).value;

		if(value != '') {
		
			// Request öffnen
			request.open('post', url, true);
		
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
			// Request senden
			request.send('value='+value);
		
			// Request auswerten
			request.onreadystatechange = function() {
			
				switch (request.readyState) {
			
					// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
					case 4:
			
					if (request.status != 200) {
			
						alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				
					} else {
				
						var content = request.responseText;		
						
						// den Inhalt des Requests in das <div> schreiben
						document.getElementById(targetid).innerHTML = content;
					
					}
				
				}
				
			};
			
		}

	}
	
	} else {
	
		document.getElementById(targetid).innerHTML = '';
	
	}
	
}

// -----------------------------------------------------------------------------------------------------

function openlayer(changeid, url, targetvisibleid, targetchangeid) {

	if(document.getElementById(targetvisibleid).style.visibility != 'visible') {

	// Request erzeugen
	setRequest();
	
	// überprüfen, ob Request erzeugt wurde
	if (!request) {
	
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		
		return false;
		
	} else {

		value = changeid;

		if(value != '') {
		
			// Request öffnen
			request.open('post', url, true);
		
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
			// Request senden
			request.send('value='+value);
		
			// Request auswerten
			request.onreadystatechange = function() {
			
				switch (request.readyState) {
			
					// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
					case 4:
			
					if (request.status != 200) {
			
						alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				
					} else {
				
						var content = request.responseText;
								
						document.getElementById(targetvisibleid).style.visibility = 'visible';		
						
						// den Inhalt des Requests in das <div> schreiben
						document.getElementById(targetchangeid).innerHTML = content;
					
					}
				
				}
				
			};
			
		}

	}
	
	} else {
	
		document.getElementById(targetvisibleid).style.visibility = 'hidden';
	
	}
	
}

// -----------------------------------------------------------------------------------------------------

function openlayer1(id) {

	if(document.getElementById(id).style.visibility != 'visible') {
	
		document.getElementById(id).style.visibility = 'visible';
	
	} else {
	
		document.getElementById(id).style.visibility = 'hidden';
	
	}

}

// -----------------------------------------------------------------------------------------------------

function deletelistitems(deleteid, url, url2, targetid2) {
	
	// Request erzeugen
	setRequest();
	
	// überprüfen, ob Request erzeugt wurde
	if (!request) {
	
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		
		return false;
		
	} else {
	
		value = deleteid;
		
		if(value != '') {
	
			document.getElementById('waiting').style.visibility = 'visible';
		
			// Request öffnen
			request.open('post', url, true);
		
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
			// Request senden
			request.send('value='+value);
		
			// Request auswerten
			request.onreadystatechange = function() {
		
				switch (request.readyState) {
			
				// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
				case 4:
			
				if (request.status != 200) {
			
					alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				
				} else {
				
					// Request öffnen
					request.open('post', url2, true);
			
					// Request senden
					request.send(null);
				
					// Request auswerten
					request.onreadystatechange = function() {
				
						switch (request.readyState) {
					
							// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
							case 4:
						
								document.getElementById('waiting').style.visibility = 'hidden';
						
								if (request.status != 200) {
							
									alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
							
								} else {
							
									var content = request.responseText;
								
									// den Inhalt des Requests in das <div> schreiben
									document.getElementById(targetid2).innerHTML = content;
									
								}
							
								break;
								default:
								break;
						}
				
					};
				
				}
			
				break;
				default:
				break;
			
				}
			
			};
		
		}
		
	}
	
}

// -----------------------------------------------------------------------------------------------------

function categorychangelistitems(changeid, changefieldid, url, url2, targetid2) {
	
	// Request erzeugen
	setRequest();
	
	// überprüfen, ob Request erzeugt wurde
	if (!request) {
	
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		
		return false;
		
	} else {
	
		value = changeid;
		value2 = document.getElementById(changefieldid).value;
		
		if(value != '') {
	
			document.getElementById('waiting').style.visibility = 'visible';
		
			// Request öffnen
			request.open('post', url, true);
		
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
			// Request senden
			request.send('value='+value+'&value2='+value2);
		
			// Request auswerten
			request.onreadystatechange = function() {
		
				switch (request.readyState) {
			
				// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
				case 4:
			
				if (request.status != 200) {
			
					alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				
				} else {
				
					// Request öffnen
					request.open('post', url2, true);
			
					// Request senden
					request.send(null);
				
					// Request auswerten
					request.onreadystatechange = function() {
				
						switch (request.readyState) {
					
							// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
							case 4:
						
								document.getElementById('waiting').style.visibility = 'hidden';
						
								if (request.status != 200) {
							
									alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
							
								} else {
							
									var content = request.responseText;
								
									// den Inhalt des Requests in das <div> schreiben
									document.getElementById(targetid2).innerHTML = content;
									
								}
							
								break;
								default:
								break;
						}
				
					};
				
				}
			
				break;
				default:
				break;
			
				}
			
			};
		
		}
		
	}
	
	return false;
	
}

// -----------------------------------------------------------------------------------------------------

function observearticle(id, url, url2, targetid2) {
	
	// Request erzeugen
	setRequest();
	
	// überprüfen, ob Request erzeugt wurde
	if (!request) {
	
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		
	} else {
	
		value = id;
		
		if(value != '') {
			
			// Request öffnen
			request.open('post', url, true);
		
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
			// Request senden
			request.send('value='+value);
		
			// Request auswerten
			request.onreadystatechange = function() {
		
				switch (request.readyState) {
			
				// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
				case 4:
			
				if (request.status != 200) {
			
					alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				
				} else {
				
					// Request öffnen
					request.open('post', url2, true);
					
					// Requestheader senden
					request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			
					// Request senden
					request.send('value='+value);
				
					// Request auswerten
					request.onreadystatechange = function() {
				
						switch (request.readyState) {
					
							// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
							case 4:
						
								if (request.status != 200) {
							
									alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
							
								} else {
							
									var content = request.responseText;
								
									// den Inhalt des Requests in das <div> schreiben
									document.getElementById(targetid2).innerHTML = content;
									
								}
							
								break;
								default:
								break;
						}
				
					};
				
				}
			
				break;
				default:
				break;
			
				}
			
			};
		
		}
		
	}
	
}

// -----------------------------------------------------------------------------------------------------

function sortlistitems(id, url, targetid) {

	// Request erzeugen
	setRequest();
	
	// überprüfen, ob Request erzeugt wurde
	if (!request) {
	
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		
		return false;
		
	} else {

		value = document.getElementById(id).value;

		if(value != '') {
		
			document.getElementById('waiting').style.visibility = 'visible';
		
			// Request öffnen
			request.open('post', url, true);
		
			// Requestheader senden
			request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
			// Request senden
			request.send('order='+value);
		
			// Request auswerten
			request.onreadystatechange = function() {
			
				switch (request.readyState) {
			
					// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
					case 4:
					
					document.getElementById('waiting').style.visibility = 'hidden';
			
					if (request.status != 200) {
			
						alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
				
					} else {
				
						var content = request.responseText;		
						
						// den Inhalt des Requests in das <div> schreiben
						document.getElementById(targetid).innerHTML = content;
					
					}
				
				}
				
			};
			
		}

	}
	
}

// -----------------------------------------------------------------------------------------------------

function edititem(id, targetid) {

	if(document.getElementById(targetid).style.visibility != 'visible') {

	topdiv = document.getElementById(id).offsetTop;
	leftdiv = document.getElementById(id).offsetLeft;
	widthdiv = document.getElementById(id).offsetWidth;
	widthdivtarget = document.getElementById(targetid).offsetWidth;
	leftdiv = leftdiv + widthdiv - widthdivtarget;
	
	document.getElementById(targetid).style.visibility = 'visible';
	document.getElementById(targetid).style.top = topdiv + 'px';
	document.getElementById(targetid).style.left = leftdiv + 'px';
	
	} else {
	
	document.getElementById(targetid).style.visibility = 'hidden';
	
	}
		

}

// -----------------------------------------------------------------------------------------------------

function bundeslaender() {

	value = document.getElementById('country').value;

	if(value == 52) {
	
		document.getElementById('statealternativ').style.visibility = 'hidden';
		document.getElementById('state').style.visibility = 'visible';
	
	} else {
	
		document.getElementById('state').style.visibility = 'hidden';
		document.getElementById('statealternativ').style.visibility = 'visible';
	
	}

}

// -----------------------------------------------------------------------------------------------------

function checksame(id, id1, targetid) {

	value = document.getElementById(id).value;
	value1 = document.getElementById(id1).value;
	
	if(value == '' || value1 == '') {
	
		document.getElementById(targetid).innerHTML = '';
	
	} else if(value == value1) {
	
		document.getElementById(targetid).innerHTML = '<img src="gfx/right.png" style="float: left; margin-left: 10px;" width="20" height="20">';
	
	} else {
	
		document.getElementById(targetid).innerHTML = '<img src="gfx/cross.png" style="float: left; margin-left: 10px;" width="20" height="20">';
	
	}

}

// -----------------------------------------------------------------------------------------------------

function countstring(id, targetid, max) {

	stringlength = max - document.getElementById(id).value.length;
	
	document.getElementById(targetid).innerHTML = 'noch '+stringlength+' Zeichen übrig';
	
	if(stringlength < 0) {
	
		document.getElementById(targetid).style.color = 'red';
	
	} else {
	
		document.getElementById(targetid).style.color = '';
	
	}

}

// -----------------------------------------------------------------------------------------------------

function showpic(name) {

	if(document.getElementById(name).style.visibility != 'visible') {

		document.getElementById(name).style.visibility = 'visible';
	
	} else {
	
		document.getElementById(name).style.visibility = 'hidden';
	
	}

}

// -----------------------------------------------------------------------------------------------------

var nCrackrate = 1000; // Anzahl möglicher Versuche das Passwort zu Knacken pro Sekunde
var nTreshholddays = 365 * 10; // Schwellwert, ab wann das Passwort als Sicher gilt
var nSteps = 10; // Anzahl der Schritte, die im CSS angehangen werden

function contains(strText, strPattern)
{
 for (i = 0; i < strText.length; i++)
 {
 if (strPattern.indexOf(strText.charAt(i)) > -1) return true;
 }
 return false;
}

function checkPass(strPass, strId, strClassname, strTextId, aTexts) {
 
	nCombinationCount = 0;

 	strToCheck = "0123456789"; // überprüfen ob Ziffern vormmen
 	if (contains(strPass, strToCheck)) nCombinationCount += strToCheck.length;
 	strToCheck = "abcdefghijklmnopqrstuvwxyz"; // überprüfen ob kleine Buchstaben vorkommen
	if (contains(strPass, strToCheck)) nCombinationCount += strToCheck.length;
	strToCheck = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // überprüfen ob grosse Buchstaben vorkommen
 	if (contains(strPass, strToCheck)) nCombinationCount += strToCheck.length;
 	strToCheck = ",;:-_=+|//?^&!.@$£#*()%~<>{}[]";// übersprüfen ob Sonderzeichen vorkommen
	if (contains(strPass, strToCheck)) nCombinationCount += strToCheck.length;

 	var nDays = ((Math.pow(nCombinationCount, strPass.length) / nCrackrate) / 2) / 86400; // Wieviele Tage benötigt man?
 	var nStrongness = Math.round(nDays / nTreshholddays * 100); // Stärke errechnen
 	if (nStrongness < (strPass.length * 5)) nStrongness += strPass.length * 5; // Zeichenlänge für Stärke berücksichtigen
 	if (nStrongness > 100) nStrongness = 100; // Max 100% zulassen
 	nStrongness = Math.round(nStrongness / (100 / nSteps)); // Max Schritte

 	oId = document.getElementById(strId);
 	oId.className = strClassname + "-" + nStrongness;

 	otId = document.getElementById(strTextId);

 	if (aTexts) {
 
 	nKey = Math.round((aTexts.length - 1) / nSteps * nStrongness);
 	otId.innerHTML = aTexts[nKey];
 
 	}
 
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0

	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	
	if (restore) selObj.selectedIndex=0;
	
} 

function checkall(count) {

	i = 1;
	
	if(document.getElementById('checkall').checked == true) {
	
		while(i <= count) {
	
			document.getElementById(i).checked = true;
	
			i++;
	
		}
	
	} else {
	
		while(i <= count) {
	
			document.getElementById(i).checked = false;
	
			i++;
	
		}
	
	}


}


