
var nItems    = 0;
var fldArrays = new Array;
var itemStr   = "";
var cookieStr = "";
var total = 0.00 ;
var qty = 0;
var cartCookie     = "cart_item_";
var cntCookie      = "cart_count";
var cartExpire     = 'CartExpire(1, 0, 0, 0)'; 
var cartPath       = "/";
var cartDelimiter  = "|";
var ccyDecimal     = 2;
var ccySymbol      = "€";
var ccyDlm1        = ".";
var ccyDlm2        = ",";
var cartEmptyMsg   = "No items";
var fldQuantity    = "quantity";
var fldRemove      = "<img src='images/delete.gif' alt='Remove' border='0'>";
var fldUpdate      = "<img src='images/update.gif' alt='Update' border='0'>";
var descTotal1     = "<b>Total</b>";
var descTotal2     = "<b>Total</b>";
var urlCheckout    = "checkout.htm";
var textCheckout   = "Checkout";
var btnCheckout    = "images/checkout.gif";




function Add(country,lot,descr,eur,dol,cv) {
	nItems = 0;
	nItems = GetCartSize();

		Process(country,lot,descr,eur,dol,cv);
//		ReloadCurrentPage();
}

function Reset() {
	nItems = 0;
	nItems = GetCartSize();
	for (var i = nItems; i > 0; i--) {
		RemoveItemFromCart(i);
	}
}

function Process(country,lot,descr,eur,dol,cv) {

	nItems = 0;
	nItems = GetCartSize();

	for (var i = 1; i <= nItems; i++) {
		if (Update(i,country,lot,descr,eur,dol,cv)) return true;
	}

	nItems++;
	cookieStr = cartCookie + nItems;
	Write(nItems, country,lot,descr,eur,dol,cv,1);
	WriteCookie(cntCookie, nItems, eval(cartExpire), cartPath);
	itemStr = ReadCookie(cookieStr);
	return true;

}


function Update(i,country,lot,descr,eur,dol,cv) {

	itemStr = "";
	cookieStr = cartCookie + i;
	itemStr = ReadCookie(cookieStr);
	if (itemStr.length > 0) {
		fldArrays = itemStr.split(cartDelimiter);
		if (fldArrays.length == 7) {
			if ((fldArrays[0] == country) && (fldArrays[1] == lot) && (fldArrays[2] == descr) && (fldArrays[3] == eur)) {
				fldArrays[6] = parseInt(fldArrays[6])+1;
				Write(i,country,lot,descr,eur,dol,cv,fldArrays[6]);
				return true;
			}
		}
	}
	return false;
}


function Write(i,country,lot,descr,eur,dol,cv,qty) {

	itemStr  = country  + cartDelimiter;
	itemStr += lot + cartDelimiter;
	itemStr += descr  + cartDelimiter;
	itemStr += eur  + cartDelimiter;
	itemStr += dol  + cartDelimiter;
	itemStr += cv  + cartDelimiter;
	itemStr += qty;
	cookieStr = cartCookie + i;
	WriteCookie(cookieStr, itemStr, eval(cartExpire), cartPath);
	return true;

}


function UpdateQuantity(i, qty) {

	itemStr = "";
	cookieStr = cartCookie + i;
	itemStr = ReadCookie(cookieStr);
	if (itemStr.length > 0) {
		fldArrays = itemStr.split(cartDelimiter);
		if (fldArrays.length == 7) {
			fldArrays[6] = IntValue(qty);
			if (fldArrays[6] == 0) {
				RemoveItemFromCart(i);
			} else {
				Write(i, fldArrays[0], fldArrays[1], fldArrays[2], fldArrays[3],
					fldArrays[4], fldArrays[5], fldArrays[6]);
			}
			ReloadCurrentPage();
			return true;
		}
	}
	return false;
}


function RemoveItemFromCart(id) {

		nItems = 0;
		nItems = GetCartSize();
		for (var i = id; i <  nItems; i++) {
			cookieStr = cartCookie + (i+1);
			itemStr = ReadCookie(cookieStr);
			cookieStr = cartCookie + i;
			WriteCookie(cookieStr, itemStr, eval(cartExpire), cartPath);
		}
		WriteCookie(cntCookie, nItems-1, eval(cartExpire), cartPath);
		cookieStr = cartCookie + nItems;
		DeleteCookie(cookieStr, "/");
		ReloadCurrentPage();
}


function GetCartSize() {

	nItems = 0;
	nItems = ReadCookie(cntCookie);
	if (nItems == "" || nItems == null) return 0;
	for (var i = 1; i <= nItems; i++) {
		cookieStr = cartCookie + i;
		itemStr = ReadCookie(cookieStr, "/");
		if (itemStr == "" || itemStr == null) {
			WriteCookie(cntCookie, i-1, eval(cartExpire), cartPath);
			return (i-1);
		}
	}
	return nItems;
} 


function ReloadCurrentPage() {
//	Reload("cart");
	document.location = document.location;
	parent.cart.location=parent.cart.location;
}


function ReadCookie(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 ReadCookieVal(j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;

}


function ReadCookieVal(offset) {

	var endStr = document.cookie.indexOf(";", offset);
	if (endStr == -1) endStr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endStr));

}


function WriteCookie(name, value, expires, path) {

//alert(name + " , " + value + " , " + expires + " , " + path);
	document.cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "");

}


function DeleteCookie(name, path, domain) {

	if (ReadCookie(name)) {
		document.cookie = name + "=" +
			((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}

}


function CartExpire(day, hour, min, sec) {

	var expireTime = new Date();
	var timeWrk = expireTime.getTime();
	timeWrk += (((((day * 24) + hour) * 60 + min) * 60) + sec) * 1000;
	expireTime.setTime(timeWrk);
	return expireTime;

}


function IntValue(obj) {

	if (obj.length == 0) return 1;

	var int_format = "0123456789";
	var check_char;

	for (var i = 0; i < obj.length; i++) {
		check_char = int_format.indexOf(obj.charAt(i));
		if (check_char < 0) return 1;
	}

	return parseInt(obj);
}


function FormatCurrency(amt) {

	var sign = "";
	var cents = "";
	var centswrk = "";
	var outstr = "";
	var base = 1;

	for (var i=1; i<=ccyDecimal; i++) {
		base = base * 10;
	}
//	base = 100;
	amt = amt.toString().replace(/\dol|\,/g,'');
	if (isNaN(amt)) amt = "0";
	sign = (amt == (amt = Math.abs(amt)));
	amt = Math.floor(amt * base + 0.50000000001);
	cents = amt % base;
	centswrk = cents + "";
	amt = Math.floor(amt/base).toString();
	for (var i=centswrk.length; i<ccyDecimal; i++) {
		centswrk = "0" + centswrk;
	}
//	if (cents < 10) cents = "0" + cents;
	for (var i = 0; i < Math.floor((amt.length - (1+i))/3); i++) {
		amt = amt.substring(0, amt.length - (4*i+3)) + ccyDlm1 + amt.substring(amt.length - (4*i+3));
	}

	outstr = ((sign)?'':'-') + ccySymbol + "&nbsp;" + amt;
//	if (ccyShowDecimal)
	if (ccyDecimal > 0)
		outstr += ccyDlm2 + centswrk;

	return outstr;
}


function CartView(type) {

	total = 0;
	total2 = 0;
	out = "out";
//	niks = "";
	tekst = "";
	
	nItems = 0;
	nItems = GetCartSize();
	
	outstr = "";
	
	if (nItems > 0) {

		outstr += CartHeader(type);
	
		for (var i = 1; i <= nItems; i++) {
			outstr += CartItem(type, i);
		}
		outstr += CartFooter(type);
		outstr +=  "<input type=hidden name=\"" + out + "\" value=\"" + tekst  + "\">" + "</table>";

//		outstr +=  "<td>" + "<input type=hidden name=\"" + out + "\" value=\"" + outstr  + "\">" + "</td>";

		
	} else {
	
		outstr += "<div class='ntkMessage'>";
		outstr += cartEmptyMsg;
//		outstr += "<input type=hidden name=\"" + out + "\" value=\"" + niks  + "\">";
		outstr += "</div>";
		
	}
	document.write(outstr);

}


function CartHeader(type) {


	nItems = 0;
	nItems = GetCartSize();


	outstr = "";
	if (nItems > 0) {	
		if (type == 0) {
			outstr += "<table class='ntkTable0'>";
		}	else {
			outstr += "<table class='ntkTable1'><tr>";
			outstr += "<td class='ntkTable1Header'>" + "Country" + "</td>";
			outstr += "<td class='ntkTable1Header'>" + "Lot"   + "</td>";
			outstr += "<td class='ntkTable1Header'>" + "CV"   + "</td>";
			outstr += "<td class='ntkTable1Header'>" + "Euro"     + "</td>";
			outstr += "<td class='ntkTable1Header'>" + "Dollars"   + "</td>";
			outstr += "<td class='ntkTable1Header'>" + "Qty"     + "</td>";
			outstr += "<td class='ntkTable1Header'>" + "</td>";
			outstr += "<td class='ntkTable1Header'>" + "</td>";
			outstr += "</tr>";
//			tekst = outstr;
		}
	}

	return outstr;

}


function CartItem(type, i) {

	itemStr = "";
	nrItems = 0;
	cookieStr = cartCookie + i;
	itemStr = ReadCookie(cookieStr);

	if (itemStr != "" && itemStr != null) {

		fldArrays = itemStr.split (cartDelimiter);
		res = fldArrays[3].replace(",",".");
		res2 = fldArrays[4].replace(",",".");
		total = total + (parseFloat(res) * parseInt(fldArrays[6]));
		total2 = total2 + (parseFloat(res2) * parseInt(fldArrays[6]));
		nrItems = nrItems + fldArrays[6];

		if (type == 0) {
//			outstr = "<tr>";
//			outstr += "<td nowrap>";
//			outstr += "</td></tr>";			

		} else {
			outstr = "<tr>";
			outstr += "<td>" + fldArrays[0]+ "</td>"; 
			outstr += "<td>" + fldArrays[1]+ "</td>";
			outstr += "<td> € " + fldArrays[5]+ "</td>";
			outstr += "<td> € " + fldArrays[3]+ "</td>";
			outstr += "<td> $ " + fldArrays[4]+ "</td>";
			outstr += "<td><input size=\"2\" type=text name=\"" + fldQuantity + "_" + i + "\" value=\"" + fldArrays[6] + "\" onChange=\"UpdateQuantity(" + i + ", this.value);\"></td>";
			outstr += "<td><a href=\"javascript:ReloadCurrentPage()\" ONMOUSEOVER=\"top.status='';return true;\">" + fldUpdate + "</a></td>";
			outstr += "<td><a href=\"javascript:RemoveItemFromCart(" + i + ")\" ONMOUSEOVER=\"top.status='';return true;\">" + fldRemove + "</a></td>";
//			outstr += "<td><a href=\"javascript:Reset()\">" + fldRemove + "</a></td>";
			outstr += "</tr>";			
//			tekst += "<tr>";
//			tekst += "<td>" + fldArrays[0]+ "</td>"; 
//			tekst += "<td>" + fldArrays[1]+ "</td>";
//			tekst += "<td>" + fldArrays[2]+ "</td>";
//			tekst += "<td> Euro " + fldArrays[3]+ "</td>";
//			tekst += "<td> $ " + fldArrays[4]+ "</td>";
//			tekst += "<td>" + fldArrays[5] + "</td>";
//			tekst += "</tr>";			
			tekst += fldArrays[0]+ " -- "; 
			tekst +=fldArrays[1]+ " -- ";
			tekst += " € " + fldArrays[5]+ " -- ";
			tekst += " € " + fldArrays[3]+ " -- ";
			tekst += " $ " + fldArrays[4]+ " -- ";
			tekst += " x " +fldArrays[6] + "\n";
		}

		return outstr;

	}

}


function CartFooter(type) {


	nItems = 0;
	nItems = GetCartSize();

	if (nItems > 0) {		
		if (type == 0) {
			outstr = "<tr class='ntkTable0Summary'><td>";
		if (nItems == 1) {		
			outstr += nItems+" Item <br>";
			}
		else {outstr += nItems+" Items <br>";};
//			outstr += descTotal1 + "&nbsp;&nbsp;&nbsp;";
			outstr += FormatCurrency(total);
			ccySymbol      = "$";
			outstr += "&nbsp;&nbsp;&nbsp;" + FormatCurrency(total2) + "</td></tr></table>";
			ccySymbol      = "€";
		} else {
			outstr = "<tr class='ntkTable1Summary'><td colspan=3>";
			outstr += descTotal2;
			outstr += "</td>";
			outstr += "<td>" + FormatCurrency(total) + "</td>";
			tekst += "\nTotaal " +FormatCurrency(total);
			ccySymbol      = "$";
			outstr += "<td>" + FormatCurrency(total2) + "</td>";
			tekst += "-- " +FormatCurrency(total2) + "\n";
			ccySymbol      = "€";
			outstr += "<td></td><td></td><td></td></tr></table>";
			outstr += "<br>";
//	outstr += "<a href=\"javascript:Reset()\"> <img src='" + btnCheckout + "' alt='" + textCheckout + "' border=0></a>";
//		outstr += "<a href='" + urlCheckout + "'><img src='" + btnCheckout + "' alt='" + textCheckout + "' border=0></a>";
//			outstr += "<br><input type=image src='" + btnCheckout + "' border=0 alt='" + textCheckout + "'>";
		}
	}
	outstr += "";

	return outstr;

}

