$(document).ready(function() {
  $('a[rel*=facebox]').facebox() 
})
				
function index_of(arr, val) {
	for (var i = 0; i < arr.length; ++i) {
		if (arr[i] == val) {
			//alert(arr.join(', '));
			return i;
		}
	}
	return -1;
}

function change_options(item_options, cur_cl, cur_sz, item_options_id) {
	var released = ($('#item_release_date_block').length == 0);
	var key = cur_cl + '&' + cur_sz;
	if (item_options[key])
	{
		var pp = item_options[key];
		$('#m_desc_sku').text(pp.sku);
		
		// Simulate options selected
		$('#' + item_options_id + ' select option[value=' + pp.value + ']').attr('selected', 'selected');

		if (pp.stock <= 0) {
			if (released) {
				$('#m_avali_msg').text('Out of Stock! Pre-Order Now!').css('display', 'block');
			} else {
				$('#m_avali_msg').text('Coming Soon! Pre-Order Now!').css('display', 'block');
			}
			$('#m_qty1, #add_to_cart_bl').css('display', 'block');
			$('#m_qty1 option:gt(4)').remove();
		} else {
			
			if (released) {
				$('#m_avali_msg').css('display', 'none');
				$('#m_qty1 option:gt(' + Math.min(pp.stock - 1, 4) + ')').remove();
				var qty = $('#m_qty1 option:last').attr('value');
				while (qty < 5 && qty < pp.stock) {
					qty = parseInt(qty) + parseInt(1);
					//alert(qty);
					$('#m_qty1 select').append('<option value="' + qty + '">' + qty + '</option>');
				}
			} else {
				$('#m_avali_msg').text('Coming Soon! Pre-Order Now!').css('display', 'block');
			}
			$('#m_qty1, #add_to_cart_bl').css('display', 'block');
		}
	}
	else if (cur_cl && cur_sz) { // col & size combination not exists => Out of Stock
			$('#m_avali_msg').text('This size is not avaliable with colour "' + cur_cl + '".').css('display', 'block');
			/*
			if (released) {
				$('#m_avali_msg').text('Out of Stock! Pre-Order Now!').css('display', 'block');
			} else {
				$('#m_avali_msg').text('Coming Soon! Pre-Order Now!').css('display', 'block');
			}*/
		$('#m_qty1, #add_to_cart_bl').css('display', 'none');
	} else { // Show Msg
		$('#m_avali_msg').text('Please select your favor.').css('display', 'block');
		$('#m_qty1, #add_to_cart_bl').css('display', 'none');
	}
}

function change_item_color(cur_col) {
	//var showed = false;
	//alert(cur_col);
	var img_list;
	if (cur_col) {
		img_list = $("#small_image_list img[alt*='" + cur_col + "']");
	} else {
		img_list = $("#small_image_list img");
	}
	
	if (img_list.length > 0) {
		img_list.eq(0).parents("a").click();
	} else { // no image
		$("#no_img_al").click();
	}
	
	if (img_list.length == 1) {
	//alert("?");
		img_list.parents("li").hide();
	}
}

function init_mosaic_options(item_options, item_options_id) {
	var colors = new Array();
	var sizes = new Array();
	var values = new Array();
	for (var opt in item_options) {
		var newVal = item_options[opt].text.replace('&', '=').split('=');
		var c_c = '';
		var c_s = '';
		
		for (var i = 0; i < newVal.length; i += 2) {
			if (newVal[i] == 'Colour' || newVal[i] == 'Color') {
				c_c = newVal[i + 1];
				//if (colors.indexOf(c_c) < 0) {
				if (index_of(colors, c_c) < 0) {
					colors.push(c_c);
				}
			} else if (newVal[i] == 'Size') {
				c_s = newVal[i + 1];
				//if (sizes.indexOf(c_s) < 0) {
				if (index_of(sizes, c_s) < 0) {
					sizes.push(c_s);
				}
			}
		}
		
		values[c_c + '&' + c_s] = item_options[opt];
	}
	
	var cur_cl = '';
	var cur_sz = '';
	var item_opt = $('#' + item_options_id);
	
	$("#small_image_list").css("height", "108px");
	var all_img_list = $("#small_image_list li img");
	//alert(all_img_list.length);
	var cur_img_list = null;
	
	item_opt.find('select').css('display', 'none');
	
	var gb_col = null;
	
	if (colors.length > 0)
	{
		$("#small_image_list li").hide();
		colors = colors.sort();
		//for (var _xx in colors) alert('[' + colors[_xx] + ']');
		var list = $(document.createElement('div')).attr('id', 'm_col_list')
			.addClass('item_property_list').addClass('float_clr');
		item_opt.append(list);
		var l_name = $(document.createElement('p')).text('Color : ').addClass('item_property_name');
		list.append(l_name);
		var l_ul = $(document.createElement('ul'));
		list.append(l_ul);
		for (var k in colors) {
			var l_link = $(document.createElement('a')).addClass('m_opt_btn').text(colors[k]).attr('href', '#')
				.click(function () {
					cur_cl =  $(this).text();
					gb_col ='(' + cur_cl + ')' ;
		
					// set this as selected color
					$('#m_col_list').find('a.selected').removeClass('selected');
					$(this).addClass('selected');
		
					change_options(values, cur_cl, cur_sz, item_options_id);
					
			
					var cur_col = '(' + $(this).text() + ')';
					all_img_list.each(function(i) {
						var this_img = $(this);	   
						if (this_img.attr('alt').indexOf(cur_col) < 0) {
							$(this).parents("li").hide();
						} else {
							$(this).parents("li").show();
						}
					});
					cur_img_list = all_img_list.filter("[alt*='" + gb_col + "']");
					change_item_color(gb_col);
					
					return false;
				})
				.mouseover(function() {
					var cur_col = '(' + $(this).text() + ')';
					//var mathched_img = all_img_list.filter("[alt*='" + cur_col + "']");
					//if (mathched_img.length > 0) {
						//mathched_img.parents("li").show();
						all_img_list.each(function(i) {
							var this_img = $(this);	   
							//alert(this_img.attr('alt'));
							if (this_img.attr('alt').indexOf(cur_col) < 0) {
								$(this).parents("li").hide();
							} else {
								$(this).parents("li").show();
							}
						});
					//} else {
						//all_img_list.parents("li").show();
					//}
					change_item_color(cur_col);
				})
				.mouseout(function() {
					var cur_col = '(' + $(this).text() + ')';
					all_img_list.parents("li").hide();
					if (cur_img_list) {
						cur_img_list.parents("li").show();
					}
					/*all_img_list.each(function(i) {
						if (cur_img_list.filter("#" + this.id).length == 0) {
							$(this).parents("li").hide();
						}
					});*/
					change_item_color(gb_col);
				});
			if (colors[k].length <= 3)
				l_link.width(25);
			var l_li = $(document.createElement('li')).append(l_link);
			l_ul.append(l_li);
		}
	}
	if (sizes.length > 0)
	{
		sizes = sizes.sort(function(a, b) { return parseFloat(a) - parseFloat(b); });
		var list = $(document.createElement('div')).attr('id', 'm_sz_list').addClass('item_property_list').addClass('float_clr');
		item_opt.append(list);
		var l_name = $(document.createElement('p')).text('Size : ').addClass('item_property_name');
		list.append(l_name);
		if ($('#m_desc_sku').text().substr(0, 2) == '1.') {
			var size_link = $(document.createElement('a'))
				.text('(What is my Ring Sizes?)')
				.addClass('mdefault')
				.attr('target', '_blank')
				.attr('href', 'page.php?page=ring_sizes');
			l_name.append(size_link);
		}
		var l_ul = $(document.createElement('ul'));
		list.append(l_ul);
		for (var k in sizes) {
			var l_link = $(document.createElement('a')).addClass('m_opt_btn').text(sizes[k]).attr('href', '#')
				.click(function () {
								cur_sz = $(this).text();
		
		
		// set this as selected size
		$('#m_sz_list').find('a.selected').removeClass('selected');
		$(this).addClass('selected');
		
	change_options(values, cur_cl, cur_sz, item_options_id);
								 return false;
								 });
			if (sizes[k].length <= 3)
				l_link.width(25);
			var l_li = $(document.createElement('li')).append(l_link);
			l_ul.append(l_li);
		}
		
		//$("#m_sz_list a:first").click();
	}
	
	change_options(values, cur_cl, cur_sz, item_options_id);
	//alert(colors);
	//alert(sizes);
	//alert(values);
}


function m_color_mouseover(color) {
	for (var i = 0; i < arr_small_images.length; ++i) {
		var cur_img = arr_small_images[i];
			//alert(cur_img.parentNode.parentNode.innerHTML);
		if (cur_img.alt.indexOf(color) >= 0) {
			cur_img.parentNode.parentNode.style.display = "block";
		} else {
			cur_img.parentNode.parentNode.style.display = "none";
		}
	}
}

function m_smail_img_mouseover(large_src) {
	var main_large_img =  document.getElementById('main_large_img');
	main_large_img.src = large_src;
	return false;
}

function m_smail_img_mouseout() {
	var selected_large_img = document.getElementById('selected_large_img');
	var main_large_img =  document.getElementById('main_large_img');
	main_large_img.src = selected_large_img.value;
	return false;
}

function m_select_img(large_src, super_src) {
	var selected_large_img = document.getElementById('selected_large_img');
	var main_large_img =  document.getElementById('main_large_img');
	var selected_super_img = document.getElementById('selected_super_img');
	var super_img_link =  document.getElementById('super_img_link');
	main_large_img.src = large_src;
	selected_large_img.value = large_src;
	super_img_link.href = super_src;
	selected_super_img.value = super_src;
	return false;
}

//$().ready(function() {
	//if ($(".m_c_item_sku").length > 0) {
		//$(".m_item_sku").css("display", 'none');
	//}
//});

