function setVal() {
dz=document.form.duration.options[document.form.duration.selectedIndex].value;
arrivalday=document.form.arrivalday.options[document.form.arrivalday.selectedIndex].value;
arrivalmonth=document.form.arrivalmonth.options[document.form.arrivalmonth.selectedIndex].value;
arrivalyear=document.form.arrivalyear.options[document.form.arrivalyear.selectedIndex].value;
HMAA=document.form.HMAA.options[document.form.HMAA.selectedIndex].value;
HMSBA=document.form.HMSBA.value;
HMEBA=document.form.HMEBA.value;
HMAB=document.form.HMAB.options[document.form.HMAB.selectedIndex].value;
HMSBB=document.form.HMSBB.value;
HMEBB=document.form.HMEBB.value;
HMAC=document.form.HMAC.options[document.form.HMAC.selectedIndex].value;
HMSBC=document.form.HMSBC.value;
HMEBC=document.form.HMEBC.value;
lang=document.form.lang.value;

dollarconv=document.form.dollareuro.value;
poundeuro=document.form.poundeuro.value;

sstemp = new Date(arrivalyear,arrivalmonth-1,arrivalday);
ss = sstemp.getTime();

//EXPLAIN we get a base price then add supplments to it.
//low season was phased out so now we have mid as base price.



minimum(dz,ss)

holdmid = 0;
holdhigh = 0;
supAmid = 0;
supBmid = 0;
supCmid = 0;
supDmid = 0;
supAhigh = 0;
supBhigh = 0;
supChigh = 0;
supDhigh = 0;
iva = 1 + 0.07;

holidaydatesandalus(dz,ss)

if (arrivalyear == 2008)
{

if (holdmid < 7 )
{longmiddiscount = 0}
if (holdmid > 6 )
{longmiddiscount = 1}
if (holdmid > 13 )
{longmiddiscount = 2}
if (holdmid > 20 )
{longmiddiscount = 3}
if (holdmid > 27 )
{longmiddiscount = 4}
holdmid = holdmid - longmiddiscount;

// mid season supps
if (holdmid > 0)
{supAmid = 0;
supBmid = 0;
supCmid = 0;}

// high season supps
if (holdhigh > 0)
{supAhigh = ((HMAA*5) + (HMSBA*3) + (HMEBA*2)) * holdhigh;
supBhigh = ((HMAB*9) + (HMSBB*3) + (HMEBB*2)) * holdhigh;
supChigh = ((HMAC*8) + (HMSBC*3) + (HMEBC*2)) * holdhigh;}

if ((dz - holdhigh) < 7 )
{longdiscount = 0}
if ((dz - holdhigh) > 6 )
{longdiscount = 1}
if ((dz - holdhigh) > 13 )
{longdiscount = 2}
if ((dz - holdhigh) > 20 )
{longdiscount = 3}
if ((dz - holdhigh) > 27 )
{longdiscount = 4}
dz = dz - longdiscount;

sofaeng = "This is not possible. You can only have 1 sofa-bed per apartment.";
sofaspan = "No es posible. Hay sólo una sofá-cama en cada apartamento.";
extraeng = "This is not possible. You can only have 1 extra bed per apartment.";
extraspan = "No es posible. Hay sólo una cama extra en cada apartamento.";
sofafirsteng = "This is not possible. You can only use the extra bed after you have filled the sofa bed.";
sofafirstspan = "No es posible. Hay que utilizar la sofá-cama antes que la cama extra.";

if (lang == "eng")
{sofatext = sofaeng;
extratext = extraeng;
sofafirsttext = sofafirsteng}

if (lang == "span")
{sofatext = sofaspan;
extratext = extraspan;
sofafirsttext = sofafirstspan}

// work out errors for A

if (HMAA < HMSBA)
{window.alert(sofatext)
document.form.HMSBA.options.value = "0";
document.form.HMAA.options.value = "0";
exit;
}

// work out errors for B

if (HMAB < HMSBB)
{window.alert(sofatext)
document.form.HMSBB.options.value = "0";
document.form.HMAB.options.value = "0";
exit;
}

// work out errors for C

if (HMAC < HMSBC)
{window.alert(sofatext)
document.form.HMSBC.options.value = "0";
document.form.HMAC.options.value = "0";
exit;
}

//Work out prices for 2 people aps

sofabedA = (HMSBA * 29) * dz;
extrabedA = (HMEBA * 22) * dz;
priceA = (HMAA * 77)* dz + (sofabedA + extrabedA);
priceA = (priceA  + supAmid + supAhigh) * iva;
maxA = (HMAA * 2) + (HMSBA * 2) + (HMEBA * 1);

//Work out prices for  3 people aps

sofabedB = (HMSBB * 29) * dz;
extrabedB = (HMEBB * 22) * dz;
priceB = (HMAB * 99)* dz + (sofabedB + extrabedB);
priceB = (priceB + supBmid + supBhigh) * iva;
maxB = (HMAB * 3) + (HMSBB * 2)+ (HMEBB * 1); 

//Work out prices for  4 people aps

sofabedC = (HMSBC * 29) * dz;
extrabedC = (HMEBC * 22) * dz;
priceC = (HMAC * 107)* dz + (sofabedC + extrabedC);
priceC = (priceC + supCmid + supChigh) * iva;
maxC = (HMAC * 4) + (HMSBC * 2)+ (HMEBC * 1); 

price = "0";
ppn= "0";

price = priceA + priceB + priceC;

dz = dz + longdiscount;
holdmid = holdmid + longmiddiscount;
lowdays = dz - (holdmid + holdhigh);

numberofpeople = maxA + maxB + maxC;
HMAA = HMAA*1;
HMAB = HMAB*1;
HMAC = HMAC*1;
howmanyap = (HMAA) + (HMAB) + (HMAC);
//howmanysofabeds = HMSBA + HMSBB + HMSBC;
}


////
////2009 2009 
////
////

if (arrivalyear > 2008)
{

if (holdmid < 7 )
{longmiddiscount = 0}
if (holdmid > 6 )
{longmiddiscount = 1}
if (holdmid > 13 )
{longmiddiscount = 2}
if (holdmid > 20 )
{longmiddiscount = 3}
if (holdmid > 27 )
{longmiddiscount = 4}
holdmid = holdmid - longmiddiscount;

// mid season supps
if (holdmid > 0)
{supAmid = 0;
supBmid = 0;
supCmid = 0;}

// high season supps
if (holdhigh > 0)
{supAhigh = ((HMAA*5) + (HMSBA*3) + (HMEBA*2)) * holdhigh;
supBhigh = ((HMAB*9) + (HMSBB*3) + (HMEBB*2)) * holdhigh;
supChigh = ((HMAC*8) + (HMSBC*3) + (HMEBC*2)) * holdhigh;}

if ((dz - holdhigh) < 7 )
{longdiscount = 0}
if ((dz - holdhigh) > 6 )
{longdiscount = 1}
if ((dz - holdhigh) > 13 )
{longdiscount = 2}
if ((dz - holdhigh) > 20 )
{longdiscount = 3}
if ((dz - holdhigh) > 27 )
{longdiscount = 4}
dz = dz - longdiscount;

sofaeng = "This is not possible. You can only have 1 sofa-bed per apartment.";
sofaspan = "No es posible. Hay sólo una sofá-cama en cada apartamento.";
extraeng = "This is not possible. You can only have 1 extra bed per apartment.";
extraspan = "No es posible. Hay sólo una cama extra en cada apartamento.";
sofafirsteng = "This is not possible. You can only use the extra bed after you have filled the sofa bed.";
sofafirstspan = "No es posible. Hay que utilizar la sofá-cama antes que la cama extra.";

if (lang == "eng")
{sofatext = sofaeng;
extratext = extraeng;
sofafirsttext = sofafirsteng}

if (lang == "span")
{sofatext = sofaspan;
extratext = extraspan;
sofafirsttext = sofafirstspan}

// work out errors for A

if (HMAA < HMSBA)
{window.alert(sofatext)
document.form.HMSBA.options.value = "0";
document.form.HMAA.options.value = "0";
exit;
}

// work out errors for B

if (HMAB < HMSBB)
{window.alert(sofatext)
document.form.HMSBB.options.value = "0";
document.form.HMAB.options.value = "0";
exit;
}

// work out errors for C

if (HMAC < HMSBC)
{window.alert(sofatext)
document.form.HMSBC.options.value = "0";
document.form.HMAC.options.value = "0";
exit;
}

//Work out prices for 2 people aps

sofabedA = (HMSBA * 32) * dz;
extrabedA = (HMEBA * 24) * dz;
priceA = (HMAA * 85)* dz + (sofabedA + extrabedA);
priceA = (priceA  + supAmid + supAhigh) * iva;
maxA = (HMAA * 2) + (HMSBA * 2) + (HMEBA * 1);

//Work out prices for  3 people aps

sofabedB = (HMSBB * 32) * dz;
extrabedB = (HMEBB * 24) * dz;
priceB = (HMAB * 107)* dz + (sofabedB + extrabedB);
priceB = (priceB + supBmid + supBhigh) * iva;
maxB = (HMAB * 3) + (HMSBB * 2)+ (HMEBB * 1); 

//Work out prices for  4 people aps

sofabedC = (HMSBC * 32) * dz;
extrabedC = (HMEBC * 24) * dz;
priceC = (HMAC * 115)* dz + (sofabedC + extrabedC);
priceC = (priceC + supCmid + supChigh) * iva;
maxC = (HMAC * 4) + (HMSBC * 2)+ (HMEBC * 1); 

price = "0";
ppn= "0";

price = priceA + priceB + priceC;

dz = dz + longdiscount;
holdmid = holdmid + longmiddiscount;
lowdays = dz - (holdmid + holdhigh);

numberofpeople = maxA + maxB + maxC;
HMAA = HMAA*1;
HMAB = HMAB*1;
HMAC = HMAC*1;
howmanyap = (HMAA) + (HMAB) + (HMAC);
//howmanysofabeds = HMSBA + HMSBB + HMSBC;
}



fullprices = price;
dollars= fullprices*dollarconv; 
pounds= fullprices*poundeuro; 
fianza=fullprices/2;
pricepn = fullprices/dz;
pricepp = fullprices/dz;
pesetass = fullprices*166.386;

document.form.fullprice.value=Math.round(+fullprices*100)/100;
document.form.pounds.value=Math.round(+pounds*100)/100;
document.form.dollars.value=Math.round(+dollars*100)/100;
document.form.deposit.value=Math.round(+fianza*100)/100;
document.form.ppn.value=Math.round(+pricepn*100)/100;
document.form.pesetas.value=Math.round(+pesetass);
document.form.maxA.value=maxA;
document.form.priceA.value=Math.round(+priceA*100)/100;
document.form.maxB.value=maxB;
document.form.priceB.value=Math.round(+priceB*100)/100;
document.form.maxC.value=maxC;
document.form.priceC.value=Math.round(+priceC*100)/100;
document.form.myvalue.value=holdmid;
document.form.myvalue2.value=holdhigh;
document.form.myvalue3.value=lowdays;
document.form.numberofpeople.value=numberofpeople;
document.form.howmanyap.value=howmanyap;
//document.form.howmanysofabeds.value=howmanysofabeds;
}
