
$(function(){
	// Product URL tracking	
	var recent = $.track({remove_duplicates: true});
	
	// Recently viewed products
	recent = $.grep(recent, function(value) {
		return value.url.match(new RegExp("(\\d+)"));
	});
	$.each(recent, function(r, value) { 
		if(r > 0 && r < 4 && value.url.match(new RegExp("(\\d+)"))){
            var node = '<a href="'+value.url+'"><img src="/ecommerce/images/'+RegExp.$1+'_small.jpg" title="'+value.title+'" width="82" height="82" border="0" id="r'+(r)+'" /></a>'; 
			$("#recent").append(jQuery(node));
		}
	});
	
	
	bindOptionEvents();
	function bindOptionEvents(){
		if ($("#sizes .size_list").size() > 1) $("#sizes .size_list a").unbind().removeAttr('title').removeAttr('message');
		$("#sizes .size_list").each(function(r,v){
			var self = this;
			$(this).find("a:not(.sold_out)").click(function(event){					// option selection function 
				$(self).find("a").removeClass('selected');
				$(this).addClass('selected');							
				if ($("#sizes .size_list").size() > 1) GetOptions(product_id, $(self).attr('alt'), $(this).attr('alt'), 'orderfrm_main');
				processOptions();
				event.preventDefault();
			});
		});
		$("#sizes .size_list a.sold_out").attr('title', 'sold out').attr('message', 'sold out').click(function(event){							// prevent clicks on sold out sizes
			event.preventDefault();
		});
		//if ($("#sizes .size_list").size() > 1) $("#sizes .size_list a.backordered").attr('message', 'expected to ship before backorder_date');
		// Product option selection
		if ($("#sizes .size_list").size() <= 1) simple_tooltip("a.backordered","backordered", "tooltip backordered");		// tooltip for backordered
		simple_tooltip("a.sold_out","sold_out", "tooltip sold_out");				// tooltip for sold out
	}
	function processOptions(){
		$("#orderfrm_main input[name=options]").remove();
		var texts = [];
		$("#orderfrm_main a.selected").each(function() { 
			texts.push($.trim($(this).text()));
			$("#orderfrm_main").append($("<input type=\"hidden\" name=\"options\" value=\""+$(this).attr('alt')+ "\"/>"));
		});
		
		var text = 'Selected Option'+(texts.length > 1 ? 's' : '')+' = '+texts.join(', ')+'<br/>';
		$("#orderfrm_main a.selected").each(function(){
			if ($(this).attr('message')) text += $(this).attr('message')+'<br/>' ;
		});
		$("#checkout .small").html(text);
	}
	
	
	
	// Multiview hover
	$("#multiview img").each(
	function(i,e){
		var me = $("#left_lrg img").get(i);
		$(this).hover( 
			function () {$(me).appendTo($("#left_lrg")).fadeIn(400)}, 
			function () {$(me).delay(300).fadeOut(300)} 
		);
	});
	
	// Wishlist Button
	if (user_id > 0){
	$("#wishlist.add").wishlist_add_btn();
	} 
	/*else {
	$("#wishlist.add").click(function(){alert('You must be logged in to use this feature');});
	};*/
	
	$("#write_review button").click(function(event){
		$("#submit_review").show();
		$("#submit_review button").click(function(event){
			$("#submit_review").hide();
			document.write_review_frm.submit();
		});
		event.preventDefault();
		return false;						
	});
	
	$('#add_to_bag_link').css({'display':'block'});
	
	var _options_request = false;
	var _last_options = '';
	
	if(window.XMLHttpRequest)
		_options_request = new XMLHttpRequest();
	
	function GetOptions(product_id, AttributeID, New_Option, frm) {
		if(_last_options == New_Option)
			return false;
		if(_options_request && _options_request.readyState < 4)
			_options_request.abort();
		if(!window.XMLHttpRequest && window.ActiveXObject)
			_options_request = new ActiveXObject('Microsoft.XMLHTTP');
		
		_options_request.onreadystatechange = _OptionsChanged;
		//var new_request = '/perl/cms/ajax.pl?section=ECommerce2&request=Categories&action=list&pid=556&optionid=' + New_Option
		_options_request.open('GET',
				'/perl/option3.pl?productid='+product_id+'&attributeid='+AttributeID+'&optionid='+New_Option+'&frm='+frm);
		_last_options = New_Option;
		_options_request.send(null);
	}
	
	function _OptionsChanged() {
		if(_options_request.readyState != 4)
			return false;
		
		var frm_pattern = /<frm>(.*?)<\/frm>/;
		var frm;
		if ((result = frm_pattern.exec(_options_request.responseText)) != null) {
			frm = result[1];
		} else {
			frm = 'orderfrm_main';
		}
		frm = document.getElementById(frm);
		
		var pattern = /<attribute id="(\d+)">(.*?)<\/attribute>/g;
		while((result = pattern.exec(_options_request.responseText)) != null) {
			if (result[1] > 0) {
				var opattern = /<option id="(\d+)"\s*[backorder_date="(\d+)"]?\s*>(.*?)<\/option>/g;
				$("#attribute_"+result[1]+" a").removeClass('available');
				$("#attribute_"+result[1]+" a").removeClass('backordered');
				$("#attribute_"+result[1]+" a").addClass('sold_out');
				while((Returned = opattern.exec(result[2]) ) != null) {
					$("#attribute_"+result[1]+" a[alt="+Returned[1]+"]").removeClass('sold_out');
					$("#attribute_"+result[1]+" a[alt="+Returned[1]+"]").addClass('available');
				
				}
			}
		}
		bindOptionEvents();
	}


// 	$(".htwi").first().show();

});


