/**************************************
* Jonas Raoni Soares Silva
* http://www.joninhas.ath.cx
**************************************/

hitTest = function(o, l){
	function getOffset(o){
		for(var r = {l: o.offsetLeft, t: o.offsetTop, r: o.offsetWidth, b: o.offsetHeight};
			o = o.offsetParent; r.l += o.offsetLeft, r.t += o.offsetTop);
		return r.r += r.l, r.b += r.t, r;
	}
	for(var b, s, r = [], a = getOffset(o), j = isNaN(l.length), i = (j ? l = [l] : l).length; i;
		b = getOffset(l[--i]), (a.l == b.l || (a.l > b.l ? a.l <= b.r : b.l <= a.r))
		&& (a.t == b.t || (a.t > b.t ? a.t <= b.b : b.t <= a.b)) && (r[r.length] = l[i]));
	return j ? !!r.length : r;
};


function get_left(obj,id)
{
	var tmp = id;
	var pos_left = 0;
	if (obj.offsetParent) { 
		while (obj.offsetParent) {
			pos_left += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else {
	  	if (obj.x) {
	  		pos_left += obj.x;
	  	}
	}
		
	if ((tmp.clientWidth + pos_left) >= (document.body.clientWidth + document.documentElement.scrollLeft)) {
		pos_left = ((document.body.clientWidth + document.documentElement.scrollLeft) - tmp.clientWidth - 10);
	}

  return pos_left;
}

function get_top(obj)
{
	var pos_top = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			pos_top += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else {
		if (obj.y) {
			pos_top += obj.y;
		}
	}
	
	return pos_top;
}

function highlight_head_line(state, id) {
	/* zvyrazni barevne boxik nad kterym mam mys */
	if (state && (state != '') && id && (id != '')) {
		var linka = document.getElementById('h_linka_div_' + id);
		if (linka) {
			if (state == 'on') {
				linka.className = 'h_linka h_linka_active_' + id;
			} else if (state == 'off') {
				linka.className = 'h_linka';
			}
		}
	}
}

function show_popup(obj, id, pics, url, title, sourcebox, vedlejsibox) {
	var tmp = document.getElementById(id);
	if (tmp) {
		tmp.style.top = get_top(obj)+obj.offsetHeight-1+"px";
		tmp.style.left = get_left(obj,tmp)+"px";
		tmp.style.visibility = "visible";
		tmp.style.display = "block";
		
		if (!$("#" + sourcebox).hasClass("h_main_box_div_sel")) {
			$("#" + sourcebox).addClass("h_main_box_div_sel");
		}
		if (!$("#" + vedlejsibox).hasClass("h_main_box_next_div_sel")) {
			$("#" + vedlejsibox).addClass("h_main_box_next_div_sel");
		}
		
		if(!tmp.ieFix)
			tmp.ieFix = hitTest(tmp, document.getElementsByTagName("select"));
		for(var i = tmp.ieFix.length; i; tmp.ieFix[--i].style.visibility = "hidden");
	}
}

function hide_popup(id, sourcebox, vedlejsibox) {
	var tmp = document.getElementById(id);
	if (tmp) {
		tmp.style.visibility = "hidden";
		tmp.style.display = "block";
		
		
		if ($("#" + sourcebox).hasClass("h_main_box_div_sel")) {
			$("#" + sourcebox).removeClass("h_main_box_div_sel");
		}
		if ($("#" + vedlejsibox).hasClass("h_main_box_next_div_sel")) {
			$("#" + vedlejsibox).removeClass("h_main_box_next_div_sel");
		}
		
		if(!tmp.ieFix)
			tmp.ieFix = hitTest(tmp, document.getElementsByTagName("select"));
		for(var i = tmp.ieFix.length; i; tmp.ieFix[--i].style.visibility = "visible");
	}
}

function popup_over(obj, sourcebox, vedlejsibox) {
	if (obj) {
		obj.style.visibility = 'visible';
		
		if (!$("#" + sourcebox).hasClass("h_main_box_div_sel")) {
			$("#" + sourcebox).addClass("h_main_box_div_sel");
		}
		if (!$("#" + vedlejsibox).hasClass("h_main_box_next_div_sel")) {
			$("#" + vedlejsibox).addClass("h_main_box_next_div_sel");
		}
		
		if(!obj.ieFix)
			obj.ieFix = hitTest(obj, document.getElementsByTagName("select"));
		for(var i = obj.ieFix.length; i; obj.ieFix[--i].style.visibility = "hidden");
	}
}

// fix, aby mi to neborilo design v hlavicce pri zmenseni okna
function changeResize() {
	if (p_popups) {
		var i = 0;
		for (i = 0; i < p_popups.length; i++) {
			var popup = p_popups[i];
			if (popup != "") {
				var tmp = document.getElementById(popup);
				if (tmp) {
					tmp.style.top = "10px";
					tmp.style.left = "0px";
				}
			}
		}
	}
}

// funkce pro donuceni zapsani poznamky - napr. pri ruseni polozky objednavky
function poznamka(url, vychozi, allownull) { 
  var p;
  var def_poznamka = vychozi;
  if (!vychozi) {
  	def_poznamka = '';
  }
  p = prompt("Zadejte poznámku: ", def_poznamka);
  
  if (p == null) {
    return false;
  } else if (p == "") {
  	if (!allownull || allownull == 'no') {
    	alert("Musíte zapsat poznámku!!!");
    	return false;
    } else {
    	// je povolena prazdna poznamka
    	adresa = url;
    	window.location = adresa;
    	return true;
    }
  } else {
    adresa = url;
    if (url.indexOf("?") == -1) {
      adresa = adresa + "?msg=" + p;
    } else {
      adresa = adresa.substring(0, url.indexOf("?") + 1) + "msg=" + p + "&" + adresa.substring(url.indexOf("?") + 1);
    }
    window.location = adresa;
    return true;
  }
}

// funkce pro  uvery a pujcky menu
function changeLinkBack(el, state) {
	if (el) {
		if (state == 'on') {
			el.style.background = 'url("http://img.123shop.cz/img/css/uvery-pujcky/back_menu_links_sel.gif")';
		} else if (state == 'off') {
			el.style.background = 'url("http://img.123shop.cz/img/css/uvery-pujcky/back_menu_links.gif")';
		}
	}
	return true;
}

function showremarks(trow, vis) {
	if (trow) {
		var visible;
		if(navigator.appName == 'Microsoft Internet Explorer') { /* jen pro IE */
	    	visible = 'block';
		} else { /* ostatni prohlizece */
			visible = 'table-row';
		}     
	
		if(vis == 'off') {
	    	document.getElementById(trow).style.display = 'none';
		} else if(vis == 'on') {
	    	document.getElementById(trow).style.display = visible;
		}
	}
}

function showDiv(whichdiv, show) {
    var el = document.getElementById(whichdiv);
    if (el) {
        if (show) {
            el.style.display = 'block';
        } else {
            el.style.display = 'none';
        }
    }
}

function showHideDiv(source, whichdiv, editsourcetext) {
    var el = document.getElementById(whichdiv);
    if (el) {
        if (el.style.display != 'none') {
            showDiv(whichdiv, false);
            if (editsourcetext) {
            	source.innerHTML = '[&amp;nbsp;&gt;&amp;nbsp;]';
            }
        } else {
            showDiv(whichdiv, true);
            if (editsourcetext) {
            	source.innerHTML = '[&amp;nbsp;&lt;&amp;nbsp;]';
            }
        }
    }
}

function checkData(form) {
	if (form) {
		if ((form.uq.value != '') && (form.uq.value != 'Vyhledávání')) {
			return true;
		} else {
			alert('Zadejte název hledaného zboží !');
			return false;
		}
	} else {
		return false;
	}
}
