// ------------------------------------------------------------------
// FUP GENERALS
// ------------------------------------------------------------------

// Init
var loading_complete=false;
var wu_fe_init_stack=new Array();
window.onload=wu_fe_init;

// preloader
function wu_fe_init()
{
	// OnLoad Init
	for (var a=0; a<wu_fe_init_stack.length; a++) {eval(wu_fe_init_stack[a]);}
	
	loading_complete=true;
}


var wu_fe_key_pressed=0;
var wu_fe_hotkey_pressed=new Array(255);
var wu_fe_hotkey_href=new Array(255);
var wu_fe_click_handled=false;
var wu_fe_click_x=0;
var wu_fe_click_y=0;
var wu_fe_dropdown_active=null;

document.onclick=wu_fe_click;
document.onkeydown=wu_fe_keydown;
document.onkeyup=wu_fe_keyup;
function wu_fe_keycode(e)
{
	if (!e) {if (window.event) {e = window.event;} else {return 0;}}
	if (typeof(e.which)=='number') {return e.which;}
	if (typeof(e.keyCode)=='number') {return e.keyCode;}
	if (typeof(e.charCode)=='number') {return e.charCode;}
	return 0;
}
function wu_fe_keydown(e)	{wu_fe_key_pressed=wu_fe_keycode(e); wu_fe_hotkey_pressed[wu_fe_key_pressed]=true; return wu_fe_hotkeys(wu_fe_key_pressed);}
function wu_fe_keyup(e) 	{wu_fe_key_pressed=0; wu_fe_hotkey_pressed[wu_fe_keycode(e)]=false;}
function wu_fe_click(e) 	{if (window.event) {wu_fe_click_x=window.event.clientX; wu_fe_click_y=window.event.clientY;} else {wu_fe_click_x=e.pageX; wu_fe_click_y=e.pageY; wu_fe_dropdown_pos(wu_fe_dropdown_active);} if (wu_fe_click_handled) {wu_fe_click_handled=false;} else {wu_fe_dropdown_hide(wu_fe_dropdown_active);}}
function wu_fe_hotkeys(key)
{
	if (key==17 || (!wu_fe_hotkey_pressed[17] && key!=13 && key!=27)) {return true;}
	if (wu_fe_hotkey_href[key]) {eval(wu_fe_hotkey_href[key]); return false;}
	return true;
}
function wu_fe_dropdown_show(obj)
{
	if (wu_fe_dropdown_active) {wu_fe_dropdown_hide(wu_fe_dropdown_active); wu_fe_dropdown_active=null;}
	if (obj)
	{
		wu_fe_dropdown_pos(obj);
		wu_fe_dropdown_active=obj;
		wu_fe_click_handled=true;
	}
}
function wu_fe_dropdown_pos(obj)
{
	if (obj && window.event)
	{
		obj.style.posLeft = window.event.clientX + document.body.scrollLeft;
		obj.style.posTop = window.event.clientY + document.body.scrollTop;
		obj.style.visibility="visible";
	}
	else if (obj)
	{
		obj.style.left = wu_fe_click_x + window.pageXOffset;
		obj.style.top = wu_fe_click_y + window.pageYOffset;
		obj.style.visibility="visible";
	}
}
function wu_fe_dropdown_hide(obj)
{
	if (obj)
	{
		obj.style.visibility="hidden";
		if (wu_fe_dropdown_active==obj) {wu_fe_dropdown_active=null;}
	}
}
function wu_fe_textarea_maxlength(obj,maxlength,hint_id)
{
	if (!obj || !maxlength) {return;}
	var curlength=obj.value.length;
	
	if (curlength>maxlength)
	{
		obj.value=obj.value.substring(0,maxlength);
		curlength=maxlength;
	}

	if (hint_id)
	{
		document.getElementById(hint_id).innerHTML=(maxlength-curlength);
	}
}



// ------------------------------------------------------------------
// Teaser Logs
// ------------------------------------------------------------------
var teaser_log_done=false;
function teaser_log(url,obj)
{
	// asynchroner log loader
	window.setTimeout("teaser_log_load('"+url+"')",1);
	
	// adview-mode (kein link objekt)
	if (!obj) {return true;}

	// load-control
	var now=new Date().getTime();
	var time_limit=now+500;
	while(!teaser_log_done && now<time_limit) {now=new Date().getTime();}
		
	return true;
}
function teaser_log_load(url)
{
	teaser_log_done=false;
	var myscript=document.createElement("script");
	myscript.setAttribute("src",url+"&cachekiller="+new Date().getTime());
	document.getElementsByTagName("body")[0].appendChild(myscript);
}



// ------------------------------------------------------------------
// MouseOver
// ------------------------------------------------------------------
function tn_lo(obj) 		{if (obj.parentNode.className!="tn_on") {obj.parentNode.className="tn";}}
function tn_hi(obj) 		{if (obj.parentNode.className!="tn_on") {obj.parentNode.className="tn_hi";}}
function tn_on(a_id) 	{var a_obj=document.getElementById(a_id); if (a_obj) {a_obj.parentNode.className="tn_on";}}
function tn_user_lo(obj){tn_lo(obj.parentNode.parentNode.parentNode.parentNode);}
function tn_user_hi(obj){tn_hi(obj.parentNode.parentNode.parentNode.parentNode);}
function sn_lo(obj) 		{obj.parentNode.className="sn";}
function sn_hi(obj) 		{obj.parentNode.className="sn_hi";}
function sn_on(a_id) 	{var a_obj=document.getElementById(a_id); if (a_obj) {a_obj.className="sn_on";}}
function img_lo(obj) 	{obj.src=obj.src.replace(/_(lo|hi|on)\./,"_lo.");}
function img_hi(obj) 	{obj.src=obj.src.replace(/_(lo|hi|on)\./,"_hi.");}



// ------------------------------------------------------------------
// General
// ------------------------------------------------------------------

// global params
var my_user_id=0;
var my_register_href="/";

// generische PopUp-Funktion (u.a. für URLs aus dem Linkbuilder)
function popup(u,w,h)
{
	if (!w) {w=475;}
	if (!h) {h=475;}
	window.open(u,"_blank","width="+w+",height="+h+",scrollbars=yes,resizable=yes");
}

// MyPopUp Fenster öffnen
function pop_my_open(url) {var win=window.open(url,"_blank","width=740,height=450,left=30,top=50,scrollbars=yes,resizable=yes");}


// MyPopUp mit Link-URL öffnen
function pop_my(obj,force)
{
	if (force || my_user_id) {pop_my_open(obj.href);} else {plop_open(my_register_href);}
	return false;
}



// PopUp => Main
// Main  => Blank
function plop(obj)
{
	plop_open(obj.href);
	return false;
}
function plop_open(url)
{
	if (window.name=="main")
	{
		document.location.href=url;
	}
	else if (opener && !opener.closed && opener.name=="main")
	{
		opener.location.href=url;
		opener.focus();
	}
	else
	{
		var win=window.open(url,"_blank");
		win.focus();
	}
}



// ClubMail - Notify
var pop_clubmail_notify_win=null;
function pop_clubmail_notify(url)
{
	if (boss_active) {return;}
	if (!pop_clubmail_notify_win || pop_clubmail_notify_win.closed)
	{
		pop_clubmail_notify_win=window.open(url,"pop_clubmail_notify_win","width=200,height=150,left=600,top=150,scrollbars=no");
	}
	if (pop_clubmail_notify_win) {pop_clubmail_notify_win.focus();}
}



// Clubmail - Notify => Mailbox
function plop_clubmail_mailbox(obj)
{
	plop(obj);
	window.close();
	return false;
}



// ------------------------------------------------------------------
// Chat Popup
// ------------------------------------------------------------------
var pop_chat_win=null;

// Formular ins Chat-PopUp abschicken [public]
function pop_chat_submit()
{
	if (document.f_chat_login.login_name && (document.f_chat_login.login_name.value=="Gast" || document.f_chat_login.login_name.value==""))
	{
		alert("Bitte gebe erst deinen Namen für den Chat in das Textfeld ein!\nDanke :-)");
	}
	else
	{
		if (window.name!="pop_chat_win") {pop_chat();}
		document.f_chat_login.method="post";
		document.f_chat_login.target="pop_chat_win";
		setTimeout("document.f_chat_login.submit()",250);
	}
}

// Fenster Chat-PopUp öffnen [public]
function pop_chat(wurl)
{
	if (!wurl) {wurl = 'about:blank';}
	var wname = 'pop_chat_win';
	var wx = 780;
	var wy = 520;
	wfeatures='width='+(wx-4)+',height='+(wy-4)+',resizeable=no,status=no,menubar=no,locationbar=no';
	pop_chat_win = window.open(wurl, wname, wfeatures);
	pop_chat_win.focus();
}



// ------------------------------------------------------------------
// Memo Popup
// ------------------------------------------------------------------
var pop_memo_win=null;

// Fenster Memo-PopUp öffnen
function pop_memo(url)
{
	var wurl = url;
	var wname = 'pop_memo_win';
	var wx = 780;
	var wy = 520;
	wfeatures='width='+(wx-4)+',height='+(wy-4)+',resizeable=no,status=no,menubar=no,locationbar=no';
	pop_memo_win = window.open(wurl, wname, wfeatures);
	pop_memo_win.focus();
}



// ------------------------------------------------------------------
// Boss
// ------------------------------------------------------------------
wu_fe_hotkey_href[27]='boss();';
var boss_active=false;
var boss_node_backup=new Array();
var boss_body_backup="";
var boss_title_backup="";
function boss()
{
	var boss_obj=document.getElementById('boss');
	var body_obj=document.getElementById('body');
	if (!boss_obj || !body_obj) {return;}
	if (boss_active)
	{
		boss_active=false;
		boss_obj.style.display='none';
		body_obj.className=boss_body_backup;
		document.title=boss_title_backup;
		for (var a=0; a<body_obj.childNodes.length; a++)
		{
			if (body_obj.childNodes[a].id!='boss')
			{
				body_obj.childNodes[a].style.display=boss_node_backup[a];
			}
		}
		
	}
	else
	{
		boss_active=true;
		boss_obj.style.display='block';
		boss_body_backup=body_obj.className;
		body_obj.className="";
		boss_title_backup=document.title;
		document.title='Tabelle 1';
		for (var a=0; a<body_obj.childNodes.length; a++)
		{
			if (body_obj.childNodes[a].id!='boss')
			{
				boss_node_backup[a]=body_obj.childNodes[a].style.display;
				body_obj.childNodes[a].style.display='none';
			}
		}
	}
}



// ------------------------------------------------------------------
// Gallery Zoom im Personal Popup
// ------------------------------------------------------------------
var gallery_link_id_default='';
var gallery_src=new Array();
var gallery_txt=new Array();
function gallery_init()
{
	var link_id=window.location.hash;
	if (link_id) {link_id=link_id.substring(1,link_id.length);}
	if (!link_id || !gallery_src[link_id]) {link_id=gallery_link_id_default;}
	if (link_id) {gallery_zoom(link_id);}
}
function gallery_zoom(link_id)
{
	document.images["img_big"].src=document.getElementById("img_"+link_id).src;
	document.images["img_big"].src=rot13(gallery_src[link_id]);
	
	document.getElementById("img_headline").innerHTML=gallery_txt[link_id];
	document.getElementById("img_headline").style.display=gallery_txt[link_id] ? "block" : "none";
	
	var links=document.getElementsByTagName("a");
	for (var a=0; a<links.length; a++) {if (links[a].className=="img_link_on") {links[a].className="img_link";}}
	document.getElementById("a_"+link_id).className="img_link_on";
}



// ------------------------------------------------------------------
// Allgmeines Image Popup
// ------------------------------------------------------------------
function img_popup(u,w,h)
{
	if (!w) {w=475;}
	if (!h) {h=475;}
	var win=window.open(u,"_blank","width="+(w+0)+",height="+(h+0)+",scrollbars=no,resizable=yes");
	if (win)
	{
		win.document.open();
		win.document.write('<html>');
		win.document.write('<body id="body" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgcolor="#000000" text="#ffffff" link="#dd0000" vlink="#dd0000" alink="#dd0000">');
		win.document.write('<table cellspacing="0" cellpadding="0" border="0" width="100%" height="100%"><tr><td align="center" valign="middle">');
		win.document.write('<a href="javascript:window.close();"><img src="'+u+'" width="'+w+'" height="'+h+'" alt="" border="0" /></a>');
		win.document.write('</td></tr></table>');
		win.document.write('</body>');
		win.document.write('</html>');
		win.document.close();
	}
}



// ------------------------------------------------------------------
// Allgmeine Upload Preview
// ------------------------------------------------------------------
function preview_upload(obj)
{
	if (!obj || !obj.name) {return;}
	var IE=navigator.appName.indexOf("Microsoft Internet Explorer") != -1;
	var base_name=obj.name.substr(0,obj.name.length-7);
	var img_obj=document.getElementById(base_name+"_preview");
	var img_box_obj=document.getElementById(base_name+"_preview_box");	
	var val=obj.value;

	if (IE && img_obj)
	{
		if (obj.value)
		{
			img_obj.src="file://"+obj.value;
			if (img_box_obj) {img_box_obj.style.display="block";}
		}
		else
		{
			img_obj.src="/img/_.gif";
			if (img_box_obj) {img_box_obj.style.display="none";}
		}
	}

	var ele=obj.form.elements;	
	if (!ele) {return;}
	for (var a=0; a<ele.length; a++)
	{
		if (ele[a].name!=base_name+"_modify") {continue;}
		else if (val && ele[a].value==3) {ele[a].checked=true; break;}
		else if (!val && ele[a].value==1) {ele[a].checked=true; break;}
	}
}


// ------------------------------------------------------------------
// Online Liste
// ------------------------------------------------------------------
function draw_user_online(profil_url,clubmail_url,gallery_src,user_name,icon_score_num,icon_special,age,gender,icon_verify,special_type)
{
	var html='';
	
	html+='<tr class="bg_1">';
	html+='<td><a href="'+profil_url+'" onclick="return pop_my(this);"><img src="'+gallery_src+'" width="60" height="45" border="0" alt="" /></a></td>';
	html+='<td></td>';
	html+='<td class="c_small">';
	html+='<a href="'+profil_url+'" onclick="return pop_my(this);">'+user_name+'</a>';
	html+='&nbsp;<img src="/img/heart/'+icon_score_num+'.gif" width="15" height="15" border="0" alt="" align="absmiddle" />';
	if (icon_special)	{html+=icon_special;}
	html+='<br />';
	if (age)				{html+=age;}
	if (gender)			{html+='<img src="/img/icon/15/'+gender+'.gif" width="15" height="15" align="absmiddle" />';}
	if (icon_verify)	{html+=icon_verify;}
	if (special_type)	{html+='<span class="c_hint_lo"> '+special_type+'</span>';}
	if (clubmail_url)
	{
		html+='<div style="text-align:right;">';
		html+='<a href="'+clubmail_url+'" onclick="return pop_my(this);" onmouseover="img_hi(this.firstChild);" onmouseout="img_lo(this.firstChild);">';
		html+='<img src="/img/clubmail_button_lo.gif" width="15" height="15" border="0" alt="ClubMail an '+user_name+'">';
		html+='</a>';
		html+='</div>';
	}
	
	html+='</td>';
	html+='</tr>';
	html+='<tr><td colspan="3"><img src="/img/_.gif" width="1" height="1" alt="" /></td></tr>';

	document.write(html);	
}



function rot13(txt)
{
	var enc='';
	var chr='';
	var ord=0;
	var abc="ElPauLoxkWOmTnHdVehijRSpIDqQrZtgXvMwNyzBfCFsGbJKcAUY";
	for (var a=0; a<txt.length; a++)
	{
		chr = txt.substr(a,1);
		ord = chr.charCodeAt(0);
		if (ord<65 || (ord>90 && ord<97) || ord>122) {enc+=chr;}
		else
		{     
          for(i=0; i<abc.length; i++)
          {
          	if (txt.substr(a,1) != abc.substr(i,1)) {continue;}
				enc	+=	i<13 ? abc.substr((i+13)%abc.length, 1)
						:	i>12&&i<26 ? abc.substr((i+39)%abc.length, 1) 
						:	i>25&&i<39 ? abc.substr((i+65)%abc.length,1) 
						:	abc.substr((i+91)%abc.length, 1);
          }
      }
  }
  return enc;
}