
String.prototype.trim = function()
{
   return this.replace(/^\s+|\s+$/g,"");
}

function confirmOrder(confirmed, nextid) {

if (confirmed) {
	window.location="index.php?id="+nextid;
} else {
	alert("Du må bekrefte at du aksepterer betingelsene før du kan sette i bestilling !");
}
}

function refillSelect(t, u, v) {							// This whole crap is needed due to IE.  What else is new ?

var spl_line	= '#';										// Record separator.
var spl_field	= '|';										// Field separator.

var ret = AJAXgetTXT(u+"&format=txt");						// The XML-handling of IE is nogood as well, so we parse text.
var lines = ret.split(spl_line);							// Sample return string:
															// 1|first name#
var so = document.getElementById(t);						// 2|second name#
if (so.hasChildNodes()) {
	so.options.length = 0;
}
for (i in lines) {
	var field = lines[i].split(spl_field);
	var id = parseInt(field[0], 10);
	if (!(isNaN(id))) {										// There will always be an invalid, last line, after the last "spl_line"
		var thename = field[1];

	    var oOption = document.createElement("option");		// the sequence here is important !!!
	    so.options.add(oOption);							// The amazingly retarded morons from Seattle f....s up everything.
	    oOption.innerHTML = thename;						// It (of course) works in FF and Chrome, but not in IE.
	    oOption.value     = id;								// If you do so.options.add(oOption); at the end IE will fail....
	    oOption.id        = id;
	}
}
if (v) {													// Did we pass the value ? 
	so.selectedIndex = v;									// if so, set it :)
}
} // ---------------------------------------------------------------------------------------------------------------------------------


function setSelectedTab(id, cnt) {

var menuname = 'tabmenu_';
var contname = 'tabcontentlist_';
var o;

document.getElementById('page').value = id;

o = document.getElementById(menuname+0);
if (o) { o.className 	= 'clickable'; }
o = document.getElementById(contname+0);
if (o) {o.className 	= 'tabcontentlistitem'; }

for (i=1;i<=cnt;i++) {
	o = document.getElementById(menuname+i);
	if (o) {
		o.className 	= 'clickable'; 
		document.getElementById(contname+i).className 	= 'tabcontentlistitem'; 
	}
}
document.getElementById(menuname+id).className 	= 'clickable activetab';
document.getElementById(contname+id).className 	= 'tabcontentlistitem selected';
}

function ns_sh_search_food(s, i) {

if (s.length>1) {
	//var u = "lookup.php?table=salesitem&format=select&action=lookup&search="+s;
	var u = "lookup.php?table=salesitem&action=lookup&search="+s;
	//ret = AJAXgetTXT(u);
	document.getElementById('newitemrow_'+i).style.display = "";
	//document.getElementById('newitemlist_'+i).innerHTML = ret;
	// thetarget = 'newitemlist_'+i;
	refillSelect('newitemlist_'+i, u, null);
	document.getElementById('newitemlist_'+i).focus();
	}
}


function toggleInterest(userid, keywordid, chk) {

var action = (chk) ? 'insert' : 'delete';
var u = "transactions.php?table=userkeyword&action="+action+"&userid="+userid+"&keywordid="+keywordid;	
var ret = AJAXgetTXT(u);
}

function showOne(id, cnt, pattern) {

for (i=1;i<=cnt;i++) {
	document.getElementById(pattern+i).style.display = 'none';
}
document.getElementById(pattern+id).style.display = '';
}

function ns_c_snippets(id, table, snippet, t) {

var u = "snippets.php?table="+table+"&action="+snippet+"&id="+id;	
var ret = AJAXgetTXT(u);
setHTML(ret, t);
//alert(u+' - '+ret);
}

function setAsPunchedOut (id, newstatus) {

ns_c_setfield(id, 'order', 'statusid', newstatus); 
var u = "basket_trans.php?table=session&action=clear";
var ret = AJAXgetTXT(u);
}

function ns_s_insord() {

if (confirm('Vil du lage en ny  ordre ?')) {
	var u = "basket_trans.php?table=order&action=quickinsert";
	var ret = AJAXgetTXT(u);
	// alert(u+' : '+ret);
	ns_s_getbasket('');
}

}

function ns_s_delord(id) {

if (confirm('Vil du slette ordren: '+id)) {
	ns_c_setfield(id, 'order', 'statusid', 21); 
	ns_s_getbasket('');
}

}

function valOrgNo(of) {

v = of.value.trim();

ok = true;
if (v.length != 9 || isNaN(v)) {
	alert("Orgno må være ni siffer ! ");
	ok = false;
} else {

/*	fields = doCreditCheck(v);
	if (fields[0]) {
		document.getElementById('companyid').value	= fields[0];	

		document.getElementById('companyname').value	= fields[2];	

		document.getElementById('del_address').value		= fields[3];	
		document.getElementById('del_postcode').value		= fields[4];	
		document.getElementById('del_postoffice').value	= fields[5];	

		document.getElementById('inv_address').value		= fields[3];	
		document.getElementById('inv_postcode').value		= fields[4];	
		document.getElementById('inv_postoffice').value	= fields[5];	

		document.getElementById('number').value	= fields[6];	
*/
		document.getElementById('engage').disabled=false;

/*
	} else {
		document.getElementById('companyid').value	= 0;	
		alert("Ugyldig orgno ! ");
		ok = false;
	}
*/
}

if (ok==false) {
	of.focus();
	of.select();
	document.getElementById('engage').disabled=true;
}
return ok;
}

function doCreditCheck(orgno) {
	
var spl_line	= '#';										// Record separator.
var spl_field	= '|';										// Field separator.
var u = "lookup.php?table=creditcheck&format=text&orgno="+orgno;
var ret = AJAXgetTXT(u);
// alert(ret); 
var rows = ret.split(spl_line);								
var fields = rows[0].split(spl_field);	

return fields;
}

function valNewUserForm(theformname, typeid) {

var f = document.getElementById(theformname);
var theaction = 'cust_trans.php';

var ok = validateform(f, typeid, " må fylles ut ! ");

if (ok) {
 	f.action = theaction; 
	f.submit();
}
}

//	usage: var o = form_elem(of,'username-field');
function form_elem(f, n) {

for (var i=0;i<f.length;i++) {
  if (f.elements[i].id==n) {
   	return f.elements[i];
  }
}
return false;
}


function ns_c_oc_orderedby(orderid, orderedbyid) {

ns_c_setfield(orderid, 'order', 'orderedbyid', orderedbyid); 
ns_c_getinvadresses(orderedbyid, 'invoiceaddrid');

u = "lookup.php?table=order&format=txt&action=get&id="+orderid;
ret = AJAXgetTXT(u);
a = ret.split('|');

var id 				= a[0];
var orderedbyid 	= a[1];
var invoiceaddrid 	= a[2];
var email 			= a[3];
var custref1 		= a[4];
var custref2 		= a[5];

document.getElementById('invoiceaddrid').value = invoiceaddrid;
document.getElementById('custref1').value = custref1;
document.getElementById('invemail').value = email;

var use_email = (email.replace(' ','')=='') ? 0 : 1;
document.getElementById('invemail_check').checked = use_email;
ns_c_setfield(orderid, 'order', 'useiemailinvoice', use_email); 

/*
u = "lookup.php?table=order&format=xml&action=get&id="+orderid;
var xret = AJAXgetXML(u);
if (xret) {
	var custref1 = xret.getElementsByTagName("custref1")[0].childNodes[0].nodeValue;
	var email = "";
	//var email = xret.getElementsByTagName("email")[0].childNodes[0].nodeValue;
	var invoiceaddrid = xret.getElementsByTagName("invoiceaddrid")[0].childNodes[0].nodeValue;

	document.getElementById('invoiceaddrid').value = invoiceaddrid;
	document.getElementById('custref1').value = custref1;

	if (email.replace(' ','')=='') {
		document.getElementById('invemail').value = '';
		//document.getElementById('invemail').style.display="none";
		document.getElementById('invemail_check').checked = false;
	} else {
		document.getElementById('invemail').value = email;
		//document.getElementById('invemail').style.display="";
		document.getElementById('invemail_check').checked = true;
		}
	}
*/
}

function ns_c_addaddress(leid, id_pattern, t) {

var adr = document.getElementById('newaddress_'+id_pattern).value;
var postcode = document.getElementById('newpostcode_'+id_pattern).value;
var postoffice = document.getElementById('newpostoffice_'+id_pattern).value;

var ret = "ugyldig postnummer";
if (postcode.length==4) {
	var u = "basket_trans.php?table=address&action=insert&addresstypeid=3&legalentityid="+leid+"&deliveryid="+id_pattern+"&name="+adr+"&postcode="+postcode+"&postoffice="+postoffice;
	//alert(u);
	ret = AJAXgetTXT(u);
}
ns_c_showpubladdr(leid, t, 1);
document.getElementById(t).value = ret;
document.getElementById('newadressform_'+id_pattern).style.display="none";
}

function ns_c_valpostcode(pnr, t) {

var ret = "ugyldig postnummer";
if (pnr.length==4) {
	var u = "lookup.php?table=postoffice&format=text&action=get&nr="+pnr;
	ret = AJAXgetTXT(u);
	// alert(u+' '+ret);
}
document.getElementById(t).value = ret;

}

function ns_c_setfield(id, dbtable, dbfield, dbval) {

if (dbfield=='remarks') {
	dbval = dbval.replace('&','-');
}
var u = "basket_trans.php?table="+dbtable+"&action=setfield&id="+id+"&dbfield="+dbfield+"&dbval="+dbval;
var ret = AJAXgetTXT(u);
//alert(u+' - '+ret);
}

function ns_c_set_chk(id, dbtable, dbfield, chec) {

var dbval = (chec) ? 1 : 0;
var u = "basket_trans.php?table="+dbtable+"&action=setfield&id="+id+"&dbfield="+dbfield+"&dbval="+dbval;
var ret = AJAXgetTXT(u);
// alert(ret);
}

function ns_c_settime(id, inc, f, v) {

var t = f+'_'+id;

v = addHours(v,inc);
ns_c_setfield(id, 'delivery', f, v);

var s = document.getElementById(t);
s.value = v;
}

function ns_c_settime2(inc, f, v) {

v = addHours(v,inc);

var s = document.getElementById(f);
s.value = v;
}

function ns_c_getinvadresses(id, t) {
	
var u = "lookup.php?table=invaddress&action=list&id="+id;
refillSelect(t, u, null);
}


function ns_c_showpubladdr(id, t, publ) {
	
var u = "lookup.php?table=address&action=list&public="+publ+"&id="+id;
refillSelect(t, u, null);
}

function addItem(deliveryid) {

var id = document.getElementById('newitemlist_'+deliveryid).value;
var qty = document.getElementById('newitemqty_'+deliveryid).value;
var u = "basket_trans.php?table=basket&action=del_insert&itemid="+id+"&qty="+qty+"&deliveryid="+deliveryid;
var ret = AJAXgetTXT(u);
ns_c_snippets(deliveryid, 'delivery', 'lines', 'itemlines_'+deliveryid);
}

function ns_s_ins(qty,id) {

var u = "basket_trans.php?table=basket&action=insert&itemid="+id+"&qty="+qty;
var ret = AJAXgetTXT(u);
ns_s_getbasket(ret);
}

function ns_s_ins_c(qty,id) {

var u = "basket_trans.php?table=basket&action=insert&itemid="+id+"&qty="+qty;
var ret = AJAXgetTXT(u);
window.location.reload();
}

function ns_s_quickins(qty,itemnrfield) {
	
var f = document.getElementById(itemnrfield);
var u = "basket_trans.php?table=basket&action=quickinsert&itemnr="+f.value+"&qty="+qty;
var ret = AJAXgetTXT(u);
f.focus();
ns_s_getbasket(ret);
}

/*
function ns_s_upddel(id, datepart, timepart, field) {

var u = "basket_trans.php?table=delivery&action=setdate&id="+id+"&datepart="+datepart+"&timepart="+timepart+"&dbfield="+field;
var ret = AJAXgetTXT(u);
ns_s_getbasket(ret);
}
*/

function ns_s_seldel(id) {

var u = "basket_trans.php?table=delivery&action=select&id="+id;
var ret = AJAXgetTXT(u);
ns_s_getbasket("delivery session: "+id);
}

function ns_s_deldel(id) {

if (confirm('Vil du virkelig slette denne leveransen ?')) {
	var u = "basket_trans.php?table=delivery&action=delete&id="+id;
	var ret = AJAXgetTXT(u);
	ns_s_getbasket(ret);
}
}

function ns_s_deldel_c(id) {

if (confirm('Vil du virkelig slette denne leveransen ?')) {
	var u = "basket_trans.php?table=delivery&action=delete&id="+id;
	var ret = AJAXgetTXT(u);
	window.location.reload();
}
}

function ns_s_insdel(orderid) {

var u = "basket_trans.php?table=delivery&action=insert&orderid="+orderid;
var ret = AJAXgetTXT(u);
ns_s_getbasket(ret);
}

function ns_s_del(id) {

var u = "basket_trans.php?table=basket&action=delete&id="+id;
//alert(u);
var ret = AJAXgetTXT(u);
ns_s_getbasket(ret);
}
function ns_s_del_c(id) {

var u = "basket_trans.php?table=basket&action=delete&id="+id;
var ret = AJAXgetTXT(u);
//window.location.reload();
}

function ns_s_upd(qty, id) {

var u = "basket_trans.php?table=basket&action=update&id="+id+"&qty="+qty;
var ret = AJAXgetTXT(u);
ns_s_getbasket(ret);
}
function ns_s_upd_c(qty, id) {

var u = "basket_trans.php?table=basket&action=update&id="+id+"&qty="+qty;
var ret = AJAXgetTXT(u);
//window.location.reload();
}
function ns_s_custfix_c(id) {

var u = "basket_trans.php?table=order&action=custfix&id="+id;
var ret = AJAXgetTXT(u);
//alert(u+' '+ret);
}

function ns_s_getbasket(str) {

setHTML(str, 'sql_div');
var ret = AJAXgetTXT("basket.php");
setHTML(ret, 'basket');
}

//-----------------------------------------------------------

function setHTML(thehtml,TargetName){
 
if (TargetName!='') {
	// alert(TargetName);
	var t = document.getElementById(TargetName);
	t.innerHTML  = thehtml;		
}
}


function getValue(thefield){

var ret = document.getElementById(thefield).value;		
return ret;
}

function AJAXgetXML (theurl) {
	var ret='';
	
var xmlhttp = _getXHTTP_object(theurl);
if (xmlhttp) {
	ret = xmlhttp.responseXML;
}
return ret;
}

function AJAXgetTXT (theurl) {
	var ret='';
	
var xmlhttp = _getXHTTP_object(theurl);
if (xmlhttp) {
	ret = xmlhttp.responseText;
}
return ret;
}

function _getXHTTP_object(theurl) {
	var flag='';
	
xmlhttp=null;
if (window.XMLHttpRequest) { // All modern browsers...
	xmlhttp=new XMLHttpRequest();
} else if (window.ActiveXObject) { // code for IE5 and IE6
  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp) {
	xmlhttp.open("GET", theurl, false);
	xmlhttp.send(flag);
}
return xmlhttp;
} 
