var xHRObject = false;

if (window.XMLHttpRequest) {
   xHRObject = new XMLHttpRequest();
} else if(window.ActiveXObject) {
	xHRObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function searchBox() {
	var zoeken = document.getElementById('zoeken');
	zoeken.innerHTML = '';
	var newContent = '<select id="searchColumn" name="searchColumn" onchange="checkColumn();" >\n';
	newContent += '<option value="kaart">Kaart</option>\n';
	newContent += '<option value="organisatie">Club</option>\n';
	newContent += '<option value="datum">Maand</option>\n';
	newContent += '<option value="type_wedstr">Wedstrijdtype</option>\n';
	newContent += '<option value="plaats">Plaats</option>\n';
	newContent += '</select>\n';
	newContent += '<select id="searchYear" name="searchYear" onchange="searchWedstrijd();" >\n';
	var years = document.getElementById('searchJaar').value;
	years = years.split('-');
	for (i=0; i<years.length; i++) {
		newContent += '<option value="' + years[i] + '">' + years[i] + '</option>\n';
	}
	newContent += '</select>\n';
	newContent += '<span id="searchTextDiv"></span>\n';
	newContent += '<a href="#" onclick="location.reload(true);" id="zoekenstoppen" ><img title="Zoeken stoppen" src="img/site/nee.png" alt="Zoeken stoppen"/></a>';
	zoeken.innerHTML = newContent;
	checkColumn();
}

function searchWedstrijd() {
	if (xHRObject.readyState == 4 || xHRObject.readyState == 0) {
		var type = document.getElementById('searchType').value;
		var year = document.getElementById('searchYear').value;
		var column = document.getElementById('searchColumn').value;
		var search = escape(document.getElementById('searchText').value);
		if (search == "Zoeken...") {
			search = "";		
		}
		if (!(column == "kaart" && search.length == 1)) {
			xHRObject.open("GET", 'wedstrijdSearch.php?type=' + type + '&year=' + year + '&column=' + column + '&search=' + search, true);
			xHRObject.onreadystatechange = getWedstrijden; 
			xHRObject.send(null);		
		}
	}
}

function checkColumn() {
	var column = document.getElementById('searchColumn').value;
	switch (column) {
		case 'datum': searchDatum(); break;
		default: searchInput(); break;
	}
}

function searchInput() {
	var sInput = document.getElementById('searchTextDiv');
	sInput.innerHTML = '';
	var newContent = '<input type="text" id="searchText" name="searchText" size="10" value="Zoeken..." onclick="clearDefaultText(this,\'Zoeken...\');" onblur="setDefaultText(this,\'Zoeken...\');" onkeyup="searchWedstrijd();" class="defaultText" />\n';
	sInput.innerHTML = newContent;
}

function searchDatum() {
	var maanden = document.getElementById('searchTextDiv');
	maanden.innerHTML = '';
	var newContent = '<select id="searchText" name="searchText" onchange="searchWedstrijd();" >\n';
	newContent += '<option value="">---Selecteer maand---</option>\n';
	newContent += '<option value="01">Januari</option>\n';
	newContent += '<option value="02">Februari</option>\n';
	newContent += '<option value="03">Maart</option>\n';
	newContent += '<option value="04">April</option>\n';
	newContent += '<option value="05">Mei</option>\n';
	newContent += '<option value="06">Juni</option>\n';
	newContent += '<option value="07">Juli</option>\n';
	newContent += '<option value="08">Augustus</option>\n';
	newContent += '<option value="09">September</option>\n';
	newContent += '<option value="10">Oktober</option>\n';
	newContent += '<option value="11">November</option>\n';
	newContent += '<option value="12">December</option>\n';
	newContent += '</select>\n';
	maanden.innerHTML = newContent;
}

function getWedstrijden() {
	if (xHRObject.readyState == 4 /*&& xHRObject.status == 200*/) {
		var serverResponse = xHRObject.responseXML;
		var type = document.getElementById('searchType').value;
		if(serverResponse != null) {
			var results = document.getElementById('searchResults');
         results.innerHTML = '';
         var wedstrijden = serverResponse.getElementsByTagName("wedstrijden")[0].getElementsByTagName("wedstrijd");
         if(wedstrijden.length > 0) {
         	var result = '<div class="kalgb"><table summary="Kalender" cellspacing="0" cellpadding="0" width="100%">';
           	var teller = 0;
           	for(var i = 0; i < wedstrijden.length; i++) {
           		var dag = wedstrijden[i].getElementsByTagName('dag')[0].firstChild.nodeValue;
           		var datum = wedstrijden[i].getElementsByTagName('datum')[0].firstChild.nodeValue;
           		var wedstrijdnr = wedstrijden[i].getElementsByTagName('wedstrijdnr')[0].firstChild.nodeValue;
           		var wedstrijdtype = replaceAMP(wedstrijden[i].getElementsByTagName('wedstrijdtype')[0].firstChild.nodeValue);
           		var kaart = replaceAMP(wedstrijden[i].getElementsByTagName('kaart')[0].firstChild.nodeValue);
           		var plaats = replaceAMP(wedstrijden[i].getElementsByTagName('plaats')[0].firstChild.nodeValue);
           		var organisatie = replaceAMP(wedstrijden[i].getElementsByTagName('organisatie')[0].firstChild.nodeValue);
           		if (type == 'Kalender') {
           			var inschrijving = wedstrijden[i].getElementsByTagName('inschrijving')[0].firstChild.nodeValue;
           		} else if (type == 'Resultaten') {
           			var kuitslag = replaceAMP(wedstrijden[i].getElementsByTagName('kuitslag')[0].firstChild.nodeValue);
           			var uitslag = replaceAMP(wedstrijden[i].getElementsByTagName('uitslag')[0].firstChild.nodeValue);
           			var splits = replaceAMP(wedstrijden[i].getElementsByTagName('splits')[0].firstChild.nodeValue);
           		}
           		result += '<tr onmouseover="this.className=\'bgdg\'"';
           		if(teller % 2) {
           			result += ' onmouseout="this.className=\'\'"';
					} else {
						result += ' class="bgg" onmouseout="this.className=\'bgg\'"';
					}
					teller++;
           		result += '><td class="dag">' + dag + '</td>';
           		result += '<td class="weddatum">' + datum + '</td>';
           		result += '<td class="height"><a href="wedstrijd.php?id=' + wedstrijdnr + '" class="kaart">' + wedstrijdtype + ' <span class="kaart">' + kaart + '</span></a></td>';
           		result += '<td>' + plaats + '</td>';
           		if (type == 'Kalender') {
           			if(inschrijving != "-") {
							result += '<td class="club">' + organisatie + '</td><td class="winschr"><img title="Inschrijven voor ' + inschrijving + '!" alt="potlood" src="img/site/potloodSmall.png" height="14" width="14" /></td>';
						} else {
              			result += '<td class="club" colspan="2">' + organisatie + '</td>';
              		}
              	} else if (type == 'Resultaten') {
              		result += '<td class="wlog">';
              		if(kuitslag != "-") {
							result += '<a title="Uitslag Kinder-O" href="' + kuitslag + '"><img alt="resultlogokindero" src="img/site/resultlogokinder.png" height="13" width="13" class="border" /></a>';
						}
						if(uitslag != "-") {
							result += '<a title="Uitslag" href="' + uitslag + '"><img alt="resultlogo" src="img/site/resultlogo.png" height="13" width="13" class="border" /></a>';
						}
						if(splits != "-") {
							result += '<a title="Splitbrowser" href="' + splits + '"><img alt="graflogo" src="img/site/graflogo.png" height="13" width="13" class="border" /></a>';
						}
              		result += '</td>';
              	}
              	result += '</tr>';
				}
				result += '</table></div>';
				results.innerHTML += result;
			} else {
				results.innerHTML += '<div class="kalgb"><table summary="' + type + '" cellspacing="0" cellpadding="0" width="100%"><tr align="center" class="bgg"><td class="height" colspan="6">geen wedstrijden gevonden</td></tr></table></div>';
			}
		}
	}
}

function replaceAMP(str) {
	str.replace('&amp;','&');
	return str;
}
