// Console
if (typeof console == 'undefined') {
	console = new Object;
	console.trace = function() {};
	console.log = function() {};
	console.debug = function() {};
	console.info = function() {};
	console.warn = function() {};
	console.error = function() {};
	console.time = function() {};
	console.timeEnd = function() {};
	console.count = function() {};
} else if (typeof console.time === 'undefined') {
	console.trace = function() {};
	console.time = function() {};
	console.timeEnd = function() {};
	console.count = function() {};
};




prepareOnLoad = function() {
	var link_label = '';
	var rg = new RegExp(ssi_document_name, "gi");

	/*$('#MainContent').before('<ul id="Breadcrumb" class="clearfix"><li><a href="index.shtml">Home</a></li></ul>');*/
	$('#CurrentChampionship li a').each(function() {
		if(rg.test($(this).attr('href')) === true) {
			link_href = ssi_document_name;
			link_label = $(this).html();
		} else if(/scheda_giocatore/.test(ssi_document_name) === true) {
			link_href = 'squadre.shtml?'+$('#player_team_name').attr('rel');
			link_label = $('#player_team_name').html();
		}
	});
	/*if(link_label != '') {
		$('#Breadcrumb').append('<li>&gt; <a href="'+ link_href +'">'+ link_label +'</a></li>');
	}
	
	if(ssi_query_string != '') {
		$('#Breadcrumb').append('<li>&gt; <a id="querystring_link" href="'+ ssi_document_name + '?' + ssi_query_string +'"></a></li>')
	
		if(ssi_document_name == 'squadre.shtml') {
			$('a#querystring_link').html($('div.cal_title').html());
		} else if (ssi_document_name == 'scheda_giocatore.shtml') {
			$('a#querystring_link').html($('div.competitor_additional_data h1').html());
		}
	}*/

    //$('#tabs').tabs();

    $(".stabs").bind("click click_handler",
    function() {
        var el = $(this);

        var type = (el.attr("type") == "") ? "tabs": el.attr("type");

        el.parent().find(".tabs").removeClass(type + "_on").addClass(type + "_off");
        el.addClass(type + "_on");

        var subClass = el.find("span:first").attr("data");
        var lnk = el.find("span:first").attr("rel");

        $("." + subClass).hide();
        $("#" + lnk).show();


        $("body").trigger("tabs/selected", {
            tab: el
        })

    });

	$('tr.ico_container th span').each(function(i) {
        $(this).attr('title', $(this).html());
    });

    $("div.cls_maglie").each(function() {
        var div_maglia = $(this);

        $("table.maglia", div_maglia).map(function(n, i) {
            return n > 0 ? this: null;
        }).hide();

        $("span.maglia", div_maglia).each(function() {
            var maglia = $(this);

            maglia.parents("li:first").bind("click",
            function() {
                $("table.maglia", div_maglia).hide();
                $("table.maglia", div_maglia).map(function() {
                    return $(this).attr("rel") == maglia.attr("rel") ? this: null;
                }).show();
            });
        });
        $("span.maglia:first", div_maglia).parents("li:first").triggerHandler("click");

    });


$('#fade_live_results').cycle({
			fx: "fade",
			timeout: 3000,
			fadeTime: 300
			/*delay:  -1000,*/	
		});


	
	 $('#MainNavigation').find('a').each(function() {

	var urlString = $(this).attr('href');

	if ((new RegExp(urlString)).test(window.location)) {
		$(this).addClass('selected');
	}

})

};

	 $('#CurrentChampionship').find('a').each(function() {
            var urlString = jQuery(this).attr('href');

            if ((new RegExp(urlString)).test(window.location)) {
                jQuery(this).addClass('selected');
            }
        });

(function(){
  var Listener, converter, listeners;
  listeners = [];
  converter = function converter(pattern) {
    var params, rg;
    params = pattern.match(/:(\w+)/gi);
    rg = pattern.replace(/:(\w+)/gi, function(el) {
      return "(.+)";
    });
    return {
      params: params,
      reg_exp: new RegExp(rg)
    };
  };
  Listener = function Listener() {
    this.events = [];
    return this;
  };
  Listener.prototype.get = function get(pattern, exec) {
    var pattern_converted;
    pattern_converted = converter(pattern);
    return this.events.push({
      pattern: pattern,
      exec: exec,
      params: pattern_converted.params,
      reg_exp: pattern_converted.reg_exp
    });
  };
  window.clean_href = function clean_href() {
    return $("table.matches:first td.team a").filter(function() {
      return (/DISPUTARE/gi).test($(this).html());
    }).each(function() {
      this.href = "#";
      return this.href;
    });
  };
  window.set_image_neutro = function set_image_neutro() {
    return $("table.matches:first img").each(function() {
      var self, type;
      self = this;
      type = "/neutro.png";
      return $(this).each(function() {
        var img, src;
        img = new Image();
        self = this;
        img.onload = function onload() {
          self.src = this.src;
          return self.src;
        };
        src = this.src;
        this.src = ("lib/images/squadre/loghi/small" + (type));
        img.src = src;
        return img.src;
      });
    });
  };
  window.listener = function listener(fn) {
    var context;
    context = new Listener();
    listeners.push(context);
    return fn.apply(context);
  };
  window.raise_event = function raise_event(event) {
    var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, cnt, el, ev, hash, lst, matched;
    _a = []; _c = listeners;
    for (_b = 0, _d = _c.length; _b < _d; _b++) {
      lst = _c[_b];
      _a.push((function() {
        _e = []; _g = lst.events;
        for (_f = 0, _h = _g.length; _f < _h; _f++) {
          ev = _g[_f];
          ev.reg_exp.test(event) ? _e.push((function() {
            matched = event.match(ev.reg_exp);
            matched = matched.slice(1, matched.length);
            hash = {};
            cnt = 0;
            _j = matched;
            for (_i = 0, _k = _j.length; _i < _k; _i++) {
              el = _j[_i];
              hash[ev.params[cnt].replace(":", "")] = matched[cnt];
              cnt++;
            }
            if (ev.exec) {
              return ev.exec.apply({}, [hash]);
            }
          })()) : null;
        }
        return _e;
      })());
    }
    return _a;
  };
  window.reset_groups = function reset_groups() {
    console.log("resetta gruppo");
    return $("#Ranking_Object div.calendar_ranking").hide();
  };
  //----
  this.phases = {
    'a': '24589',
    'b': '24590',
    'c': '24591',
    'd': '24592',
    'e': '24593',
    'ff': '24594',
    'f': '24588',
    'g': '24595',
    'h': '24596',
    'o': '24584',
    'q': '24585',
    'sf': '24586',
    'f2': '24587'
  };
  this.start_page = function start_page() {
    var data_url, id, page;
    data_url = document.location.toString().split("/").reverse()[0].split("?");
    page = data_url[0];
    id = data_url[1];
    return raise_event(("page/" + (page) + "/" + (id)));
  };
  this.load_teams = function load_teams() {
    var populate_select, teams;
    teams = $("table.matches td.team_0,table.matches td.team_1").map(function() {
      return $("a.team", this).html();
    }).get();
    populate_select = function populate_select() {
      var html, s_head;
      s_head = "<option value='all'>SELEZIONA SQUADRA</option>";
      html = s_head + _(teams).chain().uniq().reject(function(el) {
        return jQuery.trim(el).length === 3;
      }).sort().map(function(team) {
        team = jQuery.trim(team);
        return "<option value='" + (team) + "'>" + (team) + "</option>";
      }).value().join();
      return html;
    };
    return $("#select_teams").html(populate_select()).bind("change", function() {
      if ($(this).val() === "all") {
        return raise_event("calendar/reset");
      } else {
        return raise_event(("nation/" + ($(this).val())));
      }
    });
  };
  this.set_active = function set_active(el) {
    $("#TeamCalendarBlock li").removeClass('active');
    return $(el).addClass("active");
  };
  this.process_calendar = function process_calendar(fn_selector) {
    var alt, el, lst;
    reset_groups();
    el = $("table.matches");
    el.find("tr").removeClass("odd").removeClass("even").hide();
    alt = false;
    lst = fn_selector(el);
    lst.each(function() {
      return $(this).show();
    });
    return $("table.matches tr.match:visible").each(function(i) {
      return $(this).addClass(i % 2 === 1 ? "odd" : "even");
    });
  };
})();

(function(){
  var listeners_calendar, listeners_page;
  listeners_page = function listeners_page() {
    this.get("page/calendario.shtml/:id", function(par) {
      var _a, _b;
      if ((typeof (_a = calendar_option.show) !== "undefined" && _a !== null)) {
        //null
      } else if ((typeof (_b = par.id) !== "undefined" && _b !== null)) {
        return $("#TeamCalendarBlock li:first").trigger("click");
      } else {
        return console.log("no par.id");
      }
    });
    return this.get("page/scheda_impianto.shtml/:id", function(par) {
      var _a;
      if ((typeof (_a = par.id) !== "undefined" && _a !== null)) {
        $("#TeamCalendarBlock").hide();
        return raise_event(("sport_facility/" + (par.id)));
      }
    });
  };
  listeners_calendar = function listeners_calendar() {
    this.get("calendar/reset", function() {
      return process_calendar(function(el) {
        return el.find("tr td").map(function() {
          return $(this).parent();
        });
      });
    });
    this.get("sport_facility/:sport_facility", function(par) {
      par.sport_facility;
      return process_calendar(function(el) {
        var sel;
        sel = ("tr td.sport_facility[rel='" + (par.sport_facility) + "']");
        return el.find(sel).map(function() {
          return $(this).parent();
        });
      });
    });
    this.get("girone/:girone_id", function(par) {
      return console.log(par.girone_id);
    });
    this.get("nation/:team_name", function(par) {
      return process_calendar(function(el) {
        return el.find("a.team").filter(function() {
          var team;
          team = jQuery.trim($(this).html());
          return team === par.team_name;
        }).map(function() {
          return $(this).parents("tr");
        });
      });
    });
    this.get("group/:group_id", function(par) {
      return process_calendar(function(el) {
        var sel;
        sel = ("tr td.group[rel='" + (phases[par.group_id]) + "']");
        $("#Ranking_Object div.calendar_ranking").hide();
        $((".ranking_group_" + (par.group_id))).show();
        console.log((".ranking_group_" + (par.group_id)));
        console.log(sel);
        return el.find(sel).map(function() {
          return $(this).parent();
        });
      });
    });
    this.get("phase/:phase_id", function(par) {
      return process_calendar(function(el) {
        var sel;
        sel = ("tr td.group[rel='" + (phases[par.phase_id]) + "']");
        console.log(sel);
        return el.find(sel).map(function() {
          return $(this).parent();
        });
      });
    });
    return this.get("day/:giorno/:mese", function(par) {
      return process_calendar(function(el) {
        console.log("giorno");
        return el.find(("tr td.date[rel='" + (par.giorno) + "/" + (par.mese) + "']")).map(function() {
          return $(this).parent();
        });
      });
    });
  };
  jQuery(document).ready(function() {
    $("#TeamCalendarBlock li").bind("click", function() {
      console.log($("a:first", this).attr("rel"));
      raise_event($("a:first", this).attr("rel"));
      if ($(this).hasClass("active")) {
        raise_event("calendar/reset");
        return $(this).removeClass("active");
      } else {
        return set_active(this);
      }
    });
    listener(listeners_calendar);
    listener(listeners_page);
    set_image_neutro();
    clean_href();
    load_teams();
    return start_page();
  });
})();

