
function isValidInt(str) {
	var re = /^\d+$/;
	return re.test(str);
}
function isValidFloat(str) {
	var re = /^\d+(,|.)?\d*$/;
	return re.test(str);
}
function isValidEmail(str) {
	var re = /^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$/;
	return re.test(str);
}

function getSelectValue(o) {
	return o.options[o.selectedIndex].value;
}


function errorMsg() {
	this.errors = new Array();
	
	this.add = addError;
	this.show = displayErrors;
}
function addError(str) {
	this.errors[this.errors.length] = "- " + str;
}
function displayErrors() {
	if (this.errors.length>0) {
		var errStr = errStrings["header"] + "\n";
		errStr += this.errors.join("\n");
		alert(errStr);
		return false;
	} else {
		return true;
	}
}

function checkRequired(frm,err) {
	
	for(var i=0; i<frm.elements.length;i++) {
		if (frm.elements[i].alt.indexOf("Required-field ")!=-1 && frm.elements[i].value=="") {
			var str = getItemCaption(frm.elements[i]);
			err.add(errStrings["missing"].replace("%1",str));
		}
	}
	if (!isValidEmail(frm.email.value) && frm.email.value!="") {
		err.add(errStrings["error"].replace("%1",getItemCaption(frm.email)));
	}
}

function getPersonalInfo() {
	var frm = document.frmSendmail;
	var str = "";
	for (var i=0;i<frm.elements.length;i++) {
		if (frm.elements[i].alt!="") {
			str += getItemCaption(frm.elements[i]) + ": ";
			str += frm.elements[i].value + "<br>";
		}
	}
	return str;
}


var copyForm = false;
function collectCompetition() {
	var frmInfo = document.frmSendmail;
	var frmSend = document.competitionform;
	var err = new errorMsg();
	var bodyStr = "";
	
	
	/* validate fields */
	
	var bSel = 0;
	for (var i=0; i<frmSend.elements.length; i++) {
		if (frmSend.elements[i].type == "radio" && frmSend.elements[i].checked) bSel++;
	}
	if (bSel<3) err.add(errStrings["noAnswers"]);
	
	
	
	checkRequired(frmInfo,err);
	
	/* if no errors, submit form */
	if (err.show()) {
		
		// material data
		for (var i=0;i<frmSend.elements.length;i++) {
			if (frmSend.elements[i].checked) {
				if (frmSend.elements[i].type=='checkbox') bodyStr += "signup " + frmSend.elements[i].name + "<br>";
				if (frmSend.elements[i].type=='radio') bodyStr += "competition " + frmSend.elements[i].name + " = " + frmSend.elements[i].value + "<br>";
			}
		}
		
		// add personal details
		bodyStr += "<br>";
		bodyStr += getPersonalInfo();
		
		frmInfo.message.value = bodyStr;
		
		for (var i=0;i<frmInfo.elements.length;i++) {
			if (!copyForm) {
				var elm = frmInfo.elements[i].cloneNode(true);
				elm.setAttribute("type","hidden");
				frmSend.appendChild(elm);
			}
			frmSend.elements[frmInfo.elements[i].name].value = frmInfo.elements[i].value;
		}
		copyForm = true;
		
		frmSend.submit();
		return false;
	} else {
		return false;
	}
	
}

function collectMaterial() {
	var frm = document.frmMaterial;
	var frmInfo = document.frmSendmail;
	var bodyStr = "";
	
	/* validate fields */
	var err = new errorMsg();
	var bSel = false;
	for (var i=0; i<frm.elements.length; i++) {
		if (frm.elements[i].type == "checkbox" && frm.elements[i].checked) bSel = true;
	}
	if (!bSel) err.add(errStrings["noMaterial"]);
	checkRequired(frmInfo,err);
	
	
	if (err.show()) {
		// first collect material data
		for (var i=0;i<frm.elements.length;i++) {
			if (frm.elements[i].checked) bodyStr += frm.elements[i].value + "<br>";
		}
		
		// then add personal details
		bodyStr += "<br>";
		bodyStr += getPersonalInfo();
		
		frmInfo.message.value = bodyStr;
		
		return true;
	} else {
		return false;
	}
	
}

var copyForm = false;
function collectSignup(requireSignup) {
	var frmInfo = document.frmSendmail;
	var frmSend = document.signupform;
	var err = new errorMsg();
	var bodyStr = "";
	
	if (requireSignup) {
		/* validate fields */
		var bSel = false;
		for (var i=0; i<frmSend.elements.length; i++) {
			if (frmSend.elements[i].type == "checkbox" && frmSend.elements[i].checked) bSel = true;
		}
		if (!bSel) err.add(errStrings["noSubscription"]);
	}
	
	checkRequired(frmInfo,err);
	
	/* if no errors, submit form */
	if (err.show()) {
		// check for free text
		if (frmSend.concerning) bodyStr += "concerning:<br>" + frmSend.concerning.value + "<br><br>";
		
		// material data
		for (var i=0;i<frmSend.elements.length;i++) {
			if (frmSend.elements[i].checked) bodyStr += "signup " + frmSend.elements[i].name + "<br>";
		}
		
		// add personal details
		bodyStr += "<br>";
		bodyStr += getPersonalInfo();
		
		frmInfo.message.value = bodyStr;
		
		for (var i=0;i<frmInfo.elements.length;i++) {
			if (!copyForm) {
				var elm = frmInfo.elements[i].cloneNode(true);
				elm.setAttribute("type","hidden");
				frmSend.appendChild(elm);
			}
			frmSend.elements[frmInfo.elements[i].name].value = frmInfo.elements[i].value;
		}
		copyForm = true;
		
		
		frmSend.submit();
		return false;
	} else {
		return false;
	}
	
}

function collectWingInfo() {
	
	var frmInfo = document.frmSendmail;
	var frmSend = document.infoform;
	var err = new errorMsg();
	var bodyStr = "";
	
	//if (err.add(errStrings["noWingInfo"]));
	checkRequired(frmInfo,err);
	
	/* if no errors, submit form */
	if (err.show()) {
		
		var elm;
		for(var i=0; i<frmSend.elements.length; i++){
			elm = frmSend.elements[i];
			if(elm.type == "checkbox" && elm.id.indexOf("wing") != -1 && elm.checked){
				bodyStr += "info " + elm.value + "<br>";
			}
		}
		
		bodyStr += "concerning:<br>" + frmSend.concerning.value + "<br><br>";
		
		if (frmSend.news.checked) bodyStr += "signup news<br>";
		
		// add personal details
		bodyStr += "<br>";
		bodyStr += getPersonalInfo();
		
		frmInfo.message.value = bodyStr;
		
		for (var i=0;i<frmInfo.elements.length;i++) {
			if (!copyForm) {
				var elm = frmInfo.elements[i].cloneNode(true);
				elm.setAttribute("type","hidden");
				frmSend.appendChild(elm);
			}
			frmSend.elements[frmInfo.elements[i].name].value = frmInfo.elements[i].value;
		}
		copyForm = true;
		
		frmSend.submit();
		return false;
	} else {
		return false;
	}
	
}

/*
function collectWingInfo() {
	
	var frmInfo = document.frmSendmail;
	var frmSend = document.infoform;
	var err = new errorMsg();
	var bodyStr = "";
	
	if (getSelectValue(frmSend.wings)=="") err.add(errStrings["noWingInfo"]);
	checkRequired(frmInfo,err);
	
	// if no errors, submit form 
	if (err.show()) {
		// first collect material data
		bodyStr += "info " + getSelectValue(frmSend.wings) + "<br>";
		bodyStr += "concerning:<br>" + frmSend.concerning.value + "<br><br>";
		
		if (frmSend.news.checked) bodyStr += "signup news<br>";
		
		// add personal details
		bodyStr += "<br>";
		bodyStr += getPersonalInfo();
		
		frmInfo.message.value = bodyStr;
		
		for (var i=0;i<frmInfo.elements.length;i++) {
			if (!copyForm) {
				var elm = frmInfo.elements[i].cloneNode(true);
				elm.setAttribute("type","hidden");
				frmSend.appendChild(elm);
			}
			frmSend.elements[frmInfo.elements[i].name].value = frmInfo.elements[i].value;
		}
		copyForm = true;
		
		frmSend.submit();
		return false;
	} else {
		return false;
	}
	
}

*/
function getItemCaption(o) {
	return o.alt.replace("Required-field ","");
}

function doFrmNav() {
	var elm = document.frmNav.url;
	if (getSelectValue(elm)!="") window.location.href = getSelectValue(elm);
}

function embedMedia(url,w,h) {
	var str = '';
	str += '<object id="MediaPlayer" width='+w+' height='+h+' classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" standby="Loading Windows Media Player components..." type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112">';
	str += '<param name="filename" value="'+url+'">';
	str += '<param name="Showcontrols" value="True">';
	str += '<param name="autoStart" value="True">';
	str += '<embed type="application/x-mplayer2" src="'+url+'" name="MediaPlayer" width='+w+' height='+h+'></embed>';
	str += '</object>';
	document.write(str);
}

function embedFlash(sID,url,w,h) {
	var str = 	'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+w+'" height="'+h+'" id="'+sID+'">';
	str +=		'<param name="allowScriptAccess" value="sameDomain" />';
	str +=		'<param name="movie" value="'+url+'" />';
	str +=		'<param name="quality" value="high" />';
	str +=		'<param name="wmode" value="transparent" />';
	str +=		'<param name="bgcolor" value="#ffffff" />';
	str +=		'<embed src="'+url+'" quality="high" wmode="transparent" bgcolor="#ffffff" width="'+w+'" height="'+h+'" name="'+sID+'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />';
	str +=		'</object>';
	document.write(str);
}

function changeJobLanguageLink( btn, lang, currPage ) {
	if( !lang )
		lang = "da";
	
	if( !currPage )
		currPage = "Frontpage";
	
	currPage	= currPage.toLowerCase();
	lang		= lang.toLowerCase();
	
	switch(true) {
		case (currPage == "jobdk" && lang == "da"):
			btn.href = "/About/job.aspx?lang=en";
			break;
		case (currPage == "job" && lang == "en"):
			btn.href = "/About/jobDK.aspx?lang=da";
			break;
	}
}