﻿var globalId = 2;
var globalInt = 1;

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

addLoadEvent( function() {
	removeDoublets("floatCourses");

	/* Creating remove link */
	var removeLink = document.createElement('a');
	theText = document.createTextNode("");
	removeLink.href = "javascript:removeDiv('removelink')";
	removeLink.name = "removeLink";
	removeLink.className = "remove";
	removeLink.appendChild(theText);

	/* Adding remove link */
	var theDiv = document.getElementById('removelink');
	theDiv.appendChild(removeLink);

	if (getURLParam("startdate").length == 8) {
		var theDate = getURLParam("startdate").substr(6,2)+"."+getURLParam("startdate").substr(4,2)+"."+getURLParam("startdate").substr(0,4);
		var tmpName = "label_Kursdato";
		if (!document.getElementById("label_Kursdato")){
			tmpName = "label_Kursdato_1";
		}
		setSelected(tmpName, theDate);
	}
}) 

function setSelected(selectId, theDate) {
	var lists = document.getElementById(selectId);
	var optionsList = lists.getElementsByTagName("option");

	for (i = 0; i < optionsList.length; i++ ) {
		if (optionsList[i].value == theDate) {
			optionsList[i].selected = "selected";
		}
	}
}


function copy() {
	document.getElementById("label_faktura_Navn").value = document.getElementById("label_firma_Navn").value;
	document.getElementById("label_faktura_Avdelning").value = document.getElementById("label_firma_Avdelning").value;
	document.getElementById("label_faktura_Postadresse").value = document.getElementById("label_firma_Postadresse").value;
	document.getElementById("label_faktura_Postnummer").value = document.getElementById("label_firma_Postnummer").value;
	document.getElementById("label_faktura_Poststed").value = document.getElementById("label_firma_Poststed").value;
}


function fixMail(form) {
	
	var validateCheck = true;
	var alertmsg = '';
	document.getElementById("cc").value = document.getElementById("label_firma_E_post1").value;

	var message = '';
	message =  '--Kontaktopplysninger----------------\n';
	message += 'Firma: ' + document.getElementById("label_firma_Navn").value + '\n';
	message += 'Avdeling: ' + document.getElementById("label_firma_Avdelning").value + '\n';
	message += 'Postadresse: ' + document.getElementById("label_firma_Postadresse").value + '\n';
	message += 'Postnummmer: ' + document.getElementById("label_firma_Postnummer").value + '\n';
	message += 'Poststed: ' + document.getElementById("label_firma_Poststed").value + '\n';
	message += 'Telefon: ' + document.getElementById("label_firma_Telefon").value + '\n';
	message += 'Kontaktperson: ' + document.getElementById("label_firma_Kontaktperson").value + '\n';
	message += 'E-post: ' + document.getElementById("label_firma_E_post1").value + '\n';
	message +=  '\n--Fakturaopplysninger----------------\n';
	message += 'Firma: ' + document.getElementById("label_faktura_Navn").value + '\n';
	message += 'Avdeling: ' + document.getElementById("label_faktura_Avdelning").value + '\n';
	message += 'Postadresse: ' + document.getElementById("label_faktura_Postadresse").value + '\n';
	message += 'Postnummmer: ' + document.getElementById("label_faktura_Postnummer").value + '\n';
	message += 'Poststed: ' + document.getElementById("label_faktura_Poststed").value + '\n';
	message += 'Referanse: ' + document.getElementById("label_faktura_Referanse").value + '\n';
	if(document.getElementById("label_Melding") && document.getElementById("label_Melding") != ''){
		message +=  '\n--Melding-----------------------------\n';
		message += document.getElementById("label_Melding").value + '\n';
	}
	message +=  '\n--Deltageropplysninger----------------\n';
	for( var i = 1; i <= globalId; i++){
			if(document.getElementById('label_Kursdeltager_Navn_' + i + '')){
				if(document.getElementById('label_Kursdeltager_Navn_' + i + '').value == ''){
					alertmsg += 'Fyll inn deltakernavn i linje ' + i + '\n';
					validateCheck = false;
				}else message += 'Navn: ' + document.getElementById('label_Kursdeltager_Navn_' + i + '').value + '\n';
			}
			if(document.getElementById('label_Kursdeltager_E-mail_' + i + '')) message += 'E-mail: ' + document.getElementById('label_Kursdeltager_E-mail_' + i + '').value + '\n';
			if(document.getElementById('label_Kursdeltager_Telefon_' + i + '')) message += 'Telefon: ' + document.getElementById('label_Kursdeltager_Telefon_' + i + '').value + '\n';
			if(document.getElementById('label_Kursdeltager_Fdato_' + i + '')) message += 'Født dato: ' + document.getElementById('label_Kursdeltager_Fdato_' + i + '').value + '\n';
			if(document.getElementById('label_Kurs_' + i + '')){
				if(document.getElementById('label_Kurs_' + i + '').value == ''){
					alertmsg += 'Velg kurs i linje ' + i + '\n';
					validateCheck = false;
				}else message += 'Kurs: ' + $('#label_Kurs_' + i + ' :selected').text() + '\n';
			}
			if(document.getElementById('label_Kursdato_' + i + '')) message += 'Kursdato: ' + $('#label_Kursdato_' + i + ' :selected').text() + '\n';
			if(document.getElementById('label_Hotel_' + i + '')) message += 'Hotel: ' + $('#label_Hotel_' + i + ' :selected').text() + '\n-----------------------\n';
	}
	document.getElementById("label_bekreftelse").value = message;

	if(validateCheck)
		return true;
	else{
		alert( alertmsg );
		return false;
	}
}


$(document).ready(function() {
   	var container = $('#errorDiv');

	$("#formBuilder").validate({
		errorClass: "invalid",
		errorContainer: container,
		errorLabelContainer: $("ul", container),
		wrapper: 'li',

		rules: {
			'firma-Navn': {
				required: true,
				minlength: 2
			},
			'firma-Postadresse': {
				minlength: 2
			},
			'firma-Poststed': {
				minlength: 2
			},
			'firma-Kontaktperson': {
				minlength: 2
			},
			'firma-E-post1': {
				required: true,
				email: true
			},
			'firma-E-post2': {
				email: true
			},
			'firma-Telefon': {
				minlength: 2,
				number: true
			},
			'faktura-Navn': {
				required: true,
				minlength: 2
			},
			'faktura-Postadresse': {
				minlength: 2
			},
			'faktura-Poststed': {
				minlength: 2
			},
			'faktura-Referanse': {
				minlength: 2
			},
			'Kursdeltager-Navn': {
				required: true,
				minlength: 2
			},
			'Kurs': {
				required: true
			},
			'Kursdato': {
				required: true
			}
		},
		messages: {
			'firma-Navn': {
				required: "Vennligst fyll inn navn.",
				minlength: "Navn m&aring; best&aring; av minmum 2 tegn"
			},
			'firma-Postadresse': {
				minlength: "Postadressen m&aring; best&aring; av minst 2 tegn."
			},
			'firma-Poststed': {
				minlength: "Poststed m&aring; best&aring; av minst 2 tegn."
			},
			'firma-Kontaktperson': {
				minlength: "Kontaktperson m&aring; best&aring; av minst 2 tegn."
			},
			'firma-E-post1': {
				required: "Vennligst fyll inn e-post.",
				email: "E-postadressen er ikke korrekt utfylt."
			},
			'firma-E-post2': {
				email: "E-postadressen er ikke korrekt utfylt."
			},
			'firma-Telefon': {
				minlength: "Telefonnummer m&aring; best&aring; av minst 2 tegn.",
				number: "Ugyldig telefonnummer, et telefonnummer kan bare bestÂ av tall."
			},
			'faktura-Navn': {
				minlength: "Navn m&aring; best&aring; av minst 2 tegn."
			},
			'faktura-Postadresse': {
				minlength: "Postadresse m&aring; best&aring; av minst 2 tegn."
			},
			'faktura-Poststed': {
				minlength: "Poststed m&aring; best&aring; av minst 2 tegn."
			},
			'faktura-Referanse': {
				minlength: "Referanse m&aring; best&aring; av minst 2 tegn."
			},
			'Kursdeltager-Navn': {
				required: "Du m&aring; melde p&aring; minmum en person",
				minlength: "Kursdeltagers navn m&aring; best&aring; av minst 2 tegn."
			},
			'Kurs': {
				required: "Du m&aring; velge minst ett kurs"
			},
			'Kursdato': {
				required: "Du m&aring; velge kursdato"
			}
		}
	});
});


function removeWrongOptions(divId) {
	$(divId).parent().next().children().before( $("#floatDates").clone(true)).remove();
	$(divId).parent().next().children("#floatDates").attr("id", 'label_Kursdato_' + divId.id.substring(11));
	$(divId).parent().next().children().children("option[@name != '" + $(divId).children("option:selected").attr("name") + "']").remove();
}


function removeDoublets(optionListName) {
	var lists = document.getElementById(optionListName);
	var optionsList = lists.getElementsByTagName("option");

	for (i = optionsList.length-1; i >= 0; i-- ) {
		if (!optionsList[i].selected) {
			for (j = optionsList.length-1; j > i ; j--) {
				if (optionsList[j].value == optionsList[i].value) {
					lists.removeChild(optionsList[i]);
					break;
				}
			}
		}
	}
}


function removeDiv(id) {
	if(id == 'removelink'){
		document.getElementById('label_Kursdeltager_Navn_1').value = '';
		document.getElementById('label_Kursdeltager_E-mail_1').value = '';
		document.getElementById('label_Kursdeltager_Telefon_1').value = '';
		document.getElementById('label_Kursdeltager_Fdato_1').value = '';
		document.getElementById('label_Kurs_1').value = '';
		document.getElementById('label_Kursdato_1').options[0].text = '';
		document.getElementById('label_Kursdato_1').options[0].selected = 'selected';
		document.getElementById('label_Hotel_1').options[0].selected = 'selected';
		
	}else{
		var tmp = document.getElementById(id);
		tmp.parentNode.removeChild(tmp);
	}
	//globalId--;
}

function resetAll(form) {
	var tmp;
	for(var i=1;i< globalInt; i++){
		if(document.getElementById(i)){
			tmp = document.getElementById(i);
			tmp.parentNode.removeChild(tmp);
		}
	}
	globalInt = 1;
	globalId = 2;
}

function addNew(divId) {
	/* Get the head div */
	var theDiv = document.getElementById(divId);

	/* Get all divs in it */
	var divs = theDiv.getElementsByTagName("div");

	/* Clone a div */
	var newDiv = divs[0].cloneNode(true);

	/* Set a ID to the div */
	newDiv.setAttribute("id", 'id' + globalInt);
	newDiv.className = "student";
	$(newDiv).find("input[name='Kursdeltager-Navn']").attr("id", "label_Kursdeltager_Navn_" + globalId);
	$(newDiv).find("input[name='Kursdeltager-E-mail']").attr("id", "label_Kursdeltager_E-mail_" + globalId);
	$(newDiv).find("input[name='Kursdeltager-Telefon']").attr("id", "label_Kursdeltager_Telefon_" + globalId);
	$(newDiv).find("input[name='Kursdeltager-Fdato']").attr("id", "label_Kursdeltager_Fdato_" + globalId);

	/* change the remove link */
	//var removeLink = newDiv.getElementsByTagName('a').href = "javascript:removeDiv('id" + globalInt + "')";
	var removeLink = $(newDiv).find('a').attr("href", "javascript:removeDiv('id" + globalInt + "')");

	/* Fixing all inputs */
	var inputs = newDiv.getElementsByTagName("input");
	for (i = 0; i < inputs.length; i++) {
		inputs[i].value = "";
	}

	/* Fixing dropdowns */
	$(newDiv).find("select[name='Kurs']").before( $("#floatCourses").clone(true)).remove(); 
	$(newDiv).find("select[name='Kursdato']").before( $("#floatDates").clone(true)).remove(); 

	$(newDiv).find("select[name='Kurs']").attr("id", "label_Kurs_" + globalId);
	$(newDiv).find("select[name='Kursdato']").attr("id", "label_Kursdato_" + globalId);
	$(newDiv).find("select[name='Hotel']").attr("id", "label_Hotel_" + globalId);

	$(newDiv).find("select[name='Kursdato'] > option").remove();

	/* Add the new div to the headdiv */
	theDiv.appendChild(newDiv);
	globalInt++;
	globalId++;
}


function getURLParam(strParamName){
	var strReturn = "";
	var strHref = window.location.href;
	if ( strHref.indexOf("?") > -1 ){
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
		var aQueryString = strQueryString.split("&");
		for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
			if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
				var aParam = aQueryString[iParam].split("=");
				strReturn = aParam[1];
				break;
			}
		}
	}
	return unescape(strReturn);
} 
