//in dises div wird der Inhalt von o.responseText (Callback) eingelesen
var handleDivName = 'catalog-content';
var handleDiv;

//definiert das modul
var projectName = 'lycos';

//dieses Script wird beim assync. Call aufgerufen
var UrlGet = '/' + projectName + '/html/content.php';

//diese Url ist die Base-url für html-code
var UrlHtml = '/' + projectName + '/';


//-------------------- On Success --------------------------------------------------------------

var handleSuccess = function(o)
{
	if(o.responseText !== undefined)
	{
		handleDiv.innerHTML = decode_utf8(o.responseText);
	}
};

var handleSuccessCheckUrl = function(o)
{
	if(o.responseText !== undefined)
	{
		var msg = decode_utf8(o.responseText);
		if(msg != 'OK') alert(msg);
	}
};

//-------------------- On failure --------------------------------------------------------------

var handleFailure = function(o)
{
	if(o.responseText !== undefined)
	{
		handleDiv.innerHTML = "<li>Transaction id: " + o.tId + "</li>";
		handleDiv.innerHTML += "<li>HTTP status: " + o.status + "</li>";
		handleDiv.innerHTML += "<li>Status code message: " + o.statusText + "</li>";
	}
};

// ------------------- Callback Definition -------------------------------------------------------
var callback =
{
  success:handleSuccess,
  failure:handleFailure
};

var callbackCheckUrl =
{
  success:handleSuccessCheckUrl,
  failure:handleFailure
};


//-------------------- functions for a GET-Call --------------------------------------------------------------


//-------------------- js_getContent --------------------------------------------------------------

//liefert den page-content zurück
function js_getContent(country, page, keyword, offset)
{
	var getData = '';
	handleDiv = document.getElementById(handleDivName);

	if(country == null)
	{
		country = document.getElementById('twd-country').value;
		page = document.getElementById('twd-page').value;
		keyword = document.getElementById('twd-keyword').value;
		offset = document.getElementById('twd-offset').value;
	}

	if(country != null)	getData  = '?country='+country;
	if(page != null) 	getData += '&page='+page;
	if(keyword != null) getData += '&keyword=' + keyword;
	if(offset != null) 	getData += '&offset=' + offset;


	url = UrlGet + getData;

	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}


//-------------------- js_getHtml --------------------------------------------------------------

//liefert ein Template zurück aus dem html/templates-Verzeichnis
function js_getHtml(urlIn)
{
	handleDiv = document.getElementById(handleDivName);

	var url = UrlHtml + urlIn;

	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}

//-------------------- js_getHtml --------------------------------------------------------------

//prüft ob diese Url schon als bezahlter Eintrag in newentries existiert
function js_checkUrl(katalogurl, message)
{
	var url = UrlHtml + 'html/checkNewUrl.php?url=' + katalogurl + '&message=' + message;
	var request = YAHOO.util.Connect.asyncRequest('GET', url, callbackCheckUrl);
}


//-------------------------- decode_utf8 --------------------------------------------------------

function decode_utf8(utftext) {
             var plaintext = ""; var i=0; var c=c1=c2=0;
             // while-Schleife, weil einige Zeichen uebersprungen werden
             while(i<utftext.length)
                 {
                 c = utftext.charCodeAt(i);
                 if (c<128) {
                     plaintext += String.fromCharCode(c);
                     i++;}
                 else if((c>191) && (c<224)) {
                     c2 = utftext.charCodeAt(i+1);
                     plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
                     i+=2;}
                 else {
                     c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2);
                     plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
                     i+=3;}
                 }
             return plaintext;
         }

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

