// JavaScript Document
// koledarcek tabela onmouseover eventi

var koledar = true;

function on_cell_over_events() {
	var tabela = document.getElementById('koledar');
	var tbody = tabela.getElementsByTagName('tbody');
	var celice = tbody[0].getElementsByTagName('td');
	
	// loop skozi celice
	for( var i = 0, length = celice.length; i < length; i++) {
		var celica = celice[i];
		if(celica.className == 'occupied') {
			// over
			celica.onmouseover = function() {
				display_child_div(this);
			}
			// out
			celica.onmouseout = function() {
				hide_child_div(this);
			}
		}
	}

}

// prikazemo child div
function display_child_div(cell) {
	var tmp = cell.getElementsByTagName('div')
	var div = tmp[0];
	
	if(div) {
		// racunanje pozicije glede na relativno poravnan div
		var table = document.getElementById('koledar');
		offset = getAbsolutePos(table);				
		
		// racunanje x, y
		var pos = getAbsolutePos(cell);
		// odstejemo offset
		pos.x -= offset.x;
		pos.y -= offset.y;
		// pristejemo nekaj malega da bo na pravem mestu
		pos.x += 0;
		pos.y += 25; // 25	
		
		// spremenimo display: block, top in left
		div.style.display = 'block';
		
		var divHeight = div.offsetHeight;
		if (divHeight > 250) {
			div.style.top = (pos.y - (divHeight + 20)) + 'px';
			div.style.left = pos.x + 'px';				
		} else {
			div.style.top = pos.y + 'px';
			div.style.left = pos.x + 'px';
		}
		
		
		
	}
	
	// spremenimo td class na hover
	cell.className = 'occupied_hover';
}

// skrijemo div
function hide_child_div(cell) {
	var tmp = cell.getElementsByTagName('div')
	var div = tmp[0];
	
	if(div) {
		// spremenimo display: none
		div.style.display = 'none';
	}
	
	// spremenimo td class na hover
	cell.className = 'occupied';
}

// dobimo pozicijo elementa
	function getAbsolutePos(el) {
        var SL = 0, ST = 0;
        var is_div = /^div$/i.test(el.tagName);
        if (is_div && el.scrollLeft) {
            SL = el.scrollLeft;
        }
        if (is_div && el.scrollTop) {
            ST = el.scrollTop;
        }
        var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
        if (el.offsetParent) {
			var tmp = getAbsolutePos(el.offsetParent);
            r.x += tmp.x;
            r.y += tmp.y;
        }
        return r;
    }
	
// onload