var productArray = new Array();
var basketArray = new Array();
var sum = 0.0;
var fi='';
var fn='';
var l1='';
var by='';
var p4='';
var em='';
var tf='';
var l2='';
var selger='';

var shippingString = '<P></p>';

initProdList();

function pl(pc, bh, pr) {
  this.pc = pc;
  this.bh = bh;
  this.pr = pr;
}

function ol(pc, bh, pr, ant) {
  this.pc = pc;
  this.bh = bh;
  this.pr = pr;
  this.ant = ant;
}

function initProdList() {
 productArray[0] = new pl('1','P ',567,'K');
}

function po(val) {
  if (val == 0) return("mangler pris");
  var inputVal = ("" + val);
  if (inputVal.indexOf(".") == -1) inputVal += ".00";
  var i = inputVal.indexOf(".");
  var kk = inputVal.substring(0, i);
  var ko = inputVal.substring(i+1, i+3);
  if (ko.length == 1) ko += "0";
  return('Kr. : ' + kk + ',' + ko);
}

function td(str) {
  return('<td>' + str + '</td>');
}

function tdr(str) {
  return('<td align="right">' + str + '</td>');
}

function pp(str) {
  return('<P>' + str + '</P>');
}

function th(str) {
  return('<th class="b3">' + str + '</th>');
}

function bwc(code){
  for (var i=0; i<basketArray.length; i++) {
    if (basketArray[i].pc == code) {
      return i;
    }
  }
  return -1;
}

function addBasket(pc, bh, pr) {
  var i = bwc(pc);
  if (i > -1) {
    var n = basketArray[i].ant + 1;
    basketArray[i].ant = n;
  }
  else {
    basketArray[basketArray.length] = 
             new ol(pc, bh, pr, 1);
  }
  this.rB();
}

function rbs() {
  sum = 0.0;
  s = mfh();
  s = s + '<h3 align="center" class="s">Handle kurv</h3>';
  s = s + '<form name="f">';
  s = s + '<table width="100%">';
  s = s + '<tr>' + th('Antall') + th('Vare') + th('Pris') + th('Total') + '</tr>';
  for (var i=0; i< basketArray.length; i++) {
    var p = basketArray[i];
    s = s + '<tr>';
    s = s + td('<input type="text" size=4 value=\"' + p.ant + 
			'\" name=\"' + p.pc + 
			'\" onMouseOut=\"parent.changeant(this.name, this.value)\"' +
			'\" onBlur=\"parent.changeant(this.name, this.value)\">');
    s = s + td(p.bh);
    s = s + tdr(po(p.pr));
    var total = p.pr * p.ant;
    s = s + tdr(po(total));
    s = s + td('<input type="button" class="k" value="Slett" onClick="parent.mB(' + i + ')">');
    s = s + '</tr>';
    sum = sum + total;
  }
  s = s + '<tr><th colspan=3 class="b3">Total (uten frakt)</th>' + '<th align="right" class="b3">' +
			po(sum) + '</th></tr>';
  s = s + '</table>';
  s = s + '<input type="button" class="k" value="Til Kasse" onClick="parent.refreshClose()"> <input type="button" class="k" value="Tilbake" onclick="javascript:history.go(-1);">';
  s = s + '</form>' + mff();
  return s;
}

function rB() {
  var doc = parent.frames['mainFrame'].document;
  doc.open();
  doc.writeln(rbs());
  doc.close();
}

function mB(n) {
  var newArray = new Array(basketArray.length - 1);
  for (var i=0; i< n; i++) {
    newArray[i] = basketArray[i];
  }
  for (var j=n+1; j < basketArray.length; j++) {
    newArray[j-1] = basketArray[j];
  }
  basketArray = newArray;
  this.rB();
}

function changeant(productID, ant) {
  for (var i=0; i< basketArray.length; i++) {
    var p = basketArray[i];
    if (p.pc == productID) {
      if (ant != p.ant) {
 	if (isNaN(ant)) {
		this.rB();
	}
	else {
     	 	p.ant = parseInt(ant);
		if (p.ant <= 0) {
			this.mB(i);
		}
		else {
        		this.rB();
		}
	}
      }
    }
  }
}

function mfh(){
  return '<html><head><link rel="stylesheet" href="stil.css"></head><body><table width="100%"><tr><td>';
}

function mff(){
  return '</td><td width="175"></td></table></body></html>';
}

function refreshList() {
  var doc = parent.frames['mainFrame'].document;
  doc.open();
  doc.writeln(refreshListString());
  doc.close();
}

function ip(label,field) {
 return '<tr><td>' + label +'</td><td><input name=\"' + field + '\" value=\"' + GetCookie(field) + '\" type="text" size=30></td></tr>'
}

function getCookieVal (offset) 
   {
   var endstr = document.cookie.indexOf (";", offset);
   if (endstr == -1)
      endstr = document.cookie.length;
   return unescape(document.cookie.substring(offset, endstr));
   }

function GetCookie (name) 
   {
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var i = 0;
   while (i < clen) 
      {
      var j = i + alen;
      if (document.cookie.substring(i, j) == arg)
         return getCookieVal (j);
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break; 
      }
   return "";
   }

function refreshClose() {
  var doc = parent.frames['mainFrame'].document;
  doc.open();
  doc.writeln(mfh());
  doc.writeln('<h3 align="center" class="s">Kasse</h3>');
  doc.writeln(pp('Fyll ut: <br>Alle med * må fylles ut.'));
  doc.writeln('<form name="order"><table>');
  doc.writeln('<tr><th class="b3" colspan="2" align="left">Adresse</th></tr>');
  doc.writeln(ip('Navn*', 'fi'));
  doc.writeln(ip('Vei/gate*', 'l1'));
  doc.writeln(ip('Poststed*','by'));
  doc.writeln(ip('Post nr.*', 'p4'));
  doc.writeln('<tr><td></td><td></td></tr>');
  doc.writeln(ip('E-mail Adresse','em'));
  doc.writeln(ip('Tlf. nr.*: ', 'tf'));

  doc.writeln('<tr><th class="b3" colspan="2" align="left"></th></tr>');
  doc.writeln('<tr><td>Total (uten frakt)</td><td><b>' + po(sum) + '</b></td></tr>');
  doc.writeln('<tr><td colspan="2">' + shippingString + '</td></tr>');
  if (false) {
  }	
  doc.writeln('<tr><td colspan="2"></td></tr>');
  doc.writeln('<tr><td colspan="2"></td></tr>');
  doc.writeln('<tr><td><input type="button" class="k" value="Fortsett" onClick="parent.validateAndClose(this.form)"</td></tr>');
  doc.writeln('</form></table>');
  doc.writeln(mff());
  doc.close();
}

function validateAndClose(f) {
  saveForm(f);
  if ( validateForm(f) ) {
    refreshConfirmation(f);
  }
}

function saveForm(f) {
  fi = f.fi.value;
  l1 = f.l1.value;
  by = f.by.value;
  p4 = f.p4.value;
  em = f.em.value;
  tf = f.tf.value;
}

function loadForm(f) {
  f.fi.value = fi;
  f.l1.value = l1;
  f.by.value = by;
  f.p4.value = p4;
  f.em.value = em;
  f.tf.value = tf;
}

function vF(field, minSize, longName, extraText) {
  if (field.value.length < minSize) {
    alert("Vennligst fullfør " + longName + " Felt " + extraText);
    field.focus();
    return true;
  }
  return false;
}

function validateForm(f) {
  if (vF(f.fi, 2, "Navn", "")) { return false;}
  if (vF(f.l1, 2, "Vei/gate", "")) { return false;}
  if (vF(f.by, 2, "Poststed*", "")) { return false;}
  if (vF(f.p4, 4, "Posts nr*", "")) { return false;}
  if (vF(f.tf, 8, "Tlf. nr.*", "")) { return false;}
  return true;
}

function hidden(name,value) {
  return '<input name=\"' + name + '\" type="hidden" value=\"' + value + '\">';
}
 
function refreshConfirmation(f) {
  cr = "\n";
  var doc = parent.frames['mainFrame'].document;
  doc.open();
  doc.writeln(mfh());
  doc.writeln('<h3 align="center" class="s">Bekreftelse</h3>');
  doc.writeln('<p>' + 'Hei ' + fi + ' vennligst sjekk at alt er riktig, før du klikker <I>Send</I> Knapp</p>');
  doc.writeln('<input type="button" class="k" value="Skriv ut bestilling" onclick="window.print()">');
  doc.writeln("<form method='POST' action='sendmail.asp'>");
  doc.writeln("<input type='hidden' name='mail_from' value='" + em + "'>");
  doc.writeln('<table>' + '<tr>' + th('Vare') + th('Antall') + '</tr>');
  for (var i=0; i< basketArray.length; i++) {
    var p = basketArray[i];
    doc.writeln('<tr>')
    doc.writeln(td(p.bh));
    doc.writeln(tdr(p.ant));
    doc.writeln('</tr>');
  }
  doc.writeln('</table>');
  doc.writeln('<BR>Sendes til adresse:<BR>');
  doc.writeln(fi + '<BR>' + l1 + '<BR>');
  doc.writeln(by + '<BR>' + p4 + '<BR>');
  doc.writeln(pp('Total (uten frakt) &nbsp; &nbsp; &nbsp; ' + po(sum)));
  doc.writeln(pp(shippingString));
  bodyString = fi + cr + l1 + cr + p4 + cr +
			by + cr;
  bodyString = bodyString + em + cr + tf + cr;

  for (var i=0; i< basketArray.length; i++) {
    var p = basketArray[i];
    bodyString = bodyString + "Antall  " + p.ant + ' ' + "nr.: " + ' ' + p.pc + ' ' + p.bh +
			 ' ' + "pris : " + po(p.pr) + ' ' + " sum " + po(p.pr * p.ant) + cr;
  }
  bodyString = bodyString + "Total " + po(sum);
  doc.writeln(hidden("Navn",urlString(bodyString)));
  doc.writeln(pp('<p>Forsendelse blir effektuert med Postpakke.<br>Så snart betaling er motatt.<br><br>'));
  doc.writeln('<input type="hidden" name="mail_from">');
  doc.writeln('<input type="submit" class="k" value="Send">');
  doc.writeln('<input type="button" class="k" value="Annuler" onClick="parent.rB()">');
  doc.writeln('</form>' + mff());
  doc.close();
}

function urlString(s) 
{
  return s;
}

function numberAsString(n) {
  var s='';
  for (var i=0; i < n.length; i++) {
    d = n.substring(i,i+1);
    e = digitToString(d);
    if (e != "Z") {
      s = s + e;
    }
  }
  return s;
}

function digitToString(d) {
  var keyString='encryptdig';
  var n=parseInt(d);
  if ( (n >= 0) && (n <= 9) ) {
    return keyString.substring(n,n+1);
  }
  else {
    return "Z";
  }
}

var help = mfh() + '<h1 align="center">H</h1>' +
	'<p></p>' +
        mff();

