

function findObj(theObj, theDoc){
  var p, i, foundObj;
  if(!theDoc) theDoc = document;
  if( (p = theObj.indexOf("?")) > 0 && parent.frames.length){
    theDoc = parent.frames[theObj.substring(p+1)].document;
    theObj = theObj.substring(0,p);
  }

  if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
  for (i=0; !foundObj && i < theDoc.forms.length; i++) 
    foundObj = theDoc.forms[i][theObj];
  for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
    foundObj = findObj(theObj,theDoc.layers[i].document);
  if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
  return foundObj;
}


// Ajax
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function getumldom(name) {
    http.open('get', 'tenc.php?decoded='+name);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
		if(actdom<0) {
			// Eine Umlaufabfrage
			umln = response;
			findObj('ergebnis').innerHTML += '<div><span class="b">Umlautname: '+umln+'</span></div>';
			actdom=0;
			getDomain();
		}else{
			// Namensabfrage
			var resv = response.substr(0,1);

			var stf = findObj('status'+actdom);
			if(resv=='2') {
				// Wenn frei
				stf.innerHTML = '<img src="images/stat_frei.gif" border="0" align="middle" /> - <span class="b">'+name+'.'+domains[actdom]+'</span>';
			}else{
				//Ansonst
				stf.innerHTML = '<a href="javascript:show('+actdom+');"><img src="images/stat_belegt.gif" border="0" align="middle" /></a> - <span class="b">'+name+'.'+domains[actdom]+'</span>';
				findObj('info'+actdom).innerHTML = '<pre style="width: 450px;">'+response.substr(2,response.length-2)+'</pre>';
			}
			if(actdom<domains.length-1) {
				actdom++;
				getDomain();
			}else{
				var ckb = findObj('checkBtn');
				ckb.disabled = false;
				ckb.value = 'Prüfen';
			}
		}
        //document.all.ajaxr.innerHTML = response;
    }
}




// Start
function whois() {
	isuml = false;
	var dn = document.dform.dom.value.toLowerCase();
	var cdn = '';
	var erg = findObj('ergebnis');

	erg.innerHTML = '<div>Prüfung läuft!</div>';
	for(var i=0;i<dn.length;i++) {
		if(umla.indexOf(dn.charAt(i))>=0) isuml = true;
		if(allowed_chars.indexOf(dn.charAt(i))>=0)
			cdn += dn.charAt(i);
	}
	//Anfangs und Endstriche entfernen
	while(cdn.charAt(0)=='-') cdn = cdn.substring(1,cdn.length-1);
	while(cdn.charAt(cdn.length)=='-') cdn = cdn.substring(0,cdn.length-1);
	document.dform.dom.value = cdn;
	
	erg.style.display = 'block';
	if(cdn.length<3) {
		erg.innerHTML = '<div>Der Name muss mindesten 3 Zeichen haben und darf keine Sonderzeichen am Anfang und Ende des Wortes haben!</div>';
		return false;
	}
	var ckb = findObj('checkBtn');
	ckb.disabled = true;
	ckb.value = 'Prüfung läuft';

	// Namen zusammenstellen und prüfen
	erg.innerHTML = '';
	name = cdn;
	actdom = -1;
	if(isuml) {
		getumldom(cdn);
	}else{
		actdom = 0;
		getDomain();
	}

}



function getDomain() {
	findObj('ergebnis').innerHTML += '<div id="status'+actdom+'"><img src="images/stat_wait.gif" align="middle" /> - <span class="b">'+name+'.'+domains[actdom]+'</span></div><div id="info'+actdom+'" style="display: none;">---</div>';
    http.open('get', 'whois.php?domain='+(isuml?umln:name)+'.'+domains[actdom]);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function show(feld) {
	var ifeld = findObj('info'+feld);
	if(ifeld.style.display == 'none') {
	  ifeld.style.display = 'block';
	}else{
	  ifeld.style.display = 'none';
	}
}