//
// roedie.de :: ajax helper
// 2010-04 / B. Roeder
//

var roedieHttpObject = null;
var ajaxLoadCheck = ajax_initialize();

// initialisieren des ajax objects
function ajax_initialize()
{
	try
	{
		// Firefox, Opera & Co.
		roedieHttpObject = new XMLHttpRequest();
	} catch (err_ff) {
		try {
			// IE (new)
			roedieHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (err_ms1) {
			try {
				// IE (old)
				roedieHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (err_all) {
				// falscher browser
				roedieHttpObject = null;
			}
		}
	}
}

function showLoader()
{
	document.getElementById("frmReturn").innerHTML  = '<div align="center" style="margin-top: 5px;"><i>Information werden geladen ...</i><br /><img src="./html/img/loader.gif" /></div>';
	return true;
}

function cleanReturn()
{
	document.getElementById("frmReturn").innerHTML  = '';
	return true;
}

function showDefaultError()
{
	return '<table class="error" width="100%" border="0" cellpadding="4" cellspacing="0"><tr><td align="left" width="90%"><h5>Es trat ein allgemeiner Fehler beim Senden auf, bitte probiere es sp&auml;ter nocheinmal.</h5></td><td align="right" width="10%"><a href=""><img src="/html/img/close.png" alt="zur&uuml;ck" border="0" /></a></td></tr></table>';
}

function sendRequest(modus, captcha)
{
	url = getVars(modus);
	//DEBUG => alert(url);
	
	// pruefen ob url gueltig ist
	if(url!='')
	{
		// ausgabe div vorsichtshalber einblenden
		document.getElementById('frmReturn').style.display = 'block';
		
		// open request
		roedieHttpObject.open ("GET", url, true);
		
		// callback-funktion
		roedieHttpObject.onreadystatechange = function()
		{
			// anfrage laeuft
			if (roedieHttpObject.readyState != 4)
			{
				showLoader();
			}

			// antwort ok?
			if (roedieHttpObject.readyState == 4)
			{
				// http-status ok?
				if (roedieHttpObject.status == 200)
				{
					// server antwort auslesen
					var statusText = roedieHttpObject.responseText;
					//DEBUG => alert(statusText);


				} else {
					// error :: debug
					alert ("Fehlerhafte Server-Antwort: " + roedieHttpObject.status);
					statusText  = showDefaultError();
				}
				
				document.getElementById("frmReturn").innerHTML  = statusText;
				if(captcha==true)
				{
					document.getElementById("inputchars").value  = '';
					document.getElementById('captchaIMG').src='index.php?captcha&amp;' + new Date().getTime();
				}
				self.location.href="#frmReturn";
			}
		}
		
		//  send request
		roedieHttpObject.send (null);
		
	} else {
		statusText  = showDefaultError();
		document.getElementById("frmReturn").innerHTML  = statusText;
		self.location.href="#frmReturn";
	}

	return false;
}

// ----------------------------------------------------------------------------------------------------------------------------------------- //

function getVars(modus)
{
	var currentUrl = null;
	
	switch (modus)
	{
	case "mailcheck":
		currentUrl = "index.php?m=ajax&s=h_mailcheck&a=" + escape(document.getElementById('addy').value) + "&i=" + escape(document.getElementById('inputchars').value) + "&cb=" + new Date().getTime();
		break;	
	
	case "whois":
		currentUrl = "index.php?m=ajax&s=h_whois&n=" + escape(document.getElementById('name').value) + "&i=" + escape(document.getElementById('inputchars').value) + "&cb=" + new Date().getTime();
		break;
	
	case "lookup":
		currentUrl = "index.php?m=ajax&s=h_lookup&n=" + escape(document.getElementById('domip').value) + "&i=" + escape(document.getElementById('inputchars').value) + "&cb=" + new Date().getTime();
		break;
	
	case "crpytemail":
		currentUrl = "index.php?m=ajax&s=h_crpyt-email&a=" + escape(document.getElementById('mailaddy').value) + "&mod=" + escape(document.getElementById('modus').value) + "&cb=" + new Date().getTime();
		break;

	case "md5":
		currentUrl = "index.php?m=ajax&s=h_md5-generator&p=" + escape(document.getElementById('pass_parse').value) + "&cb=" + new Date().getTime();
		break;	

	case "contact":	
		currentUrl = "index.php?m=ajax&s=h_contact&e=" + escape(document.getElementById('email').value) + "&sub=" + escape(document.getElementById('subject').value) + "&mess=" + escape(document.getElementById('message').value) + "&i=" + escape(document.getElementById('inputchars').value) + "&cb" + new Date().getTime();
		break;	
		
	case "ascii":
		var image = document.getElementById('image').value;
		var resolution = document.getElementById('resolution').value;
		var mode = document.getElementById('mode').value;
		var color = document.getElementById('color').value;
		var font_size = document.getElementById('font-size').value;
		var line_height = document.getElementById('line-height').value;
		var letter_spacing = document.getElementById('letter-spacing').value;
		var fixed_char = document.getElementById('fixed_char').value;
		currentUrl = "index.php?m=ajax&s=h_ascii&image=" + escape(image) + "&resolution=" + escape(resolution) + "&mode=" + escape(mode) + "&color=" + escape(color) + "&font-size=" + escape(font_size) + "&line-height=" + escape(line_height) + "&letter-spacing=" + escape(letter_spacing) + "&fixed_char=" + escape(fixed_char) + "&cb" + new Date().getTime();
		break;

	case "htaccess":
		if(document.getElementById('htaccessDocs').checked=='1')
			htaccessDocs = 1;
		else
			htaccessDocs = 0;

		if(document.getElementById('errDocs').checked=='1')
			errDocs = 1;
		else
			errDocs = 0;
			
		var path = document.getElementById('path').value;
		var name = document.getElementById('name').value;
		var user = document.getElementById('user').value;
		var e400 = document.getElementById('e400').value;
		var e401 = document.getElementById('e401').value;
		var e402 = document.getElementById('e402').value;
		var e403 = document.getElementById('e403').value;
		var e404 = document.getElementById('e404').value;
		var e405 = document.getElementById('e405').value;
		currentUrl = "index.php?m=ajax&s=h_htaccess&get=" + escape(htaccessDocs) + "|" + escape(errDocs) + "|" + escape(path) + "|" + escape(name) + "|" + escape(user) + "|" + escape(e400) + "|" + escape(e401) + "|" + escape(e402) + "|" + escape(e403) + "|" + escape(e404) + "|" + escape(e405) + "&cb" + new Date().getTime();		
		break;	

	case "password":
		if(document.getElementById('pHuman').checked=='1')
			pHuman = 1;
		else
			pHuman = 0;

		currentUrl = "index.php?m=ajax&s=h_password&a=" + escape(document.getElementById('anzahl').value) + "&l=" + escape(document.getElementById('pLen').value) + "&mod=" + escape(document.getElementById('pModus').value) + "&h=" + escape(pHuman) + "&cb=" + new Date().getTime();
		break;
		
	default:
		currentUrl = '';
		
	}

	return currentUrl;
}
