//<![CDATA[

//povoli zadat pouze cislice
function CheckNumber(e)
{
	if (!e) e = window.event;
	if (e.charCode != null) return (e.charCode == 0 || /\d{1,1}/.test(String.fromCharCode(e.charCode)));
	else return /\d{1,1}/.test(String.fromCharCode(e.keyCode));
}

function CheckNumbers(frm, arr) {
	var res = new Array();
	for (var i = 0; i < arr.length; i ++)
		if (!/^\s*\d*\s*$/.test(frm[arr[i]].value)) res.push(arr[i]);
	return (res.length > 0 ? res : null);
}
			
//doplni predcisli podle vybrane zeme
function CountryChange(obj, frm)
{
	if (frm == null) frm = document.forms["form_reg"];
	if (frm.ea_phone) {
		if (frm.ea_phone.value.length <= 4) frm.ea_phone.value = "+" + obj.options[obj.selectedIndex].value;
		if (frm.ea_mobile.value.length <= 4) frm.ea_mobile.value = "+" + obj.options[obj.selectedIndex].value;
	} else {
		if (obj.name == "PersonCountryID") {
			if (frm.PersonPhone.value.length <= 4) frm.PersonPhone.value = "+" + obj.options[obj.selectedIndex].value;
			if (frm.PersonMobile.value.length <= 4) frm.PersonMobile.value = "+" + obj.options[obj.selectedIndex].value;
		} else {
			if (frm.CompanyPhone.value.length <= 4) frm.CompanyPhone.value = "+" + obj.options[obj.selectedIndex].value;
			if (frm.CompanyMobile.value.length <= 4) frm.CompanyMobile.value = "+" + obj.options[obj.selectedIndex].value;
		}
	}
}

//oznaci pouze jeden checkbox v seznamu
function CheckOneBox(obj)
{
	var frm = obj.form;
	var elm = null;
	var i = 1;
	while (eval("frm.guid_doc" + i) != null) {
		elm = eval("frm.check" + i);
		if (elm != null) {
			if (elm != obj) elm.checked = false;
		}
		i ++;
	}
}

//zkotrlojue, zda je vybran zaznam v seznamu
function CheckForm(frm)
{
	var idx = -1;
	var elm = null;
	var i = 1;
	while (eval("frm.guid_doc" + i) != null) {
		elm = eval("frm.check" + i);
		if (elm != null && elm.checked) idx = i;
		i ++;
	}
	if (idx < 0) {
		alert("Upozornění: k provedení akce je nutné vybrat dokument!");
		return false;
	}
	return true;
}

//zkopiruje kontaktni data z osoby do firmy nebo naopak, smer udava parametr source
//source == Person -> kopiruje se z osoby do firmy; source == Company -> z firmy do osoby
function CopyContactData(frm, source) {
	var target = (source == "Person" ? "Company" : "Person");
	for (var i = 0; i < frm.elements.length; i++) {
		var elSource = frm.elements[i];
		if (elSource.name != null && elSource.name.substr(0, source.length) == source) {
			var elTarget = eval("frm." + target + elSource.name.substring(source.length));
			if (elTarget != null) {
				if (elSource.tagName == "INPUT" && elSource.type == "text") elTarget.value = elSource.value;
				else if (elSource.tagName == "SELECT") elTarget.selectedIndex = elSource.selectedIndex;
				else if (elSource.tagName == "TEXTAREA") elTarget.value = elSource.value;
			}
		}
	}
}

//Vlozi na pozici kurzoru zadany text
function insertAtCaret(obj, text) { 
	if (document.selection) { 
		obj.focus(); 
		var orig = obj.value.replace(/\r\n/g, "\n"); 
		var range = document.selection.createRange(); 
		if (range.parentElement() != obj) { 
			return false; 
		} 
		range.text = text; 
		var actual = tmp = obj.value.replace(/\r\n/g, "\n"); 
		for (var diff = 0; diff < orig.length; diff++) { 
			if (orig.charAt(diff) != actual.charAt(diff)) break; 
		} 
		for (var index = 0, start = 0;
					tmp.match(text)  
					&& (tmp = tmp.replace(text, ""))  
					&& index <= diff;  
					index = start + text.length 
		) { 
			start = actual.indexOf(text, index); 
		} 
	} else if (obj.selectionStart) { 
		var start = obj.selectionStart; 
		var end   = obj.selectionEnd; 
		obj.value = obj.value.substr(0, start) + text + obj.value.substr(end, obj.value.length);
	} 
	if (start != null) { 
		setCaretTo(obj, start + text.length); 
	} else { 
		obj.value += text; 
	} 
} 

//Umisti kurzor na zadanou pozici
function setCaretTo(obj, pos) {
	if (obj.createTextRange) {
		var range = obj.createTextRange();
		range.move('character', pos);
		range.select();
	} else if (obj.selectionStart) {
		obj.focus();
		obj.setSelectionRange(pos, pos);
	}
}

//]]>
