// JavaScript Document
var YRN;
if(!YRN){
    YRN={};
}

YRN.Popup=function(arguments){
	this.Init(arguments);	
}

YRN.Popup.prototype.width=0;
YRN.Popup.prototype.height=0;
YRN.Popup.prototype.strCaption="";
YRN.Popup.prototype.opacity=70;
YRN.Popup.prototype.backgroundColor="#000000";
YRN.Popup.prototype.body;
YRN.Popup.prototype.background;
YRN.Popup.prototype.frame;
YRN.Popup.prototype.btnClose;
YRN.Popup.prototype._opacity=0;
YRN.Popup.prototype.layout=null;
YRN.Popup.prototype.btnClose;
YRN.Popup.prototype.panelCaption;
YRN.Popup.prototype.panelContent;
YRN.Popup.prototype.contenURL="";
YRN.Popup.prototype.objAjax;


YRN.Popup.prototype.Init=_Init;
YRN.Popup.prototype.$=_$;
YRN.Popup.prototype.CreateBackground =_CreateBackground;
YRN.Popup.prototype.AddChild=_AddChild;
YRN.Popup.prototype.RemoveChild=_RemoveChild;
YRN.Popup.prototype.SetOpacity=_SetOpacity;
YRN.Popup.prototype.CreateFrame = _CreateFrame;
YRN.Popup.prototype.CreateCloseButton=_CreateCloseButton;
YRN.Popup.prototype.SetCaption=_SetCaption;
YRN.Popup.prototype.Load=_Load;

function _$(elementId){
    if (elementId && typeof elementId == "string") return document.getElementById(elementId);
	return elementId;
}
function _Init(){	
	this.width=200;
	this.height=200;
	this.objAjax=null;
	this.layout="javascript/popup/white_layout";	
	if(arguments.length==1){
		var objProperties=arguments[0];
		for(var field in objProperties){
			this[field] = objProperties[field];
		}
	}
	
	this.panelCaption="popupCaption";
	this.panelContent="popupContent";
	
	this.body=document.getElementsByTagName("body").item(0);	
	this.frame=document.createElement("div");
	this.background=document.createElement("div");
	this.btnClose=new Image();
	
	
	this.strCaption="";
	this.opacity=70;
	this.backgroundColor="#000000";
	
}

function _CreateBackground(){
	var bgColor=this.backgroundColor;
	var opacity=this.opacity;
	if(arguments[0]){
		var obj=arguments[0];
		bgColor=(obj["background-color"]?obj["background-color"]:bgColor);
		opacity=(obj["opacity"]?obj["opacity"]:opacity);
	}
	
	var page=new YRN.Page();
	var w=page.pageWidth+"px";
	var h=page.pageHeight +30+"px";	
	this.background.style.width=w;
	this.background.style.height=h;

	this.background.style.top="0px";
	this.background.style.left="0px";
	this.background.style.position="absolute";	
	this.SetOpacity(this.background,opacity);
	this.background.style.backgroundColor=bgColor;	
}
function _AddChild(objChild){
	this.body.appendChild(objChild);
}
function _RemoveChild(objChild){
	this.body.removeChild(objChild);
}
function _SetOpacity(obj, opacity){
	obj.style.filter="alpha(opacity="+ opacity +")";
	obj.style.mozOpacity=opacity/100;
	obj.style.opacity=opacity/100;
}

function _CreateFrame(){
	var page=new YRN.Page();
	var top=(page.yScroll-15)+(page.windowHeight/2)-(this.height/2);
	var left=(page.windowWidth/2)-(this.width/2);	
	this.frame.style.zIndex=1001;
	this.frame.style.left=left+"px";
	this.frame.style.top = top+"px";	
	this.frame.style.width=this.width+"px";
	this.frame.style.height=this.height+"px";
	this.frame.style.position="absolute";
	if(arguments.lenght>0){	
		var objStyle=arguments[0];
		this.frame.style.backgroundColor=(objStyle["backgroundColor"]?objStyle["backgroundColor"]:null);
		this.frame.style.border=(objStyle["border"]?objStyle["border"]:null);
	}

	this.frame.innerHTML="<table style=\"width: 100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"> "+
		"<tr>"+
			"<td style=\"width: 15px;height: 15px; background-image: url("+this.layout+"/top_left.png)\"></td>"+
			"<td style=\"background-image: url("+this.layout+"/top_center.png);\"></td>"+
			"<td style=\"width: 15px; background-image: url("+this.layout+"/top_right.png)\"></td>"+
		"</tr><tr>"+			
			"<td style=\"background-image: url("+this.layout+"/middle_left.png);\"></td>"+
			"<td style=\"vertical-align: top; background-image: url("+this.layout+"/middle_center.png); width: "+Number(this.width-30)+"px; height: "+Number(this.height-30)+"px\">"+
				"<div id=\"popupCaption\" style=\"text-align: center\">&nbsp;</div>"+
				"<div style=\"height: 3px;\"></div>"+
				"<div id=\"popupContent\" style=\"overflow: auto; height: 97%; width: "+(this.width-30)+"px; vertical-align: top;\"></div>"+
			"</td>"+
			"<td style=\"background-image: url("+this.layout+"/middle_right.png);\"></td>"+
			"</tr><tr>"+
			"<td style=\"background-image: url("+this.layout+"/bottom_left.png); height: 15px\"></td>"+
			"<td style=\"background-image: url("+this.layout+"/bottom_center.png);\"></td>"+
			"<td style=\"background-image: url("+this.layout+"/bottom_right.png)\"></td>"+
		"</tr></table>";	
}

function _CreateCloseButton(){	
	this.btnClose.src=this.layout+"/btn_close.gif";
	this.btnClose.style.top=parseInt(this.frame.style.top)+10+"px";
	var left=parseInt(this.frame.style.left)+this.width-26+"px";
	this.btnClose.style.left=left;
	this.btnClose.style.position="absolute";
	this.btnClose.style.zIndex=1002;
	this.btnClose.style.cursor="pointer";	
	
	var btnClose=this.btnClose;
	var layout=this.layout;
	var frame=this.frame;
	var background=this.background;
	this.btnClose.onmouseover=function(){	
		btnClose.src=layout+"/btn_close_over.gif";
	}
	this.btnClose.onmouseout=function(e){
		btnClose.src=layout+"/btn_close.gif";
	}
	var body=this.body;
	var instance=this;
	this.btnClose.onclick=function(){
		instance.RemoveChild(btnClose);
		instance.RemoveChild(frame);
		instance.RemoveChild(background);
	}
}

function _SetCaption(strCaption){
	var objCaption=this.$("popupCaption");
	if(arguments.length==2){
		var objStyle=arguments[1];
		for(var style in objStyle){
			objCaption.style[style]=objStyle[style];
		}
	}
	objCaption.innerHTML=strCaption;	
}

function _Load(){
	this.objAjax.Send(this.contentURL,this.panelContent);
}
