requiredFormFields = new Array();

requiredFormFields['admin_newsletter'] = new Array(0, 1);
requiredFormFields['admin_newsletter'][0] = new Array();
requiredFormFields['admin_newsletter'][0]['input_name'] = "subject";
requiredFormFields['admin_newsletter'][0]['output_name'] = "Betreff";
requiredFormFields['admin_newsletter'][1] = new Array();
requiredFormFields['admin_newsletter'][1]['input_name'] = "message";
requiredFormFields['admin_newsletter'][1]['output_name'] = "Nachricht";

var ajaxFile      = 'app/controller/ajax.php';
var ajaxIndicator = '<img src="public/images/indicator.gif" alt="Die Daten werden geladen." class="indicator" /> Die Daten werden geladen...';
var ajaxFailure   = '<div class="notice errorMessage"><p><img class="icon" src="public/images/exclamation.png" alt="Die Daten konnten nicht geladen werden." /> Die Daten konnten nicht geladen werden.</p></div>';

function checkForm(strFormID){
  var f = document.forms[strFormID];
	var r = requiredFormFields[strFormID];
	var missingFields = new Array();
	
	for(i=0, j=r.length; i<j; i++)
		if (f.eval(r[i]['input_name']).value == "")
			missingFields.push(r[i]['output_name']);

  if(missingFields.length==0)
    return true;
  else {
    alert("Folgende Felder müssen ausgefüllt werden:\n- "+missingFields.join("\n- "));
    return false;
  }
}

function confirm_del(url){
  check = confirm('Soll das Objekt wirklich gelscht werden?');
  window.location = check == true ? url+'&confirm=1' : url+'&confirm=0';
}

/** unobtrusive link-actions **/
window.onload = function()
{
	if($("create_profile_link")) {
		$("create_profile_link").onclick = function() {
			Effect.Appear('profile');
			Effect.Fade('create_profile');
			return false;
		}
	}
	
	if($("edit_password_link")) {
		$("edit_password_link").onclick = function() {
			Effect.Appear('password');
			Effect.Fade('edit_password');
			return false;
		}
	}
	
	if($("spieltag_auswahl")) {
		
		// Submit-Button ersetzen
		if($("submit_auswahl"))
			$("submit_auswahl").hide();
		
		if($("select_spieltag"))
			$("select_spieltag").onchange = function(){
				$("spieltag_auswahl").submit();
			}
		
		// AJAX - Tippen
		if($("select_spieltag") && $("tippen_container")) {	
			$("select_spieltag").onchange = function(){
				var container = $("tippen_container");
				container.innerHTML = ajaxIndicator;
				new Ajax.Request(ajaxFile, {
					asynchronous: true,
					method: "get",
					parameters: "action=get_container_tippen&" +
					            "spieltag=" + $("select_spieltag").value + "&" +
											"type=html",
											
					onSuccess: function(request){
						container.innerHTML = request.responseText;
					},
					onFailure: function(request){
						container.innerHTML = ajaxFailure;
					}
				});
				return false;
			}
		}
		
		// AJAX - Tipps
		if($("select_spieltag") && $("select_spieler") && $("tipps_container")) {	
			$("select_spieltag").onchange = $("select_spieler").onchange = function(){
				var container = $("tipps_container");
				container.innerHTML = ajaxIndicator;
				new Ajax.Request(ajaxFile, {
					asynchronous: true,
					method: "get",
					parameters: "action=get_container_tipps&" +
					            "spieltag=" + $("select_spieltag").value + "&" +
											"user_id=" + $("select_spieler").value + "&" +
											"type=html",
											
					onSuccess: function(request){
						container.innerHTML = request.responseText;
					},
					onFailure: function(request){
						container.innerHTML = ajaxFailure;
					}
				});
				return false;
			}
		}
			
		// AJAX - Ranking
		if($("select_spieltag") && $("select_abspieltag") && $("ranking_container")) {	
			$("select_spieltag").onchange = $("select_abspieltag").onchange = $("select_mitspieler").onchange = function(){
				var container = $("ranking_container");
				container.innerHTML = ajaxIndicator;
				new Ajax.Request(ajaxFile, {
					asynchronous: true,
					method: "get",
					parameters: "action=get_container_ranking&" +
					            "spieltag_id=" + $("select_spieltag").value + "&" +
											"abspieltag_id=" + $("select_abspieltag").value + "&" + 
											"mode_id=" + $("select_mitspieler").value + "&" + 
											"limit=1000&" + 
											"type=html",
											
					onSuccess: function(request){
						if($("select_spieltag").value != 0)
							$("select_abspieltag").disabled = true;
						else
							$("select_abspieltag").disabled = false;
						
						container.innerHTML = request.responseText;
					},
					onFailure: function(request){
						container.innerHTML = ajaxFailure;
					}
				});
				return false;
			}
			
		}
		
	}
	
	if($("add_friend_link"))
		$("add_friend_link").onclick = onclickAddFriendLink;
	
	if($("no_friend_link"))
		$("no_friend_link").onclick = onclickNoFriendLink;

}

function onclickAddFriendLink()
{
	var params = $("add_friend_link").href.split("?")[1];
	new Ajax.Request(ajaxFile, {
		asynchronous: true,
		method: "get",
		parameters: "action=add_friend&"+params+"&type=html",
		onSuccess: function(request){
			appendFriendshipResponse(request.responseText);
			$("no_friend_link").onclick = onclickNoFriendLink;
		},
		onFailure: function(request){
		}
	});
	return false;
}

function onclickNoFriendLink(){
	var params = $("no_friend_link").href.split("?")[1];
	new Ajax.Request(ajaxFile, {
		asynchronous: true,
		method: "get",
		parameters: "action=no_friend&"+params+"&type=html",
		onSuccess: function(request){
			appendFriendshipResponse(request.responseText);
			$("add_friend_link").onclick = onclickAddFriendLink;
		},
		onFailure: function(request){
		}
	});
	return false;
}

function appendFriendshipResponse(resp)
{
	resp = resp.split("%%%");
	$("messages").hide();
	$("messages").innerHTML = resp[0];
	Effect.Appear('messages');
	$("friend_link").innerHTML = resp[1];
}

function submit_form(formID)
{
	$(formID).submit();
}