function gosmile(Zeichen) {
   document.cgb.beitrag.value =
   document.cgb.beitrag.value + Zeichen;
   document.cgb.beitrag.focus();
}

function DoSubmit(FORMULAR,BUTTON,MESSAGE) {
	if (obj=document.getElementById(FORMULAR)) {
		var button_id = FORMULAR+'_'+BUTTON;
		document.getElementById(button_id).value = MESSAGE;
		document.getElementById(button_id).disabled=true;
		SiteLoading('show');
	}else{
		document[FORMULAR][BUTTON].value = MESSAGE;
		document[FORMULAR][BUTTON].disabled=true;
		SiteLoading('show');
	}
}

function fillup_other_field(receive,send) {
	document.getElementById(send).value = document.getElementById(receive).value;
}

function fillup_field(field, text) {
	document.getElementById(field).value = text;
}

function email_chk(fo,fi){
var color_invalid_fields="on";var val_col='';//
var inval_col='#FF0000';var limit_size="off";var max_size=20;var min_size=3;var email_only="on";var result=false;//
var what=document[fo][fi].value;var show=document[fo][fi];var foc=document[fo][fi];//
if (color_invalid_fields=="on"){var c=true;}//
if (email_only=="on"){if(typeof(RegExp)=='function'){var fcheck=new RegExp('qwerty');//
if(fcheck.test('qwerty') == true){parseit=true;}}if(parseit==true){ex_it=new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+//
'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$');result = (ex_it.test(what));}else{result = (what.search('@') >= 1//
&&what.lastIndexOf('.') > what.search('@')&&what.lastIndexOf('.') >= what.length-5);}if (result==false){//
if (c==true){show.style["color"]=inval_col;document[fo]['submit'].disabled=true;}foc.focus();}//
else{if (c==true){show.style["color"]=val_col;document[fo]['submit'].disabled=false;}}return (result);}if (limit_size=="on"){//
if (what.length < min_size){result==false;if (c==true){show.style["color"]=inval_col;document[fo]['submit'].disabled=true;}//
foc.focus();}else{if (what.length > max_size){result==false;if (c==true){show.style["color"]=inval_col;document[fo]['submit'].disabled=true;}//
foc.focus();}else{if (c==true){show.style["color"]=val_col;document[fo]['submit'].disabled=false;}}}if ((result)==true){if (c==true){show.style["color"]='';document[fo]['submit'].disabled=false;}//
return (result);}}}//

function CheckContactForm() {
	if (document.getElementById('vname').value == "") {
		alert ("Bitte Ihren Vornamen eingeben!");
		document.getElementById('vname').focus();
		return false;
	}
	if (document.getElementById('nname').value == "") {
		alert ("Bitte Ihren Nachnamen eingeben!");
		document.getElementById('nname').focus();
		return false;
	}
	if (document.getElementById('email').value ==""){
		alert("Bitte E-Mail-Adresse eingeben!");
		document.getElementById('email').focus();
		return false;
	}
	if (document.getElementById('nachricht').value == "") {
		alert ("Bitte eine Nachricht eingeben!");
		document.getElementById('nachricht').focus();
		return false;
	}
	if (document.getElementById('validator').value == "") {
		alert ("Bitte Bestätigungs-Code eingeben!");
		document.getElementById('validator').focus();
		return false;
	}
	SiteLoading('show');
}

function CheckLoginForm(site) {
	if (document.getElementById('loginname').value == "") {
		if (site=="xtra-partner") {
			alert ("Bitte PID(Partner-ID) eingeben!");
		}else if (site=="xtra-hosting"){
			alert ("Bitte Kundennummer eingeben!");
		}else{
			alert ("Bitte Benutzernamen eingeben!");
		}
		document.getElementById('loginname').focus();
		return false;
	}
	if (document.getElementById('loginpw').value == "") {
		alert ("Bitte Passwort eingeben!");
		document.getElementById('loginpw').focus();
		return false;
	}
	SiteLoading('show');
}

function CheckUserUpdate () {
	b2bobj = (document.getElementById('b2bupdate'))?true:false;
	if (b2bobj && document.getElementById('company').value ==""){
		alert("Bitte Firmannamen eingeben!");
		document.getElementById('company').focus();
		return false;
	}
	if (document.getElementById('vname').value ==""){
		alert("Bitte Vornamen eingeben!");
		document.getElementById('vname').focus();
		return false;
	}
	if (document.getElementById('nname').value ==""){
		alert("Bitte Nachnamen eingeben!");
		document.getElementById('nname').focus();
		return false;
	}
	if (document.getElementById('street').value ==""){
		alert("Bitte Strasse eingeben!");
		document.getElementById('street').focus();
		return false;
	}
	if (document.getElementById('nr').value ==""){
		alert("Bitte Hausnummer eingeben!");
		document.getElementById('nr').focus();
		return false;
	}
	if (document.getElementById('land').value ==""){
		alert("Bitte Land auswählen!");
		document.getElementById('land').focus();
		return false;
	}
	if (document.getElementById('plz').value ==""){
		alert("Bitte PLT eingeben!");
		document.getElementById('plz').focus();
		return false;
	}
	if ((document.getElementById('land').value =="DE" && !document.getElementById('plz').value.match (/^[0-9][0-9][0-9][0-9][0-9]$/)) || (document.getElementById('land').value =="CH" && !document.getElementById('plz').value.match (/^[0-9][0-9][0-9][0-9]$/)) || (document.getElementById('land').value =="AT" && !document.getElementById('plz').value.match (/^[0-9][0-9][0-9][0-9]$/))){
		alert("Bitte PLZ korrekt eingeben!");
		document.getElementById('plz').focus();
		return false;
	}
	if (document.getElementById('city').value ==""){
		alert("Bitte Wohnort eingeben!");
		document.getElementById('city').focus();
		return false;
	}
	if (document.getElementById('email').value ==""){
		alert("Bitte E-Mail eingeben!");
		document.getElementById('email').focus();
		return false;
	}
	if (document.getElementById('phone').value ==""){
		alert("Bitte Telefonnummer eingeben!");
		document.getElementById('phone').focus();
		return false;
	}
	if (b2bobj && document.getElementById('fax').value ==""){
		alert("Bitte Faxnummer eingeben!");
		document.getElementById('fax').focus();
		return false;
	}
}

function CheckEditUserPassword () {
	if (document.getElementById('oldpw').value ==""){
		alert("Bitte altes Passwort eingeben!");
		document.getElementById('oldpw').focus();
		return false;
	}
	if (document.getElementById('newpw1').value ==""){
		alert("Bitte neus Passwort eingeben!");
		document.getElementById('newpw1').focus();
		return false;
	}
	if (document.getElementById('newpw2').value ==""){
		alert("Bitte neues Passwort wiederholen!");
		document.getElementById('newpw2').focus();
		return false;
	}
	if (document.getElementById('newpw1').value != document.getElementById('newpw2').value) {
		alert("Die beiden Passwörter stimmen nicht überein!");
		document.getElementById('newpw1').focus();
		return false;
	}
}

function CheckDeleteUser () {
	if (document.deleteuser.check.value !="JA"){
		alert("Sie müssen mit JA bestätigen!");
		document.deleteuser.check.focus();
		return false;
	}
}

function CheckUpdateLastschrift () {
if (document.updatelastschrift.kontoinhaber.value == ""){
alert("Bitte Kontoinhaber eingeben!") 
document.updatelastschrift.kontoinhaber.focus() 
return false }
if (document.updatelastschrift.konto.value == ""){
alert("Bitte Kontonummer eingeben!") 
document.updatelastschrift.konto.focus() 
return false }
if (document.updatelastschrift.blz.value == ""){
alert("Bitte Bankleitzahl eingeben!") 
document.updatelastschrift.blz.focus() 
return false }
if (!document.updatelastschrift.blz.value.match (/^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/)){
alert("Bitte Bankleitzahl korrekt eingeben!") 
document.updatelastschrift.blz.focus() 
return false }
if (document.updatelastschrift.bank.value == ""){
alert("Bitte Name der Bank eingeben!") 
document.updatelastschrift.bank.focus() 
return false }
}

function CheckSendPassword (site) {
	if (document.getElementById('sendpass_username').value == ""){
		if (site=="xtra-partner") {
			alert("Bitte PID(Partner-ID) eingeben!");
		}else{
			alert("Bitte Usernamen eingeben!");
		}
		document.getElementById('sendpass_username').focus();
		return false;
	}
	if (document.getElementById('sendpass_email').value ==""){
		alert("Bitte E-Mail-Adresse eingeben!");
		document.getElementById('sendpass_email').focus();
		return false;
	}
	if (document.getElementById('validator').value == ""){
		alert("Bitte den Bestätigungscode eingeben!");
		document.getElementById('validator').focus();
		return false;
	}
	if (document.getElementById('validator').value.length!="4"){
		alert("Bitte den Bestätigungscode korrekt eingeben!");
		document.getElementById('validator').focus();
		return false;
	}
}

function CheckDeletion () {
	if (confirm("Wollen Sie den Datensatz entgültig löschen?")) {
		return true;
	}else{
		return false; 
	}
}

function CheckCall () {
	if (confirm("Sind Sie sicher?")) {
		return true;
	}else{
		return false; 
	}
}

function ShowServerInfo(e,info,x) {
	if(document.all)e = event;
	var m_top = e.clientY;
	var m_left = e.clientX;
	if(m_top<0)m_top = 0;
	if(m_left<0)m_left = 0;
	var obj = document.getElementById(info);
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0;
	obj.style.display = "block";
	obj.style.left = m_left - obj.offsetWidth - 100 - x + 'px';
	obj.style.top = m_top - (obj.offsetHeight * 0.5) + st + 'px';
}

function ShowUploadButton(username,formname,site,folder) {
	if (username!="") {
		hosting_upload_button.innerHTML = '<a href="javascript:void(0);"><img src="/images/icon_upload16.png" border="0" valign="middle" alt="upload" onclick="javascript:window.open(\'fileupload.php?site=' +  site + '&formname=' + formname + '&field=re_nummer&place=' + folder + '/' + username + '&filetype=pdf\',\'documentupload\',\'height=200,width=400,scrollbars=no,status=no,menubar=no\').focus();" /></a>';
	}else{
		hosting_upload_button.innerHTML = '';
	}
}

function ShowUploadButtonNew(username,formname,site,folder,width,height) {
	if (username!="") {
		document.getElementById("re_upload_button").innerHTML = '<a href="javascript:void(0);"><img src="/images/icon_upload16.png" border="0" valign="middle" alt="upload" onclick="ShowReUploadLayer(\''+username+'\',\''+formname+'\',\''+site+'\',\''+folder+'\',\''+width+'\',\''+height+'\');" /></a>';
		HideReUploadLayer();
	}else{
		document.getElementById("re_upload_button").innerHTML = '';
		HideReUploadLayer();
	}
}

function ShowReUploadLayer(username,formname,site,folder,width,height) {
	document.getElementById("re_upload_layer").style.display = "block";
	document.getElementById("re_upload_layer").style.width = width+"px";
	document.getElementById("re_upload_layer").style.height = height+"px";
	document.getElementById("re_upload_layer").innerHTML = '<div align="right"><a href="javascript:HideReUploadLayer();"><img src="/images/icon_delete16.png" border="0" alt="Schließen" title="Schließen"></a></div><iframe name="re_upload" width="100%" height="85%" frameborder="0" src="/fileupload2.php?site=' +  site + '&formname=' + formname + '&field=re_nummer&place=' + folder + '/' + username + '&filetype=pdf"></iframe>';
}

function HideReUploadLayer() {
	document.getElementById("re_upload_layer").style.display = "none";
}

function ShowBillingUpdate(id,site,invoice,width,height) {
	document.getElementById("re_status_layer").style.display = "block";
	document.getElementById("re_status_layer").style.width = width+"px";
	document.getElementById("re_status_layer").style.height = height+"px";
	document.getElementById("re_status_layer").innerHTML = '<div align="right"><a href="javascript:HideBillingUpdate();"><img src="/images/icon_delete16.png" border="0" alt="Schließen" title="Schließen"></a></div><iframe name="re_status" width="100%" height="85%" frameborder="0" src="/billingupdate.php?site=' +  site + '&billing_id=' + invoice + '"></iframe>';
}

function HideBillingUpdate() {
	document.getElementById("re_status_layer").style.display = "none";
}

function CheckBillingForm(site) {
	if (document.billing_new.elements[0].value == "") {
		alert ("Bitte Kunden wählen!");
		document.billing_new.elements[0].focus();
		return false;
	}
	if (site=="xtra-hosting") {
		if (document.billing_new.elements[1].value == "") {
			alert ("Bitte Rechnungsbetrag eingeben!");
			document.billing_new.elements[1].focus();
			return false;
		}
		if (document.billing_new.elements[2].value == "") {
			alert ("Bitte Rechnung hochladen!");
			document.billing_new.elements[2].focus();
			return false;
		}
	}
	if (site=="xtra-smsversand") {
		if (document.billing_new.elements[1].value == "") {
			alert ("Bitte Aufladebetrag eingeben!");
			document.billing_new.elements[1].focus();
			return false;
		}
		if (document.billing_new.elements[2].value == "") {
			alert ("Bitte Rechnungsbetrag eingeben!");
			document.billing_new.elements[2].focus();
			return false;
		}
		if (document.billing_new.elements[3].value == "") {
			alert ("Bitte Rechnung hochladen!");
			document.billing_new.elements[3].focus();
			return false;
		}
	}
}

function CheckPayForm(site) {
	if (document.pay_new.elements[0].value == "") {
		alert ("Bitte Kunden wählen!");
		document.pay_new.elements[0].focus();
		return false;
	}
	if (document.pay_new.elements[1].value == "") {
		alert ("Bitte Betrag eingeben!");
		document.pay_new.elements[1].focus();
		return false;
	}
	if (document.pay_new.elements[2].value == "") {
		alert ("Bitte Rechnung eingeben!");
		document.pay_new.elements[2].focus();
		return false;
	}
}

function ShowDetails(divID,anz) {     
	var strShow = divID+"_Show";
	var strHide = divID+"_Hide";
	var helpID;
	for (x=1; x<=anz; x++) {
		helpID = divID+"_"+x;
		document.getElementById(helpID).style.display = "block";
//		document.all[helpID].style.display = "block";
	}
//	document.all[strShow].style.display = "none";
//	document.all[strHide].style.display = "block";
	document.getElementById(strShow).style.display = "none";
	document.getElementById(strHide).style.display = "block";

}

function HideDetails(divID,anz) {
	var strShow = divID+"_Show";
	var strHide = divID+"_Hide";
	var helpID;
	for (x=1; x<=anz; x++) {
		helpID = divID+"_"+x;
//		document.all[helpID].style.display = "none";
		document.getElementById(helpID).style.display = "none";
	}
//	document.all[strShow].style.display = "block";
//	document.all[strHide].style.display = "none";
	document.getElementById(strShow).style.display = "block";
	document.getElementById(strHide).style.display = "none";
}

// ToolTips
function ShowToolTipStatic(e,text,size) {
	if(document.all)e = event;
	var bubble_id = 'bubble_tooltip';
	var bubble_content_id = 'bubble_tooltip_content';
	if (size == 'big') {
		bubble_id = bubble_id + '_big';
		bubble_content_id = bubble_content_id + '_big';
	}
	var obj = document.getElementById(bubble_id);
	var obj2 = document.getElementById(bubble_content_id);
	obj2.innerHTML = text;
	obj.style.display = 'block';
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
	var leftPos = e.clientX - 100;
	if(leftPos<0)leftPos = 0;
	obj.style.left = leftPos + 'px';
	obj.style.top = e.clientY - obj.offsetHeight -1 + st + 'px';
}	

function HideToolTip(size) {
	var bubble_id = 'bubble_tooltip';
	if (size == 'big') {bubble_id = bubble_id + '_big';}
	document.getElementById(bubble_id).style.display = 'none';
}

var ToolTip=function(){
	var id = 'tt';
	var top = 3;
	var left = 3;
	var maxw = 300;
	var speed = 10;
	var timer = 20;
	var endalpha = 95;
	var alpha = 0;
	var tt,t,c,b,h;
	var ie = document.all ? true : false;
	return{
		show:function(v,w){
			if(tt == null){
				tt = document.createElement('div');
				tt.setAttribute('id',id);
				t = document.createElement('div');
				t.setAttribute('id',id + 'top');
				c = document.createElement('div');
				c.setAttribute('id',id + 'cont');
				b = document.createElement('div');
				b.setAttribute('id',id + 'bot');
				tt.appendChild(t);
				tt.appendChild(c);
				tt.appendChild(b);
				document.body.appendChild(tt);
				tt.style.opacity = 0;
				tt.style.filter = 'alpha(opacity=0)';
				document.onmousemove = this.pos;
			}
//			tt.style.display = 'block';
//			c.innerHTML = v;
			c.innerHTML = '';
			var http = null;
			if (window.XMLHttpRequest) {
			   http = new XMLHttpRequest();
			} else if (window.ActiveXObject) {
			   http = new ActiveXObject("Microsoft.XMLHTTP");
			}
			if (http != null) {
			   var url = "/gettooltip.php?title=" + v;
			   http.open("GET", url, true);
			   http.onreadystatechange = function ShowToolTipText() {
					c.innerHTML = http.responseText;
					if (http.readyState == 4 && c.innerHTML!="") {
						tt.style.display = 'block';
						tt.style.width = w ? w + 'px' : 'auto';
						if(!w && ie){
							t.style.display = 'none';
							b.style.display = 'none';
							tt.style.width = tt.offsetWidth;
							t.style.display = 'block';
							b.style.display = 'block';
						}
						if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
						h = parseInt(tt.offsetHeight) + top;
						clearInterval(tt.timer);
						tt.timer = setInterval(function(){ToolTip.fade(1)},timer);
					}
				}
			   http.send(null);
			}
		},
		pos:function(e){
			var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
			var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
			tt.style.top = (u - h) + 'px';
			tt.style.left = (l + left) + 'px';
		},
		fade:function(d){
			var a = alpha;
			if((a != endalpha && d == 1) || (a != 0 && d == -1)){
				var i = speed;
				if(endalpha - a < speed && d == 1){
					i = endalpha - a;
				}else if(alpha < speed && d == -1){
					i = a;
				}
				alpha = a + (i * d);
				tt.style.opacity = alpha * .01;
				tt.style.filter = 'alpha(opacity=' + alpha + ')';
			}else{
				clearInterval(tt.timer);
				if(d == -1){tt.style.display = 'none'}
			}
		},
		hide:function(){
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){ToolTip.fade(-1)},timer);
			window.setTimeout("document.getElementById('tt').style.display='none';", 5000);

		}
	};
}();

function ShowNewsInputForm(formular) {
	switch(formular) {
		case "hosting":
			document.getElementById('newnews_short').style.display = "none";
			document.getElementById('newnews_long').style.display = "none";
			document.getElementById('newnews_hosting').style.display = "block";
		break;
		case "short":
			document.getElementById('newnews_long').style.display = "none";
			document.getElementById('newnews_hosting').style.display = "none";
			document.getElementById('newnews_short').style.display = "block";
		break;
		case "long":
			document.getElementById('newnews_short').style.display = "none";
			document.getElementById('newnews_hosting').style.display = "none";
			document.getElementById('newnews_long').style.display = "block";
		break;
	}
}

function show_ordertyp() {
	var selected_order_typ = "";
	//document.getElementById('OrderTyp').selectedIndex;
	if (document.forms['order'].OrderTyp[0].checked == true) selected_order_typ = "privat_de";
	if (document.forms['order'].OrderTyp[1].checked == true) selected_order_typ = "gewerbe_de";
	if (document.forms['order'].OrderTyp[2].checked == true) selected_order_typ = "ausland";
	switch(selected_order_typ) {
		case "privat_de":
			document.getElementById('SteuerNr_USTID').value = ""; // Steuer-Nr. löschen
			document.getElementById('gewerbe_de').style.display = "none";
			document.getElementById('ausland').style.display = "none";
			document.getElementById('privat_de').style.display = "block";
		break;
		case "gewerbe_de":
			document.getElementById('privat_de').style.display = "none";
			document.getElementById('ausland').style.display = "none";
			document.getElementById('gewerbe_de').style.display = "block";
		break;
		case "ausland":
			document.getElementById('SteuerNr_USTID').value = ""; // Steuer-Nr. löschen
			document.getElementById('privat_de').style.display = "none";
			document.getElementById('gewerbe_de').style.display = "none";
			document.getElementById('ausland').style.display = "block";
			document.forms['order'].Zahlungsweise[0].disabled = true;
		break;
	}
}

function show_paymenttyp() {
	var ev_check = "";
	if (document.forms['order'].Schufa_EV[0].checked == true) ev_check = "ja";
	if (document.forms['order'].Schufa_EV[1].checked == true) ev_check = "nein";
	if (ev_check=="ja") document.forms['order'].Zahlungsweise[0].disabled = true;
}

function ClearPaymenttype() {
	document.forms['order'].Schufa_EV[0].checked=false;
	document.forms['order'].Schufa_EV[1].checked=false;
	document.forms['order'].Schufa_Check[0].checked=false;
	document.forms['order'].Schufa_Check[1].checked=false;
	document.forms['order'].Zahlungsweise[0].checked = false;
	document.forms['order'].Zahlungsweise[1].checked = false;
	document.forms['order'].Zahlungsweise[2].checked = false;
	document.forms['order'].Zahlungsweise[3].checked = false;
	document.forms['order'].Zahlungsweise[0].disabled = false;
}

function show_paymenttyp() {
	if (document.forms['order'].Schufa_EV[0].checked == true) {
		document.forms['order'].Zahlungsweise[0].disabled = true;
		document.forms['order'].Zahlungsweise[0].checked = false;
		document.forms['order'].Schufa_Check[0].disabled = true;
		document.forms['order'].Schufa_Check[1].disabled = true;
		document.forms['order'].Schufa_Check[0].checked=false;
		document.forms['order'].Schufa_Check[1].checked=false;
	}
	if (document.forms['order'].Schufa_EV[1].checked == true) {
		document.forms['order'].Zahlungsweise[0].disabled = false;
		document.forms['order'].Zahlungsweise[0].checked = false;
		document.forms['order'].Schufa_Check[0].disabled = false;
		document.forms['order'].Schufa_Check[1].disabled = false;
	}
}

function show_paymenttyp2() {
	if (document.forms['order'].Schufa_Check[0].checked == true) {
		document.forms['order'].Zahlungsweise[0].disabled = false;
	}
	if (document.forms['order'].Schufa_Check[1].checked == true) {
		document.forms['order'].Zahlungsweise[0].disabled = true;
		document.forms['order'].Zahlungsweise[0].checked = false;
	}
}

function Showit (showit,layers) {
	Array.prototype.count = function() {
		return this.length;
	};
	var layer_array = layers.split(",");
	var anz = layer_array.count();
	for (x=0; x<anz; x++) {
		if (layer_array[x]==showit) {
			document.getElementById(layer_array[x]).style.display = "block";
		}else{
			document.getElementById(layer_array[x]).style.display = "none";
			paypalobj = (document.getElementById('bezahlart_paypal'))?true:false;
			if (paypalobj) {
				if (!document.getElementById('bezahlart_paypal').checked) {
					document.getElementById('paypal_adresse').value = "";
				}
			}
			lastobj = (document.getElementById('bezahlart_last'))?true:false;
			if (lastobj) {
				if (!document.getElementById('bezahlart_last').checked) {
					document.getElementById('kontoinhaber').value = "";
					document.getElementById('konto').value = "";
					document.getElementById('blz').value = "";
					document.getElementById('bank').value = "";
					document.getElementById('iban').value = "";
					document.getElementById('bic').value = "";
					document.getElementById('bankanschrift').value = "";
					document.getElementById('bankeinzug').value = "";
				}
			}

		}
	}
}

function ShowAnschrift(anschrift,anschrift_id) {
	if (document.getElementById(anschrift).checked == true) {
		document.getElementById(anschrift_id).style.display = "block";
	}else{
		document.getElementById(anschrift_id).style.display = "none";
	}
}

//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		/*document.getElementById('p_status').innerHTML = 
		'Status: Cound not create XmlHttpRequest Object.' +
		'Consider upgrading your browser.';*/
	}
}

var searchReq = getXmlHttpRequestObject();
var suggestSelected = 0;
//Called from keyup on the search textbox.
//Starts the AJAX request.
function SearchDisplay(field,req_fields,minlength) {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById(field).value);
		var req_f = req_fields.split(",");
		var err = 0;
		var extra_data = '';
		for(i=0; i < req_f.length; i++) {
			var tmpreqf = req_f[i];
			var tmpreqfv = document.getElementById(tmpreqf).value;
//			alert(tmpreqf+' : '+tmpreqfv);
			if (tmpreqfv!="") {
				extra_data += '&'+tmpreqf+'='+tmpreqfv;
			}else{
				err++;
			}
		}
		if (str.length >= minlength && err == 0) {
			searchReq.open("GET", '/searchsuggest.php?SID='+SID+'&field='+field+''+extra_data+'&search=' + str, true);
			searchReq.onreadystatechange = function handleSearchSuggest() {
				if (searchReq.readyState == 4) {
					document.getElementById('search_suggest_'+field).innerHTML = '';
					var str = searchReq.responseText.split("\n");
					for(i=0; i < str.length - 1; i++) {
						document.getElementById('search_suggest_'+field).innerHTML += '<div onmouseover="javascript:suggestOver(this);" onmouseout="javascript:suggestOut(this);SearchHide(\''+field+'\',5);" onclick="javascript:setSearch(this.innerHTML,\''+field+'\');" class="suggest_link">' + str[i] + '</div>';	
					}
					if (i==0) { 
						document.getElementById('search_suggest_'+field).style.border='0px';
					}else{
						document.getElementById('search_suggest_'+field).style.border='1px solid #000000';
					}
				}
			}; 
			searchReq.send(null);
			var obj = document.getElementById(field);
			var left_pos = FindObjectLeft(obj);
			var top_pos = FindObjectTop(obj);
			var field_height = obj.offsetHeight;
			document.getElementById('search_suggest_'+field).style.left=left_pos+'px';
			document.getElementById('search_suggest_'+field).style.top=(top_pos+field_height)+'px';
			document.getElementById('search_suggest_'+field).style.display='block';
			SearchHide(field,10);
		}
//		setTimeout("SearchHide('"+field+"');",3000);
	}		
}
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
function SearchDown(e,field) {
	if(e.keyCode == 38) {
		//Up key
		var str = '';
		for(i=0; i < document.getElementById('search_suggest_'+field).childNodes.length; i++) {
			//Check to see if nodeName == "DIV";
			str += document.getElementById('search_suggest_'+field).childNodes[i].nodeName + "\n";
		}
		e.cancel = true;
	} else if(e.keyCode == 40) {
		//Down key
	}
}
function setSearch(value,field) {
	document.getElementById(field).value = value;
	document.getElementById('search_suggest_'+field).innerHTML = '';
	document.getElementById('search_suggest_'+field).style.display='none';
}

function DoSearchHide (field) {
	document.getElementById('search_suggest_'+field).innerHTML = '';
	document.getElementById('search_suggest_'+field).style.display='none';
}

function SearchHide(field,seconds) {
	duration = seconds * 2000;
	window.setTimeout("DoSearchHide('"+field+"')", duration);
}

function FindObjectLeft(obj){
	var lPos = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			lPos += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}else if (obj.x) {
		lPos += obj.x;
	}
	return lPos-182;
}

function FindObjectTop(obj){
	var oPos = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			oPos += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}else if (obj.y) {
		oPos += obj.y;
	}
	return oPos;
}

function Runden(x,s){
  // Runden des Wertes x auf s Nachkommastellen
  if(x.toFixed) {
    return x.toFixed(s);
  }else{
    return parseInt(x*Math.pow(10,s)+0.5)/Math.pow(10,s);
  }
}

function GetFormData(form, asArray) {
	var ret;
	var add = function(n, v) {
		if(asArray) {
			if(ret == null) ret = new Array();
			ret[n] = escape(v);
		} else {
			ret = (ret == null ? '' : ret+'&') + n +'='+ escape(v);
		}
	};
 
	for(var i=0; i<form.elements.length; i++) {
		var el = form.elements[i];
		var type = (el.type || '');
 
		if(type.match(/^(text|hidden|textarea)$/i) || (type.match(/^(radio|checkbox)$/i) && el.checked)) {
			add(el.name, el.value);
		} else if(el.nodeName.match(/^select$/i)) {
			for(var j=0; j<el.options.length; j++) {
				if(el.options[j].selected) {
					add(el.name, el.options[j].value);
				}
			}
		} else if(el.nodeName.match(/^textarea$/i)) {
			add(el.name, el.value);
		}
	}
	return ret != null ? ret : (asArray ? new Array() : '');
}

function SendFormPost(url, postData, callback, sourceform) {
	var req;
	var response;
 	try {
		req = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP"); 
	} catch (e) {
		// browser does not have ajax support
	}
	req.onreadystatechange = typeof callback == 'function' ? callback : function() {
		if (req.readyState == 4 && req.status == 200) {
			if(typeof callback == 'string') callback = document.getElementById(callback);
			response = req.responseText;
			if(callback) callback.innerHTML = response;
			if(sourceform && typeof sourceform == 'string') {
				document.getElementById(sourceform).style.display = 'none';
			}
			callback.style.display = 'block';
		}
		if (req.readyState == 4 && req.status == 202) {
			if(typeof callback == 'string') callback = document.getElementById(callback);
			response = req.responseText;
			if(callback) callback.innerHTML = response;
			callback.style.display = 'block';
		}
	};
	req.open('POST', url, true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send(postData);
	return false;
}

function ShowCashBitsInfo() {
	document.getElementById('cashbits_info_layer').innerHTML = '<a href="http://www.cashbits.de" title="Wir sind offizieller CashBits-Partner!" onclick="window.open(this.href); return false;"><img src="/images/CashBitsSammelstelle_250x300Banner.gif" /></a>';
	document.getElementById('cashbits_info_layer').style.display='block';
}

function HideCashBitsInfo() {
	window.setTimeout("document.getElementById('cashbits_info_layer').style.display='none';", 5000);
}


function PasswordStrength(passwd) {
	var score      = 0;
	var intScore   = 0;
	var word     = "";

	// PASSWORD LENGTH
	if (passwd.length<5) {intScore = (intScore+3);
	} else if (passwd.length>4 && passwd.length<8) {intScore = (intScore+6);
	} else if (passwd.length>7 && passwd.length<16) {intScore = (intScore+12);
	} else if (passwd.length>15) {intScore = (intScore+18);
	}
	// LETTERS
	if (passwd.match(/[a-z]/)) {intScore = (intScore+1);}
	if (passwd.match(/[A-Z]/)) {intScore = (intScore+5);}
	// NUMBERS
	if (passwd.match(/\d+/)) {intScore = (intScore+5);}
	if (passwd.match(/(.*[0-9].*[0-9].*[0-9])/)) {intScore = (intScore+5);}
	// SPECIAL CHAR
	if (passwd.match(/.[!,@,#,$,%,^,&,*,?,_,~]/)) {intScore = (intScore+5);}
	if (passwd.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) {intScore = (intScore+5);}
	// COMBOS
	if (passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {intScore = (intScore+2);}
	if (passwd.match(/([a-zA-Z])/) && passwd.match(/([0-9])/)) {intScore = (intScore+2);}
	if (passwd.match(/([a-zA-Z0-9].*[!,@,#,$,%,^,&,*,?,_,~])|([!,@,#,$,%,^,&,*,?,_,~].*[a-zA-Z0-9])/)) {intScore = (intScore+2);}
	if(intScore < 10) {score = 0;word = "sehr schlecht";
	} else if (intScore > 9 && intScore < 20) {score = 1;word = "schlecht";
	} else if (intScore > 19 && intScore < 30) {score = 2;word = "mittelmäßig";
	} else if (intScore > 29 && intScore < 40) {score = 3;word = "gut";
	} else if (intScore > 39 && intScore < 50) {score = 4;word = "sehr gut";
	} else {score = 5;word = "bestens";
	}
	document.getElementById("PasswordStrength").className = "strength" + score;
	document.getElementById("PasswordStrength").innerHTML = "<nobr>&nbsp;"+word+"</nobr>";
}

function PasswordCheck(passwd, field) {
	var check_pw = document.getElementById(field).value;
	if (passwd==check_pw) {
		document.getElementById("PasswordCheck").innerHTML = '<img src="/images/icon_yes15.png" />';
	}else{
		document.getElementById("PasswordCheck").innerHTML = '<img src="/images/icon_delete16.png" />';
	}
}

function EmailCheck(field,submitfield,statusfield){
	var color_invalid_fields=true;var check_extended=true;var val_col='';var inval_col='#FF0000';var limit_size=true;var max_size=80;var min_size=3;var email_syntax=true;var result=false;var show=document.getElementById(field);var foc=show;var what=show.value;
	var submitfield=document.getElementById(submitfield);var statusfield=document.getElementById(statusfield);
	var status_ok = '<img src="/images/icon_yes15.png" />';var status_nok = '<img src="/images/icon_delete16.png" />';
	if (show.getAttribute('autocomplete')!="off") { show.setAttribute('autocomplete','off'); }
	if (color_invalid_fields==true){ var c=true; }
	if (email_syntax==true){
		if(typeof(RegExp)=='function'){var fcheck=new RegExp('qwerty');if(fcheck.test('qwerty') == true){parseit=true;}}
		if(parseit==true){
			ex_it=new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$');
			result = (ex_it.test(what));
		}else{
			result = (what.search('@') >= 1 && what.lastIndexOf('.') > what.search('@') && what.lastIndexOf('.') >= what.length-5);
		}
		if (result==false){
			if (c==true){show.style["color"]=inval_col;}
			statusfield.innerHTML = status_nok;
			submitfield.disabled=true;
			if (what.length > 0) foc.focus();
		}else{
			if (c==true){show.style["color"]=val_col;}
			statusfield.innerHTML = status_ok;
			submitfield.disabled=false;
		}
	}
	if (limit_size==true && result==true){
		if (what.length < min_size){
			result=false;
			if (c==true){show.style["color"]=inval_col;}
			statusfield.innerHTML = status_nok;
			submitfield.disabled=true;
			foc.focus();
		}else{
			if (what.length > max_size){
				result=false;
				if (c==true){show.style["color"]=inval_col;}
				statusfield.innerHTML = status_nok;
				submitfield.disabled=true;
				foc.focus();
			}else{
				result=true;
				if (c==true){show.style["color"]=val_col;}
				statusfield.innerHTML = status_ok;
				submitfield.disabled=false;
			}
		}
	}
	if (check_extended==true && result==true) {
		var ValidEmailReq = getXmlHttpRequestObject();
		if (ValidEmailReq.readyState == 4 || ValidEmailReq.readyState == 0) {
			ValidEmailReq.open("GET", '/fnc/validemail.php?email=' + what, true);
			ValidEmailReq.onreadystatechange = function handleValidEmail() {
				if (ValidEmailReq.readyState == 4) {
					var str = ValidEmailReq.responseText.split("\n");
					if(str!="ok") {
						result=false;
						if (c==true){show.style["color"]=inval_col;}
						statusfield.innerHTML = status_nok + " " + str;
						submitfield.disabled=true;
						foc.focus();
					}else{
						result=true;
						if (c==true){show.style["color"]=val_col;}
						statusfield.innerHTML = status_ok;
						submitfield.disabled=false;
					}
				}
			}; 
			ValidEmailReq.send(null);
		}
	}
	if (what.length < 1){
		statusfield.innerHTML = '';
		submitfield.disabled=false;
	}
	return (result);
}

function ShowUserInvoices (id,site,user) {
	var obj = document.getElementById(id);
	if (obj) {
		var UserInvoicesReq = getXmlHttpRequestObject();
		if (UserInvoicesReq.readyState == 4 || UserInvoicesReq.readyState == 0 ) {
			UserInvoicesReq.onreadystatechange = function () {
				if (UserInvoicesReq.readyState == 4 || UserInvoicesReq.status == 200) {
					obj.innerHTML = UserInvoicesReq.responseText;
				}
			}; 
		}
		UserInvoicesReq.open("GET", '/getuserinvoices.php?site=' + site + '&searchword=' + user, true);
		UserInvoicesReq.send(null);
	}
}

/* reviews */
var xr = { 
	review: {
		rate: function(value,field){
			var _form = document.getElementById("rating");
			if ( _form !== null) {
				if (document.getElementById(field)) {
					document.getElementById(field).value = value;
				}
				var current_field = 'current_rate_'+field;
				document.getElementById(current_field).style.width = (value * 20) + '%';
			}
		}
	}
};

/* gplusone */
function LoadGplusone() { var lang = document.getElementsByTagName('html')[0].getAttribute('lang'); var cb = document.getElementById('cashbits_info'); if (cb) { cb.style.top = '175px';document.getElementById('cashbits_info_layer').style.top = '225px'; } var jsnode = document.createElement('script'); jsnode.setAttribute('type','text/javascript'); jsnode.setAttribute('src','https://apis.google.com/js/plusone.js'); jsnode.textContent = '{lang: \''+lang+'\'}'; document.getElementsByTagName('head')[0].appendChild(jsnode); document.getElementById('agplusone').innerHTML = ""; }

/* menu *//* menu *//* menu */
function webClient() {
  var i;
  this.IE    = false;
  this.NS    = false;
  this.OP    = false; 
  this.release = null;
  
  if ((i = navigator.userAgent.indexOf("Opera")) >= 0) {
    this.OP = true;
    this.version = parseFloat(navigator.userAgent.substr(i + 5));
    return;
  }
  if ((i = navigator.userAgent.indexOf("MSIE")) >= 0) {
    this.IE = true;
    this.release = parseFloat(navigator.userAgent.substr(i + 4));
    return;
  }
  if ((i = navigator.userAgent.indexOf("Netscape6/")) >= 0) {
    this.NS = true;
    this.release = parseFloat(navigator.userAgent.substr(i + 10));
    return;
  }
  if ((i = navigator.userAgent.indexOf("Netscape7/")) >= 0) {
    this.NS = true;
    this.release = parseFloat(navigator.userAgent.substr(i + 10));
    return;
  }
  if ((i = navigator.userAgent.indexOf("Gecko")) >= 0) {
    this.NS = true;
    this.release = 6.1;
    return;
  }
}

var webClient = new webClient();
var activeButton = null;
var activeSubButton = null;
var activeSubSubButton = null;

if (webClient.IE) {
	document.onmousedown = pageMouseDown;
}else{
	document.addEventListener("mousedown", pageMouseDown, true);
}

function pageMouseDown(event) {
  var el;
  if (webClient.IE){
    el = window.event.srcElement;
  }else{
    el = (event.target.tagName ? event.target : event.target.parentNode);
  }
  if (el == activeButton || el == activeSubButton || el == activeSubSubButton) {
    return;
  }
  if (el.className != "menuButton" && el.className != "mB" && el.className != "menuItem" && el.className != "mI" && el.className != "menuItemSep" && el.className != "menu") {
	    if (activeButton) closeMenu(activeButton);
    	if (activeSubButton) closeSubMenu(activeSubButton);
		if (activeSubSubButton) closeSubSubMenu(activeSubSubButton);
	}
}

function menuTouch(event, menuName) {
  var button;
  if (webClient.IE){
    button = window.event.srcElement;
  }else{
    button = (event.target.tagName ? event.target : event.target.parentNode);
  }
  if (!button.menu && menuName){
    button.menu = document.getElementById(menuName);
  }
  if (activeButton && activeButton != button){
    closeMenu(activeButton);
  }
  if (activeSubButton && activeSubButton != button){
    closeSubMenu(activeSubButton);
  }
  if (activeSubSubButton && activeSubSubButton != button){
    closeSubSubMenu(activeSubSubButton);
  }
  if (!button.isactive){
  	if (menuName) {
	    openMenu(button);
	}else{
		activateMenuButton(button);
	}
  }
  return false;
}

function subMenuTouch(event, menuName) {
  var button;
  if (webClient.IE)
    button = window.event.srcElement;
  else
    button = (event.target.tagName ? event.target : event.target.parentNode);

  if (!button.menu && menuName)
    button.menu = document.getElementById(menuName);

  if (activeSubButton && activeSubButton != button)
    closeSubMenu(activeSubButton);

  if (activeSubSubButton && activeSubSubButton != button)
    closeSubSubMenu(activeSubSubButton);

  if (!button.isactive && menuName)
    openSubMenu(button);

  return false;
}

function subsubMenuTouch(event, menuName) {
  var button;
  if (webClient.IE)
    button = window.event.srcElement;
  else
    button = (event.target.tagName ? event.target : event.target.parentNode);

  if (!button.menu && menuName)
    button.menu = document.getElementById(menuName);

  if (activeSubSubButton && activeSubSubButton != button)
    closeSubSubMenu(activeSubSubButton);

  if (!button.isactive && menuName)
    openSubSubMenu(button);

  return false;
}

function openSubMenu(button) {
  var w, dw, x, y;
  button.className = "menuItemActive";
/*
  if (webClient.IE && !button.menu.firstChild.style.width) {
    w = button.menu.firstChild.offsetWidth;
    button.menu.firstChild.style.width = w + "px";
    dw = button.menu.firstChild.offsetWidth - w;
    w -= dw;
    button.menu.firstChild.style.width = w + "px";
  }
*/
  x = getPageOffsetLeft(button)+ button.offsetWidth;
  x = x - document.getElementById('wrapper').offsetLeft;
  y = getPageOffsetTop(button)-10;
//  x++;
  x = x-2;
//  y++;
  y = y+5;
  button.menu.style.left = x + "px";
  button.menu.style.top  = y + "px";
  button.menu.style.visibility = "visible";
  button.menu.style.borderTop = "1px solid #ececec";
  button.isactive = true;
  activeSubButton = button;
}

function openSubSubMenu(button) {
  var w, dw, x, y;
  button.className = "menuItemActive";  
/*
  if (webClient.IE && !button.menu.firstChild.style.width) {
    w = button.menu.firstChild.offsetWidth;
    button.menu.firstChild.style.width = w + "px";
    dw = button.menu.firstChild.offsetWidth - w;
    w -= dw;
    button.menu.firstChild.style.width = w + "px";
  }
*/
  x = getPageOffsetLeft(button)+ button.offsetWidth;
  x = x - document.getElementById('wrapper').offsetLeft;
  y = getPageOffsetTop(button)-10;
//  x++;
  x = x-2;
//  y++;
  y = y+5;
  button.menu.style.left = x + "px";
  button.menu.style.top  = y + "px";
  button.menu.style.visibility = "visible";
  button.menu.style.borderTop = "1px solid #ececec";
  button.isactive = true;
  activeSubSubButton = button;
}

function openMenu(button) {
  var w, dw, x, y;
  button.className = "menuButtonActive";
/*
  if (webClient.IE && !button.menu.firstChild.style.width) {
    w = button.menu.firstChild.offsetWidth;
    button.menu.firstChild.style.width = w + "px";
    dw = button.menu.firstChild.offsetWidth - w;
    w -= dw;
    button.menu.firstChild.style.width = w + "px";
  }
*/
  x = getPageOffsetLeft(button);//-1;
  //if (site=="xtra-dns") x = x - document.getElementById('wrapper').offsetLeft;
  x = x - document.getElementById('wrapper').offsetLeft;
  y = getPageOffsetTop(button) + button.offsetHeight-10; // + 1;
  y = y-1;
  button.menu.style.left = x + "px";
  button.menu.style.top  = y + "px";
  button.menu.style.visibility = "visible";
  button.isactive = true;
  activeButton = button;
}

function activateMenuButton(button) {
	button.className = "menuButtonActive";
	button.isactive = true;
	activeButton = button;
}

function closeMenu(button) {
  button.className = "menuButton";
  if (button.menu) button.menu.style.visibility = "hidden";
  button.isactive = false;
  activeButton = null;
}

function closeSubMenu(button) {
  button.className = "menuItem";
  if (button.menu) button.menu.style.visibility = "hidden";
  button.isactive = false;
  activeSubButton = null;
}

function closeSubSubMenu(button) {
  button.className = "menuItem";
  if (button.menu) button.menu.style.visibility = "hidden";
  button.isactive = false;
  activeSubSubButton = null;
}

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

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