var inputValueCache = new Array();
var activateInputs = function() {
	$$('input[type=text]').each(function(input) {
		inputValueCache[input.id] = input.value;
		
		Event.observe(input, 'focus', function() {
			if(inputValueCache[input.id] == input.value) {
				input.value = '';
				input.addClassName('active');
			}

		});
		
		Event.observe(input, 'blur', function() {
			if(input.value == '') {
				input.value = inputValueCache[input.id];
				input.removeClassName('active');	
			}

		})
	});
	
}

new Event.observe(window, 'load', activateInputs);

var setupAutocomplete = function() {
	if($('liveSearch')) {
		$('liveSearch').observe('focus', function() {
			var options = {
					script:'/products/search/',
					varname:'query',
					shownoresults:true,
					meth:'post',
					maxresults:16
					};
			var json=new AutoComplete('liveSearch',options);return true;		
		});		
	}
}

new Event.observe(window, 'load', setupAutocomplete);


function initNav() {
	var items = $$('#nav>ul>li');
	items.each(function(item) {

		  //console.info(item);
			Event.observe(item, 'mouseover',function() {
				//close all others first
				items.each(function(i) {
					//console.info(i);
					if(item != i) {
						//console.info(i);
						RollIt.RollOut(i);
					}
				});

				RollIt.RollIn(item);
				Event.observe(item, 'mouseout',function() {
					RollIt.RollOut(item);
				});
			});
	});
	
	var items = $$('#nav ul ul');
	items.each(function(item) { 
		$(item).immediateDescendants().last().addClassName('last');
	});
}

var toY = new Array();


var RollIt = {
	timeout : new Array(),

	RollIn : function(obj) {
			$(obj).addClassName('over');			
	},
	RollOut : function(obj) {
			$(obj).removeClassName('over');	
	}
}

Event.observe(window, 'load', initNav);

var activateNavAnims = function() {
	// -- apply nav item animation on over/out
	var list = $$('#nav ul li ul li a');
	if(!Prototype.Browser.IE) {
		list.each(function(element) {
			if (element) {
				new Event.observe(element, 'mouseover', function(){
					new Effect.Morph(element, { style: {paddingLeft: '40px'}, duration: .2, transition: Effect.Transitions.BouncePast});
				});
				new Event.observe(element, 'mouseout', function(){
					new Effect.Morph(element, { style: {paddingLeft: '30px'}, duration: .2, transition: Effect.Transitions.Bounce});
				});
			}
		});	
	}
}

//new Event.observe(window, 'load', activateNavAnims);




var currentNum = 1;
var featuredProductCarousel = function() {
	$$('#feature_nav ol li').each(function(item) {
		new Event.observe(item, 'click', function() {
			$('img-'+currentNum).removeClassName('active');
			var num = item.id.split('-')[1];
			var xPos = (num-1)*-704;
			//var duration = Math.abs(num-currentNum)*0.50;
			var duration = 1;
			new Effect.Move('feature_carousel', {x: xPos, mode: 'absolute', duration: duration, transition: Effect.Transitions.EaseFromTo, queue: 'end' });
			$('img-'+num).addClassName('active');	
			currentNum = num;		
		});
		$('img-1').addClassName('active');
	});	
}


new Event.observe(window, 'load', featuredProductCarousel);


if (!("console" in window) || !("firebug" in console))
{
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
    "group", "groupEnd", "groupCollapsed", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

    window.console = {};
    for (var i = 0; i < names.length; ++i)
        window.console[names[i]] = function() {}
}

function buyNow(id) {
	alert(id);
}


function checkProductInStock(obj, upc, add_url) {
	obj.innerHTML = 'Checking stock...';
	if (upc == null || add_url == null || !upc.length || !add_url.length) return;
	var url = '/mwrc/api.php?upc=' + encodeURIComponent(upc);	
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			var error = transport.responseXML.getElementsByTagName("error");
			if (!error.length) {
				
				var name = transport.responseXML.getElementsByTagName("name")[0].childNodes[0].nodeValue;
				var stock = transport.responseXML.getElementsByTagName("quantity_in_stock")[0].childNodes[0].nodeValue;
				var pid = transport.responseXML.getElementsByTagName("product")[0].getAttribute("product_id");

				var quantity = parseInt(stock);
				var product_id = parseInt(pid);
				var txt = "product name: " + name + "<br/>";
				txt += "quantity in stock: "+ stock + "<br/>";
				if (quantity > 0) {
					obj.innerHTML = 'Configuring...';
					// window.location = add_url;
					window.location = "http://dragon-retailer.mwrc.net/en/product.php?product_id=" + encodeURIComponent(product_id);
				} else {
					window.location = '/products/out-of-stock';
				}
			} else {
				window.location = '/products/out-of-stock';
				// obj.innerHTML = 'Info error';
			}
		}
	});
}



