// JavaScript Document
var windowOpened=false;

function requestObjectErstellen() 
{
      var ro;
      ro = window.XMLHttpRequest ? new XMLHttpRequest() : 
                                   new ActiveXObject("Microsoft.XMLHTTP");
      return ro;
}

var http = requestObjectErstellen () ;
var httpLocked = false;


function getDoz(sb,targetId,query,selected)
{    
	//'<?= $pageLib->result->getFormAction('getDoz') ?>&id='+val
	httpLocked=true;
	showWaitBox('Dozenten werden geladen...');
	
	if(typeof(sb) == 'string'){
		sbb=document.getElementById(sb);
		
		if(sbb)
			var val=sbb.value;
		else
			var val=sb;
	}
	else
		var val=sb.value;
	

	idVorlesung=val;
	
	query+='&id='+val;
	
	//prompt('',query);
	http.open('GET', query, true);
	
    /*
    * Eventhandler für "fertig geladen" Ereignis
    */
    http.onreadystatechange = function() {

  			
        if (http.readyState == 4) {
			 
			var target=document.getElementById(targetId);
			var response=http.responseText;
			var oldVals=new Object();
//			alert(response);
			//alert(target.length);
			var length=target.length;
			
			/*for(i=0;i<length;i++){
				if(target.options[i].selected)
					oldVals[target.options[i].value]=1;
			}*/
			
			for(i=0;i<length;i++){
				target.remove(0);				
			}

			
			if(response!='false'){
				var fields=new Array();
				fields=response.split('|');
				
				for(var i=0;i<fields.length;i++){
					 var field=new Array();
					
					 field=fields[i].split(',');
					 var txt=field[0];
					 var val=field[1];
					 var Eintrag = document.createElement("option");
					 Eintrag.text = txt;
					 Eintrag.value = val;
					 target.options.add(Eintrag,target.length);
					// alert(val);
					 if(val==selected){
					 	target.options[target.length-1].selected=true;
					}
				}
			}
			
			httpLocked=false;
			
			hideWaitBox();
			        
        }
 	}
    
    /* 
     * Browser Cache und Proxys zum erneuten laden zwingen,
     * der IE aktualisiert sonst nicht richtig
     */
	http.setRequestHeader('If-Modified-Since',new Date().toGMTString());
    
    /*
     * Request abschicken
     */
	http.send(null);
 

}


function getSemVgbe(sb,targetId,query)
{    
	//'<?= $pageLib->result->getFormAction('getDoz') ?>&id='+val
	
	
		
	
	query+='&id='+idVorlesung;
	
	http2=requestObjectErstellen();
	//prompt('',query);
	http2.open('GET', query, true);
	
    /*
    * Eventhandler für "fertig geladen" Ereignis
    */
    http2.onreadystatechange = function() {

  			
        if (http2.readyState == 4) {
			 
			var target=document.getElementById(targetId);
			var response=http2.responseText;
					
					
			if(response!='false'){
				
				for(var i=1;i<=7;i++){
					var span=document.getElementById(targetId+i);
				
					if(span) span.innerHTML='';
				}
				
				var fields=new Array();
				fields=response.split('|');
				
				for(var i=0;i<fields.length;i++){
					 var field=new Array();
					
					 field=fields[i].split(':');
					 var wtag=field[0];
					 var val=field[1];
					 
					 var span=document.getElementById(targetId+wtag);
					 
					 if(span){
					 	span.innerHTML=(val=='1' ? 'Vm' : (val=='2' ? 'Nm' : ''));
					 }
				}
			}
			
			
			        
        }
 	}
    
    /* 
     * Browser Cache und Proxys zum erneuten laden zwingen,
     * der IE aktualisiert sonst nicht richtig
     */
	http2.setRequestHeader('If-Modified-Since',new Date().toGMTString());
    
    /*
     * Request abschicken
     */
	http2.send(null);
 

}


function getSgr(sb,targetId,query)
{    
	
	showWaitBox('Studiengruppen werden geladen...');
	
	if(typeof(sb) == 'string')
		var val=document.getElementById(sb).value;
	else
		var val=sb.value;
	
	query+='&id='+val;
	
	http.open('GET', query, true);
	
    /*
    * Eventhandler für "fertig geladen" Ereignis
    */
    http.onreadystatechange = function() {

  			
        if (http.readyState == 4) {
			 
			var target=document.getElementById(targetId);
			var response=http.responseText;
			var oldVals=new Object();
//			alert(response);
			//alert(target.length);
			var length=target.length;
			
			for(i=0;i<length;i++){
				if(target.options[i].selected)
					oldVals[target.options[i].value]=1;
			}
			
			for(i=0;i<length;i++){
				target.remove(0);				
			}

				
			if(response!='false'){
				var fields=new Array();
				fields=response.split('|');
				
				for(var i=0;i<fields.length;i++){
					 var field=new Array();
					
					 field=fields[i].split(',');
					 var txt=field[0];
					 var val=field[1];
					 var Eintrag = document.createElement("option");
					 Eintrag.text = txt;
					 Eintrag.value = val;
					 target.options.add(Eintrag,target.length);
					// alert(val);
					 if(oldVals[val]){
					 	target.options[target.length-1].selected=true;
					}
				}
			}
			
			hideWaitBox();
			        
        }
 	}
    
    /* 
     * Browser Cache und Proxys zum erneuten laden zwingen,
     * der IE aktualisiert sonst nicht richtig
     */
	http.setRequestHeader('If-Modified-Since',new Date().toGMTString());
    
    /*
     * Request abschicken
     */
	http.send(null);
 

}

function setCustomFieldValue(src,dest){
	
	//alert(src.value);
	custField=document.getElementById(dest+"[custom]");
	if(src.selectedIndex!=0){
			//alert(custField.name);
			if(confirm('"'+src.value+'" übernehmen?')){
				custField.value=src.value;
			}
			else{
				src.selectedIndex=src.oldValue;
			}
	}
	else if(custField.value!=''){
		if(confirm("Feld löschen?")){
				custField.value='';
		}
		else{
			src.selectedIndex=src.oldValue;
		}
	}
	
}

function setOldValue(src){
		src.oldValue=src.selectedIndex;
}

function openWin(query,locObj,params)
{

  if(params && params!=null)
  	var width=params['width'], height=params['height'];
  else
 	var width="600", height="500";

  var left = (screen.width/2) - width/2;

  var top = (screen.height/2) - height/2;

  var styleStr = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;
  
  var newWinName="msgWindow_"+String(new Date().getTime());

  var msgWindow = window.open(query,newWinName, styleStr);
	  
	  msgWindow.focus();
	
	if(locObj!=null && !windowOpened){
		windowOpened=true;
		waitForChild(msgWindow,locObj);
	}
	
	return msgWindow;
}

function showDelConfirm(){
	
	return confirm("Wirklich löschen?");
	
}

function handleDelete(form,locationObj){
	
	if(showDelConfirm()){
		
		var width="500", height="300";
		var left = (screen.width/2) - width/2;
		var top = (screen.height/2) - height/2;
		var styleStr = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;
		msgWindow = window.open('',"delWindow", styleStr);
		
		if(!windowOpened){
			windowOpened=true;
			waitForChild(msgWindow,locationObj);
		}
		
		form.target='delWindow';
		msgWindow.focus();
		
		return true;
		
	}
	else{
		return false;
	}
	
}

function handleFormSubmit(form,locationObj,params){
	
		
	var win=openWin('about:blank',locationObj,params);
	
	form.target=win.name;
	win.focus();
	
	return true;
		
	
	
}

function waitForChild(cwin,locObj){

	wait_location=locObj;
	wait_childWindow=cwin;
	
	aktiv = window.setInterval("wait()", 500);		
		
}

function wait(){
	
	if(wait_childWindow.closed){
		clearInterval(aktiv);
		windowOpened=false;
		
		if((typeof wait_location)=='string'){
			window.location.href=wait_location;
		}
		if((typeof wait_location)=='object'){
			if(wait_location.nodeName && wait_location.nodeName.toLowerCase()=='form'){
				wait_location.submit();
			}
			else{
				wait_location.reload();
				}
		}
	}
		
}

function reloadForm(formName,refString){
	var form=document.getElementById(formName);
	var inp= document.createElement('input');

	inp.setAttribute('type','hidden');
	inp.setAttribute('name','formreload');
	inp.setAttribute('value','1');
	form.appendChild(inp);
	
	openWin(refString,form);

}


function submenu(id){
		/*
		var submenu=document.getElementById(id);
		if(submenu){
			
			if( submenu.style.display=="none")
				submenu.style.display='list-item';
			else
				submenu.style.display='none';
		
		}
		*/	
	}
	
function displayDiv(id){
	
	var div=document.getElementById(id);
	if(div){
		
		if( div.style.display=="none")
			div.style.display='block';
		else
			div.style.display='none';
	
	}
	
}

function openPic(pic,width,height){
		
  var styleStr = 'left='+(screen.width-width)/2+', top='+(screen.height-height)/2+',width='+width+',height='+height+',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=yes,copyhistory=yes';
//alert("showpic.php?pic="+pic);
  var msgWindow = window.open("index.php?page=index&action=showpic&popup=1&pic="+pic+"&width="+width+"&height="+height,"msgWindow", styleStr);
  
  msgWindow.focus();
			
}


function createMsgBox(msg,title){
/*
	var w=window.innerWidth*0.5;
	var h=window.innerHeight*0.5;
	var t=(window.innerHeight-h)/2;
	var l=(window.innerWidth-w)/2;
*/	
	
	
	
	w=document.body.clientWidth*0.5;
	h=document.body.clientHeight*0.5;
		
	if(w>300) w=300;
	if(h>200) h=200;
	
	var t=(document.body.clientHeight-h)/2;
	var l=(document.body.clientWidth-w)/2;
	
	var msgbox=document.getElementById('tplMsgBox');
	var msgboxtitle=document.getElementById('tplMsgBoxHeadTitle');
	var msgboxmsg=document.getElementById('tplMsgBoxMsg');
	
	msgboxtitle.innerHTML=title;
	msgboxmsg.innerHTML=unescape(msg);
	
	msgbox.style.width=w+'px';
	msgbox.style.height=h+'px';
	msgbox.style.left=l+'px';
	msgbox.style.top=t+'px';
	//alert('hide sbs');
	
	
	msgbox.style.display='block';
	window.setTimeout("sbVisibility('hidden')",100);
		
}

function hideMsgBox(){
	sbVisibility('visible');
	document.getElementById('tplMsgBox').style.display='none';
}

function initWaitBox(){
		var div='<div id="tplWaitBox" style="position:absolute; overflow:visible; visibility:hidden"></div>';
		document.getElementsByTagName('body')[0].innerHTML+=div;
		
}

function sbVisibility(v){
	var sbs=document.getElementsByTagName('select');
	
	for(i=0;i<sbs.length;i++){
		sbs[i].style.visibility=v;
		//alert(sbs[i].style.visibility);
	}
}

function showWaitBox(msg){
	
	
	
	var w=200;
	var h=50;
	
	var l=window.innerWidth;

	if(l)
		l=(l-w)/2;
	else
		l=(document.body.clientWidth-w)*0.5;
	
	
	var t=window.innerHeight;
	if(t)
		t=(t-h)*0.5;
	else
		t=(document.body.clientHeight-h)*0.5;
	

	
	var box=document.getElementById('tplWaitBox');
	
	if(box){
		box.innerHTML=unescape(msg);
		box.style.top=t+'px';
		box.style.left=l+'px'; 
		
		box.style.width=w+'px'; 
		//box.style.height=h+'px';
		
		sbVisibility('hidden');
		
		box.style.visibility='visible';
	}
		
}

function hideWaitBox(){
	
	sbVisibility('visible');
	
	var box=document.getElementById('tplWaitBox');
	if(box){
		box.style.visibility='hidden';	
	}
	
	
}


// textbox as string, checkbox as cb object
function tbStatChange(tb,cb){
	var tbox=document.getElementById(tb);
	//tbox.value='';
	tbox.disabled=!cb.checked;
	
}

function tbEnable(tb,setFocus,defVal){
	var tbox=document.getElementById(tb);
	
	if(tbox){
		tbox.style.display='inline';
		tbox.disabled=false;
		
		if(isNaN(tb.value))
			if(defVal && parseInt(defVal)!=NaN)
				tbox.value=defVal;
			else
				tbox.value=1;
			
		if(setFocus){
			tbox.focus();
			tbox.select();
		}
	}
		
}

function showTagsByName(name){
	var tags=document.getElementsByName(name);
	
	if(tags && tags.length){
		
		for(i=0;i<tags.length;i++)
			tags[i].style.display='block';
			
		//tbox.disabled=false;
	}	
		
}

function tbSetValue(tb,val){
	var tbox=document.getElementById(tb);
	
	if(tbox){
		tbox.value=val;
	}

}

function resizePopupBox(){
	var box=document.getElementById('content_popup');
	return;
	if(box){
		box.style.width=window.innerWidth-35+'px';
		box.style.height=window.innerHeight-35+'px';
	}
}
		
