/**
 * Denne fil indeholder js funktioner som er meget generelle
 */

/**
 * Når dokumentet er loaded skal følgende kaldes
 */
document.observe("dom:loaded", function() {
	/**
	 * Når der klikkes i notice_area så skal den skjules igen
	 */
	$('notice_area').onclick = function() {
		new Effect.BlindUp(this);
	}
});

/**
 * Funktion til notice area
 */
function noticeArea(type, head, body) {
	if (type == 'error') {
		$('notice_area').addClassName('notice_error');
	} else {
		$('notice_area').addClassName('notice');
	}

	$('notice_area').update('<h3><img style="float: right; border: 0px; padding: 0;" src="images/closelabel.gif" />' + head + '</h3><p>' + body + '</p>');
	new Effect.BlindDown($('notice_area'));
}

/**
 * Kontrollere om en given email er valid
 * @param  {string} email Email adressen som skal valideres
 * @return {bool}   True hvis email adresse er valid
 * 				    False hvis email adresse er invalid
 */
function checkEmail(email) {
	var patt  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (patt.test(email)) {
		return false;
	} else {
		return true;
	}
}

/**
 * Kontrollerer om det der er tastet er et tal. Funktionen skal
 * kaldes på onkeypress
 * @param {event} evt
 * @return {bool}
 */
function isNumberKey(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;

	return true;
}

/**
 * Renser en streng for blanke tegn i starten og slutningen af strengen
 */
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
/**
 * Renser en streng for blanke tegn i starten af strengen
 */
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
/**
 * Renser en streng for blanke tegn i slutningen af strengen
 */
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

/**
 * Lånt fra http://mislav.caboo.se/js/when-available-in-prototype/
 * When object is available, do function fn.
 */
function when(obj, fn) {
  if (Object.isString(obj)) obj = /^[\w-]+$/.test(obj) ? $(obj) : $(document.body).down(obj)
  if (Object.isArray(obj) && !obj.length) return
  if (obj) fn(obj)
}