/** 
	* Allgemeine Basisfunktionen für BrowserDialoge
	* 
	*
	* @package		JS Frontend
	* @copyright	Kurzurlaub.de
	* @author			Kurzurlaub.de
*/

function browserDialog() {

			this.dlgArea = null;
			this.dlgHead = null;
			this.dlgBody = null;
			this.dlgClose = null;
			this.btnClose = null;
			
			this.dlgWidth = 300;
			this.dlgHeight = 150;
}


/*
	Dialog in der Mitte des Fenters platzieren
	return	browserMode			Textangabe
*/
browserDialog.prototype.createDialog = function() {
	
			var dlgArea = document.createElement("div");
			dlgArea.className = "brDlgArea";
			dlgArea.style.width = this.dlgWidth+"px";
			dlgArea.style.Height = this.dlgHeight+"px";

			this.dlgArea = document.body.appendChild(dlgArea);	

			var dlgHead = document.createElement("div");	
			dlgHead.className = "brDlgHead thema_background";		
			this.dlgHead = this.dlgArea.appendChild(dlgHead);	
			
			var dlgBody = document.createElement("div");		
			dlgBody.className = "brDlgBody";
			this.dlgBody = this.dlgArea.appendChild(dlgBody);	
						
			var dlgClose = document.createElement("div");				
			dlgClose.className = "brDlgClose";
			this.dlgClose = this.dlgArea.appendChild(dlgClose);	
			
			var btnClose = document.createElement("div");	
			btnClose.className = "brDlgCloseButton";
			btnClose.innerHTML = "OK";
			btnClose.onmouseover 	= this.event_closeBtn_OnMouseOver;
			btnClose.onmouseout 	= this.event_closeBtn_OnMouseOut;
			btnClose.onclick 			= this.event_closeBtn_OnClick;
			this.btnClose = this.dlgClose.appendChild(btnClose);	
		
}

/*
	Dialog in der Mitte des Fenters anzeigen
*/
browserDialog.prototype.showDialog = function(dlgTitle, dlgText, showOnMousePosition, e) {			
	
			if(!this.dlgArea) this.createDialog();
			this.dlgHead.innerHTML = dlgTitle;
			this.dlgBody.innerHTML = dlgText;
			var w = 300;
			var h = 140;
			var pX = parseInt((this.getClientWidth() - this.dlgWidth)/2)+ this.getScrollLeft();
			var pY = parseInt((this.getClientHeight() - this.dlgHeight)/2) + this.getScrollTop();
			if(showOnMousePosition) {
				if(!e) e = window.event; 
				pY = (e.pageY ? e.pageY : e.clientY + this.getScrollTop()) - 50;
    		pX = (e.pageX ? e.pageX : e.clientX + this.getScrollLeft()) + 50; 
			}
			
	  	this.dlgArea.style.top = pY + "px";
	  	this.dlgArea.style.left = pX + "px";
	  	this.dlgArea.style.display = "block";
	  	this.dlgArea.style.zIndex = 1000;
}
/*
	Dialog verbergen
*/
browserDialog.prototype.hideDialog = function() {
		
			if(!this.dlgArea) return;
			this.dlgArea.style.display = "none";
}

/*
	Höhe des Client Windows (wichtig wg. DOCTYPE)
*/
browserDialog.prototype.getClientHeight = function() {

	var h;
	if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
	   h = document.documentElement.clientHeight; 
	} else if (typeof document.body != 'undefined') {
	   h = document.body.clientHeight;
	}	
	var aH = window.screen.availHeight;
	if(typeof(aH)=='number' && h > (aH+250)) return (aH);
	return h;
}
/*
	Breite des Client Windows (wichtig wg. DOCTYPE)
*/
browserDialog.prototype.getClientWidth = function() {

	var w;
	if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
	   w = document.documentElement.clientWidth; 
	} else if (typeof document.body != 'undefined') {
	   w = document.body.clientWidth;
	}	
	return w;
}

/*
	Vertikale Mitte (scrollTop) des Fensters (wichtig wg. DOCTYPE)
*/
browserDialog.prototype.getScrollTop = function() {

	var scrollPos;
	doc = document;
	if (typeof doc.compatMode != 'undefined' && doc.compatMode != 'BackCompat') {
	   scrollPos = doc.documentElement.scrollTop;
	   if (typeof doc.body != 'undefined' && doc.body.scrollTop>0) scrollPos=doc.body.scrollTop;
	} else if (typeof doc.body != 'undefined') {
	   scrollPos = doc.body.scrollTop;
	}	
	if (typeof window.pageYOffset != 'undefined') {
	   scrollPos = window.pageYOffset;
	}
	return scrollPos;
}

/*
	Horizontale Mitte (scrollLeft) des Fensters (wichtig wg. DOCTYPE)
*/
browserDialog.prototype.getScrollLeft = function() {
	var scrollPos;
	doc = document;
	if (typeof doc.compatMode != 'undefined' && doc.compatMode != 'BackCompat') {
	   scrollPos = doc.documentElement.scrollLeft;
	   if (typeof doc.body != 'undefined' && doc.body.scrollLeft>0) scrollPos=doc.body.scrollLeft;
	} else if (typeof doc.body != 'undefined') {
	   scrollPos = doc.body.scrollLeft;
	}	
	if (typeof window.pageXOffset != 'undefined') {
	   scrollPos = window.pageXOffset;
	}
	return scrollPos;
}

/*
	Events für Close Button
*/
browserDialog.prototype.event_closeBtn_OnClick = function() {
			try { brDialog.hideDialog(); } catch(E) {}
}
browserDialog.prototype.event_closeBtn_OnMouseOver = function() {
			try { changeClass(brDialog.btnClose,'on'); } catch(E) {}
}
browserDialog.prototype.event_closeBtn_OnMouseOut = function() {
			try { changeClass(brDialog.btnClose,'off'); } catch(E) {}
}
