
function LoadPopup(doc, w, h, name) {
	if (!w) w=820; 
	if (!h) h=600; 
	if (!doc) doc = "about:blank";
	if (!name || name=='') {
		var tmp = new Date();
		name = "d2f_"+tmp.getTime();
	}
	var win = window.open(doc, name,  'toolbar=0,scrollbars=1,menubar=0,titlebar=0,resizable=1,width='+w+',height='+h);
	if (win) {
		win.moveTo(screen.width/2-w/2, screen.height/2-h/2);
		win.focus();
	} else {
		alert("D2F site required popups to be enabled.");
	}
}

function ClosePopup() {
	if(win)	win.close();
	document.location="index.php";
}

function isAlphanumeric(string, ignoreWhiteSpace) {
	if (string.search) {
		if ((ignoreWhiteSpace && string.search(/[^\w\s]/)!=-1) || 
			(!ignoreWhiteSpace && string.search(/[\W]+/) != -1)) return false;
	} else {
		return false;
	}
	return true;
}
	

function checkField (field, value) {
	var error, mesaj;
	error = 0;
	mesaj = '';
	if (!(field.value.length && isAlphanumeric(field.value, 1))) {
		mesaj += value;
		error ++;
	}
	if (error) {
		mesaj = "Error:\n"+mesaj;
		alert (mesaj);
		return false;
	}
	return true;
}

function checkFields () {
	var good, nr, mesaj;
	logic = checkFields.arguments[0];
	mesaj = checkFields.arguments[1];
	good = 0;
	nr = checkFields.arguments.length;
	for (var i=2; i<nr; i++) {
		field = checkFields.arguments[i];
		if (!(field.value.length && isAlphanumeric(field.value, 1))) {
			mesaj += "\n"+value;
			good ++;
		}
	}
	if (logic=='and') {
		if (good != nr) {
			alert (mesaj);
			return false;
		}
	} else {
		if (good==0) {
			alert(mesaj);
			return false;
		}
	}
	return true;	
	
}


function Disable() {
	var form;
	form = Disable.arguments[0];
	for (var i=1; i<Disable.arguments.length; i++) {
		document.forms[form][Disable.arguments[i]].disabled = true;
	}
}

function Enable() {
	var form;
	form = Enable.arguments[0];
	for (var i=1; i<Enable.arguments.length; i++) {
		document.forms[form][Enable.arguments[i]].disabled = false;
	}
}

function Uncheck() {
	var form;
	form = Uncheck.arguments[0];
	for (var i=1; i<Uncheck.arguments.length; i++) {
	
		document.forms[form][Uncheck.arguments[i]].checked = false;
	}
}

function Check() {
	var form;
	form = Check.arguments[0];
	for (var i=1; i<Check.arguments.length; i++) {
		document.forms[form][Check.arguments[i]].checked = true;
	}
}

function SetVisible() {
	var elem;
	for (var i=0; i<SetVisible.arguments.length; i++) {
		elem = document.GetElementbyId(SetVisible.arguments[i]);
		elem.style.visibility = "visible";
	}
}

function SetInvisible() {
	var elem;
	for (var i=0; i<SetInvisible.arguments.length; i++) {
		elem = document.GetElementbyId(SetVisible.arguments[i]);
		elem.style.visibility = "hidden";
	}
}

function showDiv(div_ref) {
	var separator = "_";
	var str = div_ref.split(separator);
	var id = parseInt(str[1]); 
	vizibile[id]="1"; 
	showDiv_rec(div_ref);

}

function showDiv_rec(div_ref) {
	var separator = "_";
	var str = div_ref.split(separator);
	var id = parseInt(str[1]); 
	
	if (vizibile[id]=='1') {
		state = 'block';
		hza = document.getElementById(div_ref);
		if (hza==undefined) return 0;
		hza.style.display = state;
	
		var temp;
		if (dependente[id]!=undefined) {
			var nr = dependente[id].length; 
			for (var i=0; i<nr; i++) {
				temp = dependente[id][i]+'';
				showDiv_rec("div_"+temp);
			}
		} else {
			return 0;
		}
	}
}

function hideDiv(div_ref) {
	var separator = "_";
	var str = div_ref.split(separator);
	var id = parseInt(str[1]); 
	vizibile[id]="0";
	hideDiv_rec(div_ref);
}

function hideDiv_rec(div_ref) {
	state = 'none';
	hza = document.getElementById(div_ref);
	if (hza==undefined) return 0;
	hza.style.display = state;
	var separator = "_";
	var str = div_ref.split(separator);
	var id = parseInt(str[1]); 
	var temp;
	if (dependente[id]!=undefined) {
		var nr = dependente[id].length; 
		for (var i=0; i<nr; i++) {
			temp = dependente[id][i]+'';
			hideDiv_rec("div_"+temp);
		}
	} else {
		return 0;
	}

}

function is_empty(val) {
	str_empty = "\\s*";
	pcre_empty = new RegExp("^"+str_empty+"$");
	return pcre_empty.test( val );
}

function gen_showDiv(div_id) {
	state = 'block';
	hza = document.getElementById(div_id);
	if (hza==undefined) return 0;
	hza.style.display = state;
}
function gen_hideDiv(div_id) {
	state = 'none';
	hza = document.getElementById(div_id);
	if (hza==undefined) return 0;
	hza.style.display = state;
}
