/**
 * @author stefan
 * 
 * pageControl steuert alle relevanten Eigenschaften f�r den Seitenaufbau (Gr��en, Effekte)
 */

// Ein und Ausblenden von Divs
function showDiv(eID){
	$(eID).toggle();
}

// Bestimmen der Min-Height f�r das Contentfester , damit es falls die Seite sonst kleiner als das Fenster ist, sich automatisch anpasst
function setContentMinHeight(){
	windowHeight = document.documentElement.clientHeight;
	imageSectionHeight = document.getElementById('imageSection').offsetHeight;
	infosVisibleheight = document.getElementById('personalLayer').offsetHeight;
	footerHeight  = document.getElementById('footer').offsetHeight;
	contentHeight = document.getElementById('content').style;
	// Errechnung der H�he
	contentHeight.minHeight = windowHeight - imageSectionHeight - infosVisibleheight - footerHeight - 17 - 96 + -40 +'px';
	// Hack f�r den IE, da er kein minheight kennt:
	if (navigator.appVersion == "4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)") {
		contentHeight.height = windowHeight - imageSectionHeight - infosVisibleheight - footerHeight - 17 - 96 + - 40 +'px';
		contentHeight.overflow = 'visible';
	}
}
	
// Einblenden der Subnavigation abh�ngig vom Reiter
/*
function showNaviBG(navItem){
	if (navItem == 'navStart') {
		document.getElementById(navItem).style.backgroundImage = 'url(pics/bg/navi_bg.png)';
		document.getElementById('subStart').style.display = 'block';
		document.getElementById('subStart').style.marginRight = '320px';
		document.getElementById('navStartA').style.color = '#FFFFFF';
	} else if (navItem == 'navLern'){
		document.getElementById(navItem).style.backgroundImage = 'url(pics/bg/navi_bg.png)';
		document.getElementById(navItem).style.backgroundPosition = '-82px';
		document.getElementById('subLernen').style.display = 'block';
		document.getElementById('subLernen').style.marginRight = '55px';
		document.getElementById('navLernA').style.color = '#FFFFFF'; 
	}else if (navItem == 'navFreunde'){
		document.getElementById(navItem).style.backgroundImage = 'url(pics/bg/navi_bg.png)';
		document.getElementById(navItem).style.backgroundPosition = '-164px';
		document.getElementById('subFreunde').style.display = 'block';
		document.getElementById('subFreunde').style.marginRight = '110px';
		document.getElementById('navFreundeA').style.color = '#FFFFFF';
	}else if (navItem == 'navHilfe'){
		document.getElementById(navItem).style.backgroundImage = 'url(pics/bg/navi_bg.png)';
		document.getElementById(navItem).style.backgroundPosition = '-255px';
		document.getElementById('subHilfe').style.display = 'block';
		document.getElementById('subHilfe').style.marginRight = '50px';
		document.getElementById('navHilfeA').style.color = '#FFFFFF';
	}else if (navItem == 'navSuche'){
		document.getElementById(navItem).style.backgroundImage = 'url(pics/bg/navi_bg.png)';
		document.getElementById(navItem).style.backgroundPosition = '-323px';
		document.getElementById(navItem).style.backgroundRepeat ='no-repeat';
		document.getElementById('subSuche').style.display = 'block';
		document.getElementById('subSuche').style.marginRight = '10px';
		document.getElementById('navSucheA').style.color = '#FFFFFF';
	}		
}

// Ausblenden der Subnavigation abh�ngig vom Reiter
function hideNavBg(navItem){
	document.getElementById(navItem).style.backgroundImage = 'url()';
	if (navItem == 'navStart'){
		document.getElementById('subStart').style.display = 'none';
		document.getElementById('navStartA').style.color = '#000000'; 
	}
	if (navItem == 'navLern'){
		document.getElementById('subLernen').style.display = 'none';
		document.getElementById('navLernA').style.color = '#000000';
	}
	if (navItem == 'navFreunde'){
		document.getElementById('subFreunde').style.display = 'none'; 
		document.getElementById('navFreundeA').style.color = '#000000';
	}
	if (navItem == 'navHilfe'){
		document.getElementById('subHilfe').style.display = 'none'; 
		document.getElementById('navHilfeA').style.color = '#000000';
	}
	if (navItem == 'navSuche'){
		document.getElementById('subSuche').style.display = 'none'; 
		document.getElementById('navSucheA').style.color = '#000000';
	}
}
*/	
// Animation zum Ausfahren des zus�tzlichen Infolayers
// appID = Die ApplikationsID, der Applikation die geladen werden soll
// infoID = die ID der Info die als gelesen markiert wurde
var actualAppID = null;
function moveinfoLayerMax(appID, infoID){
	var url = 'ajax/personalLayer.php';
	var a = new Request({ url: url, method: 'post'});
	if( appID == undefined) appID = 0;
	a.addEvent('success', function(response, xml) {
		$('personalLayer').set('html', response);
		// Ist der PersonalInfoLayer bereits eingeblendet
		if($('minimize').getStyle('display') == 'none') {
			showPersonalLayer(infoID);
		} else {
			$('additionalInfoLoad').setStyle('display','none');
		}
		// Den Tab der aktuellen Applikation sichtbar schalten
		if(actualAppID != null) $('appBar'+actualAppID).setStyle('background-position','-'+(34*actualAppID)+ 'px 0px');
		$('appBar'+appID).setStyle('background-position', '-'+(34*appID)+ 'px -54px');
		actualAppID = appID;
		
		multiBoxBoxPL = new MultiBox('mbPL', { useOverlay: true, showControls:false});
	});
	a.addEvent('failure', function(instance) {
		$('personalLayer').set('html', '<h1>FAILURE</h1> Daten konnten nicht geladen werden.');
		if(infoID == undefined) {
			showPersonalLayer();
		} else {
			$('additionalInfoLoad').setStyle('display','none');
		}
	});
	$('additionalInfoLoad').setStyle('display','block');
	a.send('appID='+appID+'&infoID='+infoID);
}

function showPersonalLayer(){
	$('additionalInfoLoad').setStyle('display','none');
	$('personalLayer').setStyle('display','block');
	$('minimize').setStyle('display','block');
	personalLayer.hide();
	$('maximize').style.display = 'none';
	personalLayer.toggle();
}

// Animation zum Einfahren des zus�tzlichen Infolayers
function moveinfoLayerMin(){
	personalLayer.toggle().chain(function(el){
			$('maximize').setStyle('display','block');
			$('personalLayer').setStyle('display','none');
			$('minimize').setStyle('display','none');	
		});
}

// Setzen der Box Position
function setBoxHeight(boxId){
	box = document.getElementById(boxId);
	box.style.height = document.documentElement.clientHeight;
	box.style.width = document.documentElement.clientWidth;
}

function setBoxPos(boxMsg){
	topPos = document.documentElement.clientHeight ;
	leftPos = document.documentElement.clientWidth ;
	selfWidth = document.getElementById(boxMsg).offsetWidth / 2;
	selfHeight = document.getElementById(boxMsg).offsetHeight / 2;
	
	document.getElementById(boxMsg).style.top = topPos / 2 - selfWidth +'px' ;
	document.getElementById(boxMsg).style.left = leftPos / 2 - selfWidth +'px';

}

// Mouseover Effekt der Buttons in der Lernkonsole
function trainingButton(buttonID){
	button = document.getElementById(buttonID);
	buttonPath = button.src;
	buttonSrc = buttonPath.split("/");
	buttonPathLength = buttonSrc.length;
	buttonImage = buttonPathLength -1;
	if(buttonSrc[buttonImage] == 'but_training_normal.gif'){
		button.src = 'pics/trainer/but_training_over.gif';	
	}else{
		button.src = 'pics/trainer/but_training_normal.gif';
	}
}

function quizButton(buttonID){
	button = document.getElementById(buttonID);
	buttonPath = button.src;
	buttonSrc = buttonPath.split("/");
	buttonPathLength = buttonSrc.length;
	buttonImage = buttonPathLength -1;
	if(buttonSrc[buttonImage] == 'but_quiz_normal.gif'){
		button.src = 'pics/trainer/but_quiz_over.gif';	
	}else{
		button.src = 'pics/trainer/but_quiz_normal.gif';
	}
}

// Animation zum Ausfahren des Nachrichten Body
function moveMessageBodyMax(messageID, body){
	var url = 'ajax/messageBody.php?messageID='+messageID;
	var a = new Request({ url: url, method: 'post'});
	a.addEvent('success', function(response, xml) {
		body.getParent().getParent().getElement('div[class=messageBodyLoad]').setStyle('display','none');
		body.set('html', response);
		body.slide('toggle');
	});
	a.addEvent('failure', function(instance) {
		body.getParent().getParent().getElement('div[class=messageBodyLoad]').setStyle('display','none');
		body.set('html', '<h1>FAILURE</h1> Daten konnten nicht geladen werden.');
		body.slide('toggle');
	});
	body.getParent().getParent().getElement('div[class=messageBodyLoad]').setStyle('display','block');
	a.send();
}

function mbRemainingChars(){
	$('microblogRemainChars').value = "noch "+ (140 - $('microblogForm').getElementById('text').value.length) + " Zeichen";
}

// Laden der KFZ-Regionen
function ajaxLoadKfzByBundesland(bundesland){
	var url = 'ajax/loadKfzByBundesland.php';
	var a = new Request({ url: url, method: 'post'});
	a.addEvent('success', function(response, xml) {
		$('kfzRegion').set('html', response);
		if( schoolBundesland != ''){
			$$('#kfzRegion option').each(function(item){
				if(item.get('value') == schoolKfz){
					item.set('selected','selected');
					ajaxLoadSchoolsByKfz(schoolKfz);
				}
			});
		}
	});
	a.addEvent('failure', function(instance) {
		$('kfzRegion').set('html', '<h1>FAILURE</h1> Daten konnten nicht geladen werden.');
	});
	$('kfzRegion').set('html', 'Lade ...');
	$('schools').set('html', '');
	$('classes').set('html', '');
	$('newCourseButton').setStyle('visibility','hidden');
	a.send('bundesland='+bundesland);
}

// Laden der Schulen
function ajaxLoadSchoolsByKfz(kfz){
	var url = 'ajax/loadSchoolsByKfz.php';
	var a = new Request({ url: url, method: 'post'});
	a.addEvent('success', function(response, xml) {
		$('schools').set('html', response);
		if(schoolSchoolID != ''){
			$$('#schools option').each(function(item){
				if(item.get('value') == schoolSchoolID){
					ajaxLoadClassesBySchoolID(schoolSchoolID);
				}
			});	
		}
	});
	a.addEvent('failure', function(instance) {
		$('schools').set('html', '<h1>FAILURE</h1> Daten konnten nicht geladen werden.');
	});
	$('schools').set('html', 'Lade ...');
	$('classes').set('html', '');
	$('newCourseButton').setStyle('visibility','hidden');
	a.send('kfz='+kfz);
}
// Laden der Klassen
function ajaxLoadClassesBySchoolID(schoolID){
	var url = 'ajax/loadClassesBySchool.php';
	var a = new Request({ url: url, method: 'post'});
	a.addEvent('success', function(response, xml) {
		$('classes').set('html', response);
		$('newCourseButton').setStyle('visibility','visible');
		if(schoolCourseID != ''){
			$$('#classes option').each(function(item){
				if(item.get('value') == schoolCourseID){
					item.set('selected','selected');
				}
			});	
		}
	});
	a.addEvent('failure', function(instance) {
		$('classes').set('html', '<h1>FAILURE</h1> Daten konnten nicht geladen werden.');
	});
	$('classes').set('html', 'Lade ...');
	a.send('schoolID='+schoolID);
}

// Smilies Steuerung
var smilyTextarea;
function showSmiliesDiv(e, textarea){
	smiliesDivStatus = 'SHOW';
	
	if( e != undefined ){
		smilyTextarea = textarea;
		var coords = e.getCoordinates();

		$('smiliesDiv').setStyle('left',coords['left']);
		$('smiliesDiv').setStyle('top',coords['bottom']);
		$('smiliesDiv').setStyle('display','block');
	}
}
function insertSmiley(smily){
	$(smilyTextarea).value += smily+' ';
	$('smiliesDiv').setStyle('display','none');
}

function hideSmiliesDiv(){
	smiliesDivStatus = 'HIDE';
	window.setTimeout("closeSmiliesDiv()", 500);
}

function closeSmiliesDiv(){
	if(smiliesDivStatus == 'HIDE'){
		$('smiliesDiv').setStyle('display','none');
	}		
}

/**
 * Taschenrechner
 **/
 var art;
 var z = -1;
 var zahl1;
 var zahl2;
 var ende=false;

 function berechne()
 {
     try
         {
         document.taschenrechner.ergebnis.value=eval(document.taschenrechner.ergebnis.value);
         ende=true
         }
     catch (e)
         {
         alert("Fehlerhafte Eingabe");
         }
 }

 function addi()
 {
     document.taschenrechner.ergebnis.value=document.taschenrechner.ergebnis.value + "+";
 }

 function subtr()
 {
     document.taschenrechner.ergebnis.value=document.taschenrechner.ergebnis.value + "-";
 }

 function multi()
 {
     document.taschenrechner.ergebnis.value=document.taschenrechner.ergebnis.value + "*";
 }

 function divis()
 {
     document.taschenrechner.ergebnis.value=document.taschenrechner.ergebnis.value + "/";
 }

 function wurz()
 {
     try
     {
         document.taschenrechner.ergebnis.value =Math.sqrt(eval(document.taschenrechner.ergebnis.value));
         ende=true;
     }
     catch (e)
     {
         alert("Fehlerhafte Eingabe");
     }
 }

 function betr()
 {
     try
     {
         document.taschenrechner.ergebnis.value =Math.abs(eval(document.taschenrechner.ergebnis.value));
         ende=true;
     }
     catch (e)
     {
         alert("Fehlerhafte Eingabe");
     }
 }

 function sinus()
 {
     try
     {
         document.taschenrechner.ergebnis.value =Math.sin(eval(document.taschenrechner.ergebnis.value));
     ende=true;
     }
     catch (e)
     {
         alert("Fehlerhafte Eingabe");
     }
 }

 function cosinus()
 {
     try
     {
         document.taschenrechner.ergebnis.value =Math.cos(eval(document.taschenrechner.ergebnis.value));
     ende=true;
     }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function tangens()
 {
      try
      {
          document.taschenrechner.ergebnis.value =Math.tan(eval(document.taschenrechner.ergebnis.value));
      ende=true;
      }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function arctangens()
 {
      try
      {
          document.taschenrechner.ergebnis.value =Math.atan(eval(document.taschenrechner.ergebnis.value));
          ende=true;
      }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function arcsinus()
 {
      try
      {
          document.taschenrechner.ergebnis.value =Math.asin(eval(document.taschenrechner.ergebnis.value));
          ende=true;
      }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function arccosinus()
 {
      try
      {
          document.taschenrechner.ergebnis.value =Math.acos(eval(document.taschenrechner.ergebnis.value));
      ende=true;
      }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function logarithmus()
 {
      try
      {
          document.taschenrechner.ergebnis.value =Math.log(eval(document.taschenrechner.ergebnis.value));
          ende=true;
      }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function expon()
 {
      try
      {
          document.taschenrechner.ergebnis.value =Math.exp(eval(document.taschenrechner.ergebnis.value));
          ende=true;
      }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function ln()
 {
      try
      {
          document.taschenrechner.ergebnis.value =Math.LN2
          ende=true;
      }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function rund()
 {
      try
      {
          document.taschenrechner.ergebnis.value =Math.round(eval(document.taschenrechner.ergebnis.value));
          ende=true;
      }
      catch (e)
      {
          alert("Fehlerhafte Eingabe");
      }
 }

 function delEingabe()
 {
      ende = false;
      document.taschenrechner.ergebnis.value="0";
 }

 function save(number)
 {
     eingabe = document.taschenrechner.ergebnis.value;
     if(number=="pi")
     {
          number=Math.PI;
     }

     if((eingabe==0)||(ende))
     {
          eingabe = number;
          ende=false;
     }
      else
      {
          eingabe=eingabe+number;
     }
 document.taschenrechner.ergebnis.value = eingabe;

 }