///////////////////////////////////////////////////////////////////////////////////////////////////

function collectSingleProductToCart(prodlevid, supplier, qty, redirect) {
	var products = Array();
	products.push(new Array(prodlevid, supplier, qty));
	if (redirect == 1) {
		redirectToCart(products);
	} else {
		ajaxAddToCart (products);
	}
}

function collectFeaturedProductToCart(prodlevid, supplier, qty, main_prodlevid, main_supplier) {
	var products						= Array();
	var additionalProducts	= Array();
	products.push(new Array(prodlevid, supplier, qty));
	additionalProducts.push(new Array(main_prodlevid, main_supplier, qty));
	ajaxAddToCart (products,additionalProducts);
}
///////////////////////////////////////////////////////////////////////////////////////////////////

function collectBundleToCart(bundle, qty) {
	var bundle_array = new Array();
	var bundle_split = bundle.split(", ");

	for (i=0; bundle_split[i]; i+=2) {
		bundle_array.push(new Array(bundle_split[i], bundle_split[i+1], qty));	
	}

	collectProductsToCart(false, false, false, bundle_array);
}	

///////////////////////////////////////////////////////////////////////////////////////////////////

function collectProductsToCart(prodlevid, supplier, qty, bundle_array) {

	var products = Array();

	// Checking the main product
	if (prodlevid && supplier && qty) {
		products.push(new Array(prodlevid, supplier, qty));
	}

 	// Checking whether we need to add bundles
	if (bundle_array) {
		for (i=0; bundle_array[i]; i++) {
			products.push(bundle_array[i]);
		}
	}

	// Collecting featured products if they are present
  for (i=0;document.forms['featured_products'].elements[i];i++) {
		if (document.forms['featured_products'].elements[i].checked) {
			var product  = document.forms['featured_products'].elements[i].value;
			var splitted = product.split(", ");
			products.push(new Array(splitted[0], splitted[1], qty));
		}
	}

  // Collecting optional products if they are present
	for (i=0;document.forms['options'].elements[i];i++) {
		if (document.forms['options'].elements[i].checked) {
			var product  = document.forms['options'].elements[i].value;
			var splitted = product.split(", ");
			products.push(new Array(splitted[0], splitted[1], qty));
		}
	}

	// Collecting preferred options if they are present
	for (i=0;document.forms['preferred_options'].elements[i];i++) {
		if (document.forms['preferred_options'].elements[i].checked) {
			var product  = document.forms['preferred_options'].elements[i].value;
			var splitted = product.split(", ");
			products.push(new Array(splitted[0], splitted[1], qty));
		}
	}

	ajaxAddToCart (products);
	//redirectToCart(products);

}

function ajaxAddToCart (products,additionalProducts) {

		// Generating purchase request
		var report = "Going to purchase following products:\n";
		var url    = '/ajax.php?request=addToCart';

		cartText	=	'<table width="100%"><tr align="center"><td>Uw product(en) worden toegevoegd ...</td></tr></table>';

		for (i=0; products[i]; i++) {
			url += '&prodlevid' + (i+1) + '=' + products[i][0] + '&supplier' + (i+1) + '=' + products[i][1]  + '&quant' + (i+1) + '=' + products[i][2]; 
		}
		if (additionalProducts) {
			for (i=0; additionalProducts[i]; i++) {
				url += '&addProdlevid' + (i+1) + '=' + additionalProducts[i][0] + '&addSupplier' + (i+1) + '=' + additionalProducts[i][1]  + '&addQuant' + (i+1) + '=' + additionalProducts[i][2]; 
			}
		}

		time	=	new Date();
		url += '&hash='+ time.getTime();
		url += Math.random();


		var myFx = new Fx.Style($('overlayMiniCart'), 'opacity').start(0,1);
		var myFx = new Fx.Style($('overlayMiniCartBack'), 'opacity').start(0,0.8);
		var myFx = new Fx.Style($('overlayMiniCartContent'), 'opacity').start(0,1);

		setTimeout ('closeOverlayMiniCart()', 2000);

		var shoppingCart	=	document.getElementById('shoppingCart');

		if (shoppingCart) {
			document.getElementById('shoppingCart').innerHTML = "<table><tr><td><img src='/images/icons/loading_price.gif'></td></tr></table>";
		}

		document.getElementById("miniCartFormContainer").innerHTML = cartText;

		if (shoppingCart) {
			new Ajax(url, {
				method: 'get',
				update: $('shoppingCart')
			}).request();
		} else {
			new Ajax(url, {
				method: 'get'
			}).request();
		}

		// window.location.href = url;
}

function closeOverlayMiniCart () {
		var myFx = new Fx.Style($('overlayMiniCart'), 'opacity').start(1,0);
		var myFx = new Fx.Style($('overlayMiniCartBack'), 'opacity').start(0.8,0);
		var myFx = new Fx.Style($('overlayMiniCartContent'), 'opacity').start(1,0);
}


///////////////////////////////////////////////////////////////////////////////////////////////////

function redirectToCart(products) {

	if (products.length) {

		// Generating purchase request
		var report = "Going to purchase following products:\n";
		var url    = '/?page=cart'
		for (i=0; products[i]; i++) {
			url += '&prodlevid' + (i+1) + '=' + products[i][0] + '&supplier' + (i+1) + '=' + products[i][1]  + '&quant' + (i+1) + '=' + products[i][2]; 
			report += " - Prodlevid: " + products[i][0] + ", Supplier: " + products[i][1] + ", Quantity: " + products[i][2] + "\n";
		}
		// alert(report);

		if (window.location.href.indexOf('iceshop') == -1) {
			url = 'http://www.centralpoint.nl' + url;
		}

		// window.location.href = url;
		toPost(url);
	}

}

///////////////////////////////////////////////////////////////////////////////////////////////////

function toPost(getString) {
	var parms 	= getString.split('?'); 
	var newF  	= document.createElement("form"); 
	newF.action = parms[0]; 
	newF.method = 'POST'; 
	var parms   = parms[1].split('&'); 
	for (var i=0; i<parms.length; i++) {var pos = parms[i].indexOf('='); if (pos > 0) {var key = parms[i].substring(0,pos); var val = parms[i].substring(pos+1);  
	/*@cc_on @if (@_jscript)  var newH = document.createElement("<input name='"+key+"'>");  @else */  
	var newH = document.createElement("input"); newH.name = key; /* @end @*/ newH.type = 'hidden'; newH.value = val; newF.appendChild(newH);}} document.getElementsByTagName('body')[0].appendChild(newF); newF.submit();
}

///////////////////////////////////////////////////////////////////////////////////////////////////

function checkEmailExists(e) {
	var e_mail      = document.getElementById('email').value;
	var emailExists = document.getElementById('customerExists').innerHTML;

	if (e_mail.length > 0) {
		if (emailExists == "1") {
			sendReminder = confirm("Uw e-mailadres " + e_mail + " is al gekoppeld aan een account.\n\r \n\r Klik op \"ok\" om uw wachtwoord op te vragen of klik op \"annuleren\" om een nieuwe account aan te maken.");
			if (sendReminder) {
				window.location.href = '/?page=cart&step=2&sendReminder=' + e_mail; 
				e.returnValue = false;
				return false;
			}
		}
	}

	e.returnValue = true;
	return true;
}

///////////////////////////////////////////////////////////////////////////////////////////////////

function checkCustomerExists(e_mail) {
	new Ajax('/ajax.php?request=checkCustomerExists&email=' + e_mail, {
	    		   method: 'get',
			       update: $('customerExists')
			    }).request();
	return true;				
}

///////////////////////////////////////////////////////////////////////////////////////////////////
function collectPrinterSuppliesToCart() {
	var products						= new Array();

	var elements	=	document.getElementsByName('amountPrinterSupply');
	var supplies	=	document.getElementsByName('printerSupply');
	// Collecting printer supplies if they are present
  for (i=0;i<elements.length;i++) {
			if (validateAmount(elements[i].id) && elements[i].value>0){ // collect to cart
				var supply = supplies[i].value;				
				var splitted = supply.split("|");
				products.push(new Array(splitted[0], splitted[1], elements[i].value));
			}
	}
	if (products.length == 0)	return;

	ajaxAddToCart (products,null);
}
