AjaxHome = Class.create();

AjaxHome.prototype = {
	initialize:function(productId) {
		this.productId = productId;
	},
	
	runAjax:function() {
		AjaxHome.onLoadingHandler();
		ajaxSetTimeOut("AjaxHome.onFailureHandler()");
		currentTime = new Date()
		var goAjax = new Ajax.Request(
			'/fr_ca/global/ajax/ajaxResponse/homeAjaxResponse.php', 
			{
				method: 'post',
				parameters: 'currentTime='+currentTime.getTime(),
				postBody: "productId=" + this.productId,
				//onLoading: this.onLoadingHandler,
				onFailure: this.onFailureHandler,
				onComplete: this.onCompleteHandler
			}); 
	},
	
	onCompleteHandler:function(responseBack) {
		/* ajaxResponse.php should not contain any line breaks. Line breaks will prevent the javascript from transforming it into a javascript object(JSON) */
		
		clearTimeout(ajaxTimer);
		
		try {$('dumpBox').innerHTML = responseBack.responseText.strip().escapeHTML();} catch(err){}
		var oMessage = eval("(" + responseBack.responseText.strip() + ")");		
		$('colorMatchLoading').innerHTML = '';
		$('colorMatchLoading').style.display = 'none';
		AjaxHome.displayContent(oMessage);		
	},
	
	onLoadingHandler:function() {
		$('colorMatchLoading').innerHTML = '<img src="/fr_ca/global/images/cg_loader_animation.gif" width="35" height="35" style="text-align:center;">';
		$('colorMatchLoading').style.display = 'block';
	},
	
	onFailureHandler:function() {
		clearTimeout(ajaxTimer);
		$('colorMatchLoading').innerHTML = 'Connection error. Please try again later.'
	},	
	displayContent:function(oMessage) {			
		var products = oMessage.ajaxResponse.items;		
		if (oMessage.ajaxResponse.calloutimg!=''){
			
			document.colormatchesIMG.src = "/fr_ca/images/" + oMessage.ajaxResponse.calloutimg;
			$('calloutFirstName').innerHTML = oMessage.ajaxResponse.user + "'s";
			for ( var i=0; i<products.length; i++ ){			
				var shadename = products[i].prodShadeName;
				var shadenum = products[i].prodShadeNum;
				
				$('shadeName' + i).innerHTML = "in " + shadename;
				$('shadeNum' + i).innerHTML = shadenum;			
			}
		}
		else {
			for (i=0;i<document.getElementsByClassName('transientOnly').length;i++) {
				document.getElementsByClassName('transientOnly')[i].style.display='block';			
			}		
			for (i=0;i<document.getElementsByClassName('membersOnly').length;i++) {
				document.getElementsByClassName('membersOnly')[i].style.display='none';			
			}
		}
				
	}
}

var AjaxHome = new AjaxHome;

