var win_last = '';

function win_show(name)
{
	slide_stop();
	var ele = document.getElementById(name);
	if( ele )
	{
		if( win_last == name )
		{
			win_hide(name);
			return;
		}
		if( win_last != '' )
		{
			win_hide(win_last);
		}
		ele.style.display = "block";
		win_last = name;
		if( name == 'win_mark' )
		{
			var ele2 = document.getElementById('mark_new');
			if( ele2 )
			{
				ele2.style.display = "block";
			}
		}
	}
	return false;
}

function win_hide(name)
{
	slide_start();
	var ele = document.getElementById(name);
	if( ele )
	{
		ele.style.display = "none";
		win_last = '';
	}
	if( name == 'win_mark' )
	{
		var ele2 = document.getElementById('mark_new');
		if( ele2 )
		{
			ele2.style.display = "none";
		}
	}
	return false;
}

var mark_last = '';

function mark_show(name)
{
	if( win_last == 'win_mark' ) return;
	var ele = document.getElementById(name);
	if( ele )
	{
		if( mark_last == name )
		{
			mark_hide(name);
			return;
		}
		if( mark_last != '' )
		{
			mark_hide(mark_last);
		}
		ele.style.display = "block";
		mark_last = name;
	}
}

function mark_hide(name)
{
	if( win_last == 'win_mark' ) return;
	var ele = document.getElementById(name);
	if( ele )
	{
		ele.style.display = "none";
		mark_last = '';
	}
}

function get_position_of(ele)
{
	var x=0;
	var y=0;
	
	while( ele.offsetParent )
	{
		x += ele.offsetLeft;
		y += ele.offsetTop;
		ele = ele.offsetParent;
	}
	x += ele.offsetLeft;
	y += ele.offsetTop;

	return {x:x,y:y};
}

function get_mouse_pos(evn)
{
	if( !evn ) evn = window.event;
	if( evn.pageX || evn.pageY )
	{
		return {x:evn.pageX,y:evn.pageY};
	}
	else
	{
		var body = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ? window.document.documentElement : window.document.body;
		return {
			x:evn.clientX + body.scrollLeft - body.clientLeft,
			y:evn.clientY + body.scrollTop - body.clientTop
		};
	}
}

function get_mouse_in(evn,ele)
{
	var elem_pos = get_position_of(ele);
	var mous_pos = get_mouse_pos(evn);
	return {x:mous_pos.x - elem_pos.x,y:mous_pos.y - elem_pos.y};
}

function picclick(evn)
{
	evn = evn || window.event;
	var elepic = document.getElementById('photoobject');
	if( elepic )
	{
		var cpos = get_mouse_in(evn,elepic);
		document.getElementsByName('mark_xpos')[0].value = cpos.x;
		document.getElementsByName('mark_ypos')[0].value = cpos.y;
		var elemark = document.getElementById('mark_new');
		if( elemark )
		{
			elemark.style.left = (cpos.x-40) + "px";
			elemark.style.top = (cpos.y-40) + "px";
		}
		if( win_last != 'win_mark' )
		{
			win_show('win_mark');
		}
	}	
}

function install_picclick(name)
{
	var ele = document.getElementById(name);
	if( ele )
	{
		ele.onclick = picclick;
	}
}

function jumpto(target)
{
	window.location.href= target;
	return false;
}

function jumptoask(target,question)
{
	var answer = confirm(question);
	if( answer ) jumpto(target);
	return false;
}

function bbcode(aTag, eTag)
{
  var input = document.forms['form_comment'].elements['cmt_text'];
  input.focus();
  
 	if(typeof document.selection != 'undefined')
  {
    var range = document.selection.createRange();
    var insText = range.text;
    
    if( aTag == '[URL]' )
	  {
	    var linkname = insText;
	    if( linkname == "" || linkname == null )
	    {
	      linkname = prompt('Geben Sie den Namen des Hyperlinks ein (optional):','');
	    }
	    if( linkname == null ) return;
  		var linklink = prompt('Geben Sie die volle Adresse des Links ein:','http://');
  		if( linklink == null ) return;
  		
  		if ((linkname != null) && (linkname != ""))
			{
				aTag = "[URL="+linklink+"]";
	   	  insText = linkname;
	    }
			else
			{
				insText = linklink;
			}
	  }
	  else if( aTag == '[IMG]' )
  	{
  		var piclink = prompt('Geben Sie die volle Adresse des Bildes ein:','http://');
  		if( piclink == null ) return;
  		insText = piclink;
  	}
	  
	  range.text = aTag + insText + eTag;
    range = document.selection.createRange();
    
    if (insText.length == 0)
    {
     	range.move('character', -eTag.length);
    }
    else
    {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  else if(typeof input.selectionStart != 'undefined')
  {
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    
    if( aTag == '[URL]' )
	  {
	    var linkname = insText;
	    if( linkname == "" || linkname == null )
	    {
	      linkname = prompt('Geben Sie den Namen des Hyperlinks ein (optional):','');
	    }
	    if( linkname == null ) return;
  		var linklink = prompt('Geben Sie die volle Adresse des Links ein:','http://');
  		if( linklink == null ) return;
  		
  		if ((linkname != null) && (linkname != ""))
			{
				aTag = "[URL="+linklink+"]";
	   	  insText = linkname;
	    }
			else
			{
				insText = linklink;
			}
	  }
	  else if( aTag == '[IMG]' )
  	{
  		var piclink = prompt('Geben Sie die volle Adresse des Bildes ein:','http://');
  		insText = piclink;
  	}
    
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    var pos;
    if (insText.length == 0)
    {
      pos = start + aTag.length;
    }
    else
    {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  else
  {
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos))
    {
      pos = 0;
    }
    if(pos > input.value.length)
    {
      pos = input.value.length;
    }
    //var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + eTag + input.value.substr(pos);
  }
}

var ticker_left;
var ticker_content_size;
function ticker_init()
{
	var ele = document.getElementById("ticker_bar");
	if( !ele ) return;
	
	ele.style.position = "relative";
	ticker_content_size = ele.offsetWidth;
	ticker_content_left = 760;
	ticker_tick();
}

function ticker_tick()
{
	var ele = document.getElementById("ticker_bar");
	ticker_content_left -= 2;
	if( ticker_content_left < -ticker_content_size ) ticker_content_left = 760;
	ele.style.left = ticker_content_left + "px";
	window.setTimeout("ticker_tick()", 30);
}

function hide_infowin()
{
	var iw = document.getElementById('infowin');
	if( iw )
	{
		iw.style.display = 'none';
	}
}

function input_expand()
{
	var tb = document.getElementById('tb_addstatus');
	if( tb )
	{
		tb.style.height = '60px';
		tb.value = '';
		var sb = document.getElementById('sb_addstatus');
		if( sb )
		{
			sb.style.display = 'block';
		}
	}
}

function input_deflate()
{
	var tb = document.getElementById('tb_addstatus');
	if( tb )
	{
		tb.style.height = '16px';
		tb.value = 'Was machst du gerade';
		var sb = document.getElementById('sb_addstatus');
		if( sb )
		{
			sb.style.display = 'none';
		}
	}
}

function jx_mark_readen(id_event,img_name)
{
	var img = document.getElementById(img_name);
	if( img )
	{
		ajax_invoke('readen',id_event)
		img.src = 'gfx/seen.gif';
	}
}

function ajax_invoke(command,param1)
{
	var req = null;
	try
	{
		req = new XMLHttpRequest();
	}
	catch(ms)
	{
		try
		{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(nonms)
		{
			try
			{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(failed)
			{
				req = null;
			}
		}
	}
	
	if( req != null )
	{
		req.open("GET","xpipe?a=" + command + "&p1=" + param1,true);
		req.onreadystatechange = function()
		{
			switch( req.readyState )
			{
				case 4:
					if( req.status != 200 )
					{
						return false;
					}
					else
					{
						return true;
					}
					break;
				default:
					return false;
					break;
			}
		}
		req.send(null);
	}
	else
	{
	}
}

function form_sending(form_name)
{
	if( parent.iframe_region )
	{
		document.forms[form_name].real_region.value=parent.iframe_region.document.form_region.elements[0].value;
	}
}

function translate_ticker(_lang)
{
	var ele = document.getElementById("ticker_bar");
	var text = ele.innerHTML;
  google.language.detect(text, function(result)
  {
    if( !result.error && result.language )
    {
    	var lang_from = result.language;
      google.language.translate(text, result.language, _lang, function(result)
      {
        if (result.translation)
        {
        	ele.innerHTML = result.translation;
        	ticker_init();
        }
      });
    }
  });
}

function translate(_id,_lang)
{
	var text = document.getElementById("cmt_"+_id).innerHTML;
  google.language.detect(text, function(result)
  {
    if( !result.error && result.language )
    {
    	var lang_from = result.language;
      google.language.translate(text, result.language, _lang, function(result)
      {
        var translated = document.getElementById("res_"+_id);
        if (result.translation)
        {
					translated.innerHTML = result.translation;
					google.language.getBranding(document.getElementById("brn_"+_id));
					document.getElementById("ttx_"+_id).style.display = "none";
					document.getElementById("tct_"+_id).style.display = "block";
					if( lang_from == 'undefined' ) lang_from = '';
					document.getElementById("flg_"+_id).innerHTML = '<img class="flag" src="/gfx/flags/' + lang_from + '.gif"><img class="flag" src="/gfx/trans.gif" style="border:none;"><img class="flag" src="/gfx/flags/' + _lang + '.gif">';
        }
      });
    }
  });
}
