var PopUp = {
	version: "1.1b"
}
PopUp.windows = new Object();
PopUp.reservedProps = new Array("center", "msgBlock", "");
PopUp.open = function(src, name, props){
	this.props = props;
	this.props["width"] = this.props["width"] != undefined && parseInt(this.props["width"]) > 0 ? parseInt(this.props["width"]) : 100;
	this.props["height"] = this.props["height"] != undefined && parseInt(this.props["height"]) > 0 ? parseInt(this.props["height"]) : 100;
	PopUp.windows[name] = window.open(src, name + "_" + (new Date()).getSeconds(), PopUp.getProps(this.props));
	if((PopUp.windows[name] == null || PopUp.windows[name] == false) && this.props["msgBlock"] != undefined && this.props["msgBlock"].length > 0){
		PopUp.killPop(name);
		return false;
	} else {
		if(this.props["center"] != undefined && this.props["center"] == true){
			swidth  = !screen.width 	 ? 	screenLeft 	: 	screen.width;
			sheight = !screen.height	 ? 	screenTop 	: 	screen.height;
			PopUp.windows[name].moveTo((swidth-this.props["width"])/2, (sheight-this.props["height"])/2);
		}
		PopUp.windows[name].focus();
	}
}
PopUp.getProps = function(props){
	var propsConf = new String();
	for(var i in props){
		var isReserved = false;
		for(var j=0; j<PopUp.reservedProps.length; j++){
			if(i.toString().toLowerCase() == PopUp.reservedProps[j].toString().toLowerCase()){
				isReserved = true; break;
			}
		}
		if(isReserved == false) propsConf += i.toString() + "=" + props[i] + ",";
	}
	return propsConf.substr(0, propsConf.length-1);
}
PopUp.killPop = function(name){
	if(PopUp.windows[name] != undefined){
		if(PopUp.windows[name] != null) PopUp.windows[name].close();
		delete PopUp.windows[name];
		return true;
	}
	return false;
}
PopUp.focus = function(name){ PopUp.windows[name].focus(); }
PopUp.blur = function(name){ PopUp.windows[name].blur(); }
PopUp.close = function(name){ return PopUp.killPop(name); }
