//  Kino42 JavaScript Functions 
//-----------------------------------------------------------------
// helper functions
function trim(str)
{
    return str.replace(/^(\s+)?(\S*)(\s+)?$/, '$2');
}

function ltrim(str)
{
    return str.replace(/^\s*/, '');
}

function rtrim(str)
{
    return str.replace(/\s*$/, '');
}

function delay(t)
{
    var t1, t2;
    t1 = new Date().getTime();
    t2 = t1;
    while ((t2 - t1) < t) {
        t2 = new Date().getTime();
    }
}

function getkeycode(e)
{
    if (document.layers)              return e.which;
    else if (document.all)            return event.keyCode;
    else if (document.getElementById) return e.keyCode;
    return 0;
}

function hideDiv(div)
{
    if (div) div.style.display = 'none';
}

function showDiv(div)
{
    if (div) div.style.display = 'block';
}

function divIsHidden(div)
{
    return div.style.display == 'none';
}




//-----------------------------------------------------------------


var tooltip = false;

function wopen(Adresse) {
  MeinFenster = window.open(Adresse);
  MeinFenster.focus();
}

// catsearch \\
function catsearch(to){
	if(document.getElementById('sWord').value.length > 2){
		var tolink = to + '&view=catSearch&sWord=' + document.getElementById('sWord').value;
		location.href = tolink;
	}else{
		alert('Please more then 2 letters!');
		return false;
	}
}


function getCookie(NameOfCookie){
	if (document.cookie.length > 0)
	{
		begin = document.cookie.indexOf(NameOfCookie+"=");
		if (begin != -1)
		{
			begin += NameOfCookie.length+1;
			end = document.cookie.indexOf(";", begin);
			
			if (end == -1) end = document.cookie.length;
				return unescape(document.cookie.substring(begin, end)); 
		}
	}
	return null;
}


function open_all_comment(count)
{
		var spanTmp = document.getElementsByTagName('span');
		
		for(i=0;i<spanTmp.length;i++)
		{
			if(spanTmp[i].id.substr(0,12)=='span_comment')			
			{
				//alert(spanTmp[i].id.substr(12,spanTmp[i].id.length-12));
				var index = spanTmp[i].id.substr(12,spanTmp[i].id.length-12);
				if (document.getElementById('comment' + index).style.display == 'none' && document.getElementById('open_all_comment'))
					open_comment('comment'+index,true);
				else if (document.getElementById('comment' + index).style.display != 'none' && document.getElementById('close_all_comment'))
					open_comment('comment'+index,false);
			}
		}

		if (document.getElementById('open_all_comment'))
		{
			document.getElementById('open_all_comment').innerHTML = 'Alle Kommentare schließen';
			document.getElementById('open_all_comment').id = 'close_all_comment';
		}
		else if (document.getElementById('close_all_comment'))
		{
			
			document.getElementById('close_all_comment').innerHTML = 'Alle Kommentare öffnen';
			document.getElementById('close_all_comment').id = 'open_all_comment';
		}
}



//  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //


// reportbrokenlink \\
function reportbrokenlink(id){
	//var abfrage = confirm('Do you really want to report this link as broken?');
	document.reportbrokenlinkform.reportedlink.value=id;
	document.getElementById("reportbrokenlinkdiv").style.display = 'block';
	document.getElementById("reportbrokenlinkdiv").style.top = (250 + window.pageYOffset)+'px';
}



//  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //


// marklinks \\
function getCookie2(NameOfCookie)
{
	if (document.cookie.length > 0)
	{
		begin = document.cookie.indexOf(NameOfCookie+"=");
		if (begin != -1)
		{
			begin += NameOfCookie.length+1;
			end = document.cookie.indexOf(";", begin);
			
			if (end == -1) end = document.cookie.length;
				return unescape(document.cookie.substring(begin, end)); 
		}
	}
	return '';
}



function showmarkedlinks(){

	var markedlinks = getCookie2("markedlinks");
	
	var ids = markedlinks.split("|");
	var links = "";
	
	var checktime = new Date();
	checktime = checktime.getTime() - 1000*60*60*24*30;
	
	var newclick = new Date();
	newclick = newclick.getTime() - 5000;
	
	var a = new Date();
	a = new Date(a.getTime() +1000*60*60*24*30);
	
	for(i=0; i<ids.length; i++){
		var info = ids[i].split("-");
		if(checktime < info[1] && isNaN(info[0]) == false){
			if(document.getElementById(info[0]) && info[1] < newclick){
				document.getElementById(info[0]).style.background='#66CCFF';
			}
			else if(info[1] > newclick){
				document.getElementById(info[0]).style.background = '#99FFFF';
			}
			links+=ids[i] +  "|";
		}
	}
	
	document.cookie = 'markedlinks=' + links + '; expires='+a.toGMTString()+';domain=alluc.org';
}


function marklink(id){

	var links = "";

	var jetzt = new Date();
	jetzt = jetzt.getTime();	
	links = getCookie2("markedlinks") + id + "-" + jetzt;
	

	document.getElementById(id).style.background = '#99FFFF';
	//alert(links);
	
	var a = new Date();
	a = new Date(a.getTime() +1000*60*60*24*30);
	
	document.cookie = 'markedlinks=' + links + '|; expires='+a.toGMTString()+';domain=alluc.org';
	//alert(links);
}



//  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //  //


// language \\
function getCookie(NameOfCookie)
{
	if (document.cookie.length > 0)
	{
		begin = document.cookie.indexOf(NameOfCookie+"=");
		if (begin != -1)
		{
			begin += NameOfCookie.length+1;
			end = document.cookie.indexOf(";", begin);
			
			if (end == -1) end = document.cookie.length;
				return unescape(document.cookie.substring(begin, end)); 
		}
	}
	return 'en';
}


function decode(lang)
   {
    var url   = window.location.search;
    /* wie gehabt, es wird alles ab dem "?" gelesen */
    if (url != "")  {
      liste = url.split("&");
      /* auch hier splitten am "&" */
      for (i=0;i<=liste.length-1;i++) {
        temp = liste[i].split("=");
        /* auch hier splitten am "=" */
        temp[1]=temp[1].replace(/\+/g," ");
        temp[1]=unescape(temp[1]);
        /* wie gehabt, das Putzen aber jetzt:*/
       if(temp[0] == '?lang' || temp[0] == 'lang'){
		return temp[1];
	   }
       } 
     } 
   } 
   

function language(){

	var shortlang = new Array;
	var langlang = new Array;
	
	shortlang = Array("en","de","es");
	langlang = Array("English","German","Spanish");
	
	var flag = makelang();
	
	var selectbox = '<form action="changelanguage.php" method="POST"><img src="fileadmin/templates/flags/' + flag +'.gif" style="vertical-align:bottom;border-top: 4px solid #FFFFFF;border-left: 2px solid #FFFFFF;border-right: 2px solid #FFFFFF;border-bottom: 4px solid #FFFFFF;margin-bottom: 1px;"><select name="language" onchange="form.submit();">';
	
	for(i=0;i<shortlang.length;i++){
		
		if(shortlang[i] == flag){
			var selected = ' selected';
		}
		else selected = '';
		selectbox+='<option value="' +  shortlang[i] + '" ' + selected + '>' + langlang[i] + '</option>'; 
	}
	
	return selectbox + '</select></form>';
}

function setsearchlanguage(){
	if(document.forms['an_search'].elements['tx_ansearchit_form[sword]'].value.length<3){
		alert('Please more then 2 letters!');
		return false;
	}
	
	if(getCookie('language') != 'en'){
		document.getElementById('an_search').action+='&lang=' + getCookie('language');
	}
}

function makelang(){

	var flag = 'en';
	

	if(getCookie('language') == decode('lang')){
	 	flag = decode('lang');
	}
	else if(decode('lang') != getCookie('language') && typeof(decode('lang')) != 'undefined'){
		document.cookie = "language=" + decode('lang') + ";domain=alluc.org";
		flag = decode('lang');
	}
	else
		document.cookie = "language=en" + ";domain=alluc.org";
	
	if(!flag){
		flag="en";
		document.cookie = "language=en" + ";domain=alluc.org";
	}
	
	return flag;

}

function bigflag(){
var flag = makelang();
var resize = 2.5;
var width = (18 * resize);
var height = (12 * resize);

var shortlang = new Array;
var langlang = new Array;

shortlang = Array("en","de","es");
langlang = Array("English","German","Spanish");

for(i=0;i<shortlang.length;i++){
		if(shortlang[i] == flag){
			var flaglong = langlang[i];
		}
}
return '<img alt="Your selected language: ' + flaglong + '" title="Your selected language: ' + flaglong + '" style="border: 2px solid #ffffff;" width="' + width +'" height="' + height + '" src="fileadmin/templates/flags/' + flag +'_big.gif" />';
}

function smallflags(){
var flag = makelang();
var resize = 1.4;
var width = (18 * resize);
var height = (12 * resize);

var shortlang = new Array;
var langlang = new Array;

shortlang = Array("en","de","es");
langlang = Array("English","German","Spanish");

var content = '<form name="langselect" action="changelanguage.php" method="POST"><input type="hidden" name="language" value="en">';

for(i=0;i<shortlang.length;i++){
		if(shortlang[i] != flag){
			var flaglong = langlang[i];
			if(i == 1)
				content += '<a href="javascript:changelang(\'' + shortlang[i] + '\')"><img onclick="changelang(\'' + shortlang[i] + '\');" alt="Select ' + flaglong + '" title="Select ' + flaglong + '" style="vertical-align: bottom; horizontal-align: center; border: 1px solid #9cacbb; margin-bottom: 3px; margin-top: 3px; margin-left: 1px;" width="' + width +'" height="' + height + '" src="fileadmin/templates/flags/' + shortlang[i] +'_big.gif" /></a>&nbsp;&nbsp;';
			else
				content += '<a href="javascript:changelang(\'' + shortlang[i] + '\')"><img onclick="changelang(\'' + shortlang[i] + '\');" alt="Select ' + flaglong + '" title="Select ' + flaglong + '" style="vertical-align: bottom; horizontal-align: center; border: 1px solid #9cacbb; margin-bottom: 3px; margin-top: 3px;" width="' + width +'" height="' + height + '" src="fileadmin/templates/flags/' + shortlang[i] +'_big.gif" /></a>&nbsp;&nbsp;';
		}
}

content += '</form>';

return content;
}

function changelang(shortlang){
	document.langselect.language.value=shortlang;
	document.langselect.submit();
}

function changegenre(){
	if(document.getElementById("genreselect").style.display == "none"){
		document.getElementById("genreselect").style.display="inline";
		document.getElementById("newgenre").style.display="none";
		document.getElementById("genreselectlink").style.display="inline";
		document.getElementById("newgenrelink").style.display="none";
		document.setgenre.newgenretext.value = "";
	}
	else{
		document.getElementById("genreselect").style.display="none";
		document.getElementById("newgenre").style.display="inline";
		document.getElementById("genreselectlink").style.display="none";
		document.getElementById("newgenrelink").style.display="inline";
	}
}

function invert(that,todo,type){
	if(type == "top"){
		if(todo == 'in'){
			that.style.backgroundImage = 'url(/images/background/topbuttonselected.gif?ts=8251)';
		}
		else{
			that.style.backgroundImage = 'url(/images/background/topbutton.gif?ts=8251)';
		}
	}
	else if (type="add")
	{
		if (todo == 'in')
		{
			that.style.backgroundColor = '#FFFFFF';
		}
		else
		{
			that.style.backgroundColor = '#C2DCF5';
		}
	}
	else{
		if(todo == 'in'){											
			that.style.backgroundImage = 'url(/images/background/buttonselected.gif?ts=8251)';
		}
		else{
			that.style.backgroundImage = 'url(/images/background/button.gif?ts=8251)';
		}
	}
}

function invertlast(that,todo,type){
	if(type == "top"){
		if(todo == 'in'){
			that.style.backgroundImage = 'url(/images/background/topbuttonselectedlast.gif?ts=8251)';
		}
		else{
			that.style.backgroundImage = 'url(/images/background/topbuttonlast.gif?ts=8251)';
		}
	}
	else
	{
		if(todo == 'in'){
			that.style.backgroundImage = 'url(/images/background/topbuttonselectedlast.gif?ts=8251)';
		}
		else{
			that.style.backgroundImage = 'url(/images/background/topbuttonlast.gif?ts=8251)';
		}
	}
}


// Watchlist funktionen
function getwatchlist(uid){
	var watchlist = getCookie2("watchlist");
	
	var watchids = watchlist.split("|");
	
	for(i=0; i<watchids.length; i++){
		if(watchids[i] == uid)
			return '<img src="/images/remove.gif" alt="Remove from watchlist" title="Remove from watchlist">';
	}
	return '<img src="/images/watchlist.png" alt="Add link to watchlist" title="Add link to watchlist">';
	
}

function getwatchlistseason(uid){
	var watchlist = getCookie2("watchseasons");
	
	var watchids = watchlist.split("|");
	
	for(i=0; i<watchids.length; i++){
		if(watchids[i] == uid)
			return '<img src="fileadmin/templates/remove.gif" alt="Remove all links from watchlist" title="Remove from watchlist">';
	}
	return '<img src="fileadmin/templates/watchlist.png" alt="Add all links to watchlist" title="Add link to watchlist">';
}

function open_comment (id,closeit)
{
	var span_array = 'span_' + id;
	if(!closeit) //open_comment[id] == 1) 
	{
		document.getElementById(id).style.display = 'none';
		if(document.getElementById(span_array))
			document.getElementById(span_array).innerHTML = '<img src=\"/images/plus.gif\">';
		document.getElementById('opentip').innerHTML = 'show answers to this comment';
		open_comment[id] = 0;
	}
	else
	{
		document.getElementById(id).style.display = 'block';
		if(document.getElementById(span_array))
			document.getElementById(span_array).innerHTML = '<img src=\"/images/minus.gif\">';
		document.getElementById('opentip').innerHTML = 'hide answers to this comment';
		open_comment[id] = 1;
	}
}
/*
var open_all = false;

function open_all_comment (count, ids)
{	
	if(open_all)
	{
		for(i=0;i<count;i++)
		{
			if(document.getElementById(ids[i]))
			{
				open_comment[ids[i]] = 1;
				open_comment (ids[i]);
			}
		}
		document.getElementById('open_all_comment').innerHTML = 'open all comments';
		open_all = false;		
	}
	else 
	{
		for(i=0;i<count;i++)
		{
			if(document.getElementById(ids[i]))
			{
				open_comment[ids[i]] = 0;
				open_comment (ids[i]);
			}
		}
		document.getElementById('open_all_comment').innerHTML = 'close all comments';
		open_all = true;
	}
}
*/
function select_new()
{
		if (aussen == true)
			aussen = false;
		else
		{
			document.getElementById('new').width="610";
			document.getElementById('top').width="207";
			//document.getElementById('newrest').style.display = "inline";
			document.getElementById('content_content_new').className = 'mainpage_content';
			document.getElementById('content_top_new').className = 'mainpage_top';
			document.getElementById('content_bottom_new').className = 'mainpage_bottom';
			//document.getElementById('toprest').style.display = "none";
			document.getElementById('content_top_new').style.width="610px";
			document.getElementById('content_content_new').style.width="600px";
			document.getElementById('content_bottom_new').style.width="610px";
			document.getElementById('content_top_top').style.width="207px";
			document.getElementById('content_content_top').style.width="197px";
			document.getElementById('content_bottom_top').style.width="207px";
			if(document.getElementById('topdiv2'))
				document.getElementById('topdiv2').style.display="none";
			if(document.getElementById('topdiv3'))
				document.getElementById('topdiv3').style.display="none";
			if(document.getElementById('topdiv5'))
				document.getElementById('topdiv5').style.display="none";
			if(document.getElementById('topdiv6'))
				document.getElementById('topdiv6').style.display="none";
			if(document.getElementById('topdiv8'))
				document.getElementById('topdiv8').style.display="none";
			if(document.getElementById('topdiv9'))
				document.getElementById('topdiv9').style.display="none";
			
			
			for(i=1;i<10;i++)
			{
				if(i != 1 && i != 4 && i != 7)
				{
					if(document.getElementById('topdiv' + i))
						document.getElementById('topdiv' + i).style.display="none";
				}
				if(document.getElementById('newdiv' + i))
					document.getElementById('newdiv' + i).style.display="block";
			}
		}
}
function select_top()
{
		aussen = false;
		document.getElementById('new').width="217";
		document.getElementById('top').width="610";
		//document.getElementById('newrest').style.display = "none";
		document.getElementById('content_content_new').className = 'mainpage_content_r';
		document.getElementById('content_top_new').className = 'mainpage_top_r';
		document.getElementById('content_bottom_new').className = 'mainpage_bottom_r';
		//document.getElementById('toprest').style.display = "inline";
		document.getElementById('content_top_top').style.width="610px";
		document.getElementById('content_content_top').style.width="600px";
		document.getElementById('content_bottom_top').style.width="610px";
		document.getElementById('content_top_new').style.width="207px";
		document.getElementById('content_content_new').style.width="197px";
		document.getElementById('content_bottom_new').style.width="207px";	
		if(document.getElementById('newdiv1'))				
			document.getElementById('newdiv1').style.display="none";
		if(document.getElementById('newdiv2'))				
			document.getElementById('newdiv2').style.display="none";
		if(document.getElementById('newdiv4'))				
			document.getElementById('newdiv4').style.display="none";
		if(document.getElementById('newdiv5'))				
			document.getElementById('newdiv5').style.display="none";
		if(document.getElementById('newdiv7'))				
			document.getElementById('newdiv7').style.display="none";
		if(document.getElementById('newdiv8'))				
			document.getElementById('newdiv8').style.display="none";
		
		for(i=1;i<10;i++)
		{
			if(document.getElementById('topdiv' + i))
				document.getElementById('topdiv' + i).style.display="block";
			

		}
}
function select_non()
{
	if (aussen == true)
	{
		select_top();
	}
}

function checkCookie() { 
    if (getCookie("CookieTest") == "en") { 
       return false; 
    } else { 
       return true; 
    } 
 }
 
 // find out if ie runs in quirks mode
//
var docEl = (
             typeof document.compatMode != "undefined" && 
             document.compatMode        != "BackCompat"
            )? "documentElement" : "body";

// register event
// capture it for nc 4x (ok it's a dino)
//
var mouseX=0;
var mouseY=0;
var last;

function init_mousemove() {
    if(document.layers) document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove =	dpl_mouse_pos;
}

function dpl_mouse_pos(e) {

    // position where mousemove fired
    //
    var xPos    =  e? e.pageX : window.event.x;
	var yPos    =  e? e.pageY : window.event.y;

	
	// for ie add scroll position
	//
	if (document.all && !document.captureEvents) {
	    xPos    += document[docEl].scrollLeft;
	    yPos    += document[docEl].scrollTop;
    }
    
    // display position
    //
    //document.feld.ausg.value    =  "Left = " + xPos + " : Top = " + yPos;
    mouseX=xPos-100;
	mouseY=yPos+20;
    // for the dino pass event
    //
    if (document.layers) routeEvent(e);
}

function vorschau(id,mode,text, dirX, dirY) 
{
	if (mode == true) 
	{
		init_mousemove();

		if(dirX == undefined)
			dirX = 0;

		if(dirY == undefined)
			dirY = 0;

		var rand = document.documentElement.scrollTop + document.documentElement.clientHeight;
		var rand_width = document.documentElement.scrollLeft + document.documentElement.clientWidth;

		rand_width = ((rand_width -1000)/2) + 787;
		

		var offsetWidth = document.getElementById(id).offsetWidth;	

		if(offsetWidth == 0) 
			offsetWidth = 1;


		var facktor_a = (100*(1/offsetWidth)) + 1; 
		var facktor_b = (100*(1/(offsetWidth-100))) + 1; 
		var left_else = (offsetWidth/(offsetWidth/100));
	
		if(text != false)
			document.getElementById(id).innerHTML = text;		

		if ((document.getElementById(id).offsetHeight + mouseY) > rand)
			document.getElementById(id).style.top = (mouseY - document.getElementById(id).offsetHeight - 33) + "px";
		else
			document.getElementById(id).style.top = mouseY + "px";
		
		if(((document.getElementById(id).offsetWidth*facktor_a) + mouseX) >= rand_width)
			document.getElementById(id).style.left = (mouseX - (document.getElementById(id).offsetWidth/facktor_b)) + "px";
		else 
			document.getElementById(id).style.left = (mouseX + left_else) + "px";
		
		document.getElementById(id).style.display = 'block';
	}
	else
		document.getElementById(id).style.display = 'none';
}

function mouse_out()
{
aussen = true; 
settimeout('select_non()', 100);
}

function setCookie(name, wert, domain, expires, path){
   var cook = name + "=" + unescape(wert);
   cook += (domain) ? "; domain=" + domain : "";
   cook += (expires) ? "; expires=" + expires : "";
   cook += (path) ? "; path=" + path : "";
   document.cookie = cook;
}

function reload_captcha(name){
		if (document.images) {
			var now = new Date();
			document.images.captcha.src = '/captcha/captcha.php?' + now.getTime();
		}
	}
	
function reload_captchaa(name){
		if (document.images) {
			var now = new Date();
			document.images.captchaa.src = '/captcha/captcha.php?num=1&' + now.getTime();
		}
	}
	
function addLoadEvent(func, attr1, attr2) {
     var oldonload = window.onload;
     if (typeof window.onload != 'function') {
          window.onload = func;
     }else{
          window.onload = function() {
               if (oldonload) {
                    oldonload();
               }
               
               if(attr1 != '' && attr2 != ''){
                    func(attr1, attr2);
               }else 
               if(attr1 != '')
                    func(attr1);
               else
                    func();
    }
  }
}

//From(Back)-Cookie löschen
if(location.href.indexOf("details.html") < 1)
	setCookie('from','','kfz42.de','','/');

	
function setradio(feld, wert){	
     for (i=0; i<feld.length; i++){
               if(feld[i].value == wert){
                    feld[i].checked = true;
               }
     }
}
	
function changesearch(typ)
{
	//alert(typ);
	var frmGoogle = document.getElementById("cref_iframe2");
	var frmAll2c  = document.getElementById("an_search");

	if(typ == "googlesearch")
	{
		document.getElementById("googlesearch").style.display="inline";
		document.getElementById("all2csearch").style.display="none";
		//frmGoogle.categoryid.selectedIndex = frmAll2c.catid.selectedIndex;
		setradio(frmGoogle.searchtype,"google");
		if(document.getElementById("tx_ansearchit_form").value != document.getElementById("tx_ansearchit_form").defaultValue)
		{
			document.getElementById("google").value = document.getElementById("tx_ansearchit_form").value; 
			document.getElementById("google").style.color = "#000000";
			document.getElementById("google").style.backgroundImage = "";
		}
	}
	else
	{
		document.getElementById("googlesearch").style.display="none";
		document.getElementById("all2csearch").style.display="inline";
		frmAll2c.catid.selectedIndex = 0;
		setradio(document.an_search.searchtype,"all2c");
		if(document.getElementById("google").value != document.getElementById("google").defaultValue)
		{
			document.getElementById("tx_ansearchit_form").value = document.getElementById("google").value;
			document.getElementById("tx_ansearchit_form").style.color = "#000000";
		
		}
	}
}

function setCSEURL(combo,ts)
{
	var frmGoogle = document.getElementById("cref_iframe2");
	var v = combo.value;
	
	if(v!=9999)
	{
		if(v!=0)
			var url = 'http://www.kfz42.de/cse/cse_def.php?ts='+ts+'&categoryid='+v+'&objectid=0';
		else
			var url = 'http://www.kfz42.de/cse/cse_def.php?ts='+ts+'&objectid=0';
		
	}
	else
		var url = 'http://www.kfz42.de/cse/contextallsites.xml?ts='+ts;
		
	frmGoogle.cref.value = url;		
}

function reportbadcom(link)
{
	if(confirm("Möchten Sie diesen Kommentar wirklich melden?"))
	{
		location.href = link;
	}
}

function setgoogleurl(modus,formname,wert)
{
	var jetzt = new Date();
							
	if(modus == 1)
		var url='http:///all2c/cse_test/cse_def.php?ts=' + jetzt.getTime() + '&uid=' + wert;
	else if(modus == 2)
		setCSEURL(document.getElementById('categoryid'),jetzt.getTime());
	else
		var url='http://all2c.tv/all2c/cse_test/cse_def.php?ts=' + jetzt.getTime() + '&pid=' + wert;
	
	if(modus != 2)
	{			
		document.getElementById(formname).cref.value='';
		document.getElementById(formname).cref.value=url;
	}

}

//-----------------------------------------------------------------
// helper functions
function trim(str)
{
    return str.replace(/^(\s+)?(\S*)(\s+)?$/, '$2');
}

function ltrim(str)
{
    return str.replace(/^\s*/, '');
}

function rtrim(str)
{
    return str.replace(/\s*$/, '');
}

function delay(t)
{
    var t1, t2;
    t1 = new Date().getTime();
    t2 = t1;
    while ((t2 - t1) < t) {
        t2 = new Date().getTime();
    }
}

function getkeycode(e)
{
    if (document.layers)              return e.which;
    else if (document.all)            return event.keyCode;
    else if (document.getElementById) return e.keyCode;
    return 0;
}

function hideDiv(div)
{
    if (div) div.style.display = 'none';
}

function showDiv(div)
{
    if (div) div.style.display = 'block';
}

function divIsHidden(div)
{
    return div.style.display == 'none';
}




//-----------------------------------------------------------------
// timer function
function ajax_timer(fn,t)
{
    this.fn = fn; // function name
    this.t  = t;  // time in ms
    this.id = 0;  // timer id
}

ajax_timer.prototype.start = function()
{
    if (this.id > 0) this.reset();  // reset timer
    this.id = window.setTimeout(this.fn, this.t); // init new timerevent
}

ajax_timer.prototype.reset = function()
{
    if (this.id > 0) window.clearTimeout(this.id); // reset timer
    this.id = 0;
}

//-----------------------------------------------------------------

var _searchKeys = /[a-z0-9]/i;

function __getQueryString(result,query)
{
    q = ltrim(query);
    q = q.replace('\s+', ' ');
    if (q.length == 0 || !_searchKeys.test(q))
    {
        gsc_emptyresults(result);
        return '';
    }

    if (result.currentQuery && (result.currentQuery == q || result.tempQuery == q))
        return '';

    result.currentQuery = q;
    return q;
}

function __selectEntry(result,query)
{
	if(result.results)
	{
		//alert(result);
	    index = result.selectedIndex
	    
	    
	    if (index< 0) return;
	    if(query.value.lastIndexOf(",") > 0)
	    	query.value = query.value.substr(0,query.value.lastIndexOf(",")) + "," + result.results[index][0];
	    else
	    	query.value = result.results[index][0];
	  //  alert(__querytext);
	   // __querytext.innerHTML = result.results[index][0];
	}
	else
		__querytext.innerHTML = '';
}


function gsc_emptyresults(result)
{
    if (!result) return;
    result.innerHTML = '';
    result.numResults = 0;
    result.selectedIndex = 0;
    result.results = [];
    hideDiv(result);
}

function gsc_mouseover(id, qId, idx)
{
    elt = document.getElementById(id);
    elt.selectedIndex = idx;
    qElt = document.getElementById(qId);
    qElt.focus();
    gsc_highlightsel(elt);
}

function gsc_mouseout(id, idx)
{
    elt = document.getElementById(id);
    elt.selectedIndex = -1;
    gsc_highlightsel(elt);
}

function gsc_mouseclick(id, qId, idx)
{
	elt = document.getElementById(id);
    qElt = document.getElementById(qId);
    // qElt.value = elt.results[idx][0];
    __handleSelect(elt,qElt);
    // qElt.form.submit();
}

function gsc_handleup(elt, qElt)
{
    if (elt.numResults > 0 && divIsHidden(elt)) {
        showDiv(elt);
        return;
    }

    if (elt.selectedIndex == 0)
        return;
    else if (elt.selectedIndex < 0)
        elt.selectedIndex = elt.numResults - 1;
    else
        elt.selectedIndex--;
        
    if (
    	(elt.selectedIndex == 0) &&
    	(elt.results[elt.selectedIndex][0] == '[prev]')
       )
    {
    		x_getCities(elt.currentQuery,numberlines,elt.results[elt.selectedIndex][1],__region,__lang,callbackAJAX);
    }
    else
		gsc_highlightsel(elt, qElt);
}

function gsc_handledown(elt, qElt)
{
    if (elt.numResults > 0 && divIsHidden(elt)) {
        showDiv(elt);
        return;
    }

    if (elt.selectedIndex == elt.numResults - 1)
        return;
    else if (elt.selectedIndex < 0)
        elt.selectedIndex = 0;
    else
        elt.selectedIndex++;
    
    if (
    	(elt.selectedIndex == elt.numResults - 1) &&
    	(elt.results[elt.selectedIndex][0] == '[next]')
       )
    {
    		if(!elt.currentQuery)
    			elt.currentQuery = '';
    		x_getCities(elt.currentQuery,numberlines,elt.results[elt.selectedIndex][1],__region,__lang,callbackAJAX);
    }
    else
    	gsc_highlightsel(elt, qElt);
}

function gsc_highlightsel(elt, qElt)
{
    divs = elt.getElementsByTagName('div');

    for (i = 0; i < divs.length; i++)
    {
        if (i == elt.selectedIndex)
        {
            divs[i].className = 'srs';
            elt.tempQuery = elt.results[i][0];

            if (qElt)
            {
                qElt.value = elt.results[i][0];
                if (elt.currentQuery && qElt.createTextRange)
                {
                   r = qElt.createTextRange();
                   r.moveStart('character', elt.currentQuery.length);
                   r.moveEnd('character', qElt.value.length);
                   r.select();
                }
            }
        }
        else
            divs[i].className = 'sr';
    }
}

function gsc_addresult(elt, qElt, uid, label, sel)
{
    if (!elt) return;
    if (sel) elt.selectedIndex = elt.numResults;
    idx = elt.numResults;
    elt.results[idx] = [];
    elt.results[idx][0] = label;
    elt.results[idx][1] = uid;
    
    elt.numResults++;

    var _res = '';
    _res += '<div class="' + (sel ? 'srs' : 'sr') + '"'
         +  ' onmouseover="gsc_mouseover(\'' + elt.id + '\', \'' + qElt.id + '\', ' + idx + ')"'
         +  ' onmouseout="gsc_mouseout(\'' + elt.id + '\', ' + idx + ')"'
         +  ' onclick="gsc_mouseclick(\'' + elt.id + '\', \'' + qElt.id + '\', ' + idx + ')">';
    _res += '<span class="srt">' + label + '</span>';
    if (uid.length > 0)
        _res += '<span class="src">' + uid + '</span>';
    _res += '</div>';

    elt.innerHTML += _res;
}


__ajaxtimer = new ajax_timer('__ajaxtimer.ontimer()', 250);
__ajaxtimer.ontimer = function()
{
 _value = __getQueryString(__result, __query.value);
 
 if (_value.length == 0)
  return false;
 try
 {
   // AJAX CALL
   x_getCities(__query.value,numberlines,0,__region,__lang,callbackAJAX);
 }
 catch (e) { }

 return false;
}

	var __result;
  	var __query;
  	var __querytext;
  	var __region = 0;
  	var __autocomplete = false;
  	
  	var numberlines = 10;
  	
  
    function callbackAJAX(result)
    {     
    	gsc_emptyresults(__result);
    	eval("var resultArray = ("+result+")");
    	if (resultArray.length > 0)
        {
        	var selected = false;
        	var selectTmp = false;
        	for(i=0;i<resultArray.length;i++)
        	{
        		selectTmp = false;
        		if(!selected)
        		{
        			if(
        				((i==0) && (resultArray[i][1] != '[prev]')) ||
        				(i==1)
        			)
        			{
        				selected = true;
        				selectTmp = true;
        			}
        		}        		
        		gsc_addresult(__result, __query, resultArray[i][0],resultArray[i][1],selectTmp);
        	}
        	showDiv(__result);
    	}
    }
    
    function editmaincat()
    {
    	__querytext.innerHTML = __query.value;
                                    		
    	hideDiv(__result);
    	/*
    	hideDiv(document.getElementById('maincattext'));
    	showDiv(document.getElementById('maincatinput'));
    	hideDiv(document.getElementById('subcatinput'));
    	showDiv(document.getElementById('subcattext'));
    	*/
    	
    	__result = document.getElementById('regionresult');
  	   	__querytext  = document.getElementById('region');
  	   	__query  = document.getElementById('maincategory');
  	   	
  	   	__autocomplete = true;
  	   	__maincategory = 0;
  	   	
    	__query.focus();
    	
    } 
    function editsubcat()
    {
    	//__querytext.innerHTML = __query.value;
                                    		
    	hideDiv(__result);
    	/*
    	hideDiv(document.getElementById('maincatinput'));
    	showDiv(document.getElementById('maincattext'));
    	hideDiv(document.getElementById('subcattext'));
    	showDiv(document.getElementById('subcatinput'));
    	*/
    	__result = document.getElementById('subresult');
    	__querytext = document.getElementById('subcattext');
  	   	__query  = document.getElementById('subcategory');
  	   	
  	   	__autocomplete = true;
  	   	//__query.focus();
    	
    }
     
    function __handleSelect(result,query)
	{
  		__selectEntry(result,query);
  		hideDiv(result);
  		
  		if(result == document.getElementById('regionresult'))
  		{
  			__maincategory = result.results[result.selectedIndex][1];
  			//editsubcat();
		}	
	}


function checksearchform(unten)
{
	if(unten)
	{
		if((document.getElementById('tx_ansearchit_form_unten').value=='Suchwort') || (document.getElementById('tx_ansearchit_form_unten').value=='suchwort') || (document.getElementById('tx_ansearchit_form_unten').value==''))
		{
		 	alert('Bitte geben Sie ein Suchwort ein!');
		 	return false;
		}
		else
			return true;
	}
	else
	{
		if((document.getElementById('tx_ansearchit_form').value=='Suchwort') || (document.getElementById('tx_ansearchit_form').value=='suchwort') || (document.getElementById('tx_ansearchit_form').value==''))
		{
		 	alert('Bitte geben Sie ein Suchwort ein!');
		 	return false;
		}
		else
			return true;
	}
}