var ImagePopUp = {};

ImagePopUp.Element = null;
ImagePopUp.Close = true;
ImagePopUp.Image = null;

ImagePopUp.Collect = function(ID){
	
	var Element = document.createElement("DIV");
	Element.innerHTML = '<img style="cursor: pointer;" onclick="ImagePopUp.PopUp(this);" onmouseout="window.setTimeout(\'ImagePopUp.Close = true;\', 11);" onmouseover="ImagePopUp.Close = false;" src="images/popup.gif" alt=""/>';
	Element.style.position = "absolute";
	Element.style.top = "0px";
	Element.style.left = "0px";
	Element.style.display = "none";
	Element.style.backgroundColor = "#ffffff";
	Element.id = ID;
	ImagePopUp.Element = Element;
	
	var Body = document.getElementsByTagName("BODY")[0];
	Body.appendChild(Element);
	
	var Images = document.getElementsByTagName("img");
	for(var z = 0; z < Images.length; z++){
		if(ImagePopUp.CheckParent(Images[z], "content") && Images[z].src.match("images/upload/") && !Images[z].src.match("generated_by_font") && !Images[z].src.match("default")){
			Event.RegisterEventHandler(Images[z], "onmouseover", ImagePopUp.OnImageOver);
			Event.RegisterEventHandler(Images[z], "onmouseout", ImagePopUp.OnImageOut);
		}
	}
}

ImagePopUp.CheckParent = function(Element, ParentID){
	if(Element.parentNode.id == ParentID){
		return true;
	}else if(Element.parentNode.tagName == "BODY"){
		return false;
	}
	return ImagePopUp.CheckParent(Element.parentNode, ParentID);
}

ImagePopUp.OnImageOver = function(e){
	obj = this;
	
	if(typeof(this.src) == "undefined"){
		obj = e.srcElement;
	}
	if(!obj.src.match("popup.gif")){
		ImagePopUp.Image = obj;
		var Coordinates = DocumentDOM.GetCoordinates(obj, false);
		var Top = Coordinates[1];
		var Left = Coordinates[0];
		var Width = obj.offsetWidth;
		var Height = obj.offsetHeight;
		var Img = ImagePopUp.Element.childNodes[0];
		
		ImagePopUp.Element.style.top = (Top + 20) + "px";
		ImagePopUp.Element.style.left = (Left + Width - 20 - Img.width) + "px";
		ImagePopUp.Element.style.display = "";
	}
}

ImagePopUp.OnImageOut = function(e){
	obj = this;
	
	if(typeof(this.src) == "undefined"){
		obj = e.srcElement;
	}
	var Coordinates = DocumentDOM.GetCoordinates(obj, false);
	var Width = obj.offsetWidth;
	var Height = obj.offsetHeight;
	mouseX = e.clientX + document.body.scrollLeft;
	mouseY = e.clientY + document.body.scrollTop;
	if(mouseX <= Coordinates[0] || mouseX >= (Coordinates[0] + Width) || mouseY <= Coordinates[1] || mouseY >= (Coordinates[1] + Height)){
		ImagePopUp.HideIcon();
	}
}

ImagePopUp.HideIcon = function(){
	if(ImagePopUp.Close){
		ImagePopUp.Element.style.display = "none";
	}
}

ImagePopUp.PopUp = function(obj){
	var Body = document.getElementsByTagName("BODY")[0];
	
	var Element = document.getElementById("PopUpLayer");
	var ElementView = document.getElementById("PopUpLayerView");
	if(Element == null){
		Element = document.createElement("DIV");
		if(Browser.Name == "MSIE" && Browser.Version == "6.0"){
			Element.style.position = "absolute";
		}else{
			Element.style.position = "fixed";
		}
		Element.style.top = "0px";
		Element.style.left = "0px";
		Element.style.zIndex = 99;
		Element.style.width = "100%";
		Element.style.height = "100%";
		DocumentDOM.SetOpacity(Element, 50);
		Element.style.backgroundColor = "#611210";
		Element.style.height = Body.offsetHeight + "px";
		Element.id = "PopUpLayer";
		Event.RegisterEventHandler(Element, "onclick", ImagePopUp.PopUpClose);
		
		ElementView = document.createElement("DIV");
		if(Browser.Name == "MSIE" && Browser.Version == "6.0"){
			ElementView.style.position = "absolute";
		}else{
			ElementView.style.position = "fixed";
		}
		ElementView.style.top = "0px";
		ElementView.style.left = "0px";
		ElementView.style.zIndex = 100;
		ElementView.style.width = "100%";
		ElementView.style.textAlign = "center";
		ElementView.style.height = Body.offsetHeight + "px";
		ElementView.id = "PopUpLayerView";
		Event.RegisterEventHandler(ElementView, "onclick", ImagePopUp.PopUpClose);
		
		Body.appendChild(Element);
		Body.appendChild(ElementView);
	}else{
		Element.style.display = "";
		ElementView.style.display = "";
	}
	
	var path = ImagePopUp.Image.src.split("/");
	var img = path[path.length - 1].split(".");
	
	var dir = 'http://';
	for(var z = 1; z < (path.length - 1); z++){
		if(path[z] != "" && path[z] != "thumbnail"){
			dir += path[z] + "/";
		}
	}
	var name = img[0];
	var ext = img[img.length - 1];
	var img = document.createElement("IMG");
	img.src = dir + name + "." + ext;
	img.alt = "";
	img.id = "PopImage";
	ElementView.innerHTML = "";
	ElementView.appendChild(img);
	if(document.all){
		winH = screen.availHeight - window.screenTop - 20;
	}else{
		winH = window.innerHeight;
	}
	var ajax = new Ajax();
	ajax.Async = false;
	ajax.CallBack = "";
	ajax.FilePath = "backend/imagesize.php";
	ajax.ClassName = "ImageSize";
	ajax.MethodName = "XGetImageSize";
	ajax.RegisterArgument("ImagePath", name + "." + ext);
	var Request = ajax.Send();
	
	var hh = Request.responseText * 1;
	img.style.marginTop = ((winH - hh) / 2 - 20) + "px";
}

ImagePopUp.PopUpClose = function(){
	var Element = document.getElementById("PopUpLayer");
	var ElementView = document.getElementById("PopUpLayerView");
	
	Element.style.display = "none";
	ElementView.style.display = "none";
}
