jQuery.noConflict();

;(function($){
	
$(function(){
	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		passwordFieldText: false,
		addClassFocus: "focus",
		filterClass: "default"
	});
	initCart();
});

function initCart(){
	var holder = $('div.shop-cart');
	var btnsHTML = '<div class="buttons-holder"><a class="minus" href="#"> </a><a class="plus" href="#"></a></div>';
	if (!holder.length) return false;
	
	function initFunctional(){
		var removeLinks = $('td.remove-link a');
		$('tr.val td.quantity div.productitemcell').each(function(i){
			var box = $(this);
			var removeLink = removeLinks.eq(i);
			var input = $('input',box);
			var onchange = '('+input.get(0).onchange+')()';
			input.removeAttr('onchange');
			var val = parseInt(input.val());
			if (!val) val = 1; 
			
			input.blur(function(){
				val = parseInt(input.val());
				if (val < 1 || !val) {
					val = 1;
					input.val(val);
				}
				eval(onchange.replace('this.value',val));
				initCufon();
				initFunctional();
			});
				
			$(btnsHTML).appendTo(box);
			var up = $('a.plus',box);
			var down = $('a.minus',box);
			up.click(function(){
				val++;
				input.val(val);
				input.trigger('blur');
				return false;
			});
			down.click(function(){
				if (val > 1) {
					val--;
					input.val(val);
					input.trigger('blur');
				}
				return false;
			});
			removeLink.removeAttr('onclick');
			removeLink.click(function(){
				eval(onchange.replace('this.value',0));
				initCufon();
				initFunctional();
				return false;
			});
		});
	}
	initFunctional();
}

})(jQuery);



//clear inputs
function clearFormFields(o)
{
	if (o.clearInputs == null) o.clearInputs = true;
	if (o.clearTextareas == null) o.clearTextareas = true;
	if (o.passwordFieldText == null) o.passwordFieldText = false;
	if (o.addClassFocus == null) o.addClassFocus = false;
	if (!o.filterClass) o.filterClass = "default";
	if(o.clearInputs) {
		var inputs = document.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++ ) {
			if((inputs[i].type == "text" || inputs[i].type == "password") && inputs[i].className.indexOf(o.filterClass) == -1) {
				inputs[i].valueHtml = inputs[i].value;
				inputs[i].onfocus = function ()	{
					if(this.valueHtml == this.value) this.value = "";
					if(this.fake) {
						inputsSwap(this, this.previousSibling);
						this.previousSibling.focus();
					}
					if(o.addClassFocus && !this.fake) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				inputs[i].onblur = function () {
					if(this.value == "") {
						this.value = this.valueHtml;
						if(o.passwordFieldText && this.type == "password") inputsSwap(this, this.nextSibling);
					}
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
				if(o.passwordFieldText && inputs[i].type == "password") {
					var fakeInput = document.createElement("input");
					fakeInput.type = "text";
					fakeInput.value = inputs[i].value;
					fakeInput.className = inputs[i].className;
					fakeInput.fake = true;
					inputs[i].parentNode.insertBefore(fakeInput, inputs[i].nextSibling);
					inputsSwap(inputs[i], null);
				}
			}
		}
	}
	if(o.clearTextareas) {
		var textareas = document.getElementsByTagName("textarea");
		for(var i=0; i<textareas.length; i++) {
			if(textareas[i].className.indexOf(o.filterClass) == -1) {
				textareas[i].valueHtml = textareas[i].value;
				textareas[i].onfocus = function() {
					if(this.value == this.valueHtml) this.value = "";
					if(o.addClassFocus) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				textareas[i].onblur = function() {
					if(this.value == "") this.value = this.valueHtml;
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
			}
		}
	}
	function inputsSwap(el, el2) {
		if(el) el.style.display = "none";
		if(el2) el2.style.display = "inline";
	}
}
