/**
 * Configuration options
 * 
 */
var urlIdea = 'http://www.scoi.nl/innovation/idea/post';
var htmlTop =  '<div id="screenoverlay"></div> ' +
			   '<div id="topbox">' +
			   		'<div id="topboxClose"><a href="#" onclick="closeTop();return event.returnValue=false;"></a></div>' +	
					'<iframe src="" id="modalWindowIframe" frameborder="0" scrolling="no"> </iframe>' +
			   '</div>';


function showPopupComment (){	
	popupModalIframe = document.getElementById('modalWindowIframe');
	popupModalIframe.src = urlIdea;
	showTop();	
}

/**
 * Detect browser
 */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
			this.version = this.searchVersion(navigator.userAgent)
				|| this.searchVersion(navigator.appVersion)
				|| "an unknown version";
			this.OS = this.searchString(this.dataOS) || "an unknown OS";
		},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
				}
			else if (dataProp)
					return data[i].identity;
			}
		},
	searchVersion: function (dataString) {
			var index = dataString.indexOf(this.versionSearchString);
			if (index == -1) return;
			return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
		},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
		],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
		   string: navigator.userAgent,
		   subString: "iPhone",
		   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
		]

};


/**
 * Show modal window
 * @return
 */
function showTop() {
	//for IE6.0    
    if ((BrowserDetect.browser == "Explorer") && (BrowserDetect.version<7)) {
    	if (document.body.clientHeight > document.documentElement.clientHeight ) {     
    		document.getElementById('screenoverlay').style.height = document.body.clientHeight;
    	} else {
    		document.getElementById('screenoverlay').style.height = document.documentElement.clientHeight;
    	}
      
    	if (document.body.clientWidth > document.documentElement.clientWidth ) {     
    		document.getElementById('screenoverlay').style.width = document.body.clientWidth;
    	} else {
    		document.getElementById('screenoverlay').style.width = document.documentElement.clientWidth;
    	}          
    }  

	//Show the background overlay and topbox...
	document.getElementById('screenoverlay').style.visibility = 'visible';
	document.getElementById('topbox').style.display = 'block';
    verticallyCenter('topbox');
}  	

/**
 * Hide modal window
 * @return
 */
function closeTop()	{
	document.getElementById('screenoverlay').style.visibility = 'hidden';
	document.getElementById('topbox').style.display = 'none';
}     
  
/**
 * Get modal window sizes
 * @param side
 * @return
 */
function viewportSize(side) {
	var viewportWidth;
    var viewportHeight;
 
    // for standards compliant browsers (mozilla/netscape/opera/IE7)     
    if (typeof window.innerWidth != 'undefined') {
    	viewportWidth = window.innerWidth,
    	viewportHeight = window.innerHeight
    } else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
    	//IE6 in standards compliant mode (i.e. with a valid doctype)    
    	viewportWidth = document.documentElement.clientWidth,
    	viewportHeight = document.documentElement.clientHeight
    } else {
    	// older versions of IE
    	viewportWidth = document.getElementsByTagName('body')[0].clientWidth,
    	viewportHeight = document.getElementsByTagName('body')[0].clientHeight
    }  

    return (side == 'width' ? viewportWidth : viewportHeight);
} 

/**
 * Vertical center modal window
 * @param id
 * @return
 */
function verticallyCenter(id) {
	var elementHeight=document.getElementById(id).offsetHeight;
	var elementWidth=document.getElementById(id).offsetWidth;
    
	document.getElementById(id).style.top = (viewportSize('height')-elementHeight)/2+"px";
	document.getElementById(id).style.left = (viewportSize('width')-elementWidth)/2+"px";        
}
 
 function setDocumentWriteTo( selector ) {
	 
	      function write( args, end ) {
	          $(selector).append(
	              Array.prototype.join.call( args, '' ) + end
	          );
	      }
	 
	      document.write = function() { write( arguments, '' ); };
	      document.writeln = function() { write( arguments, '\n' ); };
	 
	  }

/**
 * Starting modules
 */
document.write(htmlTop);
BrowserDetect.init();
window.onresize = function() {verticallyCenter('topbox')};
