function showMessageBox(messageText,boxType,delay){
	centerBox("messageBox");
	setMessage(messageText);
	
	setMessageBoxType(boxType);
	
	setVisible("messageBox",true);
	
	if(delay > -1)
		setTimeout("hideMessageBox()",delay);
}

var __pBarOffset = 0;
var __stopPBar = false;
var __pBarRunning = false;

function startPBar(){
	__pBarRunning = true;
	
	if(getElement("JProgressBar")!=null)
		getStyle("JProgressBar").backgroundPosition = __pBarOffset+"px 0px";
	
	__pBarOffset+=6;
	
	if(!__stopPBar)
		window.setTimeout(startPBar,100);
	else{
		__stopPBar = false;
		__pBarRuning = false;
	}
	
	if(__pBarOffset==216)
		__pBarOffset = 0;
}

function stopPBar(){
	if(__pBarRunning)
		__stopPBar = true;
}

function setMessageBoxType(boxType){
	var messageBoxType = "";
	
	if(boxType=="WAIT")
		messageBoxType = "<div id=\"JProgressBar\"><img src=\"gfx/progressBar_fg.gif\" /></div>";
	else if(boxType=="DEFAULT"){
		messageBoxType = "<input type=\"button\" value=\"Dialog Schliessen\" onclick=\"hideMessageBox();\" style=\"width:160px; height:30px;\" />";
		stopPBar();
	}
	
	getElement("messageBoxType").innerHTML = messageBoxType;

	if(boxType=="WAIT")
		startPBar();
}

function setMessage(message){
	getElement("__messageContent__").innerHTML = message;
}

function hideMessageBox(){
	stopPBar();
	setVisible("messageBox",false);
}

var __restartTimer = false;

function restartTimer(){
	__restartTimer = true;
}

function pad(input,fillCharacter,length){
	while((input+"").length < length){
		input = fillCharacter+input;
	}
	return input;	
}

function startTimer(containerName,initialValue,callback){
	__tick__(containerName,-1,initialValue,callback);
}

function __tick__(containerName,currentValue,initialValue,callback){
	if(currentValue==-1 || __restartTimer){
		currentValue = initialValue;
		__restartTimer = false;
	}
		
	var container = getElement(containerName);
	
	if(container!=null){
		var tmpValue = currentValue;
		
		var timeString = "";
		
		var hours = Math.floor(tmpValue/3600.0);
		if(hours > 0){
			tmpValue -= hours*3600;
			timeString += pad(hours,"0",2)+":";
		}
		var minutes = Math.floor(tmpValue/60.0);
		if(minutes > 0){
			tmpValue -= minutes*60;
			timeString += pad(minutes,"0",2)+":";
		}
		
		timeString += pad(tmpValue,"0",2);
		
		container.innerHTML = "Die Session läuft aus in "+timeString;
	}
	
	if(currentValue == 0)
		window.setTimeout(callback,0);
	else
		window.setTimeout("__tick__('"+containerName+"',"+(currentValue-1)+","+initialValue+","+callback+")",1000);
}

function loadCaptcha(relURL,seedVars){
	var seed = "";
					
	while(seed.length < 32){
		seed += seedVars.substr(Math.round(Math.random()*(seedVars.length-1)),1);
	}
			
	getElement("captchaImage").src = relURL+"?requestCaptchaImage="+seed;
	getElement("captchaSeed").value = seed;
}

function ajaxRequest(_url,_params,successFunc,errorFunc){
	with(new Ajax()) {
		url=_url;
		method="POST";
		params = _params;
		onSuccess = successFunc;
		onError = errorFunc;
		doRequest();
	}
}
