// JavaScript Document

// toggle diagramme
function diagrammToggleValue(diag_id,value_id){
	var diagItemHolder = document.getElementById('indicatorBar_'+diag_id);
	var diagLegendElement = document.getElementById('diagLegend_'+diag_id+'_'+value_id);

	var toggle_on = diagLegendElement.checked;
	
	//iterate over the diag rows
	for ( var x = 0; x < diagItemHolder.lastChild.childNodes.length; x++) {
		var diag_row = diagItemHolder.lastChild.childNodes[x];

		if(diag_row.childNodes.length > 0){
			var row_data_cell = null;
			for ( var y = 0; y < diag_row.childNodes.length; y++) {
				var value1 = diag_row.childNodes[y];
				if(value1.childNodes.length > 0)
					row_data_cell = value1;
			}
			//alert(row_data_cell.childNodes.length);
			for ( var y = 0; y < row_data_cell.childNodes.length; y++) {
				var value = row_data_cell.childNodes[y];
				if(value.id == 'diagValue_'+diag_id+'_'+value_id) {
					value.style.display = toggle_on ? '' : 'none';
				}
			}
		}
	}
}

// indicator bar digramme
var lastBoldItem = Array();
function indicatorBar(distanceFromLeft,indicatorKey,items,werte,uniqueWert,mode) {
	if(!mode) var mode = 'pos';
	
	if(items <= 1) return;

	var ie = false;
	
	tt = document.getElementById('indicatorBar_'+indicatorKey);
	wert = document.getElementById(indicatorKey+'_wert_'+uniqueWert);
	
	if(mode == 'neg'){
		distLeftBar = (100-distanceFromLeft)*3-3
	}else{
		distLeftBar = distanceFromLeft*3
	}
	
	distFromLeft = 218+distLeftBar;

	if(items > 1){
		tt.style.backgroundImage='url(\'images/art_diag_indicator_bar.gif\')';
		tt.style.backgroundRepeat='repeat-y';
		tt.style.backgroundPosition=''+distFromLeft+'px';
	}else
		tt.style.backgroundImage='';

	if(lastBoldItem[indicatorKey] > 0){
		document.getElementById(indicatorKey+'_wert_'+lastBoldItem[indicatorKey]).style.fontWeight='normal';
	}
	
	wert.style.fontWeight = 'bold';
	lastBoldItem[indicatorKey] = uniqueWert;
}

//preview
function preView(tarea_id,div_id,section){
	var textarea = document.getElementById(tarea_id);
	var div = document.getElementById(div_id);
	window.open('text_preview.php?tarea_id=' + tarea_id + '&div_id=' + div_id + '&section=' + section, "Textvorschau", "width=1,height=1");
}

function prev_getValue(id){
	var ele = document.getElementById(id);
	return ele.value;
}

function prev_setValue(id,id2){
	var prev_area = document.getElementById(id);
	var tload = document.getElementById('tload_id');
	tload.value = 'true';
	prev_area.value = window.opener.prev_getValue(id2);
}

function prev_setPreviewDiv(id,id2){
	var ele = document.getElementById(id);
	var tset = document.getElementById('tset_id');
	tset.innerHTML = 'true';
	
	var text = ele.innerHTML;
	window.opener.prev_getPreviewDiv(id2,text);
}

function prev_getPreviewDiv(id,text){
	var ele = window.document.getElementById(id);
	ele.style.display='block';
	ele.innerHTML = text;
}

function prev_submitForm(){
	var tload = document.getElementById('tload_id');
	if(tload.value == 'true')
		document.getElementById('preform_id').submit();
	else
		setTimeout("prev_submitForm();",5);
}

function prev_closeTempWin(){
	var tset = document.getElementById('tset_id').innerHTML;
	if(tset == 'true')
		self.close();
	else
		setTimeout("prev_closeTempWin();",5);
}

// Banner Rotation Img ID = brimg  |  Link ID = brlink
function BannerRotate (rand_old) {
	var laenge = br_img.length;
	if(laenge > 0){
		var random = BrRandom(laenge, rand_old);
		
		var brimg = document.getElementById('brimg');
		var brlink = document.getElementById('brlink');
		
		brimg.src = br_img[random];
		brimg.alt = br_title[random];
		brlink.title = br_title[random];
		brlink.href = br_link[random];
		
		if(laenge > 1)
			setTimeout("BannerRotate(" + random + ");",10000);
	}
}
function BrRandom(laenge, rand_old){
	var random = Math.floor(Math.random() * laenge)
	
	if(random == rand_old)
		var random = BrRandom(laenge, rand_old);
		
	return random;
}
//Pic Upload
function OpenUrl (id) {
	if (id != "") {
		window.opener.document.location.href = "../index.php?site=user&action=details&mid=" + id;
		window.opener.focus();
	}
}
function chPic (id, src) {
	if (id != "") {
		img = window.opener.document.getElementById(id);
		img.src = src;
	}
}

//Stuff
function info_show(text,id) {
	if (document.getElementById) {
		tt = document.getElementById('info_div_'+id);

		if(text == '') {
			tt.style.display='none';
			tt.innerHTML = ""
		}else{
			tt.style.display='block';
			tt.innerHTML = text;
		}
	}
}
function show_kday(id) {
	if (document.getElementById) {
		tt = document.getElementById(id);
		tt_info = document.getElementById('kalend_info');

		tt_info.style.display='block';
		tt_info.innerHTML = tt.innerHTML;
	}
}
function ToggleBox (id) {
	if (document.getElementById(id).style.display != 'block') {
		document.getElementById(id).style.display = "block";
		document.getElementById(id + '_img').src = "images/collapse.gif";
	}
	else {
		document.getElementById(id).style.display = "none";
		document.getElementById(id + '_img').src = "images/expand.gif";
	}
}
function ToggleNews (id) {
	document.getElementById('NewsL_'+id).blur();
	if (document.getElementById("NewsC_" + id).style.display != 'inline') {
		document.getElementById("NewsC_" + id).style.display = "inline";
		document.getElementById("NewsI_" + id).src = "images/collapse.gif";
	}
	else {
		document.getElementById("NewsC_" + id).style.display = "none";
		document.getElementById("NewsI_" + id).src = "images/expand.gif";
	}
}
function ToggleRlinks (id) {
	document.getElementById('RlinksL_'+id).blur();
	if (document.getElementById("RlinksC_" + id).style.display != 'inline') {
		document.getElementById("RlinksC_" + id).style.display = "inline";
		document.getElementById("RlinksI_" + id).src = "images/collapse.gif";
	}
	else {
		document.getElementById("RlinksC_" + id).style.display = "none";
		document.getElementById("RlinksI_" + id).src = "images/expand.gif";
	}
}
function smilie(thesmilie){
        document.vbform.message.value += " " + thesmilie+" ";
        document.vbform.message.focus();
}
function smilie_short(thesmilie){
        document.vbform.short_text.value += " " + thesmilie+" ";
        document.vbform.short_text.focus();
}
function ToggleIcons (id) {
	if (document.getElementById("NewsC_" + id).style.display == 'none') {
	document.getElementById("NewsC_" + id).style.display = "block";
	document.getElementById("NewsI_" + id).src = "images/collapse.gif";
	}
	else {
	document.getElementById("NewsC_" + id).style.display = "none";
	document.getElementById("NewsI_" + id).src = "images/expand.gif";
	}
}
function NeuesFenster(url, width, height) {
	var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',scrollbars=yes,menubar=no,status=no,location=no,resizable=no' );
}
function CharsMax(maxchars,textfield,charfield) 
{ 
	var wert,max,err; 
	max = maxchars; 
	wert = max-document.getElementById(textfield).value.length; 
	err = false;
	if (wert < 0)
	{ 
		err = true; 
		document.getElementById(textfield).value = document.getElementById(textfield).value.substring(0,max); 
		wert = max-document.getElementById(textfield).value.length; 
		document.getElementById(charfield).value = wert; 
	}
	else
	{ 
		document.getElementById(charfield).value = max - document.getElementById(textfield).value.length; 
	}
} 

function setPointer(theRow, thePointerColor){
    theRow.style.backgroundColor = thePointerColor;

    return true;
}

function setPointer2(theRow, thePointerColor){
    if (typeof(theRow.style) == 'undefined') {
        return false;
    }
    if (typeof(document.getElementsByTagName) != 'undefined') {
        var theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        var theCells = theRow.cells;
    }
    else {
        return false;
    }

    var rowCellsCnt  = theCells.length;
    for (var c = 0; c < rowCellsCnt; c++) {
        theCells[c].style.backgroundColor = thePointerColor;
   }

    return true;
}

//BBCode Buttons
function getSelection(areaid){
	var area =document.getElementById(areaid);

	// The hole thing for the IE
	if (area.createTextRange){
		area.focus();
		if(opener) var selected = window.opener.document.selection.createRange();
		else var selected = document.selection.createRange();
		
		var selected_text = selected.text
		return selected_text;

	// and now for the Moz Family
	}else if (area.selectionStart >= 0){
		var selection_start = area.selectionStart;
		var selection_end = area.selectionEnd;
		var selected = area.value.substring(selection_start,selection_end);
		
		return selected;
	}else{
		return null;
	}
}

function insertText(areaid, text, opener, text2){
	if(!opener) var opener = false;
	if(!text2) var text2 = '';

	if(!opener)
		var area = document.getElementById(areaid);
	else
		var area = window.opener.document.getElementById(areaid);

	insertText_obj(area,text, opener, text2);
}

function insertText_obj(area_obj, text, opener, text2){
	if(!opener) var opener = false;
	if(!text2) var text2 = '';

	var area = area_obj;
	// The hole thing for the IE
	if (area.createTextRange){
		area.focus();
		if(opener) var selected = window.opener.document.selection.createRange();
		else var selected = document.selection.createRange();
		
		var selected_text = selected.text

		if(opener) window.opener.document.selection.createRange().duplicate().text = text + selected_text + text2;
		else document.selection.createRange().duplicate().text = text + selected_text + text2;

		selected.moveStart('character', text.length + selected_text.length + text2.length);      
		selected.select();

	// and now for the Moz Family
	}else if (area.selectionStart >= 0){
		var selection_start = area.selectionStart;
		var selection_end = area.selectionEnd;
		var bar_top = area.scrollTop;
		var bar_left = area.scrollLeft;
		var vor_select = area.value.substring(0,selection_start);
		var selected = area.value.substring(selection_start,selection_end);
		var nach_select = area.value.substring(selection_end,area.value.length);
		
		var selected2 =  text + selected + text2;
		
		area.value = vor_select + selected2 + nach_select;
		area.selectionStart = selection_start + selected2.length;
		area.selectionEnd = area.selectionStart;
		area.focus();
		area.scrollTop = bar_top;
		area.scrollLeft = bar_left;
	}else{
		area.value += text;
		area.focus();
	}
}
openTags = new Array();
function closeTag (form){
	var arr_length = openTags.length;
	if(arr_length > 0){
			if(openTags[i] != "[/ralign]" && openTags[i] != "[/lalign]" && openTags[i] != "[/calign]" && openTags[i] != "[/jalign]"){
			var last = openTags[arr_length-1];
		}else{
			var last = "[/align]";
		}
		openTags.pop();
		insertText(form, last);
	}else{
		var area = document.getElementById(form);
		area.focus();
	}
}
function closeAllTags (form){
	var arr_length = openTags.length;
	if(arr_length > 0){
		var closedtags = "";
		for (i = arr_length-1; i > -1; i--) {
			if(openTags[i] != "[/ralign]" && openTags[i] != "[/lalign]" && openTags[i] != "[/calign]" && openTags[i] != "[/jalign]"){
				closedtags += openTags[i];
			}else{
				closedtags += "[/align]";
			}
			openTags.pop();
		}
		closedtags += " ";
		insertText(form, closedtags);
	}else{
		var area = document.getElementById(form);
		area.focus();
	}
}
function isOpen (tag){
	for (i = 0; i < openTags.length; i++) {
		if (openTags[i] == tag) return true;
	}
}
function arr_push (tag){
	var arr_length = openTags.length;
	openTags[arr_length] = tag;
}

function isSelection(area_obj){
	//var area = area_obj;
	var area = document.getElementById(area_obj);

	// The hole thing for the IE
	if (area.createTextRange){
		area.focus();
		var selected = document.selection.createRange().text;
		if(selected.length > 0) return true;
	// and now for the Moz Family
	}else if (area.selectionEnd-area.selectionStart > 0){
		return true;
	}
	return false;
}

function singleTag(form,tag,closetag,pushtag){
	if(!pushtag) var pushtag = tag;
	if(!closetag) var closetag = tag;
	
	if(!isSelection(form)){
		if(!isOpen("[/" + pushtag + "]")) {
			insertText(form,"[" + tag + "]");
			arr_push("[/" + pushtag + "]");
		}
	}else{
		insertText(form,"[" + tag + "]", false, "[/" + closetag + "]");
	}
}

//Leftaligned Text
function addLeftText(form){
	singleTag(form,'align=left','align','lalign');
}

//Centeraligned Text
function addCenterText(form){
	singleTag(form,'align=center','align','calign');
}

//Justifyaligned Text
function addJustifyText(form){
	singleTag(form,'align=justify','align','jalign');
}

//Rightaligned Text
function addRightText(form){
	singleTag(form,'align=right','align','ralign');
}

//Floated Element
function addFloatText(form,dire){
	singleTag(form,'float='+dire,'float',dire+'float');
}

//Font Size
function addSize(form){
	if(!isOpen("[/size]")) {
		var size_menu = document.getElementById('size_menu_'+form);
		var size_value = size_menu.options[size_menu.selectedIndex].value;
		if(size_value != '0'){
			singleTag(form,'size='+ size_value,'size','size');
		}
		
		size_menu.selectedIndex = 0;
	}
}

//Font Color
function addColor(form){
	if(!isOpen("[/color]")) {
		var color_menu = document.getElementById('color_menu_'+form);
		var color_value = color_menu.options[color_menu.selectedIndex].value;
		if(color_value != '0'){
			singleTag(form,'color='+ color_value,'color','color');
		}
		
		color_menu.selectedIndex = 0;
	}
}

//Font Family
function addFont(form){
	if(!isOpen("[/font]")) {
		var font_menu = document.getElementById('font_menu_'+form);
		var font_value = font_menu.options[font_menu.selectedIndex].value;
		if(font_value != '0'){
			singleTag(form,'font='+ font_value,'font','font');
		}
		
		font_menu.selectedIndex = 0;
	}
}

//Image
function addImg(form){
	var text = prompt('Geben sie den Link zu dem Bild ein:','http://');
	if ((text != null) && (text != "") && (text != "http://")) { 
		insertText(form, "[img]"+text+"[/img] ");
	}
}

//eMail
function addMail(form){
	var selectedText = getSelection(form);
	var linkname = prompt('Geben sie einen Linkname an (optional):',selectedText);
	var email_addy = prompt('Geben sie eine Email Adresse an:','');
	if ((email_addy != null) && (email_addy != "")) { 
		if ((linkname != null) &&(linkname != "")){
			if(selectedText == linkname)
				insertText(form, "[email="+email_addy+"]", false, "[/email]");
			else
				insertText(form, "[email="+email_addy+"]"+linkname+"[/email] ");
		}else{
			insertText(form, "[email]"+email_addy+"[/email] ");
		}
	}
}

//URL
function addUrl(form){
	var selectedText = getSelection(form);
	var linkname = prompt('Geben sie einen Linkname an (optional):',selectedText);
	var addy = prompt('Geben sie die Adresse des Links an:','http://');
	if ((addy != null) && (addy != "")) { 
		if ((linkname != null) &&(linkname != "")){
			if(selectedText == linkname)
				insertText(form, "[url="+addy+"]", false, "[/url]");
			else
				insertText(form, "[url="+addy+"]"+linkname+"[/url] ");
		}else{
			insertText(form, "[url]"+addy+"[/url] ");
		}
	}
}
