//----- common functions -------------------------------------------------------

function goto($url) {
	document.location = $url;
}

function banner_rotate() {
	$.get('index.php',
		{q: 'banner', current: $('#banner/img').attr('src')},
		function(data){
			$('#banner/img').fadeOut('fast', function(){$('#banner/img').attr({src: 'images/banners/'+data})}).fadeIn('slow');
		}
	);
}

//-END- common functions -------------------------------------------------------
//----- guestbook functions ----------------------------------------------------

function gbDisplay(page) {
	$.get('index.php',
		{q: 'gjestebok/load', sp: page},
		function(data){
			$('#guestbookEntries').empty().append(data);
		}
	);
}

//-END- guestbook functions ----------------------------------------------------
//----- season admin functions -------------------------------------------------

function seasonDelete(sid) {
	if (confirm('Er du sikker på at du vil slette denne sesongen?')) {
		$.get('index.php',
			{q: 'klubbens side/admin/sesong/slett', sid: sid},
			function(data) {
				seasonList();
				$('#response').empty().append(data).fadeIn('slow').animate({ opacity: 1 }, 3000).fadeOut('slow'); // show responseText
			}
		);
	}
}

function seasonList() {
	$.get('index.php',
		{q: 'klubbens side/admin/sesong/liste'},
		function(data) {
			$('#seasonList').empty().append(data);
		}
	);
}

function seasonTeamAdd(sid, tid) {
	$.get('index.php',
		{q: 'klubbens side/admin/sesong/'+sid+'/lag/'+tid+'/leggtil'},
		function(data) {
			seasonTeamListRefresh(sid);
		}
	);
}

function seasonTeamRemove(sid, tid) {
	$.get('index.php',
		{q: 'klubbens side/admin/sesong/'+sid+'/lag/'+tid+'/fjern'},
		function(data) {
			seasonTeamListRefresh(sid);
		}
	);
}

function seasonTeamListRefresh(sid) {
	$.get('index.php',
		{q: 'klubbens side/admin/sesong/'+sid+'/lag/unassigned'},
		function(data) {
			$('#unassigned').empty().append(data);
		}
	);
	$.get('index.php',
		{q: 'klubbens side/admin/sesong/'+sid+'/lag/assigned'},
		function(data) {
			$('#assigned').empty().append(data);
		}
	);
}

//-END- season admin functions -------------------------------------------------
//----- team admin functions ---------------------------------------------------

function teamDelete(tid) {
	if (confirm('Er du sikker på at du vil slette dette laget?')) {
		$.get('index.php',
			{q: 'klubbens side/admin/lag/slett', tid: tid},
			function(data) {
				teamList();
				$('#response').empty().append(data).fadeIn('slow').animate({ opacity: 1 }, 3000).fadeOut('slow'); // show responseText
			}
		);
	}
}

function teamList() {
	$.get('index.php',
		{q: 'klubbens side/admin/lag/liste'},
		function(data) {
			$('#teamList').empty().append(data);
		}
	);
}

function teamSeasonCoachAdd(tid, sid, uid) {
	$.get('index.php',
		{q: 'klubbens side/admin/lag/'+tid+'/trenere/'+sid+'/'+uid+'/leggtil'},
		function(data) {
			teamSeasonCoachListRefresh(tid, sid);
		}
	);
}

function teamSeasonCoachRemove(tid, sid, uid) {
	$.get('index.php',
		{q: 'klubbens side/admin/lag/'+tid+'/trenere/'+sid+'/'+uid+'/fjern'},
		function(data) {
			teamSeasonCoachListRefresh(tid, sid);
		}
	);
}

function teamSeasonCoachListRefresh(tid, sid) {
	$.get('index.php',
		{q: 'klubbens side/admin/lag/'+tid+'/trenere/'+sid+'/unassigned'},
		function(data) {
			$('#unassigned').empty().append(data);
		}
	);
	$.get('index.php',
		{q: 'klubbens side/admin/lag/'+tid+'/trenere/'+sid+'/assigned'},
		function(data) {
			$('#assigned').empty().append(data);
		}
	);
}

function teamSeasonPlayerAdd(tid, sid, uid) {
	$.get('index.php',
		{q: 'klubbens side/admin/lag/'+tid+'/spillere/'+sid+'/'+uid+'/leggtil'},
		function(data) {
			teamSeasonPlayerListRefresh(tid, sid);
		}
	);
}

function teamSeasonPlayerRemove(tid, sid, uid) {
	$.get('index.php',
		{q: 'klubbens side/admin/lag/'+tid+'/spillere/'+sid+'/'+uid+'/fjern'},
		function(data) {
			teamSeasonPlayerListRefresh(tid, sid);
		}
	);
}

function teamSeasonPlayerListRefresh(tid, sid) {
	$.get('index.php',
		{q: 'klubbens side/admin/lag/'+tid+'/spillere/'+sid+'/unassigned'},
		function(data) {
			$('#unassigned').empty().append(data);
		}
	);
	$.get('index.php',
		{q: 'klubbens side/admin/lag/'+tid+'/spillere/'+sid+'/assigned'},
		function(data) {
			$('#assigned').empty().append(data);
		}
	);
}

//-END- team admin functions ---------------------------------------------------
//----- match admin functions --------------------------------------------------

function matchDelete(mid, tid, sid) {
	if (confirm('Er du sikker på at du vil slette denne kampen?')) {
		$.get('index.php',
			{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/slett', mid: mid},
			function(data) {
				matchList(tid, sid);
				$('#response').empty().append(data).fadeIn('slow').animate({ opacity: 1 }, 3000).fadeOut('slow'); // show responseText
			}
		);
	}
}

function matchList(tid, sid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/liste'},
		function(data) {
			$('#matchList').empty().append(data);
		}
	);
}

function matchParticipantAdd(eid, tid, sid, mid, uid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/deltaker/leggtil', eid: eid, uid: uid},
		function(data) {
			matchParticipantList(eid, tid, sid, mid);
		}
	);
}

function matchParticipantRemove(eid, tid, sid, mid, uid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/deltaker/fjern', eid: eid, uid: uid},
		function(data) {
			matchParticipantList(eid, tid, sid, mid);
		}
	);
}

function matchParticipantList(eid, tid, sid, mid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/deltaker/liste', eid: eid},
		function(data) {
			$('#'+eid).empty().append(data);
		}
	);
}

function matchScoreAdd(tid, sid, mid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/poeng/leggtil'},
		function(data) {
			matchScoreList(tid, sid, mid);
		}
	);
}

function matchScoreRemove(tid, sid, mid, msid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/poeng/fjern', msid: msid},
		function(data) {
			matchScoreList(tid, sid, mid);
		}
	);
}

function matchScoreList(tid, sid, mid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/poeng/liste'},
		function(data) {
			$('#matchScore').empty().append(data);
		}
	);
}

function matchScoreGoal(drag) {
	var goal = $(this).attr('id');
	var user = $(drag).attr('id');
	regexpGoal = /^score_goal_([\d]+)_([\d]+)_([\d]+)_([\d]+)$/i;
	regexpUser = /^user_([\d]+)$/i;
	if ((m = goal.match(regexpGoal)) && (m2 = user.match(regexpUser))) {
		$.get('index.php',
			{q: 'klubbens side/admin/kamper/'+m[1]+'/'+m[2]+'/'+m[3]+'/resultat/poeng/maal', msid: m[4], uid: m2[1]},
			function(data) {
				matchScoreList(m[1], m[2], m[3]);
			}
		);
	}
}

function matchScorePass(drag) {
	var pass = $(this).attr('id');
	var user = $(drag).attr('id');
	regexpPass = /^score_pass_([\d]+)_([\d]+)_([\d]+)_([\d]+)$/i;
	regexpUser = /^user_([\d]+)$/i;
	if ((m = pass.match(regexpPass)) && (m2 = user.match(regexpUser))) {
		$.get('index.php',
			{q: 'klubbens side/admin/kamper/'+m[1]+'/'+m[2]+'/'+m[3]+'/resultat/poeng/pasning', msid: m[4], uid: m2[1]},
			function(data) {
				matchScoreList(m[1], m[2], m[3]);
			}
		);
	}
}

function matchPenaltyAdd(tid, sid, mid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/utvisning/leggtil'},
		function(data) {
			matchPenaltyList(tid, sid, mid);
		}
	);
}

function matchPenaltyRemove(tid, sid, mid, msid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/utvisning/fjern', msid: msid},
		function(data) {
			matchPenaltyList(tid, sid, mid);
		}
	);
}

function matchPenaltyList(tid, sid, mid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/utvisning/liste'},
		function(data) {
			$('#matchPenalty').empty().append(data);
		}
	);
}

function matchPenaltyPlayer(drag) {
	var penalty = $(this).attr('id');
	var user = $(drag).attr('id');
	regexpPenalty = /^penalty_player_([\d]+)_([\d]+)_([\d]+)_([\d]+)$/i;
	regexpUser = /^user_([\d]+)$/i;
	if ((m = penalty.match(regexpPenalty)) && (m2 = user.match(regexpUser))) {
		$.get('index.php',
			{q: 'klubbens side/admin/kamper/'+m[1]+'/'+m[2]+'/'+m[3]+'/resultat/utvisning/spiller', mpid: m[4], uid: m2[1]},
			function(data) {
				matchPenaltyList(m[1], m[2], m[3]);
			}
		);
	}
}

function matchResultRefresh(tid, sid, mid) {
	$.get('index.php',
		{q: 'klubbens side/admin/kamper/'+tid+'/'+sid+'/'+mid+'/resultat/oppdater'},
		function(data) {
			$('#matchResult').empty().append(data);
		}
	);
}

function matchOrganizerMemberList(mid) {
	$.get('index.php',
		{q: 'klubbens side/admin/sekretariatsliste/'+mid+'/medlemsliste'},
		function(data) {
			$('#matchOrganizerMemberListTB').empty().append(data);
			tb_show("Legg til sekretariatsvakter","#TB_inline?width=800&amp;height=450&amp;inlineId=matchOrganizerMemberListTB",false);
		}
	);
}

function matchOrganizerAdd(mid, uid) {
	$.get('index.php',
		{q: 'klubbens side/admin/sekretariatsliste/'+mid+'/'+uid+'/leggtil'},
		function(data) {
			$('#match-'+mid).empty().append(data);
			//tb_remove(); // close modal
		}
	);
}

function matchOrganizerRemove(mid, uid) {
	$.get('index.php',
		{q: 'klubbens side/admin/sekretariatsliste/'+mid+'/'+uid+'/fjern'},
		function(data) {
			$('#match-'+mid).empty().append(data);
		}
	);
}

//-END- match admin functions --------------------------------------------------
//----- user admin functions ---------------------------------------------------

function setMemberAccess(uid, val) {
	$.get('index.php',
		{q: 'klubbens side/admin/medlemmer/'+uid+'/tilgang', bit: val},
		function(data) {
			$('#access_'+uid).empty().append(data);
		}
	);
}

//-END- user admin functions ---------------------------------------------------
//----- mailing lists functions ------------------------------------------------
function showSubscribers(listname) {
	$('#subscribers').fadeOut('slow', function(){
		$.get('index.php',
			{q: 'klubbens side/mailinglister/abonnenter', list: listname},
			function(data) {
				$('#subscribers').empty().append(data).fadeIn('slow');
			}
		);
	});
}
//-END- mailing lists functions ------------------------------------------------
//----- google map functions ---------------------------------------------------

function showMap(address) {
  // Call this function when the page has been loaded
  $(document).ready(function(){
  	$('#googlemaps').removeClass().addClass('map').show();
    var map = new google.maps.Map2(document.getElementById('googlemaps'));

	  GGeocoder = new GClientGeocoder();
    GGeocoder.getLatLng(address, function(point){
      if (!point) {
        $('#googlemaps').removeClass().addClass('warning').empty().append('Fant ikke adressen: ' + address); // show responseText
      } else {
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GOverviewMapControl());
        map.addControl(new GScaleControl());
        map.setCenter(new google.maps.LatLng(point.y, point.x), 15);
        var marker = new GMarker(point, {draggable: false});
        map.addOverlay(marker);
        var pointlocation = marker.getPoint();
        //var infohtml = 'Latitude: ' + pointlocation.lat() + '<br />Longitude: ' + pointlocation.lng();
        var infohtml = 'Adresse: ' + address + '<br />Bruk <a href="http://www.gulesider.no/kart/search.c?mapItems=&q=' + escape(address) + '">gulesider.no/kart</a> for et mere detaljert kart.';
        marker.openInfoWindowHtml(infohtml);
        GEvent.addListener(marker, 'dragend', function(pointlocation){
          marker.openInfoWindowHtml(infohtml);
        });
      }
    });
  });
}

//----- google map functions ---------------------------------------------------
