﻿//Script av Christofer Lagerros Data & Multimediakonsult (c) 2009

//Konstanter
var BESKRIVNING = 0;
var ANTAL1 = 1;
var ANTAL2 = 2;
var ANTAL3 = 3;
var PRIS1 = 4;
var PRIS2 = 5;
var PRIS3 = 6;
var RUNDADEHORNOK = 7;


// Här görs inställningar av aktuella format och priser
//
//

var rundadeHorn = Array(150,250,350); //Priser för rundade hörn respektive grupp

var frakter = [];
frakter[0] = {id:0, landskod:"SE", titel:"Brev", priser:[84, -1, -1], fotnot:"Kan <span style=\"text-decoration: underline;\">inte</span> spåras. Hämtas ut på Postens utlämningsställe."}; //-1 betyder att brev inte kan skickas i de andra prisgrupperna
frakter[1] = {id:1, landskod:"SE", titel:"Postpaket", priser:[150, 180, 230], fotnot:"Kan spåras. Hämtas ut på Postens utlämningsställe."};
frakter[2] = {id:2, landskod:"SE", titel:"DPD företagspaket 16.00", priser:[195, 230, 290], fotnot:"Kan spåras. Hemkörning. Obs! Endast till företag. Posten kör <span style=\"text-decoration: underline;\">inte</span> ut företagspaket adresserade till privatpersoner."};
frakter[3] = {id:3, landskod:"EU", titel:"Post Parcel (EU)", priser:[244, 300, 348], fotnot:""};
frakter[4] = {id:4, landskod:"WORLD", titel:"Post Parcel (WORLD)", priser:[339, 481, 623], fotnot:""};

//Lägg till de format som ska finnas tillgängliga. Först en beskrivning sen
//tre olika antal följt av tre olika priser
//kolumnen sen är om rundade hörn är tillåtet eller ej

var formats = [];
formats[0] = Array("Välj...", 0,0,0,0,0,0,false);
formats[1] = Array("Banner large (234x49 mm)", 400, 800, 1200, 1495, 2740, 3985, true);
formats[2] = Array("Banner medium (156x49 mm)", 600, 1200, 1800, 1495, 2740, 3985, true);
formats[3] = Array("Banner small (117x33 mm)", 1200, 2400, 3600, 1495, 2740, 3985, false);
formats[4] = Array("Bumper sticker (468x98 mm)", 100, 200, 300, 1495, 2740, 3985, true);
formats[5] = Array("Business card nordic standard (90x55 mm)", 800, 1600, 2400, 1495, 2740, 3985, true);
formats[6] = Array("Golden ratio medium (98x59 mm)", 700, 1400, 2100, 1495, 2740, 3985, true);
formats[7] = Array("Golden ratio small (82x49 mm)", 1000, 2000, 3000, 1495, 2740, 3985, false);
formats[8] = Array("Label medium (49x39 mm)",2400, 4800, 7200, 1495, 2740, 3985, false);
formats[9] = Array("Label small (52x33 mm)", 2700, 5400, 8100, 1495, 2740, 3985, false);
formats[10] = Array("Mix (98x52 mm, 156x49 mm, 98x98 mm)", 600, 1200, 1800, 1495, 2740, 3985, true);
formats[11] = Array("Popular large (117x49 mm)", 800, 1600, 2400, 1495, 2740, 3985, true);
formats[12] = Array("Popular medium (98x52 mm)", 900, 1800, 2700, 1495, 2740, 3985, true);
formats[13] = Array("Popular small (98x39 mm)", 1200, 2400, 3600, 1495, 2740, 3985, false);
formats[14] = Array("Rectangle large (156x98 mm)", 300, 600, 900, 1495, 2740, 3985, true);
formats[15] = Array("Rectangle medium (117x98 mm)", 400, 800, 1200, 1495, 2740, 3985, true);
formats[16] = Array("Rectangle small (98x78 mm)", 600, 1200, 1800, 1495, 2740, 3985, true);
formats[17] = Array("Skyscraper (234x98 mm)", 200, 400, 600, 1495, 2740, 3985, true);
formats[18] = Array("Square large (98x98 mm)", 400, 800, 1200, 1495, 2740, 3985, true);
formats[19] = Array("Square medium (78x78 mm)", 600, 1200, 1800, 1495, 2740, 3985, true);
formats[20] = Array("Square small (49x49 mm)", 1800, 3600, 5400, 1495, 2740, 3985, false);
formats[21] = Array("Streamer (468x49 mm)", 200, 400, 600, 1495, 2740, 3985, true);
formats[22] = Array("Super-sized (468x208 mm)", 100, 200, 300, 2990, 5730, 8470, true);
// formats[23] = Array("KAMPANJ Square Large (98x98 mm)", 100, 0, 0, 395, 0, 0, true);

// Lägg till de rabattkoder som ska finnas. Den envägskrypterade koden följt av prisreduceringen för respektive kod
var koder = [];
koder[0] = Array("c21f969b5f03d33d43e04f8f136e7682",1);
koder[1] = Array("cb0f4b630317e0b20e4912099ddfba7c",50);
koder[2] = Array("d0227190d0b44469d125f6655a2a795b",100);
koder[3] = Array("25c105a47d31d7d694d20a060f7c16a1",84);
koder[4] = Array("ae8fc55ccdc61c9812a7e247cf4dafdf",100);
koder[5] = Array("47c1012b2ccec97d8adb0a89b4ebeaad",150);

//Mängdrabatter vid köp av flera (räknas i nuläget inte ut automatiskt utan får fyllas i här)
var mangdrabatter = [0, 250, 500];

//Inställningar rörande moms
var momssats = 1.25; //Anger vilken moms som gäller
var momsinkluderat = true; //Anger om moms är inkluderat i de priser som visas

//
//
//
// Globala variabler
var landskod = "SE"; //Denna kan sedan omdefinieras till "EN" i order.html när engelsk sida ska användas

// Språkkonstanter
var C_VALUTA = "kr";
var C_VALUTA_LIST = "kr";
var C_ST = "stickers";
var C_STR_MANGDRABATT = "Du har fått {0} {1} i mängrabatt.";
var C_STR_MANGDRABATT500 = "Du har fått {0} {1} i mängrabatt.";
var C_INGEN_HORNRUNDNING = "Ingen hörnrundning";
var C_HORNRUNDNING_EXTRA = "Hörnrundning = {0} {1}";
var C_ANGE_EPOST = "Du måste ange en giltig e-postadress.";
var C_EPOST_FEL = "E-postadresserna du angivit stämmer inte överens.";
var C_RABATT_OK = "<br>Rabattkoden är verifierad. Din rabatt är {0} {1}.";
var C_RABATT_FEL = "<br>Rabattkoden du angivit är tyvärr inte giltig.";
var C_KAN_EJ_RUNDAS = "Det valda formatet kan inte hörnrundas";
var C_KR_RABATTKOD = " {0} rabattkod: ";
var C_KR_INKL_MOMS = "\n{1} {0} inklusive moms";
var C_KR_EXKL_MOMS ="\n{1} {0} exkl moms";
var C_VALID_VAT = "VAT-numret har ett godkänt format"; //ska inte användas i svensk version
var C_INVALID_VAT = "VAT-numret har ett ogiltigt format"; //ska inte användas i svensk version
var C_PRIS_INKL = "{0} kr";
var C_PRIS_EXKL = "{0} kr Din beställning är momsfri";
var C_PRIS_UTAN = " ({0} kr exklusive moms)";
var C_MOMSFRITT_ACCEPTERAT = "VAT";
var C_LAND_MOMSREG_STAMMER_INTE = "Du har angett ett EU-momsreg nr men ett land som ligger utanför EU";
var C_VISA_GALLERI = "OK att visa upp motiv galleri: {0}";

//Funktion för att ange språket, anropas från order.html med setLanguage("SE"); eller setLanguage("EN");
//Omdefinierar defaultinställningarna (svenska/SEK) enligt engelskt format och EUR
function setLanguage(language)
{
    switch(language)
    {   
    case "EN":
        C_VALUTA = "&#8364;"; //Euro tecken
        C_VALUTA_LIST = "EUR";
        C_ST = "stickers";
        C_STR_MANGDRABATT = "<b>Your quantity discount is {1} {0}.</b>";
        C_STR_MANGDRABATT500 = "<b>Your quantity discount is {1} {0}.</b>";
        C_INGEN_HORNRUNDNING = "No rounded corners";
        C_HORNRUNDNING_EXTRA = "Rounded corners = {0} {1}";
        C_ANGE_EPOST = "You must fill in a valid email address.";
        C_EPOST_FEL = "The email addresses are mismatched";
        C_RABATT_OK = "<br><br><b>The discount code is verified.<br>Your discount is {1} {0}.</b>";
        C_RABATT_FEL = "<br><br><b>The discount code is not valid.</b>";
        C_KAN_EJ_RUNDAS = "Not available for the selected format";
        C_KR_RABATTKOD = " {0} discount code: ";
        C_KR_INKL_MOMS = "{1} {0} incl VAT";
        C_KR_EXKL_MOMS = "{1} {0} excl VAT";
        C_VALID_VAT = "VAT number has a valid format";
        C_INVALID_VAT = "VAT number has an invalid format";
        C_PRIS_INKL = "<span class=\"myClass\">&#8364; {0}</span><br>including 25% VAT";
        C_PRIS_EXKL = "<span class=\"myClass\">&#8364; {0}</span><br>Your order is zero-rated for VAT";
        C_PRIS_UTAN = " (&#8364; {0} before VAT)";
        C_MOMSFRITT_ACCEPTERAT = "VAT";
        C_LAND_MOMSREG_STAMMER_INTE = "You have entered a valid EU VAT-number but the country is non-EU. Please try again.";
        C_VISA_GALLERI = "OK to display in gallery: {0}";
        
//omdefinition av frakter för Euro
frakter = []; //Tömmer gamla arrayen
frakter[0] = {id:0, landskod:"EU", titel:"Post Parcel (EU)", priser:[30, 37, 43], fotnot:""};
frakter[1] = {id:1, landskod:"WORLD", titel:"Post Parcel (WORLD)", priser:[42, 60, 78], fotnot:""};
        
        //omdefinition av koder för Euro
        koder = []; //Tömmer gamla arrayen
        koder[0] = Array("c21f969b5f03d33d43e04f8f136e7682",1);
                
        //omdefinition av format för Euro
        formats = []; //Tömmer gamla arrayen
		formats[0] = Array("Choose...", 0,0,0,0,0,0,false);
		formats[1] = Array("Banner large (234x49 mm)", 400, 800, 1200, 149, 275, 399, true);
		formats[2] = Array("Banner medium (156x49 mm)", 600, 1200, 1800, 149, 275, 399, true);
		formats[3] = Array("Banner small (117x33 mm)", 1200, 2400, 3600, 149, 275, 399, false);
		formats[4] = Array("Bumper sticker (468x98 mm)", 100, 200, 300, 149, 275, 399, true);
		formats[5] = Array("Business card nordic standard (90x55 mm)", 800, 1600, 2400, 149, 275, 399, true);
		formats[6] = Array("Golden ratio medium (98x59 mm)", 700, 1400, 2100, 149, 275, 399, true);
		formats[7] = Array("Golden ratio small (82x49 mm)", 1000, 2000, 3000, 149, 275, 399, false);
		formats[8] = Array("Label medium (49x39 mm)",2400,4800,7200, 149, 275, 399, false);
		formats[9] = Array("Label small (52x33 mm)", 2700,5400,8100, 149, 275, 399, false);
		formats[10] = Array("Popular large (117x49 mm)", 800, 1600, 2400, 149, 275, 399, true);
		formats[11] = Array("Popular medium (98x52 mm)", 900, 1800, 2700, 149, 275, 399, true);
		formats[12] = Array("Popular small (98x39 mm)", 1200, 2400, 3600, 149, 275, 399, false);
		formats[13] = Array("Rectangle large (156x98 mm)", 300, 600, 900, 149, 275, 399, true);
		formats[14] = Array("Rectangle medium (117x98 mm)", 400, 800, 1200, 149, 275, 399, true);
		formats[15] = Array("Rectangle small (98x78 mm)", 600, 1200, 1800, 149, 275, 399, true);
		formats[16] = Array("Skyscraper (234x98 mm)", 200, 400, 600, 149, 275, 399, true);
		formats[17] = Array("Square large (98x98 mm)", 400, 800, 1200, 149, 275, 399, true);
		formats[18] = Array("Square medium (78x78 mm)", 600, 1200, 1800, 149, 275, 399, true);
		formats[19] = Array("Square small (49x49 mm)", 1800, 3600, 5400, 149, 275, 399, false);
		formats[20] = Array("Super-sized (468x208 mm)", 100, 200, 300, 299, 573, 847, true);
        
        //Omdefinition av rundade hörn
        rundadeHorn = Array(15,25,35); //Priser för rundade hörn respektive grupp
        
        //Omdefinition av mängdrabatter
        mangdrabatter = [0, 25, 50];
        
        //Omdefinition av momsinställningar
        momssats = 1.25; //Anger vilken moms som gäller
        momsinkluderat = false; //Anger om moms är inkluderat i de priser som visas
        
        break;
    case "SE":
        break;
    default:
        alert("Okänt språk på sidan för närvarande finns SE och EN");
        break;
        }
}

//Funktion som lägger till alla tillgängliga prisgrupper
//Utgår från vilket format som är valt för stunden
function updatePrisgrupper()
{
	var tmpFormat = formats[document.getElementById('inp_format').value];
	clearAllOptions('inp_prisgrupp');
	
	if(tmpFormat[ANTAL1] != 0)
    	addOption('inp_prisgrupp',tmpFormat[ANTAL1] + ' ' + C_ST + ' = ' + tmpFormat[PRIS1] + ' ' + C_VALUTA_LIST,'1');
	
	if(tmpFormat[ANTAL2] != 0)
	    addOption('inp_prisgrupp',tmpFormat[ANTAL2] + ' ' + C_ST + ' = ' + tmpFormat[PRIS2] + ' ' + C_VALUTA_LIST,'2');
	
	if(tmpFormat[ANTAL3] != 0)
    	addOption('inp_prisgrupp',tmpFormat[ANTAL3] + ' ' + C_ST + ' = ' + tmpFormat[PRIS3] + ' ' + C_VALUTA_LIST,'3');
	
	changePrisgrupp();
	changeFrakt();

}

//Funktion som lägger till alla tillgängliga format
//i listan med id inp_format
function initFormat()
{
	for(var i = 0; i<formats.length;i++)
	{
		addOption('inp_format',formats[i][BESKRIVNING],i);
	}
}

//Funktion för att tömma alla element i en listruta
//Tar id till en SELECT-kontroll som argument
function clearAllOptions(selectID)
{

    var obj = document.getElementById(selectID);
    while (obj.firstChild)
        obj.removeChild(obj.lastChild);
}


//Funktion för att med script addera ett element till en listruta
//Tar id till en SELECT-kontroll som argument
function addOption(selectID, display, value)
{  
	var obj = document.getElementById(selectID);  
	obj.options[obj.options.length] = new Option(display, value);
}

//Funktion som returnerar true om formulärelementet inp_vat innehåller en godkänd VAT-kod
//Tar ej hänsyn till vilket land man valt utan godkänner allt som har rätt utseende
function kollaVAT()
{
    var obj = document.getElementById('inp_vat');
    if(!obj)
        return false;
    if(obj.value != "")
        return testVATNumber(obj);
    else
        return false;
}

//Funktion som genomför alla beräkningar för att få fram den slutliga summan
//Visar sedan resultatet för köparen och fyller även i det gömda fältet inp_resultat som mailas till Stickers.se
function updateCalc()
{
    displayHideFields();
	kollaRabattkod();
	var skippaMoms = kollaVAT();
	if(landskod=="WORLD")
	{
	    if(skippaMoms)
	        alert(C_LAND_MOMSREG_STAMMER_INTE);
	    skippaMoms = true;
	}
	
	var objFotnot = document.getElementById('inp_fotnot');
	objFotnot.style.display = '';
	if(document.getElementById('inp_frakt').value)
	{
    	var of = findFraktById(document.getElementById('inp_frakt').value)
    	objFotnot.innerHTML = of.fotnot;
	}
	else
	{
    	objFotnot.innerHTML = "";
	}
	
	var obj = document.getElementById('inp_rabatt');

	//var r = (document.getElementById('inp_prisgrupp').value - 1) * 250;
	var r = document.getElementById('inp_prisgrupp').selectedIndex;
	var mangdrabatt = 0;

	mangdrabatt = mangdrabatter[r];

	if(r == 0)
		obj.innerHTML = C_STR_MANGDRABATT.replace("{0}", mangdrabatt).replace("{1}",C_VALUTA); //"<br><br>Du har fått <b>" + r + "</b> kr i mängrabatt.";
	else
		obj.innerHTML = C_STR_MANGDRABATT500.replace("{0}", mangdrabatt).replace("{1}",C_VALUTA); //"<br><br>Du har fått <b>" + r + "</b> kr i mängrabatt.";

	if(document.getElementById('inp_format').value == 0)
		obj.innerHTML = "";

	//Räkna ut summan
	var valdGrupp = document.getElementById('inp_prisgrupp').value;
	var valtFormat = document.getElementById('inp_format').value;
	
	//2010-05-19 Specialare för att inte visa rabatt om det bara finns ett format i listan
    if(formats[valtFormat][2] == 0 && formats[valtFormat][3] == 0)
        obj.innerHTML = "";

	
	var summa = formats[valtFormat][parseInt(valdGrupp) + 3];
	summa += parseInt(document.getElementById('inp_rundade').value);
	summa += parseInt(findFraktById(document.getElementById('inp_frakt').value).priser[parseInt(valdGrupp)-1]);
	summa -= kollaRabatt();

	var utanMoms = 0;
	if(isNaN(summa))
	{
		document.getElementById('inp_summa').innerHTML = C_PRIS_INKL.replace("{0}", "<b>" + 0 + "</b>");
		document.getElementById('inp_summa2').innerHTML = C_PRIS_UTAN.replace("{0}", 0);
		summa = 0;
	}
	else
	{
	    if(skippaMoms)
	    {
	        document.getElementById('inp_summa').innerHTML = C_PRIS_EXKL.replace("{0}", "<b>" + summa + "</b>");
	        document.getElementById('inp_summa2').innerHTML = "";
	        utanMoms = summa;
	    }
	    else
	    {
	        //<b>including postage and VAT</b>
	        if(momsinkluderat)
	        {
        		utanMoms = summa / momssats;
            }
        	else
        	{
        	    utanMoms = summa;
        	    summa = summa * momssats;
        	}
	    	document.getElementById('inp_summa').innerHTML = C_PRIS_INKL.replace("{0}", "<b>" + summa + "</b>");
		    document.getElementById('inp_summa2').innerHTML = C_PRIS_UTAN.replace("{0}", utanMoms);
        }
	}


	//sammanställer resultatet och lägger i hidden fältet inp_resultat
	var inp_resultat = document.getElementById('inp_resultat');
	var inp_format = document.getElementById('inp_format');
	var inp_prisgrupp = document.getElementById('inp_prisgrupp');
	var inp_rundade = document.getElementById('inp_rundade');
	var inp_frakt = document.getElementById('inp_frakt');
	
 
	if(inp_format.selectedIndex == 0)
	{
		inp_resultat.value = "";
		return;
	}

	var res = "\n\n" + inp_format[inp_format.selectedIndex].text;
	res += " / " + inp_prisgrupp[inp_prisgrupp.selectedIndex].text;
	res += "\n" + inp_rundade[inp_rundade.selectedIndex].text;
	
	if(inp_frakt.selectedIndex >=0)
    	res += "\n" + inp_frakt[inp_frakt.selectedIndex].text;
	
	res += "\n-" + kollaRabatt() + C_KR_RABATTKOD.replace("{0}", C_VALUTA_LIST) + document.getElementById('inp_rabattkod').value;

    if(skippaMoms)
        res += "\n" + C_MOMSFRITT_ACCEPTERAT + ": " + getTextboxValue('inp_vat');
    else	
	    res += "\n" + C_KR_INKL_MOMS.replace("{0}", C_VALUTA_LIST).replace("{1}", summa);
    
	res += "\n" + C_KR_EXKL_MOMS.replace("{0}", C_VALUTA_LIST).replace("{1}", utanMoms);

	res += "\n\n" + getTextboxValue('inp_foretag');
	res += "\n" + getTextboxValue('inp_namn');
	res += "\n" + getTextboxValue('inp_gatuadress');
	res += "\n" + getTextboxValue('inp_postnummer');
	res += " " + getTextboxValue('inp_ort');
	res += "\n" + getListboxText('inp_country');
	
	res += "\n" + getTextboxValue('inp_email');
	res += "\n" + getTextboxValue('inp_telefon');
	res += "\n\n" + getTextboxValue('inp_kommentar');
	
	var galleriArr = document.getElementsByName('galleriet'); ;
	var galleriVal = "";
	if(galleriArr)
	{
	    if(galleriArr[0].checked)
	        galleriVal = galleriArr[0].value;
	    if(galleriArr[1].checked)
	        galleriVal = galleriArr[1].value;
	}
    res += "\n\n" + C_VISA_GALLERI.replace("{0}", galleriVal);


	inp_resultat.value = res;
	
}

//När man ändrar format ska priset för rundade hörn ändras
function changePrisgrupp()
{
	var f = document.getElementById('inp_format').value;

	if(f == 0)
	{
		clearAllOptions('inp_rundade');	
		return;
	}

	if(formats[f][RUNDADEHORNOK])
	{
		var valdGrupp = document.getElementById('inp_prisgrupp').value;
		var extraPris = rundadeHorn[valdGrupp - 1];	

		clearAllOptions('inp_rundade');	
		addOption('inp_rundade',C_INGEN_HORNRUNDNING,0);
		addOption('inp_rundade',C_HORNRUNDNING_EXTRA.replace("{0}", extraPris).replace("{1}",C_VALUTA_LIST), extraPris); //'Hörnrundning = ' + extraPris + " kr", extraPris);
	}
	else
	{
		clearAllOptions('inp_rundade');	
		addOption('inp_rundade',C_KAN_EJ_RUNDAS,0);

	}
	
	changeFrakt();
}

//Hjälpfunktion för att söka fram fraktalternativ för ett visst id i arrayen i frakter
function findFraktById(id)
{
    for(var i=0;i < frakter.length;i++)
    {
        if(frakter[i].id == id)
            return frakter[i];
    }
}

//Funktion som körs när man ändrar fraktalternativ
function changeFrakt()
{
	var f = document.getElementById('inp_format').value;

	if(f == 0)
	{
		clearAllOptions('inp_prisgrupp');		
		clearAllOptions('inp_frakt');
		return;
	}

	var valdGrupp = document.getElementById('inp_prisgrupp').value;
	valdGrupp = parseInt(valdGrupp) - 1;
    clearAllOptions('inp_frakt');

    for(var i = 0; i < frakter.length; i++)
    {
        var fo = frakter[i];
        var pris = fo.priser[valdGrupp];
              
        if(fo.landskod == landskod && pris != -1)
        {
            addOption("inp_frakt",fo.titel + " = " + pris + " " + C_VALUTA_LIST, fo.id);
        }
    }
}

//Funktion för att visa info om rabattkoder
function kollaRabattkod()
{
	var rabatt = kollaRabatt();
	var inp_kodOK = document.getElementById('inp_kodOK')
	if(rabatt > 0)
	{
		inp_kodOK.innerHTML = C_RABATT_OK.replace("{0}", rabatt).replace("{1}", C_VALUTA); //"<br><br>Rabattkoden är verifierad. Din rabatt är <b>" + rabatt + "</b> kr";  
	}
	else
	{
		if(document.getElementById('inp_rabattkod').value == "")
			inp_kodOK.innerHTML = "";
		else
			inp_kodOK.innerHTML = C_RABATT_FEL; //"<br><br>Rabattkoden du angivit är tyvärr <b>inte</b> giltig.";
	}
}

//Kollar (preliminärt) rabatten genom att testa vad koden blir efter md5-kryptering
function kollaRabatt()
{
	var rabatt = 0;
	var obj = document.getElementById('inp_rabattkod');
	for(var i = 0; i < koder.length ; i++)
	{
		if(koder[i][0] == hex_md5(obj.value))
			rabatt = koder[i][1];
	}
	return rabatt;

}

//Funktion som gömmer/visar fält
function displayHideFields()
{
    //Göm fältet inp_customer_type om ej EU
    displayHideParent('inp_customer_type', document.getElementById('inp_country').value != 'EU');
    
    //Göm fältet inp_vat om ej EU och Business (=index nr 2 i listan!)
    displayHideParent('inp_vat', !((document.getElementById('inp_country').value == 'EU') && (document.getElementById('inp_customer_type').selectedIndex == 2)));

}

//Hjälpfunktion för att visa/gömma fält
function displayHide(fieldID, hide)
{
    var obj = document.getElementById(fieldID);
    var v = '';
    if(hide)
    {
        v = 'hidden';
        obj.value = ''; //Rensar värdet också
    }
    obj.style.visibility = v;
        
}

function displayHideParent(fieldID, hide)
{
    var obj = document.getElementById(fieldID);
    obj = obj.parentNode;
    var v = '';
    if(hide)
    {
        //v = 'hidden';
        v = 'none';
        obj.value = ''; //Rensar värdet också
    }
    //obj.style.visibility = v;
    obj.style.display = v;
}


//Funktion som körs när sidan initieras
//Parsar även info från adressraden för att få fram defaultformat
//så att man ska kunna länka till sidan och hamna på ett visst format
function initPage()
{
	initFormat();

	updatePrisgrupper();
	
	changePrisgrupp();

	var loc = document.location + '';
	var locFormat = loc.split("#");
	if(locFormat.length==2)
	{
		document.getElementById('inp_format').selectedIndex = parseInt(locFormat[1]);
		updatePrisgrupper();
	}
	updateCalc();
}

//Funktion för att (någorlunda) verifiera giltigheten på en e-postadress
//Hittad på nätet
function verifyEmail(email1, email2)
{
    updateCalc(); //Lite osnyggt att anropet ligger här
    
    var status = false;     
    var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
    
    if (document.getElementById(email1).value.search(emailRegEx) == -1) {
          alert(C_ANGE_EPOST);
    }
    else if (document.getElementById(email1).value != document.getElementById(email2).value) {
          alert(C_EPOST_FEL);
    }
    else {
          //alert("E-postadresserna är i samma format och stämmer överens");
          status = true;
    }
    //return false; //om man vill testa utan att formuläret går iväg
    return status;
}

//Funktion för att hämta ett värde, returnerar "" om kontrollen inte hittas
function getTextboxValue(inp)
{
    var obj = document.getElementById(inp);
    if(obj)
        return obj.value;
    else
        return "";
}

function getListboxText(inp)
{
    var obj = document.getElementById(inp);
    if(obj)
    {
        return obj.options[obj.selectedIndex].text;
        
    }
    else
        return "";
}

//Testfunktion för VAT-nummer
function testVATNumber (elem) {
  var myVATNumber = elem.value; //document.getElementById('vatnumber').value;
  if (checkVATNumber (myVATNumber)) {
    elem.value = checkVATNumber (myVATNumber)
    //alert (C_VALID_VAT); //var C_VALID_VAT = "VAT number has a valid format";
    return true;
  }  
  else
  {
    alert (C_INVALID_VAT); //var C_INVALID_VAT = "VAT number has an invalid format";
    return false;
    }
}









