
// (c) Hoehne AG | http://www.hoehne.ag

function $(id) {
    return document.getElementById(id);
}

function writeStatus() {
 var domainliste = '';
 for (var i=0; i < checkdomains.length; i++) {
  domainliste += checkdomains[i] + ' ';
 }
 if(checkdomains.length > 1) {
  $('testdiv').innerHTML = loadingImage + '<a href="#" title="Checking ' + domainliste + '">Checking availability - <b>' + checkdomains.length + '</b> Domains left.</a>';
 } else if(checkdomains.length == 1) {
  $('testdiv').innerHTML = loadingImage + '<a href="#" title="Checking ' + domainliste + '">Checking abailability - one Domain left.</a>';
 } else {
  $('testdiv').innerHTML = '<br/>';
 }
}
 
function checkDomain() {
 var domaintocheck = document.getElementById("domain").value.replace("www.", '');
 domaintocheck = domaintocheck.replace(".", '-');
 if(document.getElementById("toplevel").value != "Alle") {
  getHttpRequest('\&check=' + domaintocheck + document.getElementById("toplevel").value);
  writeStatus();
 } else {
  for (var i=0; i < toplevelarray.length; i++) {
   checkdomains.push(domaintocheck + toplevelarray[i]);
   getHttpRequest('\&check=' + domaintocheck + toplevelarray[i]);
   writeStatus();
  }
 }
}

function loadToplevel() {
 getHttpRequest('\&loadtoplevel=true');
}

function deleteDomain(domain) {
 getHttpRequest('\&deletedomain=' + domain);
}

function getHttpRequest(urlparams) {
 var xmlhttp = null;
 try {
  xmlhttp = new XMLHttpRequest();
 } catch(e) {
  try {
   xmlhttp  = new ActiveXObject("Microsoft.XMLHTTP");
  } catch(e) {
   try {
    xmlhttp  = new ActiveXObject("Msxml2.XMLHTTP");
   } catch(e) {
    alert('Kann kein XMLHttp-Request erzeugen!');
   }
  }
 }

 xmlhttp.open("GET", 'service-wrap.php?nocache=true&software=javascript' + urlparams + '&rand=' + randomString(), true);
 //xmlhttp.overrideMimeType('text/xml');
 xmlhttp.onreadystatechange = function() {
  if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
   var topleveldivvar = '<select name="toplevel"><option value="Alle">Alle</option>';
   var domainsfreehtml = '<img src="http:\/\/www.euronic.net/img/domains_free.gif" alt="Free Domains" />';
   var domainstakenhtml = '<img src="http:\/\/www.euronic.net/img/domains_taken.gif" alt="Taken Domains" />';
   var myXML = xmlhttp.responseXML; 
   var ergebnisse = myXML.getElementsByTagName("domain");
   hasfreedomains = false;
   hastakendomains = false;
   domainsfreehtmltmp = '';
   domainstakenhtmltmp = '';
   if(ergebnisse.length > 0) {
    for (var i = 0; i < ergebnisse.length; i++) {
     var domain = ergebnisse[i];
     var domainname;
     var domaindate;
     var domainisfree = "true";
     for (var j = 0; j < domain.childNodes.length; j++) {
      with (domain.childNodes[j]) {
       if (nodeName == "name") {
        domainname = firstChild.nodeValue;
       } else if (nodeName == "status") {
        if(firstChild.nodeValue != 'frei') {
         domainisfree = "false";
        }
       } else if (nodeName == "date") {
        domaindate = firstChild.nodeValue;
       }
      }
     }
     for(var k=0; k < checkdomains.length; k++) {
      if(checkdomains[k] == domainname) {
       checkdomains = checkdomains.slice(0,k).concat( checkdomains.slice(k+1) );
       writeStatus();
      }
     }
     if(domainisfree == "true") {
      hasfreedomains = true;
      domainsfreehtmltmp += '<span class="dbd">' + domainname + '</span><span class="dbdate">' + domaindate + '</span><span class="dbdelete"><a href="javascript:deleteDomain(\'' + domainname + '\');" title="Remove ' + domainname + ' from the list"><img src="http://www.euronic.net/img/del.gif" border="0"></a></span><br/>';
     } else {
      hastakendomains = true;
      domainstakenhtmltmp += '<span class="dbd">' + domainname + '</span><span class="dbdate">' + domaindate + '</span><span class="dbdelete"><a href="javascript:deleteDomain(\'' + domainname + '\');" title="Remove ' + domainname + ' from the list"><img src="http://www.euronic.net/img/del.gif" border="0"></a></span><br/>';
     }
    }
   }
   if(hasfreedomains) {
    domainsfreehtml += domainsfreehtmltmp + '<a href="http://www.euronic.net/Order" title="Order at EURONIC.net"><img src="http://www.euronic.net/img/domains_free_order.gif" alt="Order at EURONIC.net" border="0" /></a><br/><br/><a href="javascript:deleteDomain(\'allfree\');" class="dboxtxt" title="Delete all free domains">Delete all free domains</a>';
   } else {
    domainsfreehtml += '<p class="dboxtxt">There are no free domains to list.</p>';
   }
   if(hastakendomains) {
    domainstakenhtml += domainstakenhtmltmp + '<br/><br/><a href="javascript:deleteDomain(\'alltaken\');" class="dboxtxt" title="Delete all taken domains">Delete all taken domains</a>';
   } else {
    domainstakenhtml += '<p class="dboxtxt">There are no taken domains to list.</p>';
   }
   $('domainsfrei').innerHTML  = domainsfreehtml + '<br/><img src="http:\/\/www.euronic.net/img/domains_free_end.gif" alt="Free Domains" />';
   $('domainsvergeben').innerHTML = domainstakenhtml + '<br/><img src="http:\/\/www.euronic.net/img/domains_taken_end.gif" alt="Taken Domains" />';

   ergebnissetoplevel = false;
   ergebnisse = myXML.getElementsByTagName("toplevel");
   if(ergebnisse.length > 0) {
    toplevelarray = new Array();
    for (var i = 0; i < ergebnisse.length; i++) {
     var toplevelxml = ergebnisse[i];
     var topleveltmp;
     for (var j = 0; j < toplevelxml.childNodes.length; j++) {
      with (toplevelxml.childNodes[j]) {
       if (nodeName == "tl") {
        topleveltmp += '<option value="' + firstChild.nodeValue + '">' + firstChild.nodeValue + '</option>';
        toplevelarray.push(firstChild.nodeValue);
       } 
      }
     }
    }
    topleveldivvar = '<select name="toplevel" style="width:60px;" id="toplevel"><option value="Alle">All</option>' + topleveltmp + '<option value="Alle">All</option></select>';
    $('topleveldiv').innerHTML = topleveldivvar;
   }
  }
 }
 xmlhttp.send(null);
}

function randomString() {
 var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
 var string_length = 8;
 var randomstring = '';
 for (var i=0; i < string_length; i++) {
  var rnum = Math.floor(Math.random() * chars.length);
  randomstring += chars.substring(rnum,rnum+1);
 }
return randomstring;
}


var hasfreedomains = false;
var hastakendomains = false;
var domainsfreehtmltmp = '';
var domainstakenhtmltmp = '';
var toplevelarray = new Array();
var checkdomains = new Array();
var loadingImage = '<img src="http://www.euronic.net/img/loading.gif" width="20" height="20" alt="Loading" />';
var toplevelselect = '<option value="">Options loading...</option>';

document.writeln('<form id="formX" action="javascript:getHttpRequest();" onSubmit="checkDomain(); false;">Domainname: <input id="domain" name="domain" type="text" value="your-domain" />Toplevel: <span id="topleveldiv" style="width:80px;">' + loadingImage + 'Options loading</span> | <input type="button" style="width:120px;" value="Start check now" onclick="checkDomain(); false" /></form><br/><div id="testdiv"><br/></div><div id="domainsfrei" class="dfreeb"></div><div id="domainsvergeben" class="dtakenb"></div><div style="clear: left;"></div><br/><br/><img src="http://www.euronic.net/img/domains_free_order.gif" alt="Preloading image" width="1" height="1" /><img src="http://www.euronic.net/img/loading.gif" alt="Preloading image" width="1" height="1" />');
loadToplevel();

// (c) Hoehne AG | http://www.hoehne.ag



