		/*
		Function allows some, almost all or none of the many features to be set as part of an object. 
		By default window is 800x500px, set at 10px from top and left and featues are turned on.
		IE7 and FF don't allow titlebar and status bar to be removed.
		
		Examples of use: 
			openWindowPlus('http://foolhq.com')
			openWindowPlus('http://foolhq.com', 'orderPage');
			openWindowPlus('http://foolhq.com', 'orderPage', {location:'no'});
			openWindowPlus('http://foolhq.com', 'orderPage', {top:400, left:20, width:200, height:400, titlebar:'no', location:'no', menubar:'no', toolbar:'no', status:'no', resizable:'no', scrollbars:'no'})"
		Note use of curly brackets to define object with ":" instead of "=" to set value.
		*/
		var alreadyOpen = false;
		var popupWin;
		
		function openWindowPlus(url, name, featureObj) {
			if(!name) {
				name = "newWin";
			}
		
			//Build up feature string from any parameters carried in featureObj
			var featureStr = "";
			if(featureObj) {
				featureStr += "width=" + (featureObj.width ? featureObj.width : "800");
				featureStr += (featureStr ? "," : "") + "height="     + (featureObj.height ? featureObj.height : "500");
				featureStr += (featureStr ? "," : "") + "left="       + (featureObj.left ? featureObj.left : "10");
				featureStr += (featureStr ? "," : "") + "top="        + (featureObj.top ? featureObj.top : "10");
				featureStr += (featureStr ? "," : "") + "titlebar="   + (featureObj.titlebar ? featureObj.titlebar : "yes");
				featureStr += (featureStr ? "," : "") + "menubar="    + (featureObj.menubar ? featureObj.menubar : "yes");
				featureStr += (featureStr ? "," : "") + "location="   + (featureObj.location ? featureObj.location : "yes");
				featureStr += (featureStr ? "," : "") + "toolbar="    + (featureObj.toolbar ? featureObj.toolbar : "yes");
				featureStr += (featureStr ? "," : "") + "status="     + (featureObj.status ? featureObj.status : "yes");
				featureStr += (featureStr ? "," : "") + "scrollbars=" + (featureObj.scrollbars ? featureObj.scrollbars : "yes");
				featureStr += (featureStr ? "," : "") + "resizable="  + (featureObj.resizable ? featureObj.resizable : "yes");
			}
			else {
				featureStr = "width=800,height=500,left=10,top=10,titlebar=yes,location=yes,menubar=yes,toolbar=yes,scrollbars=yes,statusbar=yes,resizable=yes";
			}

			if (alreadyOpen){
				if (popupWin.closed) {
					popupWin = window.open(url, name, featureStr);
				} 
				else {
					popupWin.location = url;
					popupWin.focus()
				}
			} 
			else {
				popupWin = window.open(url, name, featureStr);
				alreadyOpen = true;
			}
		}
