// ----------------------------------------------------
// Version: 0.1
// Last change: 10.06.2009
// Edited by: Sebastian Mohila
// Description: Library for domain check functions
//
// (C) 2000 - 2009 formativ.net oHG / Sebastian Mohila
// All Rights Reserved
// ----------------------------------------------------


// -----------------------------------------------------
// Name: setDomainCheckError()
// Funktion: Blendet Fehler-Info bei fehlerhaftem Domaincheck ein
// Rückgabe: Null
// Status: aktiv
// Version: 0.1
// Letzte Änderung: 10.06.2009
// -----------------------------------------------------
function setDomainCheckError(cTopLevelThis) {
	// Loader-Grafik ausblenden
	$j("#cDomainCheckAjaxLoader_"+cTopLevelThis).hide();

	// Fehler einblenden
	$j("#cDomainCheckError_"+cTopLevelThis).show();
}



// -----------------------------------------------------
// Name: setDomainCheckResult()
// Funktion: Blendet Ergebnis eines Domainchecks bei erfolgreichem Domaincheck ein
// Rückgabe: Null
// Status: aktiv
// Version: 0.1
// Letzte Änderung: 10.06.2009
// -----------------------------------------------------
function setDomainCheckResult(cDomainCheckResultData) {
	// Domain-Status initialisieren
	cDomainCheckStatus="unavailable";
	
	if(cDomainCheckResultData) {
		if(cDomainCheckResultData.getElementsByTagName("cDomainCheckResultTLD")[0].firstChild) cTopLevelResult=cDomainCheckResultData.getElementsByTagName("cDomainCheckResultTLD")[0].firstChild.nodeValue;		
		if(cDomainCheckResultData.getElementsByTagName("cDomainCheckResultStatus")[0].firstChild) cDomainCheckStatus=cDomainCheckResultData.getElementsByTagName("cDomainCheckResultStatus")[0].firstChild.nodeValue;					
	}

	// Punkte aus TLD entfernen
	cTopLevelResultOrig=cTopLevelResult.replace(/\./,"");
	cTopLevelResult=cTopLevelResultOrig.replace(/\./g,"");;

	// Loader-Grafik ausblenden
	$j("#cDomainCheckAjaxLoader_"+cTopLevelResult).remove();

	if(cDomainCheckStatus=="available") {
		$j("#cDomainCheckResultItem_"+cTopLevelResult).html("ist noch frei!");
		$j("#cDomainCheckResultItem_"+cTopLevelResult).css({"color":"#669900","font-weight":"bold"});		
		$j("#cDomainCheckOrderListHeadline").show();
		$j("#cDomainCheckOrderListSubmit").show();		
		$j("#cDomainCheckPreisInfo_"+cTopLevelResult).show();
		if($j("input[name=cTopLevelOrder["+cDomainName+"."+cTopLevelResultOrig+"]]").length==0) $j("#cDomainCheckOrderList").append("<input type=\"checkbox\" name=\"cTopLevelOrder["+cDomainName+"."+cTopLevelResultOrig+"]\" value=\"true\" /> "+cDomainName+"."+cTopLevelResultOrig+"<br />");
		cDomainCheckAvailList=cDomainCheckAvailList+cDomainName+"."+cTopLevelResultOrig+"||";
	} else {
		$j("#cDomainCheckResultItem_"+cTopLevelResult).html("ist schon vergeben.");
		$j("#cDomainCheckResultItem_"+cTopLevelResult).css({"color":"#cccccc"});				
		$j("#cDomainCheckSLD_"+cTopLevelResult).css({"color":"#cccccc"});
		$j("#cDomainCheckTLD_"+cTopLevelResult).css({"color":"#cccccc"});		
		$j("#cDomainCheckWhois_"+cTopLevelResult).show();
		$j("#cDomainCheckWhoisLink_"+cTopLevelResult).click(function() {
			cTopLevelThis=this.id;
			cTopLevelThis=cTopLevelThis.replace("cDomainCheckWhoisLink_","");
			
			// Loader-Grafik einblenden
			$j("#cDomainWhoisAjaxLoader_"+cTopLevelThis).show();

			// Request absetzen
			$j.ajax({
				url: "../../../fnetcontent/ajax/ajaxgetdomainnamewhois.php",
				data: ({cDomainName:cDomainName,cTopLevel:"."+cTopLevelThis,cSessionID:cSessionID}),
				cache: false,
				type: "GET",
				timeout: cDomainCheckTimeout,
				datatype: "xml",
				success: setDomainWhoisResult
			});
		});				
		
	}
	
	// Fehler entfernen
	$j("#cDomainCheckError_"+cTopLevelResult).remove();
}



// -----------------------------------------------------
// Name: setDomainWhoisResult()
// Funktion: Blendet Ergebnis einer Whois-Abfrage
// Rückgabe: Null
// Status: aktiv
// Version: 0.1
// Letzte Änderung: 10.06.2009
// -----------------------------------------------------
function setDomainWhoisResult(cDomainWhoisResultData) {
	if(cDomainWhoisResultData.getElementsByTagName("cDomainWhoisResultValue")[0].firstChild) {
		cDomainWhoisResultValue=cDomainWhoisResultData.getElementsByTagName("cDomainWhoisResultValue")[0].firstChild.nodeValue;					
		
		// Loader-Grafik ausblenden
		$j("#cDomainWhoisAjaxLoader_"+cTopLevelThis).hide();

		// Link zum Ausblenden definieren
		$j("#cDomainWhoisValueHideLink").click(function() {
			$j("#cDomainWhoisBaseInner").hide();		
			$j("#cDomainWhoisBase").fadeOut("normal");
			$j("#cDomainWhoisValueContent").empty();
		});

		// Whois-Daten einblenden
		$j("#cDomainWhoisBase").css("filter","alpha(opacity=80)").fadeIn("normal",function() {
			$j("#cDomainWhoisValueContent").html(cDomainWhoisResultValue);
			$j("#cDomainWhoisBaseInner").show();
		});
	}
}



// -----------------------------------------------------
// Name: setDomainNameAvailSession()
// Funktion: Speichert Liste der erfolgreich geprüften Domains in Session ab (per Ajax)
// Rückgabe: Null
// Status: aktiv
// Version: 0.1
// Letzte Änderung: 10.06.2009
// -----------------------------------------------------
function setDomainNameAvailSession() {
	if(cDomainCheckAvailList!="") {
		// Liste der erfolgreich geprüften Domains in Session speichern
		$j.post("../../../fnetcontent/ajax/ajaxsetdomainnameavailsession.php",{
			cSessionID:cSessionID,
			cDomainCheckAvailList:cDomainCheckAvailList
		});
	}
}



// -----------------------------------------------------
// Name: ()
// Funktion: Führt initiale Funktionen aus
// Rückgabe: Null
// Status: aktiv
// Version: 0.1
// Letzte Änderung: 18.06.2009
// -----------------------------------------------------
$j(function() {
	cDomainCheckTimeout=30000;
	cDomainCheckAvailList="";

	// Alle im Dokument vorhandenen TLDs überprüfen
	for(var i=0;i<$j("#cDomainCheckResultList > div").length;i++) {
		// SLD und TLD ermitteln
		cTopLevelThis=$j("#cDomainCheckResultList > div")[i].id;
		cTopLevelThis=cTopLevelThis.replace("cDomainCheckResultItem_","");
		cDomainName=$j("#cDomainCheckSLD_"+cTopLevelThis).html();
		cTopLevel=$j("#cDomainCheckTLD_"+cTopLevelThis).html();

		// Whois-Infos pauschal ausblenden
		$j("#cDomainWhoisValue").hide("fast");	
		$j("#cDomainWhoisValue #mainDomainWhoisValueContent").empty();

		// Loader-Grafik einblenden
		$j("#cDomainCheckAjaxLoader_"+cTopLevelThis).show();

		// Request absetzen
		$j.ajax({
			url: "../../../fnetcontent/ajax/ajaxgetdomainnameavail.php",
			data: ({cDomainName:cDomainName,cTopLevel:cTopLevel,cSessionID:cSessionID}),
			cache: false,
			type: "GET",
			timeout: cDomainCheckTimeout,
			datatype: "xml",
			success: setDomainCheckResult
		});
		
		// Fehler-Meldung pauschal definieren
		setTimeout("setDomainCheckError('"+cTopLevelThis+"')",cDomainCheckTimeout+1000);
	}
	
	// Domainliste in Session speichern
	$j().ajaxStop(setDomainNameAvailSession);
});

