//
//  Ans Ende jeder Funktion mit Ajax-Requst:
//  document.getElementById('ajax_kruecke').innerHTML = Math.random();
//
//  In den Aufruf wirds dann so eingebaut:
//  req.open("POST","xml.php?kruecke="+document.getElementById('ajax_kruecke').innerHTML,true);
//

var req;

function prepare_request() {
  // AJAX-Instanzierung
  // Getestet mit Internet Explorer und einem Webbrowser (Firefox)
	
  document.getElementById('ajax_kruecke').innerHTML = Math.random();
	var http_request = false;
  //if (!window.XMLHttpRequest) {
  //  window.XMLHttpRequest = function() {
  //    return new ActiveXObject('Msxml2.XMLHTTP');
  //  }
  //}	
	if (window.XMLHttpRequest) {
    http_request = new XMLHttpRequest();
		return http_request;	
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
				return http_request;	
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
						return http_request;	
      } catch (e) {
        alert("Ihr Browser unterstützt die AJAX-Technik leider nur eingeschränkt.\n"
    							+"AJAX wird für Spam-Sperre.de jedoch benötigt.\n"
    							+"\n"
    							+"Um dieses System uneingeschränkt nutzen zu können, verwenden Sie bitte\n"
    							+"entweder Internet Explorer ab Version 7 oder idealerweise Firefox ab Version 1.5");
				  window.open("http://www.mozilla-europe.org/de/firefox/","Firefox");
				}
    }
  }
  if (!http_request) {
    return false;
  }
		
}

function ping_server(ip,domain) {
  var fenster = window.open("pages/ping.php?ip="+ip+"&domain="+domain,"PING","width=800,height=500,resizable=yes,scrollbars=yes");
  fenster.focus();
}

function mark_row(zeile,farbe) {
  // Zeile im Log markieren
  if(!farbe) { farbe="#FFF500" }
  zeile.style.backgroundColor = farbe;
}

function unmark_row(zeile,farbe) {
  // Markierung von mark_row wieder aufheben
  if(!farbe) { farbe="#FFFFFF" }
  zeile.style.backgroundColor = farbe;
}

function show_log_details(datum,uhrzeit,absender,empf,sender_ip,HELO,PTR,rule) {
  var check = "<a href='http://www.blacklistalert.org/?q="+sender_ip+"'>IP mit Blacklistalert prüfen</a>";
  parent.document.getElementById("log_date").innerHTML = datum+", "+uhrzeit;
  parent.document.getElementById("log_abs").innerHTML  = absender+" ("+sender_ip+")";
  parent.document.getElementById("log_empf").innerHTML = empf;
  parent.document.getElementById("log_helo").innerHTML = HELO;
  parent.document.getElementById("log_ptr").innerHTML  = PTR;
  parent.document.getElementById("log_rule").innerHTML = rule;
  parent.document.getElementById("check_ip").innerHTML = check;
}

function freischalten(absender,domain,ip,key) {
  var fenster1 = window.open("../pages/whitelist.php?abs="+absender+"&empf="+domain+"&ip="+ip+"&k="+key,"Freischalten","width=550,height=500,scollbars=yes,resizable=yes");
  fenster1.focus();
}

function blocken(absender,domain,ip,helo,ptr,key) {
  var fenster1 = window.open("../pages/block.php?abs="+absender+"&empf="+domain+"&ip="+ip+"&helo="+helo+"&ptr="+ptr+"&k="+key,"Blocken","width=550,height=500,scollbars=yes,resizable=yes");
  fenster1.focus();
}

function show_email_adrs(domain) {
  //var fenster = window.open("pages/show_email_adrs.php?d="+domain,"eMail_Adressen");
  var fenster2 = window.open("pages/show_email_adrs.php?d="+domain,"eMail_Adressen","width=500,height=400,resizable=yes,scrollbars=yes");
  fenster2.focus();
}

function edit_domain(domain) {
  var fenster3 = window.open("pages/spsp_edit_domain.php?d="+domain,"Domain bearbeiten","width=500,height=400,resizable=yes,scrollbars=yes");
  fenster3.focus();
}

function show_angelegte() {
  document.getElementById("Adressen").style.display = "block";
  document.getElementById("Headline").innerHTML = "Ihre angelegten eMail-Adressen:";
  document.getElementById("Headline").style.textDecoration = "none";
  document.getElementById("Headline").style.cursor = "auto";
}

function kommawert(wert) {
  wert = String(wert);
  wert = wert.replace(",",".");
  wert = Number(wert);
  wert = wert.toFixed(2);
  wert = String(wert);
  wert = wert.replace(".",",");
  return wert;
}
function betrag(wert) {
  wert = String(wert);
  wert = wert.replace(",",".");
  wert = Number(wert);
  wert = wert.toFixed(2);
  return wert;
}

function csd(feld,user) {
  // Anzeige von Domains in den Rechnung an- / ausschalten
  var ajax = prepare_request();
  if(ajax) {
    ajax.open("POST","ajax/csd.php?kruecke="+document.getElementById('ajax_kruecke').innerHTML,true);
    ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    if(feld.checked == true) { // Eintragen
      ajax.send("show=1");
    } else { // Austragen
      ajax.send("show=0");
    }
    ajax.onreadystatechange = function() {
      if(ajax.readyState == 4 && ajax.responseText != '') {
        alert(ajax.responseText);
        document.getElementById('ajax_kruecke').innerHTML = Math.random();
      }
    }
  }
}
function switch_user(domain,user,id) {
  // Domain einem bestimmten Kunden zuordnen
  var frage = prompt("Neue User-ID:");
  if(frage) {
    frage = parseInt(frage);
    var ajax = prepare_request();
    if(ajax) {
      ajax.open("POST","ajax/switch_user.php?kruecke="+document.getElementById('ajax_kruecke').innerHTML,true);
      ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      ajax.send("domain="+domain+"&user_old="+user+"&user_new="+frage);
      document.getElementById("user_"+id).innerHTML = frage;
      document.getElementById('ajax_kruecke').innerHTML = Math.random();
    }
  }
}

function show_paket() {
  var id = document.getElementById("paket").value;
  var ajax = prepare_request();
  if(ajax) {
    ajax.open("POST","../ajax/show_paket.php",true);
    ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    ajax.send("id="+id);
    ajax.onreadystatechange = function() {
      if(ajax.readyState == 4) {
        var resp = ajax.responseXML;
        document.getElementById("Name").innerHTML = resp.getElementsByTagName("Name").item(0).firstChild.data;
        document.getElementById("Preis").innerHTML = resp.getElementsByTagName("Preis").item(0).firstChild.data;
        document.getElementById("Domains").innerHTML = resp.getElementsByTagName("Domains").item(0).firstChild.data;
        document.getElementById("Adressen").innerHTML = resp.getElementsByTagName("Adressen").item(0).firstChild.data;
        document.getElementById("Laufzeit").innerHTML = resp.getElementsByTagName("Laufzeit").item(0).firstChild.data;
      }
    }
  }
}
function check_date(date) {
  var ajax = prepare_request();
  if(ajax) {
    ajax.open("POST","ajax/check_date.php",true);
    ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    ajax.send("date="+date);
    ajax.onreadystatechange = function() {
      if(ajax.readyState == 4) {
      if(ajax.responseText == "false") {
        date_hlp = false;
      }
      date_hlp = ajax.responseText;
      }
    }
  }
}
function wait(prmSec)
  {
  prmSec *= 1000;
  var eDate = null;
  var eMsec = 0;
  var sDate = new Date();
  var sMsec = sDate.getTime();

  do {
      eDate = new Date();
      eMsec = eDate.getTime();

  } while ((eMsec-sMsec)<prmSec);
}
function find_date(date) {
  // Abklatsch der PHP-Funktion
 var yauto = false;
 var yl = 4;
 var len = date.length;
 if(len > 2 && len < 11) {
   var separators = new Array(".",",","-","/");
  var fpos;
  var val;
  for(i=0;i<separators.length;i++) {
    val = separators[i];
    if(date.indexOf(val) != -1) {
      var fnd = val;
      break;
    }
  }
  var ex = date.split(fnd);
  var d = parseInt(ex[0]);
  var m = parseInt(ex[1]);
  var y = ex[2];
  if(d < 1 || d > 31) { d = "00"; }
  d = d.toString();
  if(d.length < 2) {
    d = "0"+d;
  }
  if(m < 1 || m > 12) { m = "00"; }
  m = m.toString();
  if(m.length < 2) {
    m = "0"+m;
  }
  var now = new Date;
  if(yauto && (!y || Number(y) == 0 && y != "0")) {
    y = now.getFullYear();
    if(yl == 2) {
        y = y.substr(2,2);
    }
  }
  if(!y) {
    y = now.getFullYear();
  }
  if(yl > y.length) {
    y = "20"+y;
  }
  return (d+"."+m+"."+y);
 } else {
   alert("Eingabe ist zu kurz oder zu lang");
  return false;
 }
}

// ------------------------------------- Beginn Scrollendes Div -------------------------------------------------------
var div_txt;
var div_close = "<div title='Fenster schließen' style='cursor: pointer; width: 15px; height: 15px; text-align: center; vertical-align: middle; float: right; border: 2px solid; background-color: #CCCCCC; color: #000000;' onclick='opening_close();'>X</div>";
function opening(text) {
 if(text) {
    div_txt = text;
  } else {
    div_txt = "Leider kein Text vorhanden...";
  }
  var update_rate = 15; // je mehr desto schneller
  var div_h = 0; // Starthöhe
  var div_w = 500; // Breite
  var end = 300;// maximale höhe
  screen_w = Number(window.innerWidth);
  screen_h = Number(window.innerHeight);
  document.getElementById("opening").style.height = div_h+"px";
  document.getElementById("opening").style.width = div_w+"px";
  document.getElementById("opening").style.overflow = "hidden";
  document.getElementById("opening").innerHTML = "";

 if(isNaN(screen_h)) {
   // Wenn IE
   screen_h = document.body.clientHeight;
   screen_w = document.body.clientWidth;
 }
  document.getElementById("opening").style.marginTop = (screen_h/2)-(div_h/2)+"px";
  document.getElementById("opening").style.marginLeft = (screen_w/2)-(div_w/2)+"px";
  document.getElementById("opening").style.display = "inline";
  grow_up(div_h,end,update_rate);
}
function grow_up(i,end,update_rate) {
  // Hilfsfunktion für opening()
  if(!i) { i = 0; }
  document.getElementById("opening").style.height = i+"px";
  var margin = document.getElementById("opening").style.marginTop;
  margin = margin.replace("px","");
  margin = Number(margin);
  document.getElementById("opening").style.marginTop = (margin-update_rate/2)+"px";
  i = i + update_rate;
  if(i<end) {
    setTimeout("grow_up("+i+","+end+","+update_rate+")",20);
  } else {
    document.getElementById("opening").innerHTML = div_close+div_txt;
    document.getElementById("opening").style.overflow = "auto";
  }
}
function opening_close() {
  document.getElementById("opening").style.display = "none";
}

function scroll_up(page) {  
	if(page.indexOf("/") == -1) {
    page = "get_template.php?tpl="+page;
  }
  var ajax = prepare_request();
  if(ajax) {
  ajax.open("POST",page+"&k="+document.getElementById("ajax_kruecke").value,true);
    ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    ajax.send(null);
    ajax.onreadystatechange = function() {
      if(ajax.readyState == 4) {        						
						opening(ajax.responseText);
        document.getElementById("ajax_kruecke").value = Math.random();
      }
    }
  } else {

	}
}
// ------------------------------------- Ende Scrollendes Div -------------------------------------------------------

// ------------------------------------- Beginn Tooltip -------------------------------------------------------
// In die betreffende Datei muss noch das DIV eingefügt werden:
// <div id='tooltip'>&nbsp;</div>
// Aufruf (Beispiel):
// onmouseover='tooltip(\"../../ajax/get_tooltip.php?id=".$res->id."\");' onmouseout='hide_tooltip();'

document.onmousemove = LayerPosition;
var x;
var y;
var on = false;

function LayerPosition(event) {
  try{
	  if(event.pageX) {
		  throw "NS";
		} else {
		  throw "IE";
		}
	} catch(e) {
	  if(e == "NS") {
      x = event.pageX;
      y = event.pageY;	
				var c = "NS";
		} else if(e == "IE") {
      x = event.clientX;
      y = event.clientY;
				var c = "IE";	
		}
	}
	
  if(document.getElementById("tooltip")) {
    if(document.getElementById("tooltip").style.display == "inline" && on === true) {
				if(c=="NS") show_tooltip();
    }
    if(document.getElementById("tooltip").style.display == "inline" && on == false) {
      document.getElementById("tooltip").style.display = "none";
    }
  }
}

function tooltip(id,page,text) {
  // id: Text aus DB
	// page: Seite wird eingebunden
	// text: Direkte Texteingabe
  on = true;
  if(document.getElementById("tooltip")) {
    if(page === false && id === false && text !== false) {
		  // Übergebener Text
      var content = text;
      document.getElementById("tooltip").innerHTML = content;
				show_tooltip();
		} else if(page === false && id !== false && text === false) {
				// Text aus DB
				var ajax = prepare_request();
      if(ajax) {
        ajax.open("POST","../ajax/get_tooltip.php",true);
        ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        ajax.send("id="+id);
        ajax.onreadystatechange = function() {
          if(ajax.readyState == 4) {
            document.getElementById("tooltip").innerHTML = ajax.responseText;
										show_tooltip();
          }
        }
      } 		
    } else if(page !== false && id === false && text === false) {
		  // Seite einbinden
      var ajax_tooltip = prepare_request();
      if(ajax_tooltip) {
        ajax_tooltip.open("GET",seite,true);
        ajax_tooltip.send(null);
        ajax_tooltip.onreadystatechange = function () {
          if (ajax_tooltip.readyState == 4) {
            var content = ajax_tooltip.responseText;
            document.getElementById("tooltip").innerHTML = content;
										show_tooltip();
          }
        }
      }
    }
  }
}
function show_tooltip() {
  try{
	  if(window.innerWidth) {
		  throw "NS";
		} else {
		  throw "IE";
		}
	} catch(e) {
	  if(e == "NS") {
      breite_seite = window.innerWidth;
      hoehe_seite = window.innerHeight; 
		} else if(e == "IE") {
      breite_seite = window.clientWidth;
      hoehe_seite = window.clientHeight;
				y = event.clientY;
				x = event.clientX; 
		}
	} 
	var y_div = Number(y) + 30;
  document.getElementById("tooltip").style.top = y_div+"px";  
	document.getElementById("tooltip").style.left = (x+20)+"px";
  document.getElementById("tooltip").style.display = "inline";
	var hoehe_tooltip = document.getElementById("tooltip").offsetHeight;
  if(y_div + hoehe_tooltip > hoehe_seite) {
    document.getElementById("tooltip").style.top = ( y_div - hoehe_tooltip - 50 )+"px";
  }	
	document.getElementById("tooltip").style.width = "350px";
	var breite_tooltip = document.getElementById("tooltip").style.width;
	breite_tooltip = breite_tooltip.replace("px","");
	breite_tooltip = Number(breite_tooltip);	

	while(1==1) {
	  var offset = document.getElementById("tooltip").style.left;
		offset = offset.replace("px","");
		offset = Number(offset);
		if(window.innerWidth < (breite_tooltip + offset)) { 	
      var left = offset-5;
      document.getElementById("tooltip").style.left = left+"px";
		} else {
      break;
		}
	}
}
function hide_tooltip() {
  on = false;
  if(document.getElementById("tooltip")) {
    document.getElementById("tooltip").style.display = "none";
  }
}

// -------------------------------------- Ende Tooltip --------------------------------------------------------
