/* ECom functions */
function qsAddToBasket(params) {
	
	// DTA v430 26.8.2008
	if(typeof(params.lngDeliveryFactor) == 'undefined')
		params.lngDeliveryFactor = 1;
	
	$.ajax({
		'type':'POST'
		,'url':'/Ecom/ECBasket.asp'
		,'data':'Action=Add&lngDataNodeFK=' + params.lngDataNodeFK + 
				'&strExternalID=' + params.strExternalID + 
				'&strDescription=' + escape(params.strDescription) +
				'&dblUnitPrice=' + params.dblUnitPrice + 
				'&dblQuantity=' + params.dblQuantity + 
				'&dblTaxValue=' + params.dblTaxValue + 
				'&strBusinessData=' + params.strBusinessData + 
				'&strReferenceData=' + params.strReferenceData + 
				'&lngDeliveryFactor=' + params.lngDeliveryFactor + 
				'&SessionID=' + gobjSessionVar.sessionID
		,'async':false
		,'dataType':'html'
		,'error':function(req, error){alert('Error in Ajax Call ' + req.responseText);}
		,'success':function(res){
			// DTA v421 15.1.2008 Modification du test de l'existance de la fonction RefreshBasket
			//if (RefreshBasket) {
			if(typeof(RefreshBasket) != 'undefined'){
				RefreshBasket();
			}
			else {
				// DTA v428 21.7.2008 
				// La fonction loadIfModified a été suprimé de jquery. On utilise a présent que la fonction load
				//if ($.browser.msie)
				//	$('#' + params.divResult).loadIfModified('/Ecom/ECBasket.asp?Action=View&SessionID=' + gobjSessionVar.SessionID)
				//else
				$('#' + params.divResult).load('/Ecom/ECBasket.asp?Action=View&SessionID=' + gobjSessionVar.SessionID);
			}			
		}
	});		
}

function qsAddToBasketNoRefresh(params) {

	// DTA v430 26.8.2008
	if(typeof(params.lngDeliveryFactor) == 'undefined')
		params.lngDeliveryFactor = 1;
	
	$.ajax({
		'type':'POST'
		,'url':'/Ecom/ECBasket.asp'
		,'data':'Action=Add&lngDataNodeFK=' + params.lngDataNodeFK + 
				'&strExternalID=' + params.strExternalID + 
				'&strDescription=' + escape(params.strDescription) +
				'&dblUnitPrice=' + params.dblUnitPrice + 
				'&dblQuantity=' + params.dblQuantity + 
				'&dblTaxValue=' + params.dblTaxValue + 
				'&strBusinessData=' + params.strBusinessData + 
				'&strReferenceData=' + params.strReferenceData + 
				'&lngDeliveryFactor=' + params.lngDeliveryFactor + 
				'&SessionID=' + gobjSessionVar.sessionID
		,'dataType':'html'
		,'error':function(req, error){alert('Error in Ajax Call 2' + req.responseText);}
		,'success':function(res){
		}
	});		
}

//Hook up addToBasket to any appropriate button
$(document).ready(function(){
	$('.ECArt .ECAdd').click(qsECAdd);
});

function qsECAdd(){
	//Find the enclosing div tag with a ECArt class
	var nodeId = $(this).parents('div.ECArt').get(0).id;
	//The id is supposed to be qsArtNNN
	//Extract the Node ID
	nodeId = nodeId.substring(5);
	var ECProperties = eval('ECProperties' + nodeId);
	var qty = 1
	//Find an element with ECQuantity class
	qty = $('#qsArt'+nodeId+' .ECQuantity').get(0);
	if (qty) {
		qty = qty.value;
		if (qty == undefined) {
			qty = 1;
		}
	}
	else {
		qty = 1;
	}
	
	if (qty == 0 || qty < 0) {
		alert('Please enter correct quantity');
	}
	else {
	
		//Extend the ECProperties
		ECProperties.dblQuantity = qty;
		ECProperties.divResult = 'ECBasket';			

		// DTA v424 4.3.2008
		// obtient le prix selon la quantité et la date
		dblOldUnitPrice = ECProperties.dblUnitPrice;

		dblUnitPrice = qsGetDiscountQuantity(ECProperties);
		if(dblUnitPrice > -1)
			ECProperties.dblUnitPrice = dblUnitPrice;

		dblUnitPrice = qsGetDiscountTime(ECProperties);
		if(dblUnitPrice > -1)
			ECProperties.dblUnitPrice = dblUnitPrice;

		qsAddToBasket(ECProperties);
		ECProperties.dblUnitPrice = dblOldUnitPrice ;
		
	}		
}	

// DTA v423 12.2.2008
// retourne le prix selon la quantité
function qsGetDiscountQuantity(pobjECProperties){

	var dblPrice = -1;
	var dblQuantity = pobjECProperties.dblQuantity;
	// DTA v425 1.4.2008 si le nombre d'interval existe, on le 
	// multiplie avec le nombre de jour dans la réservation
	if(typeof(pobjECProperties.lngNbrInterval) != 'undefined')
		dblQuantity *= pobjECProperties.lngNbrInterval;

	// prépare les paramètres d'envoi
	var arrParams = Array(
		{	name:'Ajax',				value:'ECDiscount' },
		{	name:'Action',				value:'PriceQuantity' },
		{	name:'lngDataNodeFK',		value:pobjECProperties.lngDataNodeFK },
		{	name:'dblQuantity',			value:dblQuantity }
	);
	
	$.ajax({
		type:		'GET',
		cache:		false,
		dataType:	'html',
		async:		false,
		url:		'/qsPortal/Ajax/Get.asp',
		data:		$.fn.paramForm(arrParams),
		success:	function(req){
						dblPrice = req;
					},
		error:		function(req, err){
						alert(req.responseText);
					}
	});
	
	return dblPrice;
}

// DTA v423 12.2.2008
// retourne le prix selon la date
function qsGetDiscountTime(pobjECProperties){

	var dblPrice = -1;

	// prépare les paramètres d'envoi
	var arrParams = Array(
		{	name:'Ajax',				value:'ECDiscount' },
		{	name:'Action',				value:'PriceTime' },
		{	name:'lngDataNodeFK',		value:pobjECProperties.lngDataNodeFK },
		{	name:'lngNbrInterval',		value:pobjECProperties.lngNbrInterval },
		{	name:'dblUnitPrice',		value:pobjECProperties.dblUnitPrice },
		{	name:'dtmFrom',				value:pobjECProperties.dtmFrom },
		{	name:'dtmTo',				value:pobjECProperties.dtmTo }
	);
	
	$.ajax({
		type:		'GET',
		cache:		false,
		dataType:	'html',
		async:		false,
		url:		'/qsPortal/Ajax/Get.asp',
		data:		$.fn.paramForm(arrParams),
		success:	function(req){
						dblPrice = req;
					},
		error:		function(req, err){
						alert(req.responseText);
					}
	});
	
	return dblPrice;
}


function gotoCheckout(pblnPopup)
{
	if(typeof(pblnPopup) == 'undefined') {
		setTimeout("document.location.href = '/qsPortal/Home.asp?Action=-7';", 400);
	}
	else {
		if(pblnPopup == true) {
			// si le div du checkout n'exite pas on le crée
			if(typeof($('.checkout-popup').get(0)) == 'undefined') {
				$('body').append('<div class="checkout-popup"></div>');
			}
			$('.checkout-popup').html('<iframe frameborder="0" scrolling="horizontal" allowtransparency="true" vspace="0" hspace="0" marginwidth="0" marginheight="0" bottommargin="0" rightmargin="0" leftmargin="0" topmargin="0" src="/ECom/ECCheckoutPopup.asp" />');
			$('.checkout-popup').dialog({dialogClass: 'ecom', height: 530, width: 750, resizable: false, modal: true });
			$('.checkout-popup').dialog( 'open' );
			if($.browser.msie)
				$('.checkout-popup iframe').height( $('.checkout-popup').height() - $('.checkout-popup').parent().find('.ui-dialog-titlebar').height() -8 );
		}
		else
			setTimeout("document.location.href = '/qsPortal/Home.asp?Action=-7';", 400);
	}

}