// JavaScript Document
// Copyright Fabian Keller 2009

// disp
function showit(div) {   
with(document.getElementById(div).style){ 
   if(display=="none"){ 
      display=""; 
      } 
      else{ 
      display="none"; 
      } 
   }
}

// Sprünge zeigen
function show_sprung(div) {   
// 1-10
for (i=0;i<=10;i++){
	with(document.getElementById(div+i).style){
	   if(display=="none"){ 
		  display=""; 
		  } 
		  else{ 
		  display="none"; 
		  } 
	   }
	}
}

// Home features
function feat(div)
{
	// Alle divs ausschalten
	if(document.getElementById('anmelden').style.display != 'none'){
		document.getElementById('anmelden').style.display = 'none';
		document.getElementById('button_anmelden').style.backgroundColor = '#DDDDDD';
	}else if(document.getElementById('survey').style.display != 'none'){
		document.getElementById('survey').style.display = 'none';
		document.getElementById('button_survey').style.backgroundColor = '#DDDDDD';
	}else if(document.getElementById('link').style.display != 'none'){
		document.getElementById('link').style.display = 'none';
		document.getElementById('button_link').style.backgroundColor = '#DDDDDD';
	}else if(document.getElementById('results').style.display != 'none'){
		document.getElementById('results').style.display = 'none';
		document.getElementById('button_results').style.backgroundColor = '#DDDDDD';
	}else if(document.getElementById('filter').style.display != 'none'){
		document.getElementById('filter').style.display = 'none';
		document.getElementById('button_filter').style.backgroundColor = '#DDDDDD';
	}
		
	// ein div einschalten
	document.getElementById(div).style.display = 'block';
	document.getElementById('button_' + div).style.backgroundColor = '#5B9DEC';
}

// cookie check
function cookiecheck() {
   setCookie("CookieTest", "OK");
   if (!getCookie("CookieTest")) {
      return false;
   } else {
      eraseCookie("CookieTest");
      return true;
   }
} 

// change body background
function changebg(div,further) { 
	//num = ' style="background:url(pics/body_bg/' + div + '.jpg); background-position:center top; background-repeat:no-repeat; background-attachment:fixed;"';
	document.cookie='bodybg=' + div + '; path=/; expires=Thu, 31-Dec-2099 00:00:00 GMT';
	
	if(further!='false'){
		changebanner(div,'false');
	}
	
	location.reload(true);
}

// suckerfish dropdown
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

function tooltip(div) { 
// Text einblenden   
with(document.getElementById(div).style){ 
   if(display=="none"){ 
      display="block"; 
      } 
      else{ 
      display="none"; 
      } 
   }
// Buttontext Tooltip ändern
   if(document.getElementById('ttbutton_' + div).value=="Tipp einblenden"){ 
      document.getElementById('ttbutton_' + div).value="ausblenden"; 
      } 
      else{ 
      document.getElementById('ttbutton_' + div).value="Tipp einblenden"; 
      } 
	}

// onmouseover help
function hoverhelp(div) { 
// Text einblenden   
with(document.getElementById(div).style){ 
   if(display=="none"){ 
      display="block";
	  document.getElementById('helpdefault').style.display="none";
      } 
      else{ 
      display="none";
	  document.getElementById('helpdefault').style.display="block";
      } 
   }
}
	
function formular(div)	{
// Text einblenden   
with(document.getElementById('form' + div).style){ 
   if(display=="none"){ 
      display="inline"; 
      } 
      else{ 
      display="none"; 
      } 
   }
// Buttontext Formular ändern
   if(document.getElementById('formbutton_' + div).value=="+"){ 
      document.getElementById('formbutton_' + div).value="-"; 
      } 
      else{ 
      document.getElementById('formbutton_' + div).value="+"; 
      } 
	}
	

function drsh(aTag, eTag) {
  var input = document.forms['editwelcome'].elements['welcome'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    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();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    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;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}

// BB Code Formatierungen löschen
function delete_bbcode(){
	var text = document.forms['newsurvey'].elements['welcome'].value;
	text = text.replace(/\[b\]/g,'');
	text = text.replace(/\[\/b\]/g,'');
	text = text.replace(/\[u\]/g,'');
	text = text.replace(/\[\/u\]/g,'');
	text = text.replace(/\[i\]/g,'');
	text = text.replace(/\[\/i\]/g,'');
	text = text.replace(/\[br\]/g,'');
	text = text.replace(/\[line\]/g,'');
	text = text.replace(/\[\/br\]/g,'');
	text = text.replace(/\[color=(.{0,7})\]/g,'');
	text = text.replace(/\[\/color\]/g,'');
	text = text.replace(/\[titel\]/g,'');
	text = text.replace(/\[\/titel\]/g,'');	
	document.forms['newsurvey'].elements['welcome'].value = text;
}

// Checkboxen Admin Bereich
// Markierungen umkehren
function MarkierungUmkehren (){
for(var i=0;i<document.listform.length;++i) {
if (document.forms[0].elements[i].type == "checkbox"){
if (document.forms[0].elements[i].checked == true){
document.forms[0].elements[i].checked = false;
}
else {
document.forms[0].elements[i].checked = true;
}
}
}
}
// Alles Markieren
function AllesMarkieren(){
for(var i=0;i<document.listform.length;++i) {
if (document.forms[0].elements[i].type == "checkbox"){
document.forms[0].elements[i].checked = true;
}
}
}
// Alles Markierungen entfernen
function NixMarkieren(){
for(var i=0;i<document.listform.length;++i) {
if (document.forms[0].elements[i].type == "checkbox"){
document.forms[0].elements[i].checked = false;
}
}
}

// Color Picker Script from Flooble.com
// For more information, visit 
//	http://www.flooble.com/scripts/colorpicker.php
// Copyright 2003 Animus Pactum Consulting inc.
// You may use and distribute this code freely, as long as
// you keep this copyright notice and the link to flooble.com
// if you chose to remove them, you must link to the page
// listed above from every web page where you use the color
// picker code.
//---------------------------------------------------------
     var perline = 9;
     var divSet = false;
     var curId;
     var colorLevels = Array('0', '3', '6', '9', 'C', 'F');
     var colorArray = Array();
     var ie = false;
     var nocolor = 'none';
	 if (document.all) { ie = true; nocolor = ''; }
	 function getObj(id) {
		if (ie) { return document.all[id]; } 
		else {	return document.getElementById(id);	}
	 }

     function addColor(r, g, b) {
     	var red = colorLevels[r];
     	var green = colorLevels[g];
     	var blue = colorLevels[b];
     	addColorValue(red, green, blue);
     }

     function addColorValue(r, g, b) {
     	colorArray[colorArray.length] = '#' + r + r + g + g + b + b;
     }
     
     function setColor(color) {
     	var link = getObj(curId);
     	var field = getObj(curId + 'field');
     	var picker = getObj('colorpicker');
     	field.value = color;
     	if (color == '') {
	     	link.style.background = nocolor;
	     	link.style.color = nocolor;
	     	color = nocolor;
     	} else {
	     	link.style.background = color;
	     	link.style.color = color;
	    }
     	picker.style.display = 'none';
	    eval(getObj(curId + 'field').title);
     }
        
     function setDiv() {     
     	if (!document.createElement) { return; }
        var elemDiv = document.createElement('div');
        if (typeof(elemDiv.innerHTML) != 'string') { return; }
        genColors();
        elemDiv.id = 'colorpicker';
	    elemDiv.style.position = 'absolute';
        elemDiv.style.display = 'none';
        elemDiv.style.border = '#000000 1px solid';
        elemDiv.style.background = '#FFFFFF';
        elemDiv.innerHTML = '<span style="font-family:Verdana; font-size:11px;">W&auml;hlen Sie eine Farbe: ' 
          	+ '(<a href="javascript:setColor(\'\');">Farbe l&ouml;schen</a>)<br>' 
        	+ getColorTable() 
        	+ '<center><a href="http://www.flooble.com/scripts/colorpicker.php"'
        	+ ' target="_blank">color picker</a> by <a href="http://www.flooble.com" target="_blank"><b>flooble</b></a></center></span>';

        document.body.appendChild(elemDiv);
        divSet = true;
     }
     
     function pickColor(id) {
     	if (!divSet) { setDiv(); }
     	var picker = getObj('colorpicker');     	
		if (id == curId && picker.style.display == 'block') {
			picker.style.display = 'none';
			return;
		}
     	curId = id;
     	var thelink = getObj(id);
     	picker.style.top = getAbsoluteOffsetTop(thelink) + 20;
     	picker.style.left = getAbsoluteOffsetLeft(thelink);     
	picker.style.display = 'block';
     }
     
     function genColors() {
        addColorValue('0','0','0');
        addColorValue('3','3','3');
        addColorValue('6','6','6');
        addColorValue('8','8','8');
        addColorValue('9','9','9');                
        addColorValue('A','A','A');
        addColorValue('C','C','C');
        addColorValue('E','E','E');
        addColorValue('F','F','F');                                
			
        for (a = 1; a < colorLevels.length; a++)
			addColor(0,0,a);
        for (a = 1; a < colorLevels.length - 1; a++)
			addColor(a,a,5);

        for (a = 1; a < colorLevels.length; a++)
			addColor(0,a,0);
        for (a = 1; a < colorLevels.length - 1; a++)
			addColor(a,5,a);
			
        for (a = 1; a < colorLevels.length; a++)
			addColor(a,0,0);
        for (a = 1; a < colorLevels.length - 1; a++)
			addColor(5,a,a);
			
			
        for (a = 1; a < colorLevels.length; a++)
			addColor(a,a,0);
        for (a = 1; a < colorLevels.length - 1; a++)
			addColor(5,5,a);
			
        for (a = 1; a < colorLevels.length; a++)
			addColor(0,a,a);
        for (a = 1; a < colorLevels.length - 1; a++)
			addColor(a,5,5);

        for (a = 1; a < colorLevels.length; a++)
			addColor(a,0,a);			
        for (a = 1; a < colorLevels.length - 1; a++)
			addColor(5,a,5);
			
       	return colorArray;
     }
     function getColorTable() {
         var colors = colorArray;
      	 var tableCode = '';
         tableCode += '<table border="0" cellspacing="1" cellpadding="1">';
         for (i = 0; i < colors.length; i++) {
              if (i % perline == 0) { tableCode += '<tr>'; }
              tableCode += '<td bgcolor="#000000"><a style="outline: 1px solid #000000; color: ' 
              	  + colors[i] + '; background: ' + colors[i] + ';font-size: 10px;" title="' 
              	  + colors[i] + '" href="javascript:setColor(\'' + colors[i] + '\');">   </a></td>';
              if (i % perline == perline - 1) { tableCode += '</tr>'; }
         }
         if (i % perline != 0) { tableCode += '</tr>'; }
         tableCode += '</table>';
      	 return tableCode;
     }
     function relateColor(id, color) {
     	var link = getObj(id);
     	if (color == '') {
	     	link.style.background = nocolor;
	     	link.style.color = nocolor;
	     	color = nocolor;
     	} else {
	     	link.style.background = color;
	     	link.style.color = color;
	    }
	    eval(getObj(id + 'field').title);
     }
     function getAbsoluteOffsetTop(obj) {
     	var top = obj.offsetTop;
     	var parent = obj.offsetParent;
     	while (parent != document.body) {
     		top += parent.offsetTop;
     		parent = parent.offsetParent;
     	}
     	return top;
     }
     
     function getAbsoluteOffsetLeft(obj) {
     	var left = obj.offsetLeft;
     	var parent = obj.offsetParent;
     	while (parent != document.body) {
     		left += parent.offsetLeft;
     		parent = parent.offsetParent;
     	}
     	return left;
     }
  




