var ProductWindows = new function(){
	
	this.clickable_image_class = null;
	this.modal_id = null;
	this.large_image_src = null;
	
	this.init = function(){
		var self = ProductWindows;
		self.clickable_image_class = "click_for_larger";
		self.large_clickable_imgage_class = "large_click_for_larger";
		self.modal_id = "dialog";
		
		$j("." + self.clickable_image_class).hover(self.showClickable, self.showClickable);
		$j("." + self.clickable_image_class).click(self.doOpenModal);
		$j("." + self.large_clickable_imgage_class).click(self.doOpenModal);
	};
	
	this.doOpenModal = function(){
		var self = ProductWindows;
		var larger_image_src = this.src.replace("_tm","");
		var is_large = (this.className.indexOf("large") === 0) ? true : false;
		self.large_image_src = larger_image_src;
		self.createModalDiv(larger_image_src);
		
		var modal_width = (is_large) ? 550 : 400;
		
		var options = {modal: true, width:modal_width, resizable:false, close:self.destroyModalDiv, position:'top'};
		$j("#" + self.modal_id).dialog(options);
	};
	
	this.showClickable = function(){
		document.body.style.curssor = "pointer";
	};
	
	this.unshowClickable = function(){
		document.body.style.curssor = "default";
	};
	
	this.createModalDiv = function(larger_image_src){
		var self = ProductWindows;
		var dialog = "<div id='" + self.modal_id + "' title='View Image'>";
		dialog += "<img src='" + larger_image_src + "' alt='' />";
		dialog += "</div>";
		$j("body").append(dialog);
	};
	
	this.destroyModalDiv = function(){
		var self = ProductWindows;
		self.large_image_src = null;
		$j("#" + self.modal_id).remove();
	};
	
};

var ProductInfo = new function(){
	this.show_link_class = null;
	this.show_all_info = null;
	this.product_info_div = null;
	
	this.init = function(){
		var self = ProductInfo;
		self.show_link_class = "view_product_info";
		self.show_all_info = "show_all_info";
		self.product_info_div = "product_info";
		
		$j("." + self.show_link_class).click(self.doToggleProductInfo);
		$j("#" + self.show_all_info).click(self.doToggleProductInfo);
	};
	
	this.doToggleProductInfo = function(){
		var self = ProductInfo;
		
		// show all link
		if (this.id == self.show_all_info){
			$j("." + self.product_info_div).toggle();
			var child_span = $j("." + self.show_link_class + " span");
		}
		
		// individual link
		else {
			var div_to_show = "#" + this.id + " ~ div";
			$j(div_to_show).toggle();
			var child_span = $j("#" + this.id + " span");
		}
		
		child_span.each(function(i){
			if (this.innerHTML == "View"){
				this.innerHTML = "Hide";
			}
			else {
				this.innerHTML = "View";
			}
		});
		
		return false;
	};
	
	
	
};

$j(ProductWindows.init);
$j(ProductInfo.init);
