/************************************************************
*															*
*   JavaScript koden er programert af Daniel Kejser 2007	*
*   Hjemmeside: www.neonman.dk								*
* 	Oprettet: 14-02-2007									*
*															*
*	Sidst ændret: 05-07-2007								*
*															*
************************************************************/

/********************************************************************
*																	*
*	config delen til barsket så man kan ændre id, tekst m.m. 		*
*	dirakte uden at skal pille i Javascript koden neden for.		*
*																	*
*********************************************************************/
function brasketConfig()
{
	this.KundeIdTag = function()
	{
		this.Navn			= 'kunde_navn';
		this.Adresse		= 'kunde_adresse';
		this.City			= 'kunde_city';
		this.Postnr			= 'kunde_postnr';
		this.Email			= 'kunde_email';
		this.Telefonnr		= 'kunde_telefonnr';
		this.Eannr			= 'kunde_eannr';
		this.Cvrnr			= 'kunde_cvrnr';
		this.KontaktPerson	= 'kunde_kontakt_person';
		this.AndenNavn		= 'kunde_AndenNavn';
		this.AndenAdresse	= 'kunde_AndenAdresse';
		this.AndenPostNr	= 'kunde_AndenPostNr';
		this.AndenCity		= 'kunde_AndenCity';
		this.AndenTelefon	= 'kunde_AndenTelefon';
		this.AndenAttPerson	= 'kunde_AndenAttPerson';
	}
	
	/********************************************************************
	*																	*
	*	Håndtere alle Id tags til Step1									*
	*																	*
	*********************************************************************/
	this.Step1_IdTag = function()
	{
		this.KundeType_Privat		= 'KundeType[Private]';
		this.KundeType_Firma		= 'KundeType[Firma]';
		this.KundeType_Institution	= 'KundeType[Institution]';
		
		this.LaveringsMethod_FakturaAdresse		= 'Laveringsform[FakturaAdresse]';
		this.LaveringsMethod_AndenAdresse		= 'Laveringsform[AndenAdresse]';
		this.LaveringsMethod_HosForhandlere		= 'Laveringsform[StorePickup]';
		
		this.BetalingsType_Kontant				= 'Betaling[Kontant]';
		this.BetalingsType_BetalingsKort		= 'Betaling[Betalingskort]';
		this.BetalingsType_Efterkrav			= 'Betaling[Efterkrav]';
		this.BetalingsType_Bankoverfoerelse		= 'Betaling[Bank]';
		this.BetalingsType_Faktura				= 'Betaling[Faktura]';
	}
	
	/********************************************************************
	*																	*
	*	Håndtere alt tekst for Step1									*
	*																	*
	*********************************************************************/
	this.Step1_Tekst = function()
	{
		this.KundeType_Privat		= 'Privat';
		this.KundeType_Firma		= 'Firma';
		this.KundeType_Institution	= 'Institution';
		
		this.LaveringsMethod_FakturaAdresse		= 'Sendes til fakturaadressen';
		this.LaveringsMethod_AndenAdresse		= 'Sendes til anden adresse';
		this.LaveringsMethod_HosForhandlere		= 'Afhentning i forretningen';
		
		this.BetalingsType_Kontant				= 'Kontant';
		this.BetalingsType_BetalingsKort		= 'Betalingskort';
		this.BetalingsType_Efterkrav			= 'Efterkrav';
		this.BetalingsType_Bankoverfoerelse		= 'Bankoverførsel';
		this.BetalingsType_Faktura				= 'Faktura';
		
		this.Vali_Navn					= 'Du har ikke angivet dit navn.';
		this.Vali_Adresse 				= 'Du har ikke angivet en adresse.';
		this.Vali_CityAndPostnr			= 'Det angivne post nummer eller by er forkert.';
		this.Vali_Email					= 'Du har ikke angivet korrekt e-mail adresse.';
		this.Vali_Telefonnr				= 'Det angivne telefonnummer er ikke korrekt.';
		this.Vali_Cvrnr					= 'Du har ikke angivet et CVR-nummer.';
		this.Vali_KontaktPerson			= 'Du har ikke angivet en kontaktperson.';
		this.Vali_Eannr					= 'Du har ikke angivet et EAN-nummer.';
		this.Vali_HuskKundeType			= 'Husk at vælge kundetype.';
		
		this.Vali_AndenNavn				= 'Du har ikke skrevet modtagernavn.';
		this.Vali_AndenAdresse			= 'Modtageradressen er ikke udfyldt.';
		this.Vali_AndenCityAndPostnr	= 'Der mangler post-nummer og by på modtageren.';
		this.Vali_AndenTelefon			= 'Skriv et telefonnummer modtageren kan kontaktes på.';
		
		this.Vali_HuskLeveringsform		= 'Husk at vælge leveringsform.';
		
		this.Vali_IkkeEfterkrav			= 'Du kan ikke betale pr. efterkrav når du henter varen selv.';
		this.Vali_IkkeBankoverfoerelse 	= 'Du kan vælge bankoverførsel når du henter varen selv.';
		
		this.Vali_IkkeKontant 			= 'Du kan ikke betale kontant når du får varen tilsendt.';
		
		this.Vali_HuskBetalingType 		= 'Du har ikke valgt betalingsmåde.';
	}
}

barsketConfig	= new brasketConfig();
KundeIdTag 		= new barsketConfig.KundeIdTag();
Step1_IdTag 	= new barsketConfig.Step1_IdTag();
Step1_Tekst 	= new barsketConfig.Step1_Tekst();

/********************************************************************
*																	*
*	Selve indkøbs skruven hvor der bliver puttet vare i, denne		*
*	funktion står for at udføre om det er updatering eller om det	*
*	er nye produkter der skal i kurven.								*
*																	*
*********************************************************************/
function shoppingBarsket()
{
	barsketKurv = new makeRequestObj();
	
	this.produktToBarsket = function( produktId , AntalProdukt , produktSize )
	{
		AjaxLoadGet(barsketKurv,'/Plugin/ShopBarsket/Page/ajaxPage/BarsketKurv.php?ProduktId='+ produktId +'&AntalVare='+ AntalProdukt +'&produktSizeId='+ produktSize ,'ajaxShopBarsket');		
	}
	
	this.produktChangesValue = function(produktId,AntalProdukt,StkPris,produktSize)
	{
		AjaxLoadGet(barsketKurv,'/Plugin/ShopBarsket/Page/ajaxPage/BarsketKurv.php?doType=UPDATE&ProduktId='+ produktId +'&AntalVare='+ AntalProdukt +'&produktSizeId='+ produktSize,'ajaxShopBarsket');
        location.href = '/ShopBarsket/Step1';
	}
}

shoppingB = new shoppingBarsket();


/********************************************************************
*																	*
*	Hele step1's javascript bliver skrevet her, hvis der er			*
*	funktion som bliver brugt af andre step's eller dele fra		*
*	indkøbskruven vil de ikke være i denne del.						*
*																	*
*********************************************************************/
function barsketStep()
{
	/********************************************************************
	*																	*
	*	Alt validering til barsket kurven forfindes i dette objeckt		*
	*																	*
	*********************************************************************/
	function barsketValidering()
	{
		/********************************************************************
		*																	*
		*	Validering der tilhøre en kunde validers her					*
		*																	*
		*********************************************************************/
		this.KundeVali	= function()
		{
			/************
			* Navn		*
			************/
			this.Navn = function()
			{
				if ( TjeckIdExists( KundeIdTag.Navn ) )
				{
				    if ( IdTagValue( KundeIdTag.Navn ) == '' || IdTagLength( KundeIdTag.Navn ) < 2 )
				    {
				        return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/************
			* Adresse	*
			************/
			this.Adresse = function()
			{
				if ( TjeckIdExists( KundeIdTag.Adresse ) )
				{
					if (IdTagValue( KundeIdTag.Adresse ) == '' || IdTagLength( KundeIdTag.Adresse ) < 2)
				    {
				        return false;
				    }
				    else
				    {
				        return true
				    }
				}
			}
			
			/********************
			* Post nr og By		*
			********************/
			this.CityAndPostnr = function()
			{
				if ( TjeckIdExists( KundeIdTag.Postnr ) && TjeckIdExists( KundeIdTag.City ) )
				{
				    if ( IdTagValue( KundeIdTag.Postnr ) == '' ||
				         IdTagLength( KundeIdTag.Postnr ) < 3 ||
				         // IdTagLength( KundeIdTag.Postnr ) > 4 || udenlandske postnumre kan være længere
				         isNumbric( KundeIdTag.Postnr ) == null ||
				         IdTagLength( KundeIdTag.City ) < 2 ||
				         IdTagLength( KundeIdTag.City ) == '' )
				    {
				        return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/************
			* E-mail	*
			************/
			this.Email = function()
			{
				if ( TjeckIdExists( KundeIdTag.Email ) )
				{    
				    if (
				        IdTagValue( KundeIdTag.Email ) == '' ||
				        IdTagLength( KundeIdTag.Email ) < 5 ||
				        isEmail( KundeIdTag.Email ) == null
				    )
				    {
				        return false;
				    }
				    else
				    {
				        return true;   
				    }
				}
			}
			
			/************
			* Telefonnr	*
			************/
			this.Telefonnr = function()
			{
				if ( TjeckIdExists( KundeIdTag.Telefonnr ) )
				{
					if (IdTagValue( KundeIdTag.Telefonnr ) == '' || IdTagLength( KundeIdTag.Telefonnr ) < 8 ) // || isNumbric( KundeIdTag.Telefonnr ) == null) udenlandske numre kan indeholde andre tegn
				    {
				        return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/************
			* Eannr		*
			************/
			this.Eannr = function()
			{
				if ( TjeckIdExists( KundeIdTag.Eannr ) )
				{
				    if (IdTagValue( KundeIdTag.Eannr ) == '' || IdTagLength( KundeIdTag.Eannr ) < 8 || isNumbric( KundeIdTag.Eannr ) == null)
				    {
				        return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/************
			* Cvrnr		*
			************/
			this.Cvrnr = function()
			{
				if ( TjeckIdExists( KundeIdTag.Cvrnr ) )
				{
				    if (IdTagValue( KundeIdTag.Cvrnr ) == '' || IdTagLength( KundeIdTag.Cvrnr ) < 8 || isNumbric( KundeIdTag.Cvrnr ) == null)
				    {
				       return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/********************
			* Kontakt Person	*
			********************/
			this.KontaktPerson = function()
			{
				if ( TjeckIdExists( KundeIdTag.KontaktPerson ) )
				{
					if (IdTagValue( KundeIdTag.KontaktPerson ) == '' || IdTagLength( KundeIdTag.KontaktPerson ) < 2)
				    {
				        return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/********************
			* Kommentar			*
			********************/
			this.Kommentar = function()
			{
			}
			
			/********************
			* Anden navn	*
			********************/
			this.AndenNavn = function()
			{
				if ( TjeckIdExists( KundeIdTag.AndenNavn ) )
				{
					if (IdTagValue( KundeIdTag.AndenNavn ) == '' || IdTagLength( KundeIdTag.AndenNavn ) < 2)
				    {
				        return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/********************
			* Anden adresse		*
			********************/
			this.AndenAdresse = function()
			{
				if ( TjeckIdExists( KundeIdTag.AndenAdresse ) )
				{
					if (IdTagValue( KundeIdTag.AndenAdresse ) == '' || IdTagLength( KundeIdTag.AndenAdresse ) < 2)
				    {
				    	return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/********************
			* Anden post og by	*
			********************/
			this.AndenCityAndPostNr = function()
			{
				if ( TjeckIdExists( KundeIdTag.AndenPostNr ) && TjeckIdExists( KundeIdTag.AndenCity ) )
				{
					if (
				        IdTagValue( KundeIdTag.AndenPostNr )    == '' ||
				        IdTagLength( KundeIdTag.AndenPostNr )  < 3 ||
				        // IdTagLength( KundeIdTag.AndenPostNr )   > 4 ||  udenlandske postnumre kan være længere
				        isNumbric( KundeIdTag.AndenPostNr )     == null ||
				        IdTagLength( KundeIdTag.AndenCity )  < 2 ||
				        IdTagLength( KundeIdTag.AndenCity )  == ''    
				    )
				    {
				        return false;
				    }
				    else
				    {
				        return true;
				    }
				}
			}
			
			/********************
			* Anden telefon		*
			********************/
			this.AndenTelefon = function()
			{
				if ( TjeckIdExists( KundeIdTag.AndenTelefon ) )
				{
					if (
				        IdTagValue( KundeIdTag.AndenTelefon )    == '' ||
				        IdTagLength( KundeIdTag.AndenTelefon )   < 8  // || isNumbric( KundeIdTag.AndenTelefon ) == null) udenlandske numre kan indeholde andre tegn
				    )
				    {
				        return false;
				    }
				    else
				    {
				        return true; 
				    }
				}
			}
			
			/********************
			* Anden att person	*
			********************/
			this.AndenAttPerson = function()
			{
				if ( TjeckIdExists( KundeIdTag.AndenAttPerson ) )
				{
				}
			}
		}
	}
	
	barsketValidering 	= new barsketValidering();
	KundeVali			= new barsketValidering.KundeVali();
	
	/* Skifter et billede ud fra not_ok og ok.gif */
	function ImagesChanges(TagId,Images)
	{
		document.getElementById(TagId).src = '/Plugin/ShopBarsket/Page/Grafik/'+ Images +'.gif';
	}
	
	var Step1_KundeType 		= '';
	var Step1_LaveringsMethod 	= '';
	var Step1_BetalingsType		= '';
	
	/* Laver javascripten til step1 delen */
	this.Step1 = function()
	{
		barsketStep1 		= new makeRequestObj();
		
		/********************************************************************
		*																	*
		*	Funktionen bruges til at vælger hvad kunde type personen er		*
		*	når de har valgt vil de felter der skal vises eller skjules		*
		*	træde i kraft via Ajax som gemmer det i databasen				*
		*																	*
		*********************************************************************/
		function kundeTypeSelect( KundeTypeId , PrivatBox , FirmaBox , InstitutionBox )
		{
			if ( TjeckIdExists( KundeTypeId ) )
			{
				function KundeTypeLoadFun()
				{
					AjaxLoadGet(barsketStep1,'/Plugin/ShopBarsket/Page/ajaxPage/updateStep1.php?SqlFelt=KundeType&Value='+ escape( setObj( KundeTypeId ).value ),'barsketChange');
									
					if ( TjeckIdExists( Step1_Tekst.KundeType_Privat ) ) 
					{
						setObj( Step1_Tekst.KundeType_Privat ).style.display = PrivatBox;
					}
					
					if ( TjeckIdExists( Step1_Tekst.KundeType_Firma ) ) 
					{
						setObj( Step1_Tekst.KundeType_Firma ).style.display = FirmaBox;
					}
					
					if ( TjeckIdExists( Step1_Tekst.KundeType_Institution ) )
					{
						setObj( Step1_Tekst.KundeType_Institution ).style.display = InstitutionBox;
					}
						
					Step1_KundeType = setObj( KundeTypeId ).value;
				}
				
				setObj( KundeTypeId ).onclick = function()
				{
					KundeTypeLoadFun();
				}
				if ( isCheckt( KundeTypeId ) )
				{
					KundeTypeLoadFun();
				}
			}
		}
		
		kundeTypeSelect( Step1_IdTag.KundeType_Privat		, 'block' , 'none' 	, 'none' );
		kundeTypeSelect( Step1_IdTag.KundeType_Firma 		, 'block' , 'block' , 'none' );
		kundeTypeSelect( Step1_IdTag.KundeType_Institution 	, 'block' , 'block' , 'block' );
		
		/********************************************************************
		*																	*
		*	Ændre billedet fra ok til not_ok eller om vendt alt efter om	*
		*	inputtet er ture eller false									*
		*																	*
		*********************************************************************/
		function changeBillede( iconId , returnValue )
		{
			if ( TjeckIdExists( iconId ) )
			{
				TjeckValue = returnValue();
				if ( TjeckValue )
			    {
			        ImagesChanges( iconId ,'ok');
			    }
			    else
			    {
			        ImagesChanges( iconId ,'not_ok');   
			    }
			}
		}

		/********************************************************************
		*																	*
		*	Når fltet med det valgte id ikke har focus mere vil dataen i	*
		*	feltet bliver sendt til en side via Ajax og derefter gemmes		*
		*	i databasen til brugeres id										*
		*																	*
		*********************************************************************/
		function postFeltAjax( feltId , iconId , sqlFelt , ValiReturn )
		{
			if ( TjeckIdExists( feltId ) )
			{
				setObj( feltId ).onblur = function()
				{
					AjaxLoadGet(barsketStep1,'/Plugin/ShopBarsket/Page/ajaxPage/updateStep1.php?Value='+ escape( this.value ) +'&SqlFelt='+ sqlFelt,'barsketChange');
					
					if ( TjeckIdExists( iconId ) )
					{
						changeBillede( iconId , ValiReturn );
					}
				}
			}
		}
		
		changeBillede( 'KundeNavnIcon' 				, KundeVali.Navn );
		changeBillede( 'KundeAdresseIcon' 			, KundeVali.Adresse );
		changeBillede( 'KundePostnrIcon' 			, KundeVali.CityAndPostnr );
		changeBillede( 'KundeEmailIcon' 			, KundeVali.Email );
		changeBillede( 'KundeTelefonnrIcon'			, KundeVali.Telefonnr );
		changeBillede( 'KundeEanNummerIcon'			, KundeVali.Eannr );
		changeBillede( 'KundeCvrNummerIcon'			, KundeVali.Cvrnr );
		changeBillede( 'KundeKontaktPersonIcon'		, KundeVali.KontaktPerson );
		
		changeBillede( 'KundeAndenNavnIcon'			, KundeVali.AndenNavn );
		changeBillede( 'KundeAndenAdresseIcon'		, KundeVali.AndenAdresse );
		changeBillede( 'KundeAndenPostNrIcon'		, KundeVali.AndenCityAndPostNr );
		changeBillede( 'KundeAndenTelefonIcon'		, KundeVali.AndenTelefon );
				
		postFeltAjax('kunde_navn'			, 'KundeNavnIcon'			, 'kundeNavn'			, KundeVali.Navn );
		postFeltAjax('kunde_adresse'		, 'KundeAdresseIcon'		, 'kundeAdresse'		, KundeVali.Adresse );
		postFeltAjax('kunde_postnr'			, 'KundePostnrIcon'			, 'kundePostnr' 		, KundeVali.CityAndPostnr );
		postFeltAjax('kunde_city'			, 'KundePostnrIcon'			, 'kundeCity'			, KundeVali.CityAndPostnr );
		postFeltAjax('kunde_email'			, 'KundeEmailIcon'			, 'kundeEmail' 			, KundeVali.Email );
		postFeltAjax('kunde_telefonnr'		, 'KundeTelefonnrIcon'		, 'kundeTelefonnr'		, KundeVali.Telefonnr );
		postFeltAjax('kunde_eannr'			, 'KundeEanNummerIcon'		, 'kundeEannr'			, KundeVali.Eannr );
		postFeltAjax('kunde_cvrnr'			, 'KundeCvrNummerIcon'		, 'kundeCvrnr'			, KundeVali.Cvrnr );
		postFeltAjax('kunde_kontakt_person'	, 'KundeKontaktPersonIcon'	, 'kundeKontaktPerson'	, KundeVali.KontaktPerson );
		postFeltAjax('kunde_kommentar'		, 'KundeKommentarIcon'		, 'kundeKommentar'		, KundeVali.Kommentar );
		
		postFeltAjax('kunde_AndenNavn'		, 'KundeAndenNavnIcon'		, 'kundeAndenNavn'		, KundeVali.AndenNavn );
		postFeltAjax('kunde_AndenAdresse'	, 'KundeAndenAdresseIcon'	, 'kundeAndenAdresse'	, KundeVali.AndenAdresse );
		postFeltAjax('kunde_AndenPostNr'	, 'KundeAndenPostNrIcon'	, 'kundeAndenPostNr'	, KundeVali.AndenCityAndPostNr );
		postFeltAjax('kunde_AndenCity'		, 'KundeAndenPostNrIcon'	, 'kundeAndenCity'		, KundeVali.AndenCityAndPostNr );
		postFeltAjax('kunde_AndenAttPerson'	, 'KundeAndenAttPersonIcon'	, 'kundeAndenAttPerson'	, KundeVali.AndenAttPerson );
		postFeltAjax('kunde_AndenTelefon'	, 'KundeAndenTelefonIcon'	, 'kundeAndenTelefon'	, KundeVali.AndenTelefon );
		
		/********************************************************************
		*																	*
		*	Håndtere laverings metodens dele via ajax til databasen			*
		*																	*
		*********************************************************************/
		function LaveringsMethod( feltId , displayType )
		{
			/* Laveringsform - Faktura adresse */
			if ( TjeckIdExists("Laveringsform["+ feltId +"]") )
			{
				feltId = new setObj("Laveringsform["+ feltId +"]");
				
				function doFunction( )
				{
					AjaxLoadGet( barsketStep1 , '/Plugin/ShopBarsket/Page/ajaxPage/updateStep1.php?SqlFelt=kundeLaveringsform&Value='+ escape( feltId.value ) , 'barsketChange' );
									
					if ( TjeckIdExists("AndenLaveringsAdresse") )
						setObj("AndenLaveringsAdresse").style.display = displayType;
						
					Step1_LaveringsMethod = feltId.value;
				}
				
				feltId.onclick = function()
				{
					doFunction( );
				}
				if ( feltId.checked == true )
				{
					doFunction( );
				}
			}
		}

		LaveringsMethod( 'FakturaAdresse' , 'none' );
		LaveringsMethod( 'AndenAdresse' , 'block' );
		LaveringsMethod( 'StorePickup' , 'none' );
		
		/********************************************************************
		*																	*
		*	Valg af betalings methodes funktion skal bruges til at selecte	*
		*	de nye valg der er sket om det er efterkrev, bank, kontakt		*
		*	ellers betalings kort.											*
		*																	*
		*********************************************************************/
		function KundeBetalingMethod( IdArray )
		{
			if ( TjeckIdExists("Betaling["+ IdArray +"]") )
			{
				function KundeBetalingFun()
				{
					AjaxLoadGet(barsketStep1,'/Plugin/ShopBarsket/Page/ajaxPage/updateStep1.php?SqlFelt=kundeBetalingsMethod&Value='+ escape( setObj("Betaling["+ IdArray +"]").value ),'barsketChange');
					Step1_BetalingsType = setObj("Betaling["+ IdArray +"]").value;
				}
				
				setObj("Betaling["+ IdArray +"]").onclick = function()
				{
					KundeBetalingFun();
				}
				if ( isCheckt("Betaling["+ IdArray +"]") )
				{
					KundeBetalingFun();
				}
			}
		}
		
		KundeBetalingMethod( 'Kontant' );
		KundeBetalingMethod( 'Betalingskort' );
		KundeBetalingMethod( 'Efterkrav' );
		KundeBetalingMethod( 'Bank' );
		KundeBetalingMethod( 'Faktura' );
	}
	
	/* Når der klikkes på submit knappen skal der laves et tjeck om det hele er som det skal være... */
	this.ErrorTjeckSubmitStep1 = function()
	{
		var Besked	= '';
		var Error 	= 0;
		
		/********************************************************************
		*																	*
		*	Tjecker hvad kundetype der er sat for at kunne finde ud af		*
		*	hvilken felter der skal være udfyldt hvis det er den valgte		*
		*	kundetype.														*
		*																	*
		*********************************************************************/
		switch ( Step1_KundeType )
		{
			case Step1_Tekst.KundeType_Privat:
				
				if ( !KundeVali.Navn() ) { Besked += Step1_Tekst.Vali_Navn +'\n'; Error = 1; }
				
				if ( !KundeVali.Adresse() ) { Besked += Step1_Tekst.Vali_Adresse +'\n'; Error = 1; }
				
				if ( !KundeVali.CityAndPostnr() ) { Besked += Step1_Tekst.Vali_CityAndPostnr +'\n'; Error = 1; }
				
				if ( !KundeVali.Email() ) { Besked += Step1_Tekst.Vali_Email +'\n'; Error = 1; }
				
				if ( !KundeVali.Telefonnr() ) { Besked += Step1_Tekst.Vali_Telefonnr +'\n'; Error = 1; }
			
			break;
			
			case Step1_Tekst.KundeType_Firma:
				
				if ( !KundeVali.Navn() ) { Besked += Step1_Tekst.Vali_Navn +'\n'; Error = 1; }
				
				if ( !KundeVali.Adresse() ) { Besked += Step1_Tekst.Vali_Adresse +'\n'; Error = 1; }
				
				if ( !KundeVali.CityAndPostnr() ) { Besked += Step1_Tekst.Vali_CityAndPostnr +'\n'; Error = 1; }
				
				if ( !KundeVali.Email() ) { Besked += Step1_Tekst.Vali_Email +'\n'; Error = 1; }
				
				if ( !KundeVali.Telefonnr() ) { Besked += Step1_Tekst.Vali_Telefonnr +'\n'; Error = 1; }
				
				if ( !KundeVali.Cvrnr() ) { Besked += Step1_Tekst.Vali_Cvrnr +'\n'; Error	= 1; }
				
				if ( !KundeVali.KontaktPerson() ) { Besked += Step1_Tekst.Vali_KontaktPerson +'\n'; Error	= 1; }
			
			break;
			
			case Step1_Tekst.KundeType_Institution:
				
				if ( !KundeVali.Navn() ) { Besked += Step1_Tekst.Vali_Navn +'\n'; Error = 1; }
				
				if ( !KundeVali.Adresse() ) { Besked += Step1_Tekst.Vali_Adresse +'\n'; Error = 1; }
				
				if ( !KundeVali.CityAndPostnr() ) { Besked += Step1_Tekst.Vali_CityAndPostnr +'\n'; Error = 1; }
				
				if ( !KundeVali.Email() ) { Besked += Step1_Tekst.Vali_Email +'\n'; Error = 1; }
				
				if ( !KundeVali.Telefonnr() ) { Besked += Step1_Tekst.Vali_Telefonnr +'\n'; Error = 1; }
				
				if ( !KundeVali.Cvrnr() ) { Besked += Step1_Tekst.Vali_Cvrnr +'\n'; Error	= 1; }
				
				if ( !KundeVali.KontaktPerson() ) { Besked += Step1_Tekst.Vali_KontaktPerson +'\n'; Error	= 1; }
				
				if ( !KundeVali.Eannr() ) { Besked += Step1_Tekst.Vali_Eannr +'\n'; Error	= 1; }
				
			break;
			
			default:
			
				Besked += Step1_Tekst.Vali_HuskKundeType +'\n'; 
				Error	= 1;
			
			break;
		}
		
		/********************************************************************
		*																	*
		*	Tjecker om der er sat en laveringsform hvis ikke kommer der		*
		*	fejl besked til brugeren.										*
		*																	*
		*********************************************************************/
		switch ( Step1_LaveringsMethod )
		{
			case Step1_Tekst.LaveringsMethod_HosForhandlere:
			case Step1_Tekst.LaveringsMethod_FakturaAdresse:
			break;
			
			case Step1_Tekst.LaveringsMethod_AndenAdresse:
			
				if ( !KundeVali.AndenNavn() ) { Besked += Step1_Tekst.Vali_AndenNavn +'\n'; Error = 1; }
				
				if ( !KundeVali.AndenAdresse() ) { Besked += Step1_Tekst.Vali_AndenAdresse +'\n'; Error = 1; }
				
				if ( !KundeVali.AndenCityAndPostNr() ) { Besked += Step1_Tekst.Vali_AndenCityAndPostnr +'\n'; Error = 1; }
				
				if ( !KundeVali.AndenTelefon() ) { Besked += Step1_Tekst.Vali_AndenTelefon +'\n'; Error = 1; }
			
			break;
			
			default:
			
				Besked += Step1_Tekst.Vali_HuskLeveringsform +'\n';
				Error = 1;
			
			break;
		}
		
		/********************************************************************
		*																	*
		*	Betalings methoden tjeckes om det stemmer over ens med det 		*
		*	valgte laverings form eks. kan man ikke betale med kontant ved	*
		* 	efterkrav. og heller ikke med efterkavk hvis man henter det i	*
		*	butikken.														*
		*																	*
		*********************************************************************/
		switch ( Step1_BetalingsType )
		{
			case Step1_Tekst.BetalingsType_Kontant:
			case Step1_Tekst.BetalingsType_BetalingsKort:
			case Step1_Tekst.BetalingsType_Efterkrav:
			case Step1_Tekst.BetalingsType_Bankoverfoerelse:
			case Step1_Tekst.BetalingsType_Faktura:
			
				switch ( Step1_LaveringsMethod )
				{
					case Step1_Tekst.LaveringsMethod_HosForhandlere:
					case Step1_Tekst.LaveringsMethod_FakturaAdresse: 
					case Step1_Tekst.LaveringsMethod_AndenAdresse: 
					
						if ( Step1_BetalingsType == Step1_Tekst.BetalingsType_Kontant )
						{
							Besked += Step1_Tekst.Vali_IkkeKontant +'\n';
							Error = 1;
						}
					
					break;
				}
			
			break;
			
			default:
			
				Besked += Step1_Tekst.Vali_HuskBetalingType +'\n';
				Error = 1;
			
			break;
		}
		
		// Hvis der er fundet en fejl i valideringen får brugeren den alert boks ellers gåden til step2
		if ( Error == 1 )
		{
			alert( Besked );
		}
		else
		{
			location.href = '/ShopBarsket/Step2';
		}
	}
	
	/********************************************************************
	*																	*
	*	Step 2 der sender brugeren frem eller tilbage efter hvad valg	*
	*	der bliver gjort												*
	*																	*
	*********************************************************************/
	// Tilbage til sidste step funktion
	this.SubmitStep2Back = function()
	{
		location.href = '/ShopBarsket/Step1';			
	}
	
	// Næste step funktion
	this.SubmitStep2Next = function( subType )
	{
		location.href = '/ShopBarsket/Step3';
	}
}

shoppingStep = new barsketStep();
