/*************************************************************
**************************************************************
**
** paamelding.js - tar seg av inputsjekk og innsending av data
**
**************************************************************
*************************************************************/

/****************************************************************
**
** variabeldel - setter scriptglobale variabler
**
***************************************************************/

// modus - angir skjemaets modus
var modus = "solo";

// antall_utovere - angir antall utøvere
var antall_utovere = 1;

// sett en variabel som angir om bruker har fått advarsel om at denne ikke har registrert bilde
var bilde_forsoekt_registrert = false;

var undefined;

/*****************************************************************
**
** Bildeskiftdel - holder orden på bilder som skal kunne byttes ut
**
*****************************************************************/

var bildeskift_array = new Array();

// Lys til påmeldingsside
bildeskift_array["lys_gul"] = new Image;
bildeskift_array["lys_gul"].src = "http://www.umm.no/grafikk/lys_gul.gif";
bildeskift_array["lys_gul_odd"] = new Image;
bildeskift_array["lys_gul_odd"].src = "http://www.umm.no/grafikk/lys_gul_odd.gif";

bildeskift_array["lys_groenn"] = new Image;
bildeskift_array["lys_groenn"].src = "http://www.umm.no/grafikk/lys_groenn.gif";
bildeskift_array["lys_groenn_odd"] = new Image;
bildeskift_array["lys_groenn_odd"].src = "http://www.umm.no/grafikk/lys_groenn_odd.gif";

bildeskift_array["lys_roed"] = new Image;
bildeskift_array["lys_roed"].src = "http://www.umm.no/grafikk/lys_roed.gif";
bildeskift_array["lys_roed_odd"] = new Image;
bildeskift_array["lys_roed_odd"].src = "http://www.umm.no/grafikk/lys_roed_odd.gif";

// Avkrysningsboks til påmeldingsside
bildeskift_array["kryssboks_tom"] = new Image;
bildeskift_array["kryssboks_tom"].src = "http://www.umm.no/grafikk/avkryssningsboks_tom.gif";

bildeskift_array["kryssboks_kryss"] = new Image;
bildeskift_array["kryssboks_kryss"].src = "http://www.umm.no/grafikk/avkryssningsboks_kryss.gif";

// Flervalgsknapp til påmeldingsside
bildeskift_array["flervalgsknapp_oppe"] = new Image;
bildeskift_array["flervalgsknapp_oppe"].src = "http://www.umm.no/grafikk/radioknapp_oppe.gif";

bildeskift_array["flervalgsknapp_nede"] = new Image;
bildeskift_array["flervalgsknapp_nede"].src = "http://www.umm.no/grafikk/radioknapp_nede.gif";


/**********************************************
*
* kryssboks
*
* tar inn id til kryssboks som skal endres,
* sjekker hvilket bilde den viser og viser det
* andre i stedet, samt setter verdien for
* kryssboksen.
*
* Setter også et skjult input for kryssboksens verdi
*
**********************************************/

function kryssboks(input_id) {
	
	var hiddeninput_navn = input_id + "_godkjenning";
	
	if(document.getElementById(input_id).src == bildeskift_array["kryssboks_tom"].src) {
		document.getElementById(input_id).src = bildeskift_array["kryssboks_kryss"].src;
		document.getElementById(hiddeninput_navn).setAttribute("value", 1);
	}
	else {
		document.getElementById(input_id).src = bildeskift_array["kryssboks_tom"].src;
		document.getElementById(hiddeninput_navn).setAttribute("value", 0);
	}
	//alert(document.getElementById('laererkryss_godkjenning').value);
	//alert(document.getElementById('regelkryss_godkjenning').value);
	//alert(document.getElementById('antall').value);
}


/*************************************************************
**
** inputdel, sjekker input
**
*************************************************************/


/**************************************
*
* inputBlurred
*
* sjekker input og markerer vha lys
*
* tar inn id på det som skal sjekkes,
* returnerer ingenting
*
**************************************/


// note to self: lag et array eller noe og meld inn hele skjemaet for å ta vare på ting som har blitt sjekka slik at de ikke behøver å bli sjekket på nytt ved innsending

function inputBlurred( blurred_element_id, odd, retur ) {
	
	
	blurred_element_id = blurred_element_id.toString();
	blurred_element = document.getElementById(blurred_element_id);
	var css_class = blurred_element.className;
	css_class = css_class.toString();
	
	
	
	// finn id til lyset
	var lys_id = blurred_element_id + "_lys";
	
	var lys = document.getElementById(lys_id);
	
	// finn feilmeldingsfeltets id
	var feilmelding_id = blurred_element_id + "_feilmelding";
	var feilmelding = document.getElementById(feilmelding_id) 

		
		/*******************************************
		*
		* om input-elementet tilhører navneklassen:
		*
		*******************************************/
	
		if (css_class == "paameldingsskjema_navn") {
	
			if (blurred_element.value.length > 0) {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_groenn_odd"].src;
				else
					lys.src = bildeskift_array["lys_groenn"].src;
				return true;
					
			}
			else {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_gul_odd"].src;
				else
					lys.src = bildeskift_array["lys_gul"].src;
				return false;
			}
		}
		
		
		/********************************************
		*
		* om input-elementet tilhører telefonklassen:
		*
		********************************************/
		
		else if (css_class == "paameldingsskjema_telefon"){
			if (blurred_element.value.length == 8 && blurred_element.value > 10000000 ) {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_groenn_odd"].src;
				else
					lys.src = bildeskift_array["lys_groenn"].src;
				return true;
			}
			else if (blurred_element.value.length > 0) {
				feilmelding.innerHTML = "For få siffer";
				if ( odd )
					lys.src = bildeskift_array["lys_roed_odd"].src;
				else
					lys.src = bildeskift_array["lys_roed"].src;
				return false;
			}
			else {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_gul_odd"].src;
				else
					lys.src = bildeskift_array["lys_gul"].src;
				return false;
			}
		}
		
		
		/*******************************************
		*
		* om input-elementet tilhører postnrklassen:
		*
		*******************************************/
		
		else if (css_class == "paameldingsskjema_postnr") {
	
			if (blurred_element.value.length > 3) {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_groenn_odd"].src;
				else
					lys.src = bildeskift_array["lys_groenn"].src;
				return true;
			}
			else if (blurred_element.value.length > 0) {
				feilmelding.innerHTML = "For få siffer";
				if ( odd )
					lys.src = bildeskift_array["lys_roed_odd"].src;
				else
					lys.src = bildeskift_array["lys_roed"].src;		
				return false;
			}
			else {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_gul_odd"].src;
				else
					lys.src = bildeskift_array["lys_gul"].src;
				return false;
			}
		}
		
		
		/*******************************************
		*
		* om input-elementet tilhører epostklassen:
		*
		*******************************************/
		
		else if (css_class == "paameldingsskjema_epost") {
	
			var godtatt = false;
				
			var splittet = blurred_element.value.split("@");
				
			if (splittet.length > 1) {
				if(splittet[1].split(".").length > 1)
					godtatt = true;
			}

			if (godtatt) {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_groenn_odd"].src;
				else
					lys.src = bildeskift_array["lys_groenn"].src;
				return true;
			}
			else if (blurred_element.value.length > 0) {
				feilmelding.innerHTML = "Ugyldig e-post-adresse";
				if ( odd )
					lys.src = bildeskift_array["lys_roed_odd"].src;
				else
					lys.src = bildeskift_array["lys_roed"].src;
				return false;
			}
			else {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_gul_odd"].src;
				else
					lys.src = bildeskift_array["lys_gul"].src;
				return false;
			}
		}
		
		
		/*******************************************
		*
		* om input-elementet tilhører datoklassen:
		*
		*******************************************/
		
		else if (css_class == "paameldingsskjema_dato") {
			
			var godtatt = true;
			var feilmelding_tekst = "";
			
			// Finn tall-delen av id
			if (blurred_element_id.substr(2, 1) != "_") {
				var deltaker_nr = blurred_element_id.substr(1,2);
			}
			else {
				var deltaker_nr = blurred_element_id.substr(1,1);
			}
			
			// finn id til lyset
			var lys_id = "n" + deltaker_nr + "_dato_lys";
			
			var lys = document.getElementById(lys_id);
			
			// finn feilmeldingsfeltets id
			var feilmelding_id = "n" + deltaker_nr + "_dato_feilmelding";
			var feilmelding = document.getElementById(feilmelding_id) 
				
			var dag_id = "n" + deltaker_nr + "_dag";
			var mnd_id = "n" + deltaker_nr + "_mnd";
			var aar_id = "n" + deltaker_nr + "_aar";
			
			var dag = document.getElementById(dag_id);
			var mnd = document.getElementById(mnd_id);
			var aar = document.getElementById(aar_id);
			
			//alert( dag.value + "__" + mnd.value + "__" + aar.value );
			
			// sjekk at det er input i alle...
			if ( (dag.value > 0) && (mnd.value > 0) && (aar.value != "")) {
				if (aar.value < 87 && aar.value > 50 && (mnd.value < 10 || (mnd.value == 10 && dag.value < 18))) {
					godtatt = false;
					feilmelding_tekst = "Kan ikke være eldre enn 22 år";
				}
				if (mnd.value > 12 || dag.value > 31) {
					godtatt = false;
					feilmelding_tekst = "Ugyldig dato";
				}
				if (godtatt) {
					feilmelding.innerHTML = feilmelding_tekst;
					if ( odd )
						lys.src = bildeskift_array["lys_groenn_odd"].src;
					else
						lys.src = bildeskift_array["lys_groenn"].src;
					return true;
				}
				else if (dag.value.length > 0 || mnd.value.length > 0 || aar.value.length > 0){
					feilmelding.innerHTML = feilmelding_tekst;
					if ( odd )
						lys.src = bildeskift_array["lys_roed_odd"].src;
					else
						lys.src = bildeskift_array["lys_roed"].src;
					return false;
				}
			}
			else {
				feilmelding.innerHTML = "";
				if ( odd )
					lys.src = bildeskift_array["lys_gul_odd"].src;
				else
					lys.src = bildeskift_array["lys_gul"].src;
				return false;
			}
		}
		

		
	//////////////////////////// PS: HUSK Å LAGRE INPUTSJEKKINFO I ARRAY (ellernosånt)!!!  ///////////////////////////////////
}


/**************************************
*
* soloEnsembleEndret
*
* endrer skjemaet til riktig modus
*
* tar inn id på det som er trykt på,
* returnerer ingenting
*
**************************************/

function modusEndret ( kilde_knapp ) {
	kilde_knapp = kilde_knapp.toString();
	if( kilde_knapp != modus ) {
		if ( kilde_knapp == "solo" ) {
			
			// sett riktig antall utøvere:
			
			antall_utovere = 1;
			document.getElementById("antall").setAttribute("value", 1);
			
			// vis riktig tittel på utøver 1
			document.getElementById("n1_tittel").innerHTML = "Informasjon om utøver";
			
			// vis riktig tekst ved samtykke til utlevering av info
			document.getElementById("infoboks").innerHTML = "<p>UMM ønsker å kunne gi ditt mobiltelefonnummer og din epostadresse til media. Kryss av nedenfor dersom du samtykker til dette.</p>";
			document.getElementById("infokryss_tekst").innerHTML = "Jeg samtykker til at UKM kan gi mitt mobilnummer og min epostadresse til media.";
			
			// vis knapper i riktig stilling
			document.getElementById("solo_knapp").src = bildeskift_array["flervalgsknapp_nede"].src;
			document.getElementById("duo_knapp").src = bildeskift_array["flervalgsknapp_oppe"].src;
			document.getElementById("ensemble_knapp").src = bildeskift_array["flervalgsknapp_oppe"].src;
			modus = "solo";
			
			// Vis instrumentinput for toppramme
			document.getElementById("disiplinlinje").style.display = "block";
			
			// Skjul ensembleinput for toppramme
			document.getElementById("ensemblestørrelselinje").style.display = "none";
			document.getElementById("ensemblenavnlinje").style.display = "none";

			/******************************
			*
			* Gjør utøvere usynlige
			*
			*******************************/
			
			for (var i = 1; i < 10; i++) {
				utover_navn = "n" + (i + 1) + "_utover";
				document.getElementById(utover_navn).style.display = "none";
			}
			
			
			/*************************
			*
			* Sett diverse tekstnoder
			*
			*************************/
			

		}
		else if ( kilde_knapp == "duo" ) {
			
			
			// sett riktig antall utøvere:
			
			antall_utovere = 2;
			document.getElementById("antall").setAttribute("value", 2);
			
			// vis riktig tittel på utøver 1
			document.getElementById("n1_tittel").innerHTML = "Utøver 1 og kontaktperson for duoen";
			
			// vis riktig tekst ved samtykke til utlevering av info
			document.getElementById("infoboks").innerHTML = "<p>UMM ønsker å kunne gi duoens mobiltelefonnumre og epostadresser til media. Kryss av nedenfor dersom dere samtykker til dette.</p>";
			document.getElementById("infokryss_tekst").innerHTML = "Vi samtykker til at UKM kan gi våre mobilnumre og epostadresser til media.";
			
			// vis knapper i riktig stilling
			document.getElementById("solo_knapp").src = bildeskift_array["flervalgsknapp_oppe"].src;
			document.getElementById("duo_knapp").src = bildeskift_array["flervalgsknapp_nede"].src;
			document.getElementById("ensemble_knapp").src = bildeskift_array["flervalgsknapp_oppe"].src;
			modus = "duo";
			
			// Vis instrumentinput for toppramme
			document.getElementById("disiplinlinje").style.display = "none";
			
			// Skjul ensembleinput for toppramme
			document.getElementById("ensemblenavnlinje").style.display = "block";

			document.getElementById("ensemblestørrelselinje").style.display = "none";
			
			// Vis utøverinput for utøver 2
			document.getElementById('n2_utover').style.display = "block";
			

			/******************************
			*
			* Gjør utøvere usynlige
			*
			*******************************/
			
			for (var i = 2; i < 10; i++) {
				utover_navn = "n" + (i + 1) + "_utover";
				document.getElementById(utover_navn).style.display = "none";
			}
			
			
			
			/*************************
			*
			* Sett diverse tekstnoder
			*
			*************************/
			
			
		}
		else if ( kilde_knapp == "ensemble" ) {
			
			// vis knapper i riktig stilling
			document.getElementById("solo_knapp").src = bildeskift_array["flervalgsknapp_oppe"].src;
			document.getElementById("duo_knapp").src = bildeskift_array["flervalgsknapp_oppe"].src;
			document.getElementById("ensemble_knapp").src = bildeskift_array["flervalgsknapp_nede"].src;
			modus = "ensemble";
			
			
			// Skjul ensembleinput for toppramme
			document.getElementById("ensemblenavnlinje").style.display = "block";
			document.getElementById("ensemblestørrelselinje").style.display = "block";
			
			antall_utovere = document.getElementById("ensemble_rullegardin").value;
			document.getElementById("antall").setAttribute("value", antall_utovere);
			
			// vis riktig tittel på utøver 1
			document.getElementById("n1_tittel").innerHTML = "Utøver 1 og kontaktperson for ensemblet";
			
			// vis riktig tekst ved samtykke til utlevering av info
			document.getElementById("infoboks").innerHTML = "<p>UMM ønsker å kunne gi ensemblets mobiltelefonnumre og epostadresser til media. Kryss av nedenfor dersom dere samtykker til dette.</p>";
			document.getElementById("infokryss_tekst").innerHTML = "Vi samtykker til at UKM kan gi våre mobilnumre og epostadresser til media.";
						
			// Vis instrumentinput for toppramme
			document.getElementById("disiplinlinje").style.display = "none";
			
			/******************************
			*
			* Vis riktig antall utøver-inputs
			*
			*******************************/
			
			for (var i = 1; i < 10; i++) {
				utover_navn = "n" + (i + 1) + "_utover";
				if (i < antall_utovere)
					document.getElementById(utover_navn).style.display = "block";
				else
					document.getElementById(utover_navn).style.display = "none";
			}
			
			// vis riktig i forhold til rullegardin
			
			
			
			/*************************
			*
			* Sett diverse tekstnoder
			*
			*************************/
			
		}
	}
}


/***************************************************************
*
* sendInnPaamelding() - sjekker all input og sender inn skjemaet
*
***************************************************************/

function sendInnPaamelding() {
	
	var godtatt = true;
	var bildeformatfeil = false;
	
	var antall = document.getElementById("antall").value;
	
	if ( antall > 1 ) {
		if (!inputBlurred("ensemblenavn", false, true))
			godtatt = false;
	}
	
	// Sjekk filnavn på bildeinput
	var bildepath = document.getElementById('bilde').value;
	if(bildepath.length > 0) {
		
		// Sett at bruker har forsøkt å laste opp et bilde
		document.getElementById('bilde_forsoekt_opplastet').setAttribute("value", 1);
		
		
		if (!(bildepath.substr(bildepath.length -5, 5).toLowerCase() == ".jpeg" || bildepath.substr(bildepath.length -4, 4).toLowerCase() == ".jpg"))
			bildeformatfeil = true;
		else
			bilde_forsoekt_registrert = true;
	}
	// Om bildeinput ikke eksisterer, reset variabel som sier om bruker har forsøkt å laste opp et bilde
	else {
		document.getElementById('bilde_forsoekt_opplastet').setAttribute("value", 0);
	}
	
	if (!inputBlurred("laerer_navn", true, true))
		godtatt = false;
	if (!inputBlurred("laerer_tlf", false, true))
		godtatt = false;
	if (!inputBlurred("laerer_epost", true, true))
		godtatt = false;
	if (document.getElementById("laererkryss_godkjenning").value != 1 && document.getElementById("laererkryss_godkjenning").value != "1")
		godtatt = false;
	if (document.getElementById("regelkryss_godkjenning").value != 1 && document.getElementById("regelkryss_godkjenning").value != "1")
		godtatt = false;
	for (var i = 1; i <= antall; i++) {
		if (!inputBlurred("n" + i + "_navn", true, true))
			godtatt = false;
		if (!inputBlurred("n" + i + "_aar", false, true))
			godtatt = false;
		if (!inputBlurred("n" + i + "_instrument", true, true))
			godtatt = false;
		if (!inputBlurred("n" + i + "_adresse", false, true))
			godtatt = false;
		if (!inputBlurred("n" + i + "_postnr", true, true))
			godtatt = false;
		if (!inputBlurred("n" + i + "_sted", false, true))
			godtatt = false;
		if (!inputBlurred("n" + i + "_telefon", true, true))
			godtatt = false;
		if (!inputBlurred("n" + i + "_epost", true, true))
			godtatt = false;
	}
	// sjekk at all input stemmer
	
	
	// først - sjekk antall utøvere
	// så - bruk input blurred på alle standardinputs, modda av antall utøvere
	// deretter - sjekk input for hver utøver
	
	// sjekk om det var noen ugne inputs
	if ( godtatt && !bildeformatfeil && bilde_forsoekt_registrert ) {
		// Hvis ikke, send inn skjema
		document.getElementById('UMM-skjema').submit();
	}
	// hvis ikke - gi en alert
	else {
		if ( bildeformatfeil )
			alert("Bildet du laster opp MÅ være i jpg-format, med extension .jpeg eller .jpg");
		if ( !godtatt )
			alert("Skjemaet ditt mangler noen opplysninger. Vennligst påse at alt stemmer.");
		else if( !bilde_forsoekt_registrert && !bildeformatfeil ) {
			bilde_forsoekt_registrert = true;
			alert("Du har ikke registrert noe bilde. Dette er ikke et krav for registrering, men vi ønsker at så mange som mulig gjør det. Husk at bildet må være av format jpeg/jpg. Om du ønsker å melde deg på uten å registrere bilde så er det bare å trykke på \"send inn\" én gang til.");
		}
	}
}


/****************************************************************
*
* endreAntall(); - Funksjon som endrer antall utøvere på sida
*
****************************************************************/

function endreAntall() {
	antall_utovere = document.getElementById('ensemble_rullegardin').value;
	
		for (var i = 1; i < 10; i++) {
			var utover_navn = "n" + (i + 1) + "_utover";
			if (i < antall_utovere)
				document.getElementById(utover_navn).style.display = "block";
			else
				document.getElementById(utover_navn).style.display = "none";
		}
		document.getElementById("antall").setAttribute("value", antall_utovere);
	
}