var toggle_codice = function (allow) {
	var innerVars = arguments.callee;

	switch (allow) {
		case "abilita":
			innerVars["select_list"].setStyle('opacity', '0.5');
			innerVars["p"].setStyle('color', '#AAAAAA');
			innerVars["cod_sel"].setStyle("opacity", "1.0");
			innerVars["p_cod_sel"].setStyle("color", "#4E4E4E");
			innerVars["cod_sel"].value = toggle_codice["query_codice"];
			break

		case "disabilita":
			innerVars["select_list"].setStyle('opacity', '1.0');
			innerVars["p"].setStyle('color', '#4E4E4E');
			innerVars["cod_sel"].setStyle("opacity", "0.5");
			innerVars["p_cod_sel"].setStyle("color", "#AAAAAA");
			innerVars["query_codice"] = toggle_codice.cod_sel.value;
			innerVars["cod_sel"].value = "";
			break

		default:
			return "no task"
	}

	return 1
};
toggle_codice.init = function () {
	this["select_list"] = $("search_opzioni").getElements(".select");
	this["p"] = $("search_opzioni").getElements("p");
	this["cod_sel"] = $("cod_sel").addEvents({
		"click" : this.abilita,
		"keyup" : check_submit, 
		"blur" : check_submit
	});
	this["p_cod_sel"] = $("search_codice").getElement("p");
	this["query_codice"] = "";
};
toggle_codice.disabilita = function () {toggle_codice("disabilita");} //riferimenti sicuri ex scope
toggle_codice.abilita = function () {toggle_codice("abilita");} //riferimenti sicuri ex scope


var create_fakeSelect = function (opts_list) {
	opts_list.each(function (opt_d) {
		opt_d = $extend({
			"get" : {
				"filter" : false,
				"erase" : ["href", "class"]
			},
			"formField" : "formSearch",
			"onOpen" : toggle_codice.disabilita,
			"onClose" : check_submit
		}, opt_d);
		
		new fakeSelect(opt_d);
	});
	return 1
};


var check_submit = function () {
	var innerVals = arguments.callee;

	var select_check = innerVals["select_check"].every(function (obj) {
		return obj["sel"].getElement(".selected")[0] == obj["base"]
	});

	if (select_check && toggle_codice["cod_sel"].value == "") {
		innerVals["submitButton"].disable();

	} else {
		innerVals["submitButton"].activate();
	}

	return 1
};
check_submit.init = function (opts_list) {
	this["select_check"] = opts_list.map(function (opt_d) {
		var elems_ref = $("search_opzioni").getElements(".select")
						.filter(function (el) {return el.hasClass(opt_d["class"])})[0]
						.getChildren('.options');
		return {
			"base" : elems_ref.getChildren()[0][0],
			"sel" : elems_ref
		}
	});

	this["submitButton"] = $$('#formSearch input[type="submit"]')[0];
	this["submitButton"].disable = function () {this.set("disabled", true).setStyle("color", "#AAAAAA");};
	this["submitButton"].activate = function () {this.set("disabled", false).setStyle("color", "#4E4E4E");};

	return check_submit["select_check"]
};

window.addEvent('domready', function () {
	var onValueTaglia = function(value, elem)
	{
		var gc_sel = $('granclasse_sel');
		
		if(!gc_sel.prev_granclasse)
			gc_sel.prev_granclasse = gc_sel["value"];
		
		var attribute = elem.getAttribute('granclasse');
		
		if((attribute != null) && (attribute != ""))
			gc_sel["value"] = elem.get('granclasse');
		else
			gc_sel["value"] = gc_sel.prev_granclasse;
	}
	
	var check_selected_taglia = function(default_value, value, elem, previousSelected)
	{
		var gc_sel = $('granclasse_sel')["value"];
		var attribute = elem.getAttribute('granclasse');
		var importantElement = false;
		if((attribute) && (gc_sel == attribute))
			importantElement = true;
		
		if((!previousSelected) && (default_value == value))
			return true;
		else if(previousSelected)
		{
			if((previousSelected.getAttribute('value') == value) && (default_value == value) && (importantElement))
				return true;
		}
		return false
	}
	
	var opts_list = [
		{"fromUL" : "taglia_sel", "class" : "select_taglia", "onValue" : onValueTaglia, "check_selected_value" : check_selected_taglia},
		{"fromUL" : "prezzo_sel", "class" : "select_scelta_prezzo", "resetValue" : "4"},
		{"fromUL" : "colore_sel", "class" : "select_colore"}
// 		{"fromUL" : "stagione_sel", "class" : "select_scelta_stagione"}
	];
	create_fakeSelect(opts_list);

	check_submit.init(opts_list);
	toggle_codice.init();

	check_submit();

	$("menu_granclassi").getElements("a").addEvent("click", function (ev) {
		ev.preventDefault();

		var granclasse = this.get('href').split("/")[3];
		$('granclasse_sel').set('value', granclasse);

		toggle_codice["cod_sel"].set('value', '');

		$('formSearch').submit();
	});

	$$("#logout a").addEvent("click", function (ev) {
		ev.preventDefault();

		var new_url = window.location.protocol + '//' + window.location.host + '/' + this.get('href').split('/')[0];
		var req_url = window.location.protocol + '//' + window.location.host + this.get('href');
		(new Request({
			"url" : req_url,
			"method" : "post",
			"isSuccess" : function () { 
				window.location = new_url;
			}
		})).send();
	});
});

