
	var windowObject = function() {
	
		var contentFrame;
		var currentUrl;
		var vensterObject;
		var buttonObject;
		var tabObject;
		var tabArray = Array();
		var previousTabObject;
		var mask;
		var browseIE;
		var FrameTimer;
		var re = new RegExp('microsoft', 'gi');
		var matchReturn = navigator.appName.match(re);
		var DOM;
		var windowTitle;
		var WindowWidth = 0;
		var WindowHeight = 0;
		var OwnHeader = 0;
		
		matchReturn == null ?	browseIE = false : browseIE = true;
		
		var _public = {
		
			venster: function(width, height, UseOwnHeader) {
				
				var scrollOffsets = _public.getScrollXY();
				
				if (UseOwnHeader != null) {
					OwnHeader = UseOwnHeader;
				}
			
				/*	###	CREATE MASK	################################################################### */
				
				mask = document.createElement('DIV');
				mask.style.top = scrollOffsets[1] + 'px';
				mask.className = 'classWindowMask';
				mask.id = 'masker';
				mask.onclick = function(event) {
					
					event = event || window.event;
				
					if (event.stopPropagation) {
						event.stopPropagation();
					} else {
						event.cancelBubble = true;
					}
					return false;
				}	
				
				WindowWidth = width;
				WindowHeight = height;
				
				document.body.appendChild(mask);
	
				if (browseIE) {
				
					mask.style.height = (document.body.offsetHeight ) + 'px';
					mask.style.width = (document.body.offsetWidth) + 'px';
			
				}
				
				/*	###	CREATE OBJECTS	################################################################### */
			
				var leftPos = (document.body.offsetWidth / 2) - (width / 2);
			
				vensterObject = document.createElement('DIV');
				vensterObject.className = 'classWindowShell';
				vensterObject.style.width = width + 'px';
				vensterObject.style.height = height + 'px';
				vensterObject.style.left = leftPos + 'px';
				//vensterObject.style.padding = '20px';

				
				vensterObject.style.top = scrollOffsets[1] + 'px';
				
				if (window.pageYOffset) {
					var TopOffset = window.pageYOffset;
				} else {
					var TopOffset = document.documentElement.scrollTop;
				}
				
				var HtmlDoc = document.getElementsByTagName('HTML')[0];
				HtmlDoc.style.overflow = 'hidden';
  
				window.scroll(0, TopOffset);			
				
				document.body.appendChild(vensterObject);
				
			
				var titelObject = document.createElement('DIV');
				titelObject.className = 'classWindowTitle';
				
				windowTitle = document.createElement('DIV');
				windowTitle.className = 'classWindowTitleText';
				
				tabObject = document.createElement('DIV');
				tabObject.className = 'classWindowTabs';
					
			
				buttonObject = document.createElement('DIV');
				buttonObject.className = 'classWindowButtons';

				
				
				/*	###	STANDARD BUTTONS	################################################################### */
				
				var refreshButton = document.createElement('A');
				refreshButton.className = 'refresh icon';
				refreshButton.onclick = function() {
					_public.refresh();
				}
				
				var closeButton = document.createElement('A');
				closeButton.className = 'large close icon';
				closeButton.onclick = function() {
					_public.Close();
				}
				
				//buttonObject.appendChild(refreshButton);
				buttonObject.appendChild(closeButton);
				
				var contentObject = document.createElement('DIV');
				contentObject.className = 'classWindowContent';
				
				
				/*	###	LAYOUT TABLE	################################################################### */

				var tableObject = document.createElement('TABLE');
			
				tableObject.width = '100%';
				tableObject.style.backgroundColor = '#E0E7E8';
				tableObject.padding = '0px';
				tableObject.margin = '0px';
				tableObject.cellSpacing = '0';
				
				var Row1 = tableObject.insertRow(0);
				var Row1Cell1 = Row1.insertCell(0);
				var Row1Cell2 = Row1.insertCell(1);
				var Row1Cell3 = Row1.insertCell(2);
							
				var Row2 = tableObject.insertRow(1);
				var Row2Cell1 = Row2.insertCell(0);
				var Row2Cell2 = Row2.insertCell(1);
				var Row2Cell3 = Row2.insertCell(2);
				
				var Row3 = tableObject.insertRow(2);
				var Row3Cell1 = Row3.insertCell(0);
				var Row3Cell2 = Row3.insertCell(1);
				var Row3Cell3 = Row3.insertCell(2);
				
				Row1Cell1.style.width = '18px';
				Row1Cell1.style.height = '18px';
				Row1Cell3.style.width = '18px';
				Row1Cell3.style.height = '18px';
				
				Row1Cell1.innerHTML = '<img src="/img/css/ronding_lichtblauw_linksboven.gif" />';
				Row1Cell3.innerHTML = '<img src="/img/css/ronding_lichtblauw_rechtsboven.gif" />';
				Row3Cell1.innerHTML = '<img src="/img/css/ronding_lichtblauw_linksonder.gif" />';
				Row3Cell3.innerHTML = '<img src="/img/css/ronding_lichtblauw_rechtsonder.gif" />';
				
				/*	###	APPEND ALL OBJECTS	################################################################### */
				
				vensterObject.appendChild(titelObject);
				
				titelObject.appendChild(windowTitle);
				titelObject.appendChild(tabObject);
				titelObject.appendChild(buttonObject);
				
				vensterObject.appendChild(contentObject);
				
				contentFrame = document.createElement('IFRAME');
				contentFrame.className = 'classWindowFrame';
				contentFrame.style.width = (width - 36) + 'px';
				contentFrame.style.height = (height - 76) + 'px';
				contentFrame.frameBorder = 0;
				contentFrame.id = 'contentFrameWindow';
				contentFrame.name = 'contentFrameWindow';
				Row2Cell2.appendChild(contentFrame);
				
				contentObject.appendChild(tableObject);
				
				
				window.onresize = function() {
					_public.reposition();
				}
				
				return false;	
								
			} ,
			
			reposition: function() {
				
			},
			
			titel: function(titeltekst) {
				windowTitle.innerHTML = titeltekst;
			},
			
			getWindowWidth: function() {
				return WindowWidth;
			},
			
			getWindowHeight: function() {
				return WindowHeight;
			},
			
			getScrollXY: function() {
				
				var scrOfX = 0, scrOfY = 0;
				
		  		if( typeof( window.pageYOffset ) == 'number' ) {
	
					scrOfY = window.pageYOffset;
					scrOfX = window.pageXOffset;
			  	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
			
					scrOfY = document.body.scrollTop;
					scrOfX = document.body.scrollLeft;
			  	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
			
					scrOfY = document.documentElement.scrollTop;
					scrOfX = document.documentElement.scrollLeft;
			  	}
			  	
			  	return [ scrOfX, scrOfY ];
			  	
			} ,
			
			
			
			display: function() {
				
				clearTimeout(FrameTimer);
				contentFrame.style.display = 'block';
				contentFrame.document.body.innerHTML += 'ggg';
				
			},
			
			url: function(urlResource){
				
				if (!browseIE) {
					contentFrame.addEventListener('load', function() {
							if (OwnHeader == 0) {
								_public.scripts();
							}
							
							contentFrame.style.display = 'block';
							
						}
					, false);
				} else {
					contentFrame.attachEvent('onload', function() {
							
							if (OwnHeader == 0) {
								_public.scripts();
							}
							contentFrame.style.display = 'block';
							
						}
					);
				}

				contentFrame.src = urlResource;
				currentUrl = urlResource;
				contentFrame.style.display = 'none';
				
			},
			
			GetDocument: function() {
				
				return document.getElementById("contentFrameWindow").contentWindow.document;
			} ,
						
			scripts: function() {
				
				DOM = windowObj = document.getElementById("contentFrameWindow").contentWindow.document;
				var HTMLHead = DOM.getElementsByTagName('HTML')[0];
				var DOMHead = DOM.getElementsByTagName('HEAD')[0];
				
				
				
				if (typeof DOMHead == 'undefined') {
					
					
					var NewHead = DOM.createElement('HEAD');
					HTMLHead.appendChild(NewHead);
					DOMHead = NewHead;
				}
			
				
				
				var DOMHeadCurrent = window.document.getElementsByTagName('HEAD')[0];
				var DOMHeadSafari = window.document.getElementsByTagName('HEAD')[0];
				
				var header = DOMHead;
		
				var body = HTMLHead;

				var headObject = DOMHeadCurrent;
				
				for (var i = 0; i < headObject.childNodes.length; i++) {
					
					if (headObject.childNodes[i].tagName =='SCRIPT') {
						
						if (headObject.childNodes[i].src != '') {
							
							var scriptGlobalFunctions = DOM.createElement('SCRIPT');
							header.appendChild(scriptGlobalFunctions);
							scriptGlobalFunctions.setAttribute("type", "text/javascript");
							scriptGlobalFunctions.setAttribute("title", "globalfunctions");
							scriptGlobalFunctions.setAttribute("src", headObject.childNodes[i].src);

						}
					}
				}
				
				
				for (var i = 0; i < headObject.childNodes.length; i++) {
					
					if (headObject.childNodes[i].tagName =='LINK') {
						
						if (headObject.childNodes[i].href != '') {
							
							var cssDefault = DOM.createElement('LINK');
							header.appendChild(cssDefault);
							cssDefault.setAttribute("type", "text/css");
							cssDefault.setAttribute("rel", "stylesheet");
							cssDefault.setAttribute("title", headObject.childNodes[i].title);
							cssDefault.setAttribute("href", headObject.childNodes[i].href);
												
						
						}
					}
				}
							
			},
			
			refresh: function() {
				_public.url(currentUrl);
			} ,
			
			Close: function() {
							
				var parentObj = vensterObject.parentNode;
				
				parentObj.removeChild(vensterObject);
							
				var parentObj = mask.parentNode;
				parentObj.removeChild(mask);
				
								
				var HtmlDoc = document.getElementsByTagName('HTML')[0];
				HtmlDoc.style.overflow = 'auto';
				
				return;
			} ,
			
			tab: function(titel, contentUrl, FunctionReference) {
								
				var AContainer = document.createElement('A');
				
				AContainer.id = tabArray.length;
				AContainer.className = 'large simple button';
				AContainer.contentUrl = contentUrl;
				AContainer.FunctionReference = FunctionReference;
				
				var a = AContainer;
				
				AContainer.onclick = function() {
					
					_public.activateTab(a);					
				}
				
				!browseIE ? AContainer.style.cssFloat = 'left' : AContainer.style.styleFloat = 'left';
							
				AContainer.style.paddingRight = '8px';
				
				var ASpan = document.createElement('SPAN');
				ASpan.innerHTML = titel;
				
				var AI = document.createElement('I');
				
				tabObject.appendChild(AContainer);
				AContainer.appendChild(ASpan);
				AContainer.appendChild(AI);
				
				tabArray.push(AContainer);
				
				return AContainer;
		
			} ,
			
			activateTab: function(tab) {
				
				
				
				if (tab.contentUrl != '') {
					_public.url(tab.contentUrl);
				} else {
					tab.FunctionReference();
				}
				
				if (typeof previousTabObject != 'undefined') {
					previousTabObject.className = 'large button';
				}
				
				tab.className = 'large green button';
				previousTabObject = tab;
				
			},
			
			resize: function(width, height) {
						
				var leftPos = (document.body.offsetWidth / 2) - (width / 2);
				
				vensterObject.style.width = width + 'px';
				vensterObject.style.height = height + 'px';
				vensterObject.style.left = leftPos + 'px';
				
				contentFrame.style.width = (width - 36) + 'px';
				contentFrame.style.height = (height - 76) + 'px';
				
				
			} 
		
		
		};
	
		return _public;
	
	}();
