AjaxLook = Class.create();

AjaxLook.prototype = {
	initialize:function(productId) {
		this.productId = productId;
	},
	
	runAjax:function(productId) {
		AjaxLook.onLoadingHandler();
		ajaxSetTimeOut("AjaxLook.onFailureHandler()");
		currentTime = new Date()
		var goAjax = new Ajax.Request(
			'/fr_ca/global/ajax/ajaxResponse/lookAjaxResponse.php', 
			{
				method: 'post',
				parameters: 'currentTime='+currentTime.getTime(),
				postBody: "productId=" + 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';
		AjaxLook.displayContent(oMessage);
		parent.frames['printLooks'].window.location.reload();
	},
	
	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);
		$('colorMatchContent').innerHTML = 'Connection error. Please try again later.'
	},
	
	displayContent:function(oMessage) {		
					
		var products = oMessage.ajaxResponse.items;
		
		skuIds = '';
		for ( var i=0; i<products.length; i++ ){			
			var shadename = products[i].prodShadeName;
			var shadenum = products[i].prodShadeNum;
			var flashvars = "swatchType=" + products[i].prodSwatchType + "&swatchColor=" + products[i].prodRGB + "&texture=" + products[i].prodTexture + "&skuId=" + products[i].prodSkuId;
			outputSwatchFlash("single_swatch" + i, 48, 48, flashvars, "/products/flash/single_swatch.swf", "", "swatch"+i);
			$('shadeName' + i).innerHTML = shadename;
			$('shadeNum' + i).innerHTML = shadenum;
			skuIds += products[i].prodSkuId;
			
			if (i < (products.length -1)) {
				skuIds += ',';
			}				
		}
				
	},
	generateRecommendProd:function() {
		AjaxLook.runAjax(AjaxLook.productId);
	}
}

var AjaxLook = new AjaxLook;


