
$.fn.clearForm = function() {

	return this.each(function() {
		var type = this.type, tag = this.tagName.toLowerCase();
		if (tag == 'form')
			return $(':input',this).clearForm();
		if (type == 'text' || type == 'password' || tag == 'textarea' || type == 'hidden')
			this.value = '';
		else if (type == 'checkbox' || type == 'radio')
			this.checked = false;
		else if (tag == 'select')
			this.selectedIndex = -1;
        });
};

var previousSelectedOnderdeelIsTeam = false;
var currentSelectedOnderdeelIsTeam = false;

var checkOnderdeel = function() {
	var ond = $("#prestatieOnderdeel").text();
	
	// leeg de atleten velden wanneer ander onderdeel wordt gekozen. (wanneer onderdeel is weer een estafette of wanneer het vorige onderdeel een estafette was)
	currentSelectedOnderdeelIsTeam = ond.indexOf("estafette") > 0;

	if(previousSelectedOnderdeelIsTeam || currentSelectedOnderdeelIsTeam) {
		$("#prestatieAtleet").text("");
		$("#prestatieAtleetId").val("");
		//console.log("legen!");
		previousSelectedOnderdeelIsTeam = currentSelectedOnderdeelIsTeam;
	}
	
	// de eerste keer hoef er niks geleegd te worden..
	if(currentSelectedOnderdeelIsTeam) {
		previousSelectedOnderdeelIsTeam = true;
	}
};
	
var ietsToPrestatie = function(id, waarde, wat) {
	id = uniqueCssId2Id(id);
	if(currentSelectedOnderdeelIsTeam && wat == "Atleet") {
		addMultipleAtleten(id, waarde.split(" ")[0]);
	} else if ((currentSelectedOnderdeelIsTeam && wat != "Atleet") || !currentSelectedOnderdeelIsTeam ) {
		simpleIetsToPrestatie(id, waarde, wat);
	}

	if(wat == "Onderdeel") {
		checkOnderdeel();
	}
};

var simpleIetsToPrestatie = function (id, waarde, wat) {
	$("#prestatie"+wat).text(waarde);
	$("#prestatie"+wat+"Id").val(id);
};

var addMultipleAtleten = function(id, naam) {
	var namen = $("#prestatieAtleet").text();
	if(namen == "") {
		$("#prestatieAtleet").text(naam);
		$("#prestatieAtleetId").val(id);
	} else {
		$("#prestatieAtleet").append(" - "+naam); 
		var val = $("#prestatieAtleetId").val() +"|"+id;
		$("#prestatieAtleetId").val(val);
	}
};


// css id have to be unique.. so a projetc id becomes piid_<#> en activity aiid_<#>
var uniqueCssId2Id = function(cssId) {
	return cssId.split("_")[1];
};

// van naam (leeftijd) naar alleen de naam 
var nameNage2name = function(name) {
	return name.split(" (")[0];
};

var filterValAtleet = "";
var filterAtleet = function(val) {
    var arr = $("#atleten > div.columnItems > div > span.info");
	
	if(val == "retain") 
		val = filterValAtleet;
	else 
		filterValAtleet = val;
	
	if(val == "alles" || val == ""){
		$(arr).parent().show();
		return false;
	}
    $.each(arr, function(idx) {
		var s = $(this).text();
		if(s.substring(0,1).toLowerCase() != val.toLowerCase())
			$(this).parent().hide();
		else 
			$(this).parent().show();
    });
};
var filterValWestrijd = "";
var filterWedstrijd = function(val) {
    var arr = $("#wedstrijden > div.columnItems > div > span.info");
	if(val == "retain") 
		val = filterValWestrijd;
	else 
		filterValWestrijd = val;
		
	if(val == "alles" || val == ""){
		$(arr).parent().show();
		return false;
	}
	//console.log(val);
	val = "20"+val;
    $.each(arr, function(idx) {
		var s = $(this).text();
		if(s.match(val)) {
			$(this).parent().show();
		} else {
			$(this).parent().hide();
		}
    });
};
var filterValOnderdeel = "";
var filterOnderdeel = function(val) {
    var arr = $("#onderdelen > div.columnItems > div > span.info");
	if(val == "retain") 
		val = filterValOnderdeel;
	else 
		filterValOnderdeel = val;
	if(val == "alles" || val == ""){
		$(arr).parent().show();
		return false;
	}
    $.each(arr, function(idx) {
		var s = $(this).text();
		if(s.match("meter")) {
			if(val.match("Loop")) {
				$(this).parent().show();
			} else {
				$(this).parent().hide();
			}
		} else {
			if(val.match("Loop")) {
				$(this).parent().hide();
			} else {
				$(this).parent().show();
			}
		}
    });
};

var cssId2InputFormat = function(cssId) {
	return cssId.split("_")[2];
};

var units = {"m":"min","s":"sec","h":"uur","mtr":"meter"}
var createPrestatieInput = function(inputformat) {
	var format = inputformat.split(":");
	$("#prestatieBuffer").empty();
	$.each(format, function() {
		$("#prestatieBuffer").append($("<input>").attr("type", "text").attr("id", "prestatie_"+this).attr("size","5").attr("tabindex","1")).append(units[this]);
	});
	$('#prestatieBuffer input:first').focus();
};

var logRequest = function(requestInfo, success) {
	var clazz = success == true ? "ui-icon-check" : "ui-icon-close";
	var div = $('<div>').append($('<span>').addClass("request"+success+" ui-icon "+clazz).text(requestInfo)).append(requestInfo);
	pushOnQueue("requestMsgQue",div);
};

var pushOnQueue = function(queue, item){
	var size = $("#requestMsgQue > div").size();
	$(item).insertBefore($("#requestMsgQue > div:first"));
	if(size == 6) {
		$("#requestMsgQue > div:last").remove();
	}
	
};

var fixInterpunction = function(input) {
	return input.replace(",", ".");
};
// Belangrijk voor generen van de postrequests.. Alle dingen worden key value achterelkaar gezet en doorgeknald...
function createParams(data) {
	var requestString = '';
	var j =0;
	for (var i in data) {
		if(data[i] != null && data[i] != 'undefined') {
			if(j != 0) {
				requestString += '&';
			}
			requestString += i +'='+data[i];
			j++;
		}
	}
	return requestString;
}
