
	var ApplicationMessage = {
		/* Konfiguration */
		/* Name des Cookies, ist Cookie gesetzt hat User die Systemmeldung gesehen */
		cookieName : "acceptInfo",
		/* aktuelle Zeit */
		/* Jahr, Monat -1 (Dez. = 11), Tag, Stunde, Minute, Sekunde */
		timeStart : new Date(2012, 00, 31, 14, 47, 33),
		/* Zeitdifferenz Aktuelle Zeit + Zeitdifferenz ergibt Minuten bis zum Ereignis */
		intTimeDelayMin : 10, 

		/* Globale Variablen */
		intTimeDiff : 0,
		strTimeEnd :'',
		
		setCookie : function (name,value) {
		  var dateNow = new Date();
		  var diff = 2 * 60 * 60 * 1000;
		  var expireDate = new Date(dateNow.getTime() + diff);
		  document.cookie = name+"="+value+"; expires=" + expireDate.toGMTString();
		},
		getCookie :	function getCookie (name) {
			var results = document.cookie.match ( '(^|;) ?' + name + '=([^;]*)(;|$)' );
			if(results) {
//				alert("Neu "+ unescape ( results[2] ) );
				return results[2];
			}
			else {
				return null;
			}
		},
		deleteCookie : function deleteCookie(name) {
			var cookie_date = new Date ( );  // current date & time
			cookie_date.setTime (cookie_date.getTime() - 1);
			document.cookie = name += "=; expires=" + cookie_date.toGMTString();
		},
		checkCookie : function (name,value){
			if(this.getCookie(name)==value) {
		//		setCookie(this.cookieName,'Y');
				return;
			}
			else {
				this.intTimeDiffMin = this.getDiffTime();
				if(this.intTimeDiffMin>0) {
					this.layerBody();
				}
			}
		},
		hideMessage : function (){
			this.setCookie(this.cookieName,'Y');
			document.getElementById("cedisMessageLayer").style.display='none';
			document.getElementById("cedisMessageBox").style.display='none';
		},
		layerBody : function () {
			var intWinWidth;
			var intWinHeight;
			var intPosLeft;
			
			var strMessageTime = "ca. " + this.intTimeDiffMin+" Minute(n) ab "+this.strTimeEnd+"";
			/* Ankuendigung fuer kurzfristgen Neustart */
			var strMessageTitle	="Neustart des Systems ";
			/* Ankuendigung fuer Wartungsarbeiten */
			// var strMessageTitle	="Update des Systems ";
			var strMessageBox = "cedisMessageBox";
			var MessageBoxStyle = "<style>\n"
			+ "#cedisMessageLayer {\n"
			+ "background-color:#0022dd;"
			+ "position:fixed;top:0px;left:0px;z-index:100;\n"
			+ "width:100%;height:100%;color:#ff3300;\n"
			+ "}\n"
			+ "#cedisMessageBox {\n"
			+ "position:fixed;z-index:200;width:400px;\n"
			+ "background-color:#fefefe;color:#000088;\n"
			+ "border:2px solid #bb2200;padding:6px;\n"
			+ "font-size:100%;\n"
			+ "font-family:sans-serif,arial;\n"
			+ "text-align:center;"
			+ "}\n"
			+ "#cedisMessageBox h2 {\n"
			+ "color:#000000;"
			+ "margin:0px;"
			+ "padding:0px;"
			+ "padding-bottom:3px;"
			+ "border-bottom:2px solid #bb2200;\n"
			+ "}\n"
			+ "#cedisMessageText {\n"
			+ "color:#000000;\n"
			+ "text-align:left;"
			+ "}\n"
			+ "#cedisMesssageLink {\n"
			+ "margin-top:5px;"
			+ "padding-top:10px;"
			+ "padding-bottom:5px;"
			+ "border-top:2px solid #bb2200;\n"
			+ "text-align:center;\n"
			+ "}\n";
			+ "</style>";
			var MessageLinkStyle = "padding:3px;padding-left:10px;padding-right:10px;border:1px solid #bb2200;background-color:#cbcbcb;color:#333333;font-size:100%;font-weight:normal;text-decoration:none;"
			var strMessage;
			/* Ankuendigung fuer kurzfristgen Neustart */

			strMessage = "<p>Sehr geehrte  Nutzer/innen,</p><p>auf Grund eines erforderlichen Neustartes der Applikation wird diese Web-Anwendung ";
			strMessage += "<strong>in "+strMessageTime +"</strong> kurzfristig f&uuml;r ein paar Minuten nicht verf&uuml;gbar sein.</p>"
			strMessage += "<p>Nach Schlie&szlig;en dieser Benachrichtigung k&ouml;nnen Sie wie gewohnt weiterarbeiten. Bitte sichern sie zeitnah Ihre &Auml;nderungen.</p>";
			strMessage += "<p>Wir danken f&uuml;r Ihr Verst&auml;ndnis, Ihr CeDiS Team.</p>";
			strMessage += '<div id="cedisMesssageLink"><a href="#" style="'+MessageLinkStyle+'" class="cedisMessageButton" onClick="ApplicationMessage.hideMessage();return false;">Meldung schlie&szlig;en</a></div>';
	
			/* Ankuendigung fuer Wartungsarbeiten */
/*
			strMessage = "<p>Sehr geehrte  Nutzer/innen,</p><p>auf Grund von Wartungsarbeiten wird diese Web-Anwendung ";
			strMessage += "<strong>in "+strMessageTime +"</strong> f&uuml;r voraussichtlich 60 Minuten nicht verf&uuml;gbar sein.</p>"
			strMessage += "<p>Nach Schlie&szlig;en dieser Benachrichtigung k&ouml;nnen Sie wie gewohnt weiterarbeiten. Bitte sichern Sie rechtzeitig Ihre &Auml;nderungen.</p>";
			strMessage += "<p>Wir danken f&uuml;r Ihr Verst&auml;ndnis, Ihr CeDiS Team.</p>";
			strMessage += '<div id="cedisMesssageLink"><a href="#" style="'+MessageLinkStyle+'" class="cedisMessageButton" onClick="ApplicationMessage.hideMessage();return false;">Meldung schlie&szlig;en</a></div>';
*/
			if (navigator.appName.indexOf("Microsoft")!=-1) {
				intWinWidth = document.body.offsetWidth;
				intWinHeight = document.body.offsetHeight;
			}
			else {
				intWinWidth = window.innerWidth;
				intWinHeight = window.innerHeight;
			}
			intPosLeft = Math.ceil((intWinWidth-400)/2);
		
			var body = document.getElementsByTagName("body");
			var newDiv = document.createElement("div");
			var attribute= document.createAttribute("class");
			attribute.nodeValue = "cedisMessageLayer";
			newDiv.setAttributeNode(attribute);
			var attribute= document.createAttribute("id");
			attribute.nodeValue = "cedisMessageLayer";
			newDiv.setAttributeNode(attribute);
			body[0].appendChild(newDiv);
		
//			document.getElementById("cedisMessageLayer").style.backgroundColor = "#dddddd";
			document.getElementById("cedisMessageLayer").style.opacity = 0.5;
			document.getElementById("cedisMessageLayer").style.filter = "alpha(opacity=50)";
			document.getElementById("cedisMessageLayer").style.MozOpacity = 0.5;
			document.getElementById("cedisMessageLayer");
			var divMessageBox = document.createElement("div");
			attribute= document.createAttribute("id");
			attribute.nodeValue = strMessageBox;
			
			divMessageBox.setAttributeNode(attribute);
			body[0].appendChild(divMessageBox);
			objMessageBox = document.getElementById(strMessageBox);
			objMessageBox.style.left=intPosLeft+"px";
			objMessageBox.style.top="400px";
			
			objMessageBox.innerHTML='<h2>'+strMessageTitle+'</h2><div id="cedisMessageText">'+strMessage+'</div>'+MessageBoxStyle;
		},
		getDiffTime : function() {
			timeStart = this.timeStart;
			intTimeDelayMin = this.intTimeDelayMin;

			var jetzt = new Date();
			var Unterschied = jetzt.getTimezoneOffset();
			var intTimeDelaySec = intTimeDelayMin*60*1000; // Millisekunden 
			var intTimeDiffMin = 0;
	
			var intTimeStart = Date.parse(timeStart);
			var timeDiffEnd;
			var intTimeEnd = intTimeStart+intTimeDelaySec;
			var timeEnd = new Date();
			timeEnd.setTime(intTimeEnd);
			this.strTimeEnd = ((timeEnd.getHours() < 10) ? "0" + timeEnd.getHours() : timeEnd.getHours());
			this.strTimeEnd = this.strTimeEnd+":"+ ((timeEnd.getMinutes() < 10) ? "0" + timeEnd.getMinutes() : timeEnd.getMinutes());
			var timeNow = new Date();
			var intTimeNow = timeNow.getTime();
			var intTimeDiff = (intTimeEnd-intTimeNow);
			if(parseInt(intTimeDiff)<0) {
				timeDiffEnd = new Date();
				timeDiffEnd.setTime(intTimeNow);
			}
			else {
				intTimeDiffMin = Math.ceil((intTimeDiff/60/1000));
				timeDiffEnd = new Date();
				timeDiffEnd.setTime(intTimeDiff);
			}
//			alert(timeStart+" = timeStart = new Date(2009, 08, 17, 15, 20, 00)\n"+intTimeStart+" = timeStart in Sekunden \n"+timeEnd+" timeEnd \n"+intTimeEnd+" intTimeEnd \n "+timeNow+" = timenow.getTime()\n\n"+intTimeNow+"\n\n"+intTimeDiff+ " = "+intTimeDiffMin);
			return intTimeDiffMin;
		}
	}
	function initMessage(){
		ApplicationMessage.checkCookie(ApplicationMessage.cookieName,'Y');
	}


