
function evt_body_load() { }

var left_adv_top = null;

function evt_body_load_adv() {
	var left_adv = document.getElementById("left_adv");
	if (left_adv_top == null) left_adv_top = elementPositionY(left_adv);

	document.body.onscroll = window.onscroll = function() {
		left_adv.style.position = "absolute";
		left_adv.style.top = (getScY() >= left_adv_top - 25 ? (left_adv_top + getScY() - left_adv_top + 25) : left_adv_top) + "px"
	}
}

function evt_body_load_job() {
	evt_body_load_adv();
	
	var ref = document.getElementById("job_set_date");
	var cal = document.getElementById("cal");
	
	if (ref != null && cal != null) {
		ref.onclick = function() {
			document.getElementById("cal").style.display = ref.checked ? "block" : "none";
		}
		cal.style.display = ref.checked ? "block" : "none";
	}
}

function getScY() {
	var a = this.document.body.scrollTop;
	var b = this.document.documentElement.scrollTop;
	
	return a != 0 ? a : b;
}

function elementPositionX(targetEl) {
	var value = 0;
	while (targetEl != null) {
		value += targetEl.offsetLeft;
		targetEl = targetEl.offsetParent;
	}
	return value;
}

function elementPositionY(targetEl) {
	var value = 0;
	while (targetEl != null) {
		value += targetEl.offsetTop;
		targetEl = targetEl.offsetParent;
	}
	return value;
}

function preview(prev_path) {
	window.open("/preview.php?prev_path=" + prev_path, "prev_wnd", "toolbar=0,statusbar=0,menubar=0,resizable=1,scrollbars=0,width=800,height=600");
}


// I N S E R T  I N F O
function insert_info(flag) {
    var obj_ref = document.getElementById("insert_info");
	var obj_input = document.getElementById("users_activity");
	var def_text = "vyplnit další činnosti je možné po zaškrtnutí 'jiný obor' v seznamu činností";
	
	if ((flag == null && obj_ref.style.display == "block") || (flag != null && !flag)) {
		// disabled
		obj_ref.style.display = "none";
		obj_input.disabled = true;
		obj_input.style.backgroundColor = "#F4F4F4";
		obj_input.value = def_text;
		
	} else {
		// enabled
		obj_ref.style.display = "block";
		obj_input.disabled = false;
		obj_input.style.backgroundColor = "white";
		if (obj_input.value == def_text) obj_input.value = "";
	}
}

// K A T A L O G  I N F O
function catalog_check() {
	var ref = document.getElementById("users_catalog_flag");
	
	var objA = document.getElementById("users_catalog_text");
	var objB = document.getElementById("popis_cinnosti");
	var objC = document.getElementById("users_catalog_location");
	var objD = document.getElementById("lokalita");
	var objE = document.getElementById("logo_firmy");
	var objF = document.getElementById("logo_input");
	var objG = document.getElementById("users_catalog_email");
	var objH = document.getElementById("users_catalog_person");
	var objL = document.getElementById("users_catalog_phone");
	var objI = document.getElementById("kontaktni_email");
	var objJ = document.getElementById("kontaktni_osoba");
	var objM = document.getElementById("kontaktni_telefon");
	
	objA.disabled = !ref.checked;
	objA.style.backgroundColor = ref.checked ? "white" : "#E0E0E0";
	objA.style.color = ref.checked ? "#555555" : "silver";
	
	objC.disabled = !ref.checked;
	objC.style.backgroundColor = ref.checked ? "white" : "#E0E0E0";
	objC.style.color = ref.checked ? "#555555" : "silver";

	objF.disabled = !ref.checked;

	objG.disabled = !ref.checked;
	objG.style.backgroundColor = ref.checked ? "white" : "#E0E0E0";
	objG.style.color = ref.checked ? "#555555" : "silver";

	objH.disabled = !ref.checked;
	objH.style.backgroundColor = ref.checked ? "white" : "#E0E0E0";
	objH.style.color = ref.checked ? "#555555" : "silver";

	objL.disabled = !ref.checked;
	objL.style.backgroundColor = ref.checked ? "white" : "#E0E0E0";
	objL.style.color = ref.checked ? "#555555" : "silver";
	
	objB.style.color = ref.checked ? "#555555" : "silver";
	objD.style.color = ref.checked ? "#555555" : "silver";
	objE.style.color = ref.checked ? "#555555" : "silver";
	objI.style.color = ref.checked ? "#555555" : "silver";
	objJ.style.color = ref.checked ? "#555555" : "silver";
	objM.style.color = ref.checked ? "#555555" : "silver";
	
	objA.onfocus = catalog_focus;
	objA.onblur = catalog_blur;
	
	catalog_blur();
}

function catalog_focus() {
	var ref = document.getElementById("users_catalog_text");

	if (ref != null && ref.value == "Zde uveďte popis činností vaší firmy, které chcete zobrazit v katalogu firem.")
		ref.value = "";
}

function catalog_blur() {
	var ref = document.getElementById("users_catalog_text");
	
	if (ref != null && ref.value == "")
		ref.value = "Zde uveďte popis činností vaší firmy, které chcete zobrazit v katalogu firem.";
}

// C A L E N D A R
var first_pick = null;
var second_pick = null;
var cal_flag = "";
var cal_point = 0;
var cal_index = new Array();

function cal_over(ref) {
    ref.style.backgroundColor = "#FFE4CC";
    ref.style.fontWeight = "bold";
}

function cal_out(ref) {
    ref.style.backgroundColor = "white";
    ref.style.fontWeight = "normal";
}

function cal_info_over(eventRef) {
    var info_ref = document.getElementById("cal_info_container");

    info_ref.style.left = (eventRef.clientX + 10) + "px";
    info_ref.style.top = (eventRef.clientY + 10 + document.documentElement.scrollTop) + "px";
    info_ref.style.display = "block";
}

function cal_info_move(eventRef) {
    cal_info_over(eventRef);
}

function cal_info_out(eventRef) {
    var target = (eventRef.toElement == null) ? eventRef.relatedTarget : eventRef.toElement;
    var info_ref = document.getElementById("cal_info_container");

    while (target != null && target != info_ref)
        target = target.parentNode;
        
    if (target == null) info_ref.style.display = "none";
}

function cal_open(eventRef, flag) {
	switch (flag) {
		case "first" :
		case "second" :
		    var selfEl = (eventRef.srcElement == null) ? eventRef.target : eventRef.srcElement;
		    var cal_obj = document.getElementById("cal_container");
			var iRef;
			
			cal_flag = flag;			
			switch (cal_flag) {
				case "first" :
					document.getElementById("cal_info_container").innerHTML = "Zvolte počáteční datum ..."; 
					iRef = document.getElementById("cal_input_first");
					break;
					
				case "second" :
					document.getElementById("cal_info_container").innerHTML = "Zvolte konečné datum ..."; 
					iRef = document.getElementById("cal_input_sec");
					break;
			}
			
			var tmpD = cal_days(iRef.value);
			if (tmpD.length == 3) {
				// nastaveni mesice
				var founded = false;
				var pos = 0;
				
				while (!founded && pos < cal_index.length)
					if (cal_index[pos][0] == tmpD[1] && cal_index[pos][1] == tmpD[2]) {
						document.getElementById("cal" + cal_point + "no").style.display = "none";
						document.getElementById("cal" + cal_index[pos][2] + "no").style.display = "block";
						cal_point = cal_index[pos][2];
						
						founded = true;
					} else pos++;
			}
			
		    cal_obj.style.left = (elementPositionX(selfEl) - 148) + "px";
		    cal_obj.style.top = (elementPositionY(selfEl) + 35) + "px";
		    cal_obj.style.display = "block";			
			break;
	}
}

function cal_left() {
	var tmp_befRef = document.getElementById("cal" + cal_point + "no");
	var tmp_point = cal_point - 1;
	var tmp_ref = document.getElementById("cal" + tmp_point + "no");
	
	if (tmp_ref != null) {
		tmp_befRef.style.display = "none";
		tmp_ref.style.display = "block";
		cal_point = tmp_point;
	}
}

function cal_right() {
	var tmp_befRef = document.getElementById("cal" + cal_point + "no");
	var tmp_point = cal_point + 1;
	var tmp_ref = document.getElementById("cal" + tmp_point + "no");

	if (tmp_ref != null) {
		tmp_befRef.style.display = "none";
		tmp_ref.style.display = "block";
		cal_point = tmp_point;
	}
}

function cal_pick(value) {
	switch (cal_flag) {
		case "first" :
			document.getElementById("cal_input_first").value = value; break;
			
		case "second" :
			document.getElementById("cal_input_sec").value = value; break;
	}
	
	cal_process();	
}

function cal_days(value) {
    var output = new Array();
    var char = "";
    var last = "";
    var pos = 0;

    while (pos <= value.length) {
        char = pos == value.length ? "." : value.substr(pos, 1);

        switch (char) {
            case "." :
				last = parseInt(last);
				if (isNaN(last)) last = 0;
                output[output.length] = last;
                last = "";
                break;

            default :
                last += char;
                break;
        }

        pos++;
    }
    
    return output;
}

function cal_process() {
	var input_first = document.getElementById("cal_input_first");
	var input_sec = document.getElementById("cal_input_sec");

    if (input_first != null && input_sec != null) {
        var dA = cal_days(input_first.value);
        var dB = cal_days(input_sec.value);
		
		if (dA.length == 3 && dB.length == 3) {
	        if ((dA[2] > dB[2]) || (dA[2] == dB[2] && dA[1] > dB[1]) || (dA[2] == dB[2] && dA[1] == dB[1] && dA[0] > dB[0])) {
	            var tmp = input_first.value;
	            input_first.value = input_sec.value;
	            input_sec.value = tmp;
	        }
		}
		
        document.getElementById("cal_container").style.display = "none";
    }
}

// A L E R T  B O X
var alert_container = null;
var alert_timer = null;

function alert_hide() {
    alert_container.style.display = "none";
    alert_timer = null;
}

function msg_alert(selfEl, iMsg) {
    if (alert_container == null) {
        alert_container = document.createElement("DIV");
        alert_container.style.background = "url('/gfx/default/alert_bg.gif')";
        alert_container.style.border = "1px solid black";
        alert_container.style.padding = "4px 3px 3px 8px";
        alert_container.style.position = "absolute";

        document.getElementById("baseContainer").appendChild(alert_container);
    }

    alert_container.innerHTML = iMsg;
    alert_container.style.display = "block";
    alert_container.style.left = (elementPositionX(selfEl) + selfEl.offsetWidth + 5) + "px";
    alert_container.style.top = (elementPositionY(selfEl) + 5) + "px";

    if (alert_timer != null) clearTimeout(alert_timer);
    alert_timer = setTimeout("alert_hide()", 2000);
}

function number_check(eventRef) {
    var selfEl = (eventRef.srcElement == null) ? eventRef.target : eventRef.srcElement;

    var keycode;
    var keychar;
    var numcheck;

    if (window.event) keycode = eventRef.keyCode;
    else if (eventRef.which) keycode = eventRef.which;
    keychar = String.fromCharCode(keycode);

    numcheck = /\d/;
    if (numcheck.test(keychar)) return true;
    else {
        switch (eventRef.keyCode) {
            case 9 :
            case 13 :
            case 8 :
            case 46 :
            case 16 :
            case 18 :
            case 36 :
            case 35 :
                return true;
                break;

            default :
                return false;
                break;
        }
    }
}

function psc_alert(eventRef) {
    var selfEl = (eventRef.srcElement == null) ? eventRef.target : eventRef.srcElement;
    if (selfEl.value.length >= 5) {
        switch (eventRef.keyCode) {
            case 9 :
            case 13 :
            case 8 :
            case 46 :
            case 16 :
			case 39 :
			case 37 :
            case 18 :
            case 36 :
            case 35 :
                return true;
                break;

            default :
                msg_alert(selfEl, "Směrovací číslo může mít <strong>pouze 5 číslic</strong>!");
                return false;
                break;
        }
    } else return number_alert(eventRef);
}

function phone_alert(eventRef) {
    var selfEl = (eventRef.srcElement == null) ? eventRef.target : eventRef.srcElement;

    var keycode;
    var keychar;
    var numcheck;

    if (window.event) keycode = eventRef.keyCode;
    else if (eventRef.which) keycode = eventRef.which;
    keychar = String.fromCharCode(keycode);
	
    numcheck = /\d/;
    if (numcheck.test(keychar)) return true;
    else {
        switch (eventRef.keyCode) {
            case 9 :
            case 13 :
            case 8 :
            case 46 :
            case 16 :
            case 18 :
			case 39 :
			case 37 :
            case 36 :
            case 35 :
			case 32 :
                return true;
                break;

            default :
                if (selfEl.value.length == 0) {
                    if (keychar == "+") return true;
                    else {
                        msg_alert(selfEl, "První znak může být pouze <strong>číslice</strong> nebo <strong>znaménko \"+\"</strong>!");
                        return false;
					}
                } else {
					if (keychar == " ") return true;
                    else if (keychar == "+") msg_alert(selfEl, "Znaménko \"+\" může být <strong>pouze na začátku telefonního čísla</strong>!");
                    else msg_alert(selfEl, "V tomto poli je požadován <strong>číselný údaj</strong>!");
                    return false;
                }
                break;
        }
    }
}

function ctype_box(eventRef) {
    var selfEl = (eventRef.srcElement == null) ? eventRef.target : eventRef.srcElement;
    if (selfEl.tagName.toUpperCase() == "OPTION") {
        var put = "";
        
        switch (selfEl.value) {
            case "osvč" : put = "Osoba samostatně výdelečně činná (Živnostník)"; break;
            case "s.r.o." : put = "Společnost s ručením omezeným"; break;
            case "v.o.s." : put = "Veřejná obchodní společnost"; break;
            case "k.s." : put = "Komanditní společnost"; break;
            case "a.s." : put = "Akciová společnost"; break;
        }
        
        if (put != "")
            msg_alert(selfEl, put);
    }
}

function number_alert(eventRef) {
    if (!number_check(eventRef)) {
        var selfEl = (eventRef.srcElement == null) ? eventRef.target : eventRef.srcElement;
        msg_alert(selfEl, "V tomto poli je požadován <strong>číselný údaj</strong>!");
        return false;
    } else return true;
}

