var popIn = {
	init: function(iFramePaths,triggers,wsPopupCookie,wsPopupCookieNeverShow) {
		popIn.popInId = "popinbox";
		popIn.closeId = "modal_close";
		popIn.neverShowId = "modal_never_show";
		popIn.cookieNeverShowName ='modal_dont_show';
		popIn.iFramePath = iFramePaths;
		popIn.bodyId = "popin";
		popIn.cookieName = wsPopupCookie;	
		var cookieTriggerArray = triggers.split(",");
		var iFramePathArray = iFramePaths.split(",");
		popIn.cookieTrigger = 2;
		popIn.cookieTrigger2 = 3;
		var clickCount = Number(popIn.getCookie(popIn.cookieName));		
		clickCountStr=clickCount+"";
		if (!popIn.checkNeverShow() && !document.getElementById(popIn.bodyId)) {
			if (clickCount !== null) {
					clickCount += 1;
					popIn.setCookie(popIn.cookieName, clickCount, 120);
				for (i=0; i<cookieTriggerArray.length; i++){
					//alert(clickCountStr + "=="+cookieTriggerArray[i]);
					if (clickCountStr == cookieTriggerArray[i]) {
						popIn.openPopIn(iFramePathArray.length==1 ? iFramePathArray[0] :  iFramePathArray[i]);
						break;
					}
				}

			} else {
				popIn.setCookie(popIn.cookieName, 1, 30);
			}
		} else {
			if (parent.document.getElementById("popinbox")) {
				if (document.getElementById("closewindowlink")) {
					document.getElementById("closewindowlink").onclick = function() {
						var el1 = parent.document.getElementById("popinbox");
						var el2 = parent.document.getElementById("overlay");
						el1.parentNode.removeChild(el1);
						el2.parentNode.removeChild(el2);
					};
				}

			}
		}
	},

	getCookie: function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},

	setCookie: function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	},

	cC: function() {
		popIn.setCookie(popIn.cookieName, 1, -1);
	},

	openPopIn: function(path) {
		popIn.openOverlay();
		var popinbox = document.createElement("div");
		popinbox.id = popIn.popInId;
		popinbox.innerHTML = "<p align=\"right\"><a id=\""+popIn.neverShowId+"\" href=\"#\" style=\"z-index:1002;color:white;\">Don't ask me again</a> &nbsp; <a id=\""+popIn.closeId+"\" style=\"z-index:1002;PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: white; PADDING-TOP: 0px\" href=\"#\">Close this window<img style=\"WIDTH: 16px; HEIGHT: 16px\" src=\"images/close.jpg\" border=\"0\"></a></p>";
		popinbox.innerHTML += "<iframe src=\""+path+"\" frameborder=\"0\" width=\"450\" height=\"350\"></iframe>";
		document.body.appendChild(popinbox);
		closeElement = document.getElementById(popIn.closeId);
		if (closeElement) {
			SiteManager.addEvent(closeElement, 'click', popIn.closePopIn);
		}
		neverShowElement = document.getElementById(popIn.neverShowId);
		if(neverShowElement)SiteManager.addEvent(neverShowElement, 'click', popIn.neverShowPopIn);
		SiteManager.addEvent(document, 'keydown', this.keyListener);
		showPopup(popIn.popInId);
	},
	openOverlay: function() {
		var overlay = document.createElement("div");
		var pageSize = popIn.getPageSize();
		overlay.style.width = pageSize[0] +"px";
		overlay.style.height = pageSize[1] +"px";
		overlay.id = 'overlay';
		overlay.className="overlay";
		document.body.appendChild(overlay);
	},
	neverShowPopIn: function(e) {	
		popIn.setCookie(popIn.cookieNeverShowName, 'never_show', 30);
		//alert("never show");
		popIn.closePopIn();
	},
	checkNeverShow: function() {
		if (document.cookie.length>0){
			c_start=document.cookie.indexOf(popIn.cookieNeverShowName + "=");
			//alert(c_start);
		  if (c_start!=-1) return true;
			else return false;
		}
		return false;
	},
	closePopIn: function(e) {
		closePopup(popIn.popInId);
		popIn.closeOverlay();
		var el = parent.document.getElementById(popIn.popInId);
		if (el) {
			el.parentNode.removeChild(el);
			SiteManager.preventDefault(e);
		}		
	},
	closeOverlay: function() {
		var el = document.getElementById('overlay');
		if (el) {
			el.parentNode.removeChild(el);
		}
	},
	keyListener: function(e) {
		var keyID = (window.event) ? event.keyCode : e.keyCode;
		if(keyID == 221) {
			popIn.closePopIn();
		}
	},
	getPageSize: function() {
		var xScroll, yScroll;
		if (window.innerHeight && window.scrollMaxY) {
			xScroll = window.innerWidth + window.scrollMaxX;
			yScroll = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		var windowWidth, windowHeight;
		if (self.innerHeight) {	// all except Explorer
			if(document.documentElement.clientWidth){
				windowWidth = document.documentElement.clientWidth;
			} else {
				windowWidth = self.innerWidth;
			}
			windowHeight = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else {
			pageHeight = yScroll;
		}
		if(xScroll < windowWidth){
			pageWidth = xScroll;
		} else {
			pageWidth = windowWidth;
		}
		arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
		return arrayPageSize;
	}
}

var SiteManager = {

	/**
	 * function to add event-listeners (cross-browser compatible)
	 * By John Resig - http://ejohn.org/projects/flexible-javascript-events/
	 * 
	 * @param obj object the html element object to attach the event to
	 * @param type string the event type (e.g. 'load', 'keypress', 'click')
	 * @param fn string the name of the function to call  		
	 *
	 * @return void  
	 */
	addEvent: function (obj, type, fn) {
		if (obj.attachEvent) {
	    	obj['e'+type+fn] = fn;
	    	obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
	    	obj.attachEvent('on'+type, obj[type+fn]);
		} else if (obj.addEventListener) {
	     	obj.addEventListener(type, fn, false);
		} else {
			var oldfn = obj['on'+type];
			if (typeof obj['on'+type] != 'function') {
			     obj['on'+type] = fn;
			} else {
			     obj['on'+type] = function() {
			       oldfn();
			       fn();
			     };
			}
		}
	 },
	 
	/**
	 * prevents default action for an event from being triggered
	 * 
	 * @return void  
	 */
	preventDefault: function (event) {
		// W3C DOM 2 Events model
		if (document.addEventListener) {
			event.preventDefault();
		
		// Internet Explorer Events model
		} else if (document.attachEvent) {
			event.returnValue = false;
		}
	}
}
var ipaths = "http://www.qedas.com/QEDWEB/Webforms.nsf/ContactUsMM1?OpenForm";
var clicks = "5,10,15";
popIn.init(ipaths,clicks,"mmcookie","mmnevershowcookie");
