document.write("<script type=\"text/javascript\" src=\"js/overlib_wrapper.js\" ></script>");

function looksLikeEmailAddress(s) {
	// well, i know, this is not a complete check. But it is sufficient to catch
	// the most obvious input mistakes.
	//TODO: create a more robust check
	var atext = "[a-zA-Z0-9\\-_]+";
	var local_part = atext + "(\\." + atext + ")*";
	var domain_part = atext + "(\\." + atext + ")*";
	var addr_spec = "^" + local_part + "@" + domain_part + "$";
	
	if (s.search(addr_spec) < 0) {
		return false;
	} else if (s.indexOf("@") != s.lastIndexOf("@")) {
		return false;
	} else {
		return true;
	}
}

function indexOfAny(haystack, needle) {
	for(var i = 0; i < haystack.length; i++) {
		if (needle.indexOf(haystack.charAt(i)) >= 0) {
			return i;
		}
	}
	return -1;
}

function looksLikePhoneNumber(s) {
	//TODO: create a more robust check
	if (s.search(/[^0-9\ \+\-]/) >= 0) {
		return false;
	} else if (s.search(/\d\d/) < 0) {
		return false;
	} else {
		return true;
	}
}


			
function getForm(doc, name) {
	return doc.getElementById(name);
}

function checkformOnEnter(myfield, e) {
	var keycode;
	if (window.event) {
		keycode = window.event.keyCode;
	} else if (e) {
		keycode = e.which;
	} else {
		return true;
	}
	if (keycode == 13) {
		//myfield.form.submit();
		checkForm(myfield.form);
		return false;
	} else {
		return true;
	}
}

function isValidUsername(field) {
	return ((indexOfAny(field.value, "!\"\\/%<>") < 0) && (field.value != ""));
}

function packString(s) {
	var result = "";
	for(var i = 0; i < s.length; i++) {
		result += s.charCodeAt(i) + "+";
	}
	return result;
}

function formatOption(o) {
	return packString(o.value) + ":" + packString(o.text);
}

function encodeSelectBoxItems(box) {
	var result = "";
	for (var i = 0; i < box.options.length; i++) {
		if (box.options[i].value != "") {
			result += formatOption(box.options[i]) + ";";
		}
	}
	return result;
}




function moveItems(select1, select2) {
	if ((select2.options.length == 1) && (select2.options[0].value == "")) {
		select2[0] = null;
	}
	for (var i = 0; i < select1.options.length; i++) {
		var opt = select1.options[i];
		if (opt.selected && (opt.value != "")) {
			select2.options[select2.options.length] = new Option(opt.text, opt.value);
		}
	}
	var i = 0;
	while ((i = select1.selectedIndex) >= 0) {
		select1[i] = null;
	}
}
function moveAllItems(select1, select2) {
	if ((select2.options.length == 1) && (select2.options[0].value == "")) {
		select2[0] = null;
	}
	for (var i = 0; i < select1.options.length; i++) {
		var opt = select1.options[i];
		if (opt.value != "") {
			select2.options[select2.options.length] = new Option(opt.text, opt.value);
		}
	}
	while (select1.options.length > 0) {
		select1[0] = null;
	}
}


