//---------------------------------------------------------------------------
//Globale variabler
//---------------------------------------------------------------------------
	//om der er blevet sat focus på et andet felt
	var focus_free; 	//bool
	//Streng der indeholder fejl besked
	var fejlstreng ;	//String
	//Boolean der husker om en fakturerings adresse tidligere er sat
	var faktAdr;		//bool
	//Boolean der husker om en fakturerings adresse tidligere er sat
	var levAdr;		//bool
	//---------------------------------------------------------------------------
	//form 1: checkOne:
	//hvilken type kunde. 0 (false) = privat,  1 (true) = firma
	var type =0;		//INT
	//---------------------------------------------------------------------------
	//form 2: checkTwo:
	//Fejl hvis der ikke er blevet valgt en mappe
	var mappeFejl = true;	//bool
	//---------------------------------------------------------------------------
	//form 3: checkThree:
	//Husker om fejlen er den første der har været i form 3.
	var form3; 		//bool
//---------------------------------------------------------------------------
//Håndtering af de globale variable
//---------------------------------------------------------------------------
	//funktion der nulstiller focus freee
	function clearFocus(){focus_free = true;}
	//funktion der sætter focus freee
	function setFocus(){focus_free = false;}
	//sætter typen af kunde
	//---------------------------------------------------------------------------
	//form 1: checkOne:
	function setType(typeInt){type = typeInt;}
	//funktion der nulstiller fejl beskeden
	function clearFejlStr(){fejlstreng = "";}
	//funktion der nulstiller faktAdr
	function clearFaktAdr(){faktAdr = true;}
	//funktion der sætter faktAdr
	function setFaktAdr(){faktAdr = false;}
	//funktion der nulstiller levAdr
	function clearLevAdr(){levAdr = true;}
	//funktion der sætter levAdr
	function setLevAdr(){levAdr = false;}
	//---------------------------------------------------------------------------
	//form 2: checkTwo:
	function setMappe(){
		mappeFejl = false;
	}
	//---------------------------------------------------------------------------
	//form 3: checkThree:
	function setForm3(){form3 = false}
	function clearForm3(){form3 = true}
//---------------------------------------------------------------------------
//	Hjælpe Funktioner
//---------------------------------------------------------------------------
	//Felt objekt
	function felt(object, fejlStr, type){
		this.object = object;
		this.value = object.value;
		this.fejlStr = fejlStr;
		this.type = type;
	}
	
	//Sætter focus sandt, hvis feltet er tomt, har samme type som kunden og giver derefter en fejlbesked
	function emptyHandler(input){
		if((input.type == 1||input.type == 0) && input.type != type){return ;}
		if(input.value == ""){
			if(focus_free){input.object.focus(); setFocus();}
			//input.type = 0: firma
			//input.type = 1: privat
			//input.type = 2: fakturerings adresse normal
			//input.type = 3: leverings adresse
			//input.type = 4: form 3
			if((input.type==2||input.type==0||input.type==1) && faktAdr){fejlstreng +="Fakturerings Adresse:\n"; setFaktAdr();}
			if(input.type==3 && levAdr){fejlstreng +="Leverings Adresse:\n"; setLevAdr();}
			if(input.type==4 && form3){fejlstreng +="Du mangler at udfylde disse felter:\n"; setForm3();}
			fejlstreng += input.fejlStr;
			return ;
		}
		return ;
	}
	
	//TEST om en string er tom eller KUN består af heltal.
	function isInteger(input)
	{
	    var isInt = true;
	    var inputStr = input.toString();
	    for (var i = 0; i < inputStr.length; i++)
		{
		    var oneChar = inputStr.charAt(i)			
			if ((oneChar < "0" || oneChar > "9") && oneChar != "-1") 
			    {
				isInt = false;
			    }
		}
	    return (isInt)
	}
//------------------------------------------------------------------------------------
//	FORM 1: checkOne()
//------------------------------------------------------------------------------------
	function checkOne(){
	//--------------------------------------------------------------------
	//INIT
	//--------------------------------------------------------------------	
	//nulstil focus_free variablen fra en eventuel sidste gang.
	clearFocus();
	//hvilken type kunde. 0 (false) = privat,  1 (true) = firma
	//setType(parseInt(document.bestil.TypeID.value));
	//nulstiller fejl strengen
	clearFejlStr();
	//nulstiler hhv. fakturerings og leverings adresse 'huskeren'
	clearFaktAdr();
	clearLevAdr();

	//--------------------------------------------------------------------
	//oprettelse af felt objekter
	//--------------------------------------------------------------------
	//firma = new felt(document.bestil.firma,"-- Firma navn\n",1);		//type firma
	//cvr = new felt(document.bestil.cvr, "-- CVR nummer\n",1);		//type firma
	navn = new felt(document.bestil.navn, "-- Navn\n",0);			//type privat
	adresse= new felt(document.bestil.adresse, "-- Adresse 1\n",2);	//type fakturerings adresse normal
	postnr = new felt(document.bestil.postnr, "-- Post Nr.\n",2);		//type fakturerings adresse normal
	by = new felt(document.bestil.by, "-- By\n",2);			//type fakturerings adresse normal
	telefon = new felt(document.bestil.telefon, "-- Telefon\n",2);		//type fakturerings adresse normal
	email = new felt(document.bestil.email,"-- Email\n",2);		//type fakturerings adresse normal
	navn_lev= new felt(document.bestil.navn_lev, "-- Navn\n",3);		//type leverings adresse 
	adr_lev= new felt(document.bestil.adr_lev, "-- Adresse 1\n",3);	//type leverings adresse 
	postnr_lev= new felt(document.bestil.postnr_lev,"-- Post Nr.\n",3);	//type leverings adresse 
	by_lev= new felt(document.bestil.by_lev, "-- By\n",3);			//type leverings adresse 
	
	//--------------------------------------------------------------------
	//Test om felterne er tomme
	//--------------------------------------------------------------------
	//-- Først Type specifikt = Firma/Privat:
	//emptyHandler(firma);		//type firma
	emptyHandler(navn);		//type privat
	emptyHandler(adresse);		//type fakturerings adresse normal
	emptyHandler(postnr);		//type fakturerings adresse normal
	emptyHandler(by);		//type fakturerings adresse normal
	//emptyHandler(cvr);		//type firma
	emptyHandler(telefon);		//type fakturerings adresse normal
	emptyHandler(email);		//type fakturerings adresse normal
	
	if(!document.bestil.ens_adr.checked){ 	//Hvis ikke ens adresse
		emptyHandler(navn_lev);		//type leverings adresse 
		emptyHandler(adr_lev);		//type leverings adresse 
		emptyHandler(postnr_lev);	//type leverings adresse 
		emptyHandler(by_lev);		//type leverings adresse 
	}
	//--------------------------------------------------------------------
	//OUTPUT EVT. FEJL OG STOP
	//--------------------------------------------------------------------
	if (fejlstreng!="") {
	fejlstreng="Du mangler at udfylde disse felter:\n"+fejlstreng;
	alert(fejlstreng);
	return;
	}
    	//--------------------------------------------------------------------
	//Test om nogenlunde korrekt email
	//--------------------------------------------------------------------
	var tegn_error = false;
	var index_at = document.bestil.email.value.indexOf("@");
	var index_at_last = document.bestil.email.value.lastIndexOf("@");
	var index_dot = document.bestil.email.value.lastIndexOf(".");
	var land_kod =  document.bestil.email.value.length - index_dot;

	if (index_at == -1) {// '@' findes ikke
	    fejlstreng += "-- @\n";
	    tegn_error = true;
	}
	if (index_dot == -1) {// '.' findes ikke
	    fejlstreng += "-- .\n";
	      tegn_error = true;
	}
	if(tegn_error){
	    fejlstreng = "\nDu mangler følgende tegn:\n"+fejlstreng;
	}else{
	    if (index_dot < index_at) {
		fejlstreng +=  " '@' og '.' kommer i forkert rækkefølge.\n";
	    }else{
		if (index_dot ==  index_at_last + 1) {
		    fejlstreng += " '@' og '.' sidder for tæt.\n";
		}
	    }
	}
	if (index_at == 0){//TEST om '@' er det første tegn
	    fejlstreng += "  -'@' er det første tegn.\n";
	}
	if (index_at != index_at_last) {//TEST om KUN EEN '@'
	    fejlstreng += "  -'@' indgår to gange.\n";
	}
	if (land_kod < 3){//TEST om der er plads til en landekode (=2 bogstaver efter '.')
	     fejlstreng += "-- Fejl i lande koden.\n  -Tjek om du har tastet korrekt, f.eks. .dk, .com, .nl osv.\n";
	}
	if (document.bestil.email.value.indexOf(" ") !=-1 ){//TEST om indeholder white-space
	    fejlstreng += "-- Indeholder mellemrum\n";
	}
	if(fejlstreng != ""){fejlstreng = "Ugyldig Email adresse.\n" + fejlstreng;}
	
	//Tjek om begge adresser er indtastet ens
	if (document.bestil.email.value != document.bestil.email_2.value ){
	    fejlstreng += " Email adresserne er ikke ens\n";
	    document.bestil.email.focus();
	}
	//--------------------------------------------------------------------
	//OUTPUT EVT. FEJL OG STOP
	//--------------------------------------------------------------------
   	if (fejlstreng!="") {
	    alert(fejlstreng);
	    return;
	}
  
    	//--------------------------------------------------------------------
	//HELTALS TEST
	//--------------------------------------------------------------------
	//TEST fax, tlf, post nr, cvr nr, leverings postnummer  -KUN består af tal.
	if(!isInteger(document.bestil.postnr.value)) {
	    fejlstreng += "Fejl: Post nr. indeholder andet end tal.\n";
		if(focus_free) {document.bestil.postnr.focus(); setFocus();}
	}
	if(!isInteger(document.bestil.telefon.value)) {
	    fejlstreng += "Fejl: Telefon nr. indeholder andet end tal.\n";		
		if(focus_free) {document.bestil.telefon.focus(); setFocus();}		    
	}
	if(!isInteger(document.bestil.fax.value)) {
	    fejlstreng += "Fejl: Fax nr. indeholder andet end tal.\n";
		if(focus_free) {document.bestil.fax.focus(); setFocus();}
	}
	if(!isInteger(document.bestil.postnr_lev.value)) {
	    fejlstreng += "Fejl: Leverings Post nr. indeholder andet end tal.\n";
	}

	// Test antal tal
	var tlf_length = document.bestil.telefon.value.length;
	var pnr_length = document.bestil.postnr.value.length;
	var fax_length = document.bestil.fax.value.length;
	var pnr_lev_length = document.bestil.postnr_lev.value.length;
	
	if(tlf_length < 8){fejlstreng += "Fejl: Telefon nr er for kort.\n";}
	if(fax_length < 8 && fax_length != 0){fejlstreng += "Fejl: Fax nr er for kort.\n";}
	if(pnr_length < 4){fejlstreng += "Fejl: Post nr. er for kort.\n";}
	if(pnr_lev_length < 4 && pnr_lev_length != 0){fejlstreng += "Fejl: Leverings Post nr. er for kort.\n";}
	
	//--------------------------------------------------------------------
	//OUTPUT EVT. FEJL OG STOP
	//--------------------------------------------------------------------
	if (fejlstreng!="") {
	    alert(fejlstreng);
	    return;
	}
	//--------------------------------------------------------------------
	//Hvis ingen fejl -SEND DOKUMENT
	//--------------------------------------------------------------------
	document.bestil.submit();
}
//------------------------------------------------------------------------------------
//	FORM 2: checkTwo()
//------------------------------------------------------------------------------------
	function checkTwo() {
		if(mappeFejl){
				alert("Fejl: Du mangler at vælge en pakke");
				return;
		}
		else document.bestil.submit();
	}
//------------------------------------------------------------------------------------
//	FORM 3: checkThree()
//------------------------------------------------------------------------------------
	function checkThree(){
		//--------------------------------------------------------------------
		//INIT
		//--------------------------------------------------------------------
		//nulstil focus_free variablen fra en eventuel sidste gang.
		clearFocus();
		//nulstiller fejl strengen
		clearFejlStr();
		//nulstiller form3
		clearForm3();
		//--------------------------------------------------------------------
		//oprettelse af felt objekter
		//--------------------------------------------------------------------
		motivBelig = new felt(document.bestil.motivBelig,"- Motivets beliggenhed\n",4);		//type form 4
		motiv = new felt(document.bestil.motiv,"- Hvad er motivet\n",4);			//type form 3
		tagFarve = new felt(document.bestil.tagFarve,"- Tagets farve\n",4);		//type form 3
		bygFarve = new felt(document.bestil.bygFarve,"- Bygningens farve\n",4);		//type form 3
		oplysninger = new felt(document.bestil.oplysninger,"- Yderligere information\n",4);	//type form 3
		
		
		//--------------------------------------------------------------------
		//Test om felterne er tomme
		//--------------------------------------------------------------------
		emptyHandler(motivBelig);	
		emptyHandler(motiv);
		emptyHandler(tagFarve);
		emptyHandler(bygFarve);
		emptyHandler(oplysninger);
		
		//--------------------------------------------------------------------
		//OUTPUT EVT. FEJL OG STOP
		//--------------------------------------------------------------------
		if (fejlstreng!="") {
		    alert("Du mangler at udfylde disse felter;\n"+ fejlstreng);
		    return;
		}
		//Test om betalings betingelserne er accepteret
		if(!document.bestil.accepter.checked){
			document.bestil.accepter.focus();
			alert("Du skal accepterer Flying Photos Salgsbetingelser for at kunne gennefører handelen");
			return;
		}
		//--------------------------------------------------------------------
		//Hvis ingen fejl -SEND DOKUMENT
		//--------------------------------------------------------------------
		document.bestil.submit();
		
	}
//------------------------------------------------------------------------------------
//		TOGGLE
//------------------------------------------------------------------------------------
	//Test whether 'getElementById' works, otherwise use 'document.all'  
	if(document.all && !document.getElementById) {
	    document.getElementById = function(id) {
		return document.all[id];
	    }
	}
	
	//Toggle fields shown, when 'firma' or 'privat' is selected  
	function ToggleFields(){
	    try
		{
		    var NumFirmFields = parseInt(document.bestil.antal_firma.value);
		    var NumPrivFields = parseInt(document.bestil.antal_priv.value);
		    var type = parseInt(document.bestil.TypeID.value);
		    //Toggle firma fields
		    for (i = 1; i <= NumFirmFields; i++) {
			id = "f"+i;
			styleObj = document.getElementById(id).style;
			if (type == 1) {
			    styleObj.display='';
			}
			else {
			    styleObj.display='none';
			}
		    }
		    //Toggle privat fields
		    for (i = 1; i <= NumPrivFields; i++) {
			id = "p"+i;
			styleObj = document.getElementById(id).style;
			if (type == 0) {
			    styleObj.display='';
			}
			else {
			    styleObj.display='none';
			}
		    }
		}
	    catch(err)
		{
		    txt="Der er opståen en fejl på siden.\n\n"
			txt+="Fejl beskrivelse: " + err.description + "\n\n"
			txt+="Klik OK for at fortsætte.\n\n"
			alert(txt)
		  }
	}
	
	//Show or hide adress 
	function ToggleAdr(){
		var hide = document.bestil.ens_adr.checked;
		//Toggle leverings felter
		if (hide && document.getElementById("L1").style.display == '') {
			//Skjul alle rækker med leverings information
			document.getElementById("L1").style.display='none';
			document.getElementById("L2").style.display='none';
			document.getElementById("L3").style.display='none';
			document.getElementById("L4").style.display='none';
			document.getElementById("L5").style.display='none';
			document.getElementById("L6").style.display='none';
			document.getElementById("L7").style.display='none';
			//Nulstil all information i Leverings adresse.
			document.bestil.adr_lev.value = "";
			document.bestil.adr_lev_2.value = "";
			document.bestil.navn_lev.value = "";
			document.bestil.postnr_lev.value = "";
			document.bestil.by_lev.value = "";
		}else {
			//Vis alle rækker med leverings information
			document.getElementById("L1").style.display='';
			document.getElementById("L2").style.display='';
			document.getElementById("L3").style.display='';
			document.getElementById("L4").style.display='';
			document.getElementById("L5").style.display='';
			document.getElementById("L6").style.display='';
			document.getElementById("L7").style.display='';
		}
	}	


//------------------------------------------------------------------------------------
//		Window PopUp
//------------------------------------------------------------------------------------	
	//Open new window with 'salgsbetingelser'
	function salgsBeting() {
	    var newWin = null;
	    var w = 550;
	    var h = 510;
	    if (window.screen.availWidth) {
		var sw = window.screen.availWidth;
		var sh = window.screen.availHeight;
	    } else if (window.screen.width) {
		var sw = window.screen.width;
		var sh = window.screen.height;
	    } else {
		var sw = 800;
		var sh = 600;
	    }
	    var l = Math.floor((sw - w) / 2);
	    var t = Math.floor((sh - h) / 2);
			
	    newWin = window.open("http://www.flyingphoto.dk/salgsbetingelser.php","Salgsbetingelser","width=" + w + ", height=" + h + ", left = " + l + ", top = " + t + ", directories=no, location=no, menubar=no, resizable=no, scrollbars=yes, status=no, toolbar=no, copyhistory=no");
	    newWin.focus();
	}
	
	//Åben et nyt vindue med mappe information
	function OpenMappe(mappe) {
	    var newWin = null;
	    var w = 450;
	    var h = 400;
	    if (window.screen.availWidth) {
		var sw = window.screen.availWidth;
		var sh = window.screen.availHeight;
	    } else if (window.screen.width) {
		var sw = window.screen.width;
		var sh = window.screen.height;
	    } else {
		var sw = 800;
		var sh = 600;
	    }
	    var l = Math.floor((sw - w) / 2);
	    var t = Math.floor((sh - h) / 2);
			
	    newWin = window.open("http://www.flyingphoto.dk/mappe.php?mappe="+mappe , "Pakke","width=" + w + ", height=" + h + ", left = " + l + ", top = " + t + ", directories=no, location=no, menubar=no, resizable=no, scrollbars=no, status=no, toolbar=no, copyhistory=no");
	    newWin.focus();
	}

