
var pixel_resize_tooltip_id_array = new Array("overlay","inlay1","inlay2")

var pixel_resize_tooltip_dragobjekt = "";
var pixel_resize_tooltip_dragobjekt_breite = "";
var pixel_resize_tooltip_dragobjekt_hoehe = "";

document.onmousemove = pixel_resize_tooltip_drag;

function pixel_resize_tooltip(id, breite, hoehe, border_color, background_color) {
	if (!background_color) { background_color = '#FFFFFF'; }
	if (!border_color) { border_color = '1px solid #cccccc'; }
	pixel_resize_tooltip_dragobjekt_breite = breite;
	pixel_resize_tooltip_dragobjekt_hoehe = hoehe;
	
	/*for (i = 0 ; i <= 100 ; i++) {
		if (timeout_opacity_1[i]) { clearTimeout(timeout_opacity_1[i]); }
		if (timeout_opacity_2[i]) { clearTimeout(timeout_opacity_2[i]); }
	}*/

	var objBody = document.getElementsByTagName("body").item(0);
		
	var objOverlay = document.createElement("div");
	objOverlay.setAttribute('id',pixel_resize_tooltip_id_array[0]);
	//objOverlay.onclick = function() { Ende(100); return false; };
	objOverlay.style.position = 'absolute';
	objOverlay.style.zIndex = '9';
	objBody.appendChild(objOverlay);
	objOverlay.style.width=breite + 'px';
	objOverlay.style.height=hoehe + 'px';

	pixel_resize_tooltip_dragobjekt = document.getElementById(pixel_resize_tooltip_id_array[0]);
	
	var objInlay1 = document.createElement("div");
	objInlay1.setAttribute('id',pixel_resize_tooltip_id_array[1]);
	objInlay1.style.position = 'absolute';
	objInlay1.style.border = border_color;
	objInlay1.style.left = '0px';
	objInlay1.style.top = '0px';
	objInlay1.style.overflow = 'hidden';
	objInlay1.style.zIndex = '1';
	objInlay1.style.width=breite + 'px';
	objInlay1.style.height=hoehe + 'px';
	objInlay1.style.backgroundColor = background_color;
	objOverlay.appendChild(objInlay1);
	
	var objInlay2 = document.createElement("div");
	objInlay2.setAttribute('id',pixel_resize_tooltip_id_array[2]);
	objInlay2.style.position = 'absolute';
	objInlay2.style.left = '0px';
	objInlay2.style.top = '0px';
	objInlay2.style.overflow = 'hidden';
	objInlay2.style.zIndex = '2';
	objInlay2.style.width=breite + 'px';
	objInlay2.style.height=hoehe + 'px';
	objOverlay.appendChild(objInlay2);
	
	objInlay2.innerHTML = document.getElementById(id).innerHTML;

}

function pixel_resize_tooltip_drag(ereignis) {
  //Wird aufgerufen, wenn die Maus bewegt wird und bewegt bei Bedarf das Objekt.
	var posx = document.all ? window.event.clientX : ereignis.pageX;

	var yScroll = 0;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}
	var posy = document.all ? window.event.clientY+yScroll : ereignis.pageY;

	var arrayPageSize = pixel_resize_tooltip_getPageSize();

	if (pixel_resize_tooltip_dragobjekt) {
		if (arrayPageSize[1]<(posy+20+pixel_resize_tooltip_dragobjekt_hoehe) && arrayPageSize[0]<(posx+30+pixel_resize_tooltip_dragobjekt_breite)) {
			pixel_resize_tooltip_dragobjekt.style.left = (posx+20) + "px";
			pixel_resize_tooltip_dragobjekt.style.top = (posy+10) + "px";
		} else {
			if (arrayPageSize[0]>(posx+30+pixel_resize_tooltip_dragobjekt_breite)) {
				pixel_resize_tooltip_dragobjekt.style.left = (posx+20) + "px";
			} else {
				pixel_resize_tooltip_dragobjekt.style.left = (arrayPageSize[0]-(10+pixel_resize_tooltip_dragobjekt_breite)) + "px";
			}
			if (arrayPageSize[1]>(posy+20+pixel_resize_tooltip_dragobjekt_hoehe)) {
				pixel_resize_tooltip_dragobjekt.style.top = (posy+10) + "px";
			} else {
				pixel_resize_tooltip_dragobjekt.style.top = (arrayPageSize[1]-(10+pixel_resize_tooltip_dragobjekt_hoehe)) + "px";
			}
		}
		
	}
	
}

function pixel_resize_tooltip_exit(){


	for (var i = 0 ; i < pixel_resize_tooltip_id_array.length ; i++) {
		var merker = document.getElementById(pixel_resize_tooltip_id_array[i]);
		if(merker) {
			document.getElementById(pixel_resize_tooltip_id_array[i]).style.display = "none";
			var objOverlay = document.getElementById(pixel_resize_tooltip_id_array[i]);
			objOverlay.setAttribute('id', pixel_resize_tooltip_id_array[i]+'_close');
		}
	}
}


function pixel_resize_tooltip_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;
}



