/**
	Copyright - Tibor Bedő
	All rights reserved.

	E-mail: tib@i-design.hu
	Web: www.i-design.hu
*/


var id_message_d1 = null;
var id_message_d2 = null;

id_message_center = function() {
	this.valign = "auto";
	this.align = "center";
};

id_message_topleft = function() {
	this.valign = 1;
	this.align = 1;
};

function id_message_getMousePosition() {
	id_message_mouse_position.align=id_mouse_position_X;
	id_message_mouse_position.valign=id_mouse_position_Y;
}

var id_message_mouse_position = {
	align : 0,
	valign : 0
}

function getPageSize(){

    var xScroll, yScroll;

    if (window.innerHeight && window.scrollMaxY) {
        xScroll = document.body.scrollWidth;
        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
        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;
    }

    // for small pages with total height less then height of the viewport
    if(yScroll < windowHeight){
        pageHeight = windowHeight;
    } else {
        pageHeight = yScroll;
    }

    // for small pages with total width less then width of the viewport
    if(xScroll < windowWidth){
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }


    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
    return arrayPageSize;
}

function id_message_box(params) {
	//alert("id_message_box");
	if (!params) return false;

	obj = params["obj"];
	message = params["message"];
	width = params["width"];
	if (params["height"]) height = params["height"];
	else height = false;
	if (params["bg_opacity"]) bg_opacity = params["bg_opacity"];
	else bg_opacity = 50;
	if (params["offsetX"]) offsetX = params["offsetX"];
	else offsetX = 20;
	if (params["offsetY"]) offsetY = params["offsetY"];
	else offsetY = 20;
	

	if (!width) {
		width='300';
	}
	
	ps = getPageSize();

	if (!params['noBGLayer']) {
		
		if (!id_message_d2) d2 = document.createElement("div");
		else d2 = id_message_d2;
		d2.style.filter = "alpha(opacity="+bg_opacity+")";
		d2.style.mozOpacity = "0."+bg_opacity;
		d2.style.opacity = "0."+bg_opacity;
		d2.style.backgroundColor = "#000000";
		d2.style.position = "absolute";
		d2.style.top = "0px";
		d2.style.left = "0px";
		d2.style.width = ps[0]+"px";
		d2.style.height = ps[1]+"px";
		d2.style.zIndex = 100;
		if (!id_message_d2) document.body.appendChild(d2);
	} else d2 = null;
	
	if (!id_message_d1) d = document.createElement("div");
	else d = id_message_d1;
	d.style.clip.top = "0px";
	d.style.clip.left = "0px";
	d.style.clip.right = "100px";
	d.style.clip.bottom = "440px";
	d.innerHTML = message;
	d.style.display = "none";
	d.style.position = "absolute";
	d.style.zIndex = 200;
	if (obj.valign=="auto") d.style.top = (document.all)?document.body.scrollTop:window.pageYOffset+50+offsetY+"px";
	else if (!obj.valign) d.style.top = obj.offsetTop+offsetY+"px";
	else d.style.top = obj.valign+offsetY+'px';
	d.style.padding = "5px";
	d.className = 'id_message_box';
	if (height) d.style.height = height;

	if (!id_message_d2) document.body.appendChild(d);

	id_message_d1 = d;
	id_message_d2 = d2;
	
	id_message_refresh(obj); 
	
	d.style.display = "block";

	if (params["onLoad"]) eval(params["onLoad"]);

}

function id_message_refresh(positionObj) {
	if (id_message_d1) {
		if (positionObj.valign=="auto") id_message_d1.style.top = (document.all)?document.body.scrollTop:window.pageYOffset+50+offsetY+"px";
		else if (!positionObj.valign) id_message_d1.style.top = positionObj.offsetTop+offsetY+"px";
		else id_message_d1.style.top = positionObj.valign+offsetY+'px';
		if (!positionObj.align) id_message_d1.style.left = positionObj.offsetLeft+offsetX+"px";
		else {
			if (positionObj.align=="center") {
				id_message_d1.style.left = Math.round((ps[0]-width)/2)+"px";
			} else id_message_d1.style.left = positionObj.align+offsetX+'px';
		}
	}
} 

function id_message(obj,title,message,width) {

	this.prototype=new id_message_box({
			"obj":obj,
			"message":"<div class='id_message_title_box' style='display: block;'><table cellpadding='0' cellspacing='0' width='"+width+"'><tr><td align='left' class='id_message_title'>"+title+"</td><td align='right'><a class='id_message_bezaras' style='float: right;' href='javascript:id_message_remove();' >Bezárás</a></td></tr></table></div><div style='padding-top: 5px;' class='id_message_body'>"+message+"</div>",
			"width":width
		});

}

function id_message_remove() {
	if (id_message_d1!=null) document.body.removeChild(id_message_d1);
	if (id_message_d2!=null) document.body.removeChild(id_message_d2);
	id_message_d1 = null;
	id_message_d2 = null;
}

function id_message_hide() {
	if (id_message_d1!=null) id_message_d1.style.display='none';
	if (id_message_d2!=null) id_message_d2.style.display='none';
}

loaded=true;
