function setRating(bt12, personId, rating)
{
	ajaxRequest("setrating", new Array(bt12, personId, rating));
}

/**
 * Click handler voor knop: "Plaats in favorieten" 
 * Op "http://172.22.2.14/cke/cursussen/aanbod-detail?course=?" (midden op de pagina)
 */
function courseDetails_addCourseToFavouritesOnClick(courseId, personId)
{
	ajaxRequest("addcoursetofavourites", new Array(courseId, personId));
	document.getElementById('favourites_span').innerHTML = 'Deze cursus is reeds aan je favorieten toegevoegd.';
}

/**
 * Click handler voor knop: "Dit aanbod mailen/opslaan"
 * Op "http://172.22.2.14/cke/cursussen/aanbod-detail?course=?" (rechter kolom)
 */
function courseDetails_addCourseToFavouritesAndSendShareMailOnClick(courseId, idNaw, receiverEmail, addFav)
{
	// Moet de cursus toegevoegd worden aan de favorieten ?
	if(addFav == true)
	{
		ajaxRequest("addcoursetofavourites", new Array(courseId, idNaw));
	}
	
	ajaxRequest("sendsharecoursemail", new Array(idNaw, receiverEmail, courseId));
	document.getElementById('favourites_span').innerHTML = 'Deze cursus is reeds aan je favorieten toegevoegd.';
}

function addCourseToCart(cursusId, path)
{
	option_1 = document.getElementById('eerstekeus');
	option_2 = document.getElementById('tweedekeus');
	
	if ( option_1.checked == true || option_2.checked == true )
	{
		keuzeInt = (option_1.checked == true) ? 1 : 2;
		keuzeStr = (option_1.checked == true) ? '<em>eerste keuze</em>' : '<em>tweede keuze</em>';
		
		ajaxRequest("addcoursetocart", new Array(cursusId, keuzeInt));
		document.getElementById('target_content').innerHTML = 'Cursus is toegevoegd als ' + keuzeStr + ' aan je <a href=\"'+ path +'inschrijven-en-bestellen/inschrijfformulier\">inschrijfformulier</a>.';
	}
	else
	{
		alert('Is de cursus je eerste of tweede keus?');
	}
}

function getBirthday(el)
{
	var value = el.value;
	ajaxRequest("getBirthdays", new Array(value));
}

function add_message(userId, courseId)
{
	var message_receivers = [];
	var subject = document.getElementById('input_title').value;
	var message = document.getElementById('input_message').value;
	// loop door de ids en kijk welke geselecteerd is
	for (var i=1; i < 300; i++)
	{
		if ( document.getElementById('radiobt_' + i) )
		{
			var radiobutton = document.getElementById('radiobt_' + i);
			if ( radiobutton.checked )
			{
				message_receivers.push(radiobutton.value);
			}
		}
		else
		{
			continue;
		}
	}
	
	ajaxRequest("add_message", new Array(userId, subject, message, courseId, message_receivers));
}

function add_messagereply(userId, courseId, message_receiver)
{
//	var message_receiver = 0;
	var subject = document.getElementById('input_title').value;
	var message = document.getElementById('input_message').value;
	ajaxRequest("add_message", new Array(userId, subject, message, courseId, message_receiver));
}

function addProductToCart(productId, path)
{
	ajaxRequest("addproducttocart", new Array(productId, 1)); //second parameter "1" is currently not in use. but ajax.js seems to accept only arrays with multiple elements
	document.getElementById('target_content').innerHTML = 'Artikel is toegevoegd aan uw winkelmandje.<br><br><a href=\"'+path+'\">Direct bestellen</a><br><br><a style=\"cursor:pointer;\" onclick=\"deleteProductFromCart('+productId+', '+path+');\">Verwijder uit winkelmandje</a>';
}

function deleteProductFromCart(productId, path)
{
	ajaxRequest("deleteproductfromcart", new Array(productId, 1)); //second parameter "1" is currently not in use. but ajax.js seems to accept only arrays with multiple elements
	document.getElementById('target_content').innerHTML = '<a style=\"cursor:pointer;\" onclick=\"addProductToCart('+productId+', '+path+');\">Plaats artikel in winkelmandje</a>';
}

/*function showFavForm(btn12)
{
	document.getElementById('add_fav_link_' + btn12).style.display = 'none';
	document.getElementById('fav_info_box_' + btn12).style.display = 'block';
}*/

function showFavForm(btn12)
{
//	document.getElementById('add_fav_link_' + btn12).style.display = 'none';
	var elem = document.getElementById('fav_info_box_' + btn12);
	if (elem.style.display == 'block')
	{
		elem.style.display = 'none';
	}
	else
	{
		elem.style.display = 'block';
	}
}

function clearInput(id, email)
{
	if ( email == 'E-mailadres' )
	{
		document.getElementById(id).value = '';
	}
}

function changeStatus(statusId, status, elid)
{
	ajaxRequest("changestatus", new Array(statusId, status));
	document.getElementById('stat_on_' + elid).innerHTML = 'Goedkeuren en live';
	document.getElementById('stat_off_' + elid).innerHTML = 'Goedkeuren maar niet live';
	document.getElementById('stat_none_' + elid).innerHTML = 'Afkeuren';

	switch (status)
	{
		case 1:
			spanEl = 'stat_on_' + elid;
			break;
		case 3:
			spanEl = 'stat_off_' + elid;
			break;
		case 4:
			spanEl = 'stat_none_' + elid;
			break;
	}
	
	document.getElementById(spanEl).innerHTML = 'v';
}

function updateItems(itemId, userId)
{
	ajaxRequest("updatehomepageitems", new Array(itemId, userId));
}

function updateDragOrder(sortOrder, column)
{
		ajaxRequest("updatedragorder", new Array(sortOrder, column));
}

function updateSortOrder(sortOrder, userId)
{
        ajaxRequest("updatesortorder", new Array(sortOrder, userId));
}

function change_class()
{
	if (document.getElementById('sendmessage'))
	{
		if (document.getElementById('sendmessage').className == 'sendmessage_active')
		{
			document.getElementById('sendmessage').className = 'sendmessage';
		}
		else
		{
			document.getElementById('sendmessage').className = 'sendmessage_active';
		}
	}
}

function change_preview(thediv)
{
	document.getElementById("preview_box_1").style.display = "none";
	document.getElementById("preview_box_2").style.display = "none";
	document.getElementById("preview_box_3").style.display = "none";
	document.getElementById("preview_box_4").style.display = "none";
	document.getElementById("preview_box_5").style.display = "none";
	document.getElementById("preview_box_6").style.display = "none";
	document.getElementById("preview_box_7").style.display = "none";
	document.getElementById(thediv).style.display = "block";
}

function show_detail(nr)
{
	if (document.getElementById('show_detail_' + nr))
	{
		if (document.getElementById('show_detail_' + nr).className == 'detail_active')
		{
			document.getElementById('show_detail_' + nr).className = 'detail';
		}
		else
		{
			document.getElementById('show_detail_' + nr).className = 'detail_active';
		}
	}
}

function show_send_course()
{
	if (document.getElementById('send_course'))
	{
		if (document.getElementById('send_course').className == 'send_active')
		{
			document.getElementById('send_course').className = 'send';
		}
		else
		{
			document.getElementById('send_course').className = 'send_active';
		}
	}
}

function get_guardian_data()
{
	var user = document.getElementById('user_bp').value;
	var pass = document.getElementById('pass_bp').value;
	ajaxRequest("get_guardian_data", new Array(user, pass));
}


function deleteRow(r, meterialId)
{
	var i=r.parentNode.parentNode.rowIndex;
	document.getElementById('myTable').deleteRow(i);
	ajaxRequest("delete_course_material", [meterialId]);
}

function checkUncheckAll(theElement) 
{
    var theForm = theElement.form, z = 0;
	for(z=0; z<theForm.length;z++)
	{
		if (theForm[z].type == 'checkbox' && theForm[z].name != 'checkall')
		{
			theForm[z].checked = theElement.checked;
		}
	}
}

function confirmDelete()
{
	return window.confirm("Wilt u dit onderdeel verwijderen?");
}

var selectedSuggestion = -1;
var maxSuggestion = 9;

function add_listener()
{
	var el = document.getElementById('id_search_query');
	if (el)
	{
		el.focused = false;
		el.hasFocus = function() {
         		return this.focused;
		};
		el.setFocus = function() {
			this.focused = true;
		};
		el.setUnfocus = function() {
			this.focused = false;
		};
		el.onfocus = function() {
			this.focused = true;
		};
		el.onblur = function() {
			this.focused = false;
		};
	}
}

function get_suggestions(el, id, divid, keyCode)
{
//	window.alert("keyCode: " + typeof keyCode);
	if ( keyCode == 13 ) // enter
        {
                var searchfield = document.getElementById(divid);
//              window.alert("inner: " + divid.innerHTML);
                if (el.hasFocus() == true || !searchfield.innerHTML || searchfield.innerHTML == "") // if search field has focus
                {
//                      document.forms["searchform"].submit();
                }
                else
                {
                        el.setFocus();
                        useSuggestion(id, divid);
                        document.forms["searchform"].submit();
                        return false;
                }
        }
        else if ( keyCode == 32 ) // space
        {
                var searchfield = document.getElementById(divid);
                if (el.hasFocus() == true || !searchfield.innerHTML || searchfield.innerHTML == "") // if search field has focus
                {
                        selectedSuggestion = -1;
                        var search_str = el.value;
                        ajaxRequest("get_suggestions", new Array(search_str, id, divid));
                }
                else
                {
                        el.setFocus();
                        useSuggestion(id, divid);
                        return false;
                }
        }
	else if ( keyCode == 38 ) // up
	{
		el.setUnfocus();
		selectSuggestion(false);
		return false;
	}
	else if ( keyCode == 40 ) // down
	{
		el.setUnfocus();
		selectSuggestion(true);
		return false;
	}
	else
	{
		selectedSuggestion = -1;	
		var search_str = el.value;
		ajaxRequest("get_suggestions", new Array(search_str, id, divid));
	}
	return false;
}

function useSuggestion(id, divid)
{
	if ( document.getElementById('suggestion'+selectedSuggestion) )
	{
		document.getElementById(id).value = document.getElementById('suggestion'+selectedSuggestion).innerHTML;
		document.getElementById(divid).innerHTML = '';
		document.getElementById(divid).style.display = 'none';
	}
	return false;
}

function selectSuggestion(down)
{
	if ( document.getElementById('suggestion'+selectedSuggestion) )
	{
		document.getElementById('suggestion'+selectedSuggestion).className = 'suggestion';
	}
	if ( down )
	{
		if (selectedSuggestion == maxSuggestion)
		{
			selectedSuggestion = 0;
		}
		else
		{
			selectedSuggestion++;
		}
	}
	else
	{
		if ( selectedSuggestion <= 0 )
		{
			selectedSuggestion = 9;
		}
		else
		{
			selectedSuggestion--;
		}
	}
	if ( document.getElementById('suggestion'+selectedSuggestion) )
	{
		document.getElementById('suggestion'+selectedSuggestion).className = 'suggestion suggestion_sel';
	}
}

function canSubmit()
{
	if ( selectedSuggestion < 0 || document.getElementById('suggestionsd').innerHTML == '' )
		return true;
	else
		return false;
}

function setActiveResult(num)
{
	var result = document.getElementById('search_result_'+num);
	var res_num = document.getElementById('result_number_'+num);
	if (result)
		result.className = 'search_result_hover';
	if (res_num)
		res_num.className = 'result_number_hover';
}

function setInactiveResult(num)
{
	var result = document.getElementById('search_result_'+num);
	var res_num = document.getElementById('result_number_'+num);
	if (result)
		result.className = 'search_result';
	if (res_num)
		res_num.className = 'result_number';
}

onloads.push(add_listener);

