//überprüft, ob die eingabe in der textarea nicht länger als length zeichen ist und reduziert ggf die Eingabe
function check_maxlength(id, length, zeilen) {
  str = document.getElementById(id).value;
  
  area= document.getElementById(id);
  zeichen= document.getElementById("anz_chars_"+id);

  var rows = document.getElementById(id).value.split("\n");
  if (zeilen && rows.length>1) {
    alert("Die Verwendung von Zeilenumbrüchen ist an dieser Stelle nicht erlaubt.");
    str = escape(str).replace(/%0D/g, "");
    str = str.replace(/%0A/g, "");
    str = unescape(str);
    document.getElementById(id).value = str;  
    return;
  }

  var maxlength=length;
  var akt_length=area.value.length-rows.length+1;

  if (navigator.appName.indexOf("Netscape")!=-1)
    akt_length=area.value.length;
  else
    akt_length=area.value.length-rows.length+1;

  if (akt_length > length) {
    alert("Eingabe ist auf "+length+" Zeichen beschränkt. Eingabe wird auf "+length+" Zeichen reduziert.");
    str = str.substring(0, length);
    document.getElementById(id).value = str;  
  }
  
}

function display_maxlength(id) {
  str = document.getElementById(id).value;
  
  area= document.getElementById(id);
  zeichen= document.getElementById("anz_chars_"+id);

  var rows = document.getElementById(id).value.split("\n");
  var akt_length=area.value.length-rows.length+1;

  if (navigator.appName.indexOf("Netscape")!=-1)
    akt_length=area.value.length;
  else
    akt_length=area.value.length-rows.length+1;

	zeichen.innerHTML= akt_length;

}

function discussForum(id){
document.location.href= 'http://www.vorbilder.info/dev/index.php?new_page=Diskussion&forums_id='+id;
  
}

function check_boxes(type){
	if(type == 'agree'){
		if(document.forms.sub.hausordnung.checked == true && document.forms.sub.ds_check.checked == true){
			document.forms.sub.submit();
		}
	else alert('Bitte bestätigen Sie jeweils, dass sie die Hausordnung und die Datenschutzinformationen gelesen und anerkannt haben.');
	}
	else{
		top.location.href="../index.php";
}
}

function chng_focus(phash)
{
	window.location.hash = phash;
}

function window_open(url,winName,width,height)
{
	xpos = (screen.width-width)/2;
	ypos = (screen.height-height)/2;
	options = "scrollbars=1,width="+width+",height="+height+",left="+xpos+",top="+ypos+"position:absolute";
	window.open(url,winName,options);
}

function forumLogin( returnto ){
  document.location.href='http://www.vorbilder.info/dev/index.php?new_page=refresh&ret='+returnto;
}

function doHighlight(bodyText, searchTerm, highlightStartTag, highlightEndTag) 
{
	// find all occurences of the search term in the given text,
	// and add some "highlight" tags to them (we're not using a
	// regular expression search, because we want to filter out
	// matches that occur within HTML tags and script blocks, so
	// we have to do a little extra validation)
	var newText = "";
	var i = 0, j = 0;
	var lcSearchTerm = searchTerm.toLowerCase();
	var lcBodyText = bodyText.toLowerCase();

	while ((i = lcBodyText.indexOf(lcSearchTerm, i)) > 0) {
		if (lcBodyText.lastIndexOf(">", i) >= lcBodyText.lastIndexOf("<", i)) {
			if (lcBodyText.lastIndexOf("/script>", i) >= lcBodyText.lastIndexOf("<script", i)) {
				newText += bodyText.substring(j, i) + highlightStartTag + bodyText.substr(i, searchTerm.length) + highlightEndTag;
				i += searchTerm.length;
				j = i;
				continue;
			}
		}
		i++;
	}
	newText += bodyText.substring(j, bodyText.length);

	return newText;
}

function highlightSearchTerms(searchText)
{
	if (!document.body || typeof(document.body.innerHTML) == "undefined") {
		return false;
	}
  
	var bodyText = document.body.innerHTML;
	searchArray = searchText.split(" ");

	var j = 0;
	for (var i = 0; i < searchArray.length; i++) {
		if (j > 9) j = 0;
		bodyText = doHighlight(bodyText, searchArray[i], '<span class="st'+j+'">', '</span>');
		j++;
	}

	document.body.innerHTML = bodyText;
	return true;
}

function rs_txt_box(name, col_inc, row_inc)
{
        if (IE4) {  
                var obj = document.all[name];
        } else {
                var obj = document.getElementById(name);
        }                                   

        obj.rows += row_inc;           
        obj.cols += col_inc;            
}

function navigate(navigation)
{
		document.navigationform.new_page.value = navigation;
		document.navigationform.submit();
}
function banner_reload(cat_id, name){
  if(cat_id > 0){
document.getElementById("forenhead").innerHTML= '<img src="template/default/inc/images/red_dot.jpg">&nbsp;&nbsp;Foren: '+name;
	document.navigationform.new_page.value = "Foren_"+name;
/*    parent.banner_rectangle.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?cat='+cat_id+'&type=Rectangle';
    parent.banner_head.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?cat='+cat_id+'&type=Head';
   parent.banner_skyscraper.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?cat='+cat_id+'&type=Skyscraper';
*/
  }
  else{
	document.getElementById("forenhead").innerHTML= "Foren: "+name;
/*    parent.banner_rectangle.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?site=Foren&type=Rectangle';
    parent.banner_head.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?site=Foren&type=Head';
    parent.banner_skyscraper.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?site=Foren&type=Skyscraper';*/
  }
}

function check_frame(){
  return true;
}

function banner_reload_member(){
/*  parent.banner_rectangle.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?site=Mitglieder&type=Rectangle';
  parent.banner_head.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?site=Mitglieder&type=Head';
  parent.banner_skyscraper.location.href = 'http://www.vorbilder.info/dev/inc/show_banner.php?site=Mitglieder&type=Skyscraper';*/
}

function resize_me(n)
{
    d=10;
    ifObj=document.getElementsByTagName('iframe')[0];
    ifObj.style.height=parseInt(window.frames[n].document.getElementsByTagName('body')[0].scrollHeight)+'px';
	alert(window.frames[n].document.getElementsByTagName('body')[0].scrollWidth);
	alert(window.frames[n].document.getElementsByTagName('body')[0].clientWidth);
	alert(window.frames[n].document.getElementsByTagName('body')[0].offsetWidth);
	document.getElementsByTagName('iframe')[0].style.width = window.frames[n].document.getElementsByTagName('body')[0].scrollWidth; 

	 d=5;
	 ifObj=document.getElementsByName(n)[0];
	 p=(document.all)?'scroll':'offset';


	 eval("ifObj.style.width=window.frames[n].document.getElementsByTagName('body')[0]."+p+"Width+"+d);
	 eval("ifObj.style.height=window.frames[n].document.getElementsByTagName('body')[0]."+p+"Height+"+d);
	 alert(window.frames[n].document.getElementsByTagName('body')[0].scrollWidth);
		window.frames[n].document.getElementsByName('footy')[0].style.width = 11;
		alert(window.frames[n].document.getElementsByName('footy')[0].offsetLeft+"jklk");

}

function my_resize(for_id){

	var a = getPosition();
	ifObj=document.getElementsByTagName('iframe')[1];
	ifObj.style.height=parseInt(window.frames['iFrameName'].document.getElementsByTagName('body')[0].scrollHeight)+'px';
  scroll(0,0);
}

function forum_resize(for_id){

	var a = getPosition();
	ifObj=document.getElementsByTagName('iframe')[1];
	ifObj.style.height=parseInt(window.frames['iFrameName'].document.getElementsByTagName('body')[0].scrollHeight)+'px';
  scroll(0,0);
}	
function getPosition()
/* der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
   des Objekts element */
{
  var elem=window.frames['iFrameName'].document.getElementById("bildchen");
  var tagname="",x=0,y=0;
  
/* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
   wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
  while ((typeof(elem)=="object")&&(typeof(elem.tagName)!="undefined"))
  {
    y+=elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
    x+=elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
    tagname=elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */

/* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */
    if (tagname=="BODY")
      elem=0;

/* wenn elem ein Objekt ist und offsetParent enthaelt
   Offset-Elternelement ermitteln */
    if (typeof(elem)=="object")
      if (typeof(elem.offsetParent)=="object")
        elem=elem.offsetParent;
  }

/* Objekt mit x und y zurueckgeben */
  position=new Object();
  position.x=x;
  position.y=y;
//  return(position);
  return(position);
}

function alertPosition(elementId)
/* gibt eine Meldung mit x und y des zu elementId gehoerenden Elements aus */
{
  var a,element;

/* Element-Objekt zur ID ermitteln */
  element=document.getElementById(elementId);
 
/* Position bestimmen und melden */
  a=getPosition(element);
  window.alert("Position "+elementId+": ("+a.x+","+a.y+")");
}

function calculus(id){
	height = document.getElementById(id).offsetHeight;
	document.getElementById('header_pic').style.height=height+"px";
}

/********************************** Forum JS **********************************/
/* edit box stuff */
function insertTag(obj, stag, etag)
{
	if (navigator.userAgent.indexOf("MSIE") > -1) {
    insertTagIE(obj, stag, etag);
	} else if (window.getSelection && navigator.userAgent.indexOf("Safari") == -1) {
		insertTagMoz(obj, stag, etag);
	} else {
		insertTagNS(obj, stag, etag);
	}
	obj.focus();
}

/* Javascript für den Netscape */
function insertTagNS(obj, stag, etag)
{
	obj.value = obj.value+stag+etag;
}

/* Javascript für den Mozilla */
function insertTagMoz(obj, stag, etag)
{
	var txt = window.getSelection();

	if (!txt || txt == '') {
		var t = document.getElementById('txtb');
		var h = document.getElementsByTagName('textarea')[0];
		if (t.selectionStart == t.selectionEnd) {
			t.value = t.value.substring(0, t.selectionStart) + stag + etag +  t.value.substring(t.selectionEnd, t.value.length);
			return;
		}
		txt = t.value.substring(t.selectionStart, t.selectionEnd);
		if (txt) {
			t.value = t.value.substring(0, t.selectionStart) + stag + txt + etag +  t.value.substring(t.selectionEnd, t.value.length);
			return;
		}
	}
	obj.value = obj.value+stag+etag;
}

/* Javascript für den IE */
function insertTagIE(obj, stag, etag)
{
	var r = document.selection.createRange();
	if( document.selection.type == 'Text' && (obj.value.indexOf(r.text) != -1) ) {
		a = r.text;
		r.text = stag+r.text+etag;
		if ( obj.value.indexOf(document.selection.createRange().text) == -1 ) {
			document.selection.createRange().text = a;
		}
	}
	else {
          insertAtCaret(obj, stag+etag);	
  }
}

function dialogTag(obj, qst, def, stag, etag)
{
	var q = prompt(qst, def);
	if ( !q ) return;
	stag = stag.replace(/%s/i, q);
	insertTag(obj, stag, etag);
}

function url_insert()
{
	if ( check_selection() )
		dialogTag(document.post_form.msg_body, 'Location:', 'http://', '[url=%s]', '[/url]');
	else
		dialogTag(document.post_form.msg_body, 'Location:', 'http://', '[url]%s[/url]', '');
}

function check_selection()
{
	var rn;
	var sel;
	var r;

	if ( document.layers ) return 0;
	if ( navigator.userAgent.indexOf("MSIE") < 0 ) return 0;

	r = document.selection.createRange();

	if ( r.text.length && (document.post_form.msg_body.value.indexOf(r.text) != -1) ) {
		a = document.selection.createRange().text;
		rn = Math.random();
		r.text = r.text + ' ' + rn;
		
		if ( document.post_form.msg_body.value.indexOf(rn) != -1 ) {
			sel = 1;
		} else {
			sel = 0;
		}
		
		document.selection.createRange().text = a;
	}
	
	return sel;
}

function email_insert()
{
	if ( check_selection() ) {
		dialogTag(document.post_form.msg_body, 'Email:', '', '[url=mailto:%s]', '[/url]');
	}	
	else
		dialogTag(document.post_form.msg_body, 'Email:', '', '[email]%s[/email]', '');
}

function image_insert()
{
	dialogTag(document.post_form.msg_body, 'Image URL:', 'http://', '[img]%s[/img]', '');
}

function insertParentTagIE(stag, etag)
{
	r=window.opener.document.selection.createRange();
	obj = window.opener.document.post_form.msg_body;
	
	if( window.opener.document.selection.type == 'Text' && (obj.value.indexOf(r.text) != -1) ) {
		a = r.text;
		r.text = stag+r.text+etag;
		if ( obj.value.indexOf(window.opener.document.selection.createRange().text) == -1 ) {
			window.opener.document.selection.createRange().text = a;
		}
	}
	else insertAtCaret(obj, stag+etag);
}

function insertParentTagNS(stag, etag)
{
	window.opener.document.post_form.msg_body.value = window.opener.document.post_form.msg_body.value + stag + etag;
}

function layerVis(layer, on)
{
	thisDiv = document.getElementById(layer);
	if (thisDiv) {
		if (thisDiv.style.display == "none") {
			thisDiv.style.display = "block";
		} else {
			thisDiv.style.display = "none";
		}
	}
}

function fud_msg_focus(mid_hash)
{
	if (!window.location.hash) {
		self.location.replace(window.location+"#"+mid_hash);
	}
}


function insertAtCaret(textEl, text)
{
	if (textEl.createTextRange && textEl.caretPos)
	{
		var caretPos = textEl.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
	}
	else 
		textEl.value  =  textEl.value + text;
}

function storeCaret(textEl)
{
	 if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}

function check_bericht_art(name, id){
        /* Feldnamen */
  switch (name){
    case 'Autor':
      document.getElementById('bericht_linkbez'+id).value = name;
      document.getElementById('bericht_linkbez'+id).disabled = true;
      document.getElementById('bericht_kopftext'+id).value = '';
      document.getElementById('bericht_kopftext'+id).disabled = false;
      break;
    case 'Bildergalerie':
      document.getElementById('bericht_linkbez'+id).value = name;
      document.getElementById('bericht_linkbez'+id).disabled = true;
      document.getElementById('bericht_kopftext'+id).value = 'Bitte laden Sie Fotos zum Beitrag unter dem Menüpunkt "Bilder" für die Bildergalerie hoch.';
      document.getElementById('bericht_kopftext'+id).disabled = true;
      break;
    case 'Text':
      document.getElementById('bericht_linkbez'+id).value = '';
      document.getElementById('bericht_linkbez'+id).disabled = false;
      document.getElementById('bericht_kopftext'+id).value = '';
      document.getElementById('bericht_kopftext'+id).disabled = false;
      break;
    case 'Dokumente':
      document.getElementById('bericht_linkbez'+id).value = name;
      document.getElementById('bericht_linkbez'+id).disabled = true;
      document.getElementById('bericht_kopftext'+id).value = 'Bitte laden Sie zugehörige Dokumente zum Beitrag unter dem Menüpunkt Dokumente hoch.';
      document.getElementById('bericht_kopftext'+id).disabled = true;
      break;
    case 'Kontakt':
      document.getElementById('bericht_linkbez'+id).value = name;
      document.getElementById('bericht_linkbez'+id).disabled = true;
      document.getElementById('bericht_kopftext'+id).value = 'Bitte geben Sie hier die ID des Künstlers an.';
      document.getElementById('bericht_kopftext'+id).disabled = false;
      break;      
  }

}

function foerderung_submenu(){
  for (i=0; i<document.foerderer.elements.length; i++){
			if(document.foerderer.elements[i].value == 'sponsoring'){
				document.foerderer.elements[i].checked = true;
			}
  }
}

/* Funktion für das Förderungenmenu zur Auswahl der Radiobuttons */
function mitarbeiter_js(value_to_check){
  for (i=0; i<document.foerderer.elements.length; i++){
			if(document.foerderer.elements[i].value == value_to_check){
				document.foerderer.elements[i].checked = true;
			}
  }
}

function foerderung_radiobutton_check(typ){
  document.getElementById('foerderer_anzahl_mitarbeiter').value = '';
  if(typ != 'sponsoring'){
    for (i=0; i<document.foerderer.foerderer_foerderung_sub.length; i++){
				document.foerderer.foerderer_foerderung_sub[i].checked = false;
    }
  }
}

function do_confirm () {
    return confirm("Möchten Sie den Termin wirklich löschen?");
}

function swap_content( span ) {
    displayType = ( document.getElementById( span ).style.display == 'none' ) ? 'block' : 'none';
    document.getElementById( span ).style.display = displayType;
}
function subm_and_red( target )
{
  document.getElementById('formzielcom').value = target;      
 	document.forms.profil.submit(); 
}

function ChangeDisplay(id_)
{
  obj = document.getElementById(id_);
  var dummy = id_+'Img';
  if(obj.style.display=="block")
  {
    obj.style.display="none";
    document.getElementById(dummy).src = 'template/default/inc/images/expand.jpg';
  }
  else
  {
    obj.style.display="block";
    document.getElementById(dummy).src = 'template/default/inc/images/expand2.jpg';
  }
}

