AjaxFavorites = Class.create();

AjaxFavorites.prototype = {
	initialize:function() {
	},
		
	runAjaxProduct:function(obj, redirecturl) {
		
		if (redirecturl != '') {
			document.location = redirecturl;
		}
		else {
			displayCGOverlayContainer(obj);
			if (document.forms['moveToFavForm'].elements['skuId'].value != '') {
				AjaxFavorites.onLoadingHandler(); //show onloading graphic
				ajaxSetTimeOut("AjaxFavorites.onFailureHandler()");
				currentTime = new Date();
				var goAjax = new Ajax.Request(
					'/global/ajax/ajaxResponse/favoritesAjaxResponse.jsp', 
					{
						method: 'post',
						parameters: 'currentTime='+currentTime.getTime(),
						postBody: parseParamsforAjax('moveToFavForm'),
						//onLoading: AjaxFavorites.onLoadingHandler,
						onFailure: AjaxFavorites.onFailureHandler,
						onComplete: AjaxFavorites.onCompleteHandler
					}); 
			}
			else {
				AjaxFavorites.emptySelectionHandler();
			}
		}
	},	
	flashRunAjax:function(stringSKUList){
		MembersClass.addToProdList(stringSKUList);
		AjaxFavorites.runAjaxProduct('', '');
	},	
	runAjax:function(obj, redirecturl) {
		parseSkusforAjax('moveToFavForm');
		AjaxFavorites.runAjaxProduct(obj, redirecturl);	
	},	
	onCompleteHandler:function(responseBack) {

		var oMessage = eval("(" + responseBack.responseText.strip() + ")");		
		var errMsg = oMessage.ajaxResponse.ErrMessage;
		$('cgOverlayBody').innerHTML = '';
		clearTimeout(ajaxTimer);
		
		if (errMsg.length == 0) { //no error	
			if (isMoveToFav) {
				$('cgOverlayBody').innerHTML = "Successfully moved to: My Favorites"; // + responseBack.responseText
				$('cgOverlayBody').innerHTML += '<br /><a href="/mycovergirl/myfavorites/">go to My Favorites</a>';				
				//parseSkusforAjax('deleteShoppinglistForm');
				//document.deleteShoppinglistForm.submit();
			}
			else {
				$('cgOverlayBody').innerHTML = "Successfully added to: My Favorites"; // + responseBack.responseText
				$('cgOverlayBody').innerHTML += '<br /><a href="/mycovergirl/myfavorites/">go to My Favorites</a>';
			}
		}
		else {
			$('cgOverlayBody').innerHTML = "Error, please try again later.";
			
		} 
		/* ajaxResponse.jsp 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();
		isMoveToFav = false;
		
	},
	onLoadingHandler:function() {
		$('cgOverlayBody').innerHTML = '';
		$('cgOverlayBody').innerHTML = '<img src="/global/images/cg_loader_animation.gif" width="35" height="35" style="text-align:center;"><br />';
	},	
	onFailureHandler:function() {
		clearTimeout(ajaxTimer);
		$('cgOverlayBody').innerHTML = 'Connection error. Please try again later.'
	},	
	emptySelectionHandler:function() {
		$('cgOverlayBody').innerHTML = "Please select at least one product.";
		setHideTimer();		
	},
	
	moveToFavorites:function(obj, redirecturl) {
		isMoveToFav = true;
		AjaxFavorites.runAjax(obj, redirecturl);
	}
}

var AjaxFavorites = new AjaxFavorites;
var isMoveToFav = false;