﻿//2007-04-27, AT!

function navigateTo() {
  var newUrl = '';
  var sportSelect = document.getElementById('sportselect');
  var tournamentSelect = document.getElementById('tournamentselect');
  var seasonSelect = document.getElementById('seasonselect');
  var test = '';

  if(sportSelect != null) {
    var sport = sportSelect.options[sportSelect.selectedIndex].value;
    for(var i in sportsArr) {
      if(sportsArr[i][0] == sport) {
        if(tournamentSelect != null) {
          var selected = tournamentSelect.options[tournamentSelect.selectedIndex].value;
          if(selected != '') {
            for(var y in sportsArr[i][2]) {
              if(sportsArr[i][2][y][0] == selected) {
                var common = sportsArr[i][2][y][3];
                newUrl = sportsArr[i][2][y][4];
                if(common == 0) {
                  selected = seasonSelect.options[seasonSelect.selectedIndex].value;
                  if(selected != '') {
										if(newUrl.indexOf('?') > 0)
											newUrl += '&sesong=' + selected;
										else
											newUrl += '?sesong=' + selected;
                  }
                }
                else {
                  if(common == 1)
                    newUrl += '?arr=' + selected;
                  else if(common == 2)
                    newUrl += '?sport=' + sport + '&arr=' + selected;

                  selected = seasonSelect.options[seasonSelect.selectedIndex].value;
                  if(selected != '') {
										if(newUrl.indexOf('?') > 0)
											newUrl += '&sesong=' + selected;
										else
											newUrl += '?sesong=' + selected;
                  }
                }

                test = newUrl;

                break;
              }
            }
          }
        }
        break;
      }
    }
  }

  //document.location = '?sport=' + sportSelect.options[sportSelect.selectedIndex].value + '&turnering=' + tournamentSelect.options[tournamentSelect.selectedIndex].value + '&sesong=' + seasonSelect.options[seasonSelect.selectedIndex].value + '&test=' + test;
  //PS! PS!
  if(newUrl != '')
    document.location.href = newUrl;
}

// ------------------------------------------------ //

function initNavigate() {
  var preSelectedSport = document.getElementById('selectedsport');
  if(preSelectedSport != null) {
    var sport = preSelectedSport.value;
    var tournament = '';
    var season = '';

    var preSelectedTournament = document.getElementById('selectedtournament');
    if(preSelectedTournament != null) {
      tournament = preSelectedTournament.value;
      var preSelectedSeason = document.getElementById('selectedseason');
      if(preSelectedSeason != null) {
        season = preSelectedSeason.value
      }
    }

    changeSeason(sport, tournament, season);
  }
}

// ------------------------------------------------ //

function changeSport() {
  var sportSelect = document.getElementById('sportselect');
  if(sportSelect != null) {
    var selected = sportSelect.options[sportSelect.selectedIndex].value;
    if(selected != '') {
      for(var i in sportsArr) {
        if(sportsArr[i][0] == selected) {
          //Hva med å nulle ut sesonger også?
          var seasonSelect = document.getElementById('seasonselect');
          if(seasonSelect != null) {
            seasonSelect.options.length = 0;
            var startSeason = document.createElement('option');
            startSeason.text = 'Velg sesong';
            startSeason.value = '';
            try {
              seasonSelect.add(startSeason, null);
            }
            catch(ex) {
              seasonSelect.add(startSeason);
            }
          }

          fixTournaments(selected, '', '', false);

          changeSeason(selected, '', '');
          break;
        }
      }
    }
  }
}

// ------------------------------------------------ //

function fixTournaments(selectedSport, selectedTournament, selectedSeason, fixSeason) {
//	var j = 'fixTournaments. Sport: ' + selectedSport + '. Tour: ' + selectedTournament;
//	alert(j);
	for(var i in sportsArr) {
		if(sportsArr[i][0] == selectedSport) {
			var tournamentSelect = document.getElementById('tournamentselect');
			if(tournamentSelect != null)
				tournamentSelect.options.length = 0;

			var tournamentSelectDiv = document.getElementById('tournamentselectDiv');
			if(tournamentSelectDiv != null) {
				tournamentSelectDiv.innerHTML = '';

				var selectHtml = '<select id=\"tournamentselect\" name=\"tournamentselect\" onchange=\"changeSeason(\'\', \'\', \'\')\">';
				selectHtml += '<option value=\"\">Velg arrangement</option>';
				var useGroup = false;
				var groupCount = 0;
				var lastGroup = '';
				if(sportsArr[i][2].length > 0 && sportsArr[i][2][0][5] != '')
					useGroup = true;

				for(var pos in sportsArr[i][2]) {
					var group = sportsArr[i][2][pos][5];
					if(useGroup == true && group != '' && group != lastGroup) {
						if(groupCount > 0)
							selectHtml += '</optgroup>';

						lastGroup = group;
						groupCount++;
						selectHtml += '<optgroup label=\"' + group + '\">';
					}

					var tournamentId = sportsArr[i][2][pos][0];
//					alert(tournamentId);
					if(tournamentId == selectedTournament) {
						selectHtml += '<option value=\"' + tournamentId + '\" selected=\"true\">' + sportsArr[i][2][pos][1] + '</option>';

						if(fixSeason) {
							var seasonSelect = document.getElementById('seasonselect');
							if(seasonSelect != null) {
								seasonSelect.options.length = 0;

								var startOption = document.createElement('option');
								startOption.text = 'Velg sesong';
								startOption.value = '';
								try {
									seasonSelect.add(startOption, null);
								}
								catch(ex) {
									seasonSelect.add(startOption);
								}

								for(var y in sportsArr[i][2][pos][2]) {
									var newOption = document.createElement('option');
									var val = sportsArr[i][2][pos][2][y];
									newOption.text = val;
									newOption.value = val;

									try {
										seasonSelect.add(newOption, null);
									}
									catch(ex) {
										seasonSelect.add(newOption);
									}

									if(y == 0)
										newOption.selected = true;
									if(val == selectedSeason)
										newOption.selected = true;
								}
							}
						}
					}
					else
						selectHtml += '<option value=\"' + tournamentId + '\">' + sportsArr[i][2][pos][1] + '</option>';
				}

				if(useGroup == true && groupCount > 0) {
					selectHtml += '</optgroup>';
				}

				selectHtml += '</select>';
				tournamentSelectDiv.innerHTML = selectHtml;

				/*tournamentSelect.options.length = 0;

				var startOption = document.createElement('option');
				startOption.text = 'Velg arrangement';
				startOption.value = '';
				try {
					tournamentSelect.add(startOption, null);
				}
				catch(ex) {
					tournamentSelect.add(startOption);
				}

				for(var pos in sportsArr[i][2]) {
					var newOption = document.createElement('option');
					var val = sportsArr[i][2][pos][0];
					newOption.text = sportsArr[i][2][pos][1];
					newOption.value = val;

					try {
						tournamentSelect.add(newOption, null);
					}
					catch(ex) {
						tournamentSelect.add(newOption);
					}

					/ * if(val == preSelectedSport)
						newOption.selected = true;
					else if(pos == 0)
						newOption.selected = true; * /
				}*/
			}
		}
	}
}

// ------------------------------------------------ //

function changeSeason(preSelectedSport, preSelectedTournament, preSelectedSeason) {
	//alert("changeSeason");
  if(preSelectedSport == null || preSelectedSport == '') {
    var sportSelect = document.getElementById('sportselect');
    if(sportSelect != null) {
      var selected = sportSelect.options[sportSelect.selectedIndex].value;
      if(selected != '')
        preSelectedSport = selected;
    }
  }

  var sportSelect = document.getElementById('sportselect');
  if(sportSelect != null) {
    for(var i = 0; i < sportSelect.options.length; i++) {
      if(sportSelect.options[i].value == preSelectedSport)
        sportSelect.options[i].selected = true;
    }

    var tournamentSelect = document.getElementById('tournamentselect');
    if(tournamentSelect != null) {
      var selectedTournament = preSelectedTournament;
      if(tournamentSelect.selectedIndex >= 0) {
        selectedTournament = tournamentSelect.options[tournamentSelect.selectedIndex].value;
        if(selectedTournament == '' && preSelectedTournament != '')
          selectedTournament = preSelectedTournament;
      }

      fixTournaments(preSelectedSport, selectedTournament, preSelectedSeason, true);
    }
  }
}

// ------------------------------------------------ //