AjaxShoppingcart = Class.create();

AjaxShoppingcart.prototype = {
	initialize:function() {
	},
	
	runAjaxProduct:function(obj, redirecturl) {
		if (redirecturl != '') {
			document.location = redirecturl;
		}
		else {
			try {
				displayCGOverlayContainer(obj);
			}catch(err) {}
			
			if (document.forms['shoppingCartForm'].elements['skuId'].value != '') {
				AjaxShoppingcart.onLoadingHandler(); //show onloading graphic
				ajaxSetTimeOut("AjaxShoppingcart.onFailureHandler()");
				currentTime = new Date();
				var goAjax = new Ajax.Request(
			'/fr_ca/global/ajax/ajaxResponse/shoppingcartAjaxResponse.php', 
					{
						method: 'post',
						parameters: 'currentTime='+currentTime.getTime(),
						postBody: parseParamsforAjax('shoppingCartForm'),
						//onLoading: this.onLoadingHandler,
						onFailure: this.onFailureHandler,
						onComplete: this.onCompleteHandler
					});
			}
			else {
				AjaxFavorites.emptySelectionHandler();
			}
		} 
	},
	flashRunAjax:function(stringSKUList){
		MembersClass.addToProdList(stringSKUList);
		AjaxShoppingcart.runAjaxProduct('', '');		
	},
	runAjax:function(obj) {
		parseSkusforAjax('shoppingCartForm');
		AjaxShoppingcart.runAjaxProduct(obj, '');			
	},
				
	onLoadingHandler:function() {
		$('cgOverlayBody').innerHTML = '';
		$('cgOverlayBody').innerHTML = '<img src="/fr_ca/global/images/cg_loader_animation.gif" width="35" height="35">';
	},
	
	onFailureHandler:function() {
		clearTimeout(ajaxTimer);
		$('cgOverlayBody').innerHTML = 'Connection error. Please try again later.'
	},
	onCompleteHandler:function(responseBack) {
		manageShoppingCartCookie('shoppingCartForm', 'addSkus');
		var oMessage = eval("(" + responseBack.responseText.strip() + ")");		
		var errMsg = oMessage.ajaxResponse.ErrMessage;
		$('cgOverlayBody').innerHTML = '';
		clearTimeout(ajaxTimer);
		if (errMsg.length == 0) { //no error	
			$('cgOverlayBody').innerHTML = "Ajouté avec succès : à la liste d’achats"; // + responseBack.responseText
			$('cgOverlayBody').innerHTML += '<br /><a href="/fr_ca/mycovergirl/myshoppinglist/">allez à ma liste d’achats</a>'; // + responseBack.responseText
		}
		else {
			$('cgOverlayBody').innerHTML = "Error, please try again later.";
			
		} 
		
		/* ajaxResponse.php should not contain any line breaks. Line breaks will prevent the javascript from transforming it into a javascript object(JSON) */
		try {$('dumpBox').innerHTML = responseBack.responseText.strip().escapeHTML();} catch(err){}
		setHideTimer();
	},	
	emptySelectionHandler:function() {
		$('cgOverlayBody').innerHTML = "Veuillez sélectionner au moins une teinte.";
		setHideTimer();
	}
	
}

var AjaxShoppingcart = new AjaxShoppingcart;