window.onload = load;

function createSpecialSelect(id) {
	var sb = document.getElementById(id);
	if(sb) {
	
	
	}
}

function selectbox(id)
{
	var opt = document.getElementById(id+"options");
	if(opt.style.display == "block")
	{
		opt.style.display = "none";
	}
	else
	{
		clearSelectboxes();
		opt.style.display = "block";
	}
}

var _lastId = null;
var _lastOptionValue = null;
var _lastOptionText = null;
var _lastOption = null;

function setOption(id, optionValue, optionText, option)
{
	_lastId = id;
	_lastOptionValue = optionValue;
	_lastOptionText = optionText;
	_lastOption = option;
	
	var x = String(optionValue).replace(/[^\d]+/g, '');
	if(optionValue == 'all') x = 'all';
	document.getElementById(id+"input").value = x;
	document.getElementById(id+"options").style.display = "none";

	options = document.getElementById(id+"options").getElementsByTagName("a");
	for(i = 0; i < options.length; i++)
	{
		options[i].className = "";
	}
	option.className = "selected";

	setTimeout("document.getElementById('"+id+"select').innerHTML = '"+ optionText +"';", 100);
}

function clearSelectboxes()
{
	var divs = document.getElementsByTagName("div");
	for(i = 0; i < divs.length; i++)
	{
		if(divs[i].className == "options")
			divs[i].style.display = "none";
	}
}

function radio(el, id, value)
{
	radios = document.getElementById(id+"div").getElementsByTagName("a");
	for(i = 0; i < radios.length; i++)
	{
		radios[i].className = "radio";
	}
	el.className = "radioon";
	
	document.getElementById(id+"input").value = value;
	el.blur();
}


function checkbox(el, value)
{
	var inputel = document.getElementById(el.id+"input");
	if(inputel == null)
	{
		el.className = "checkboxon " + el.name;
		el.checked = true;
		var newel = document.createElement("input");
		newel.type = "hidden";
		newel.id = el.id+"input";
		newel.name = el.id;
		newel.value = value;
		el.parentNode.appendChild(newel);
	}
	else
	{
		el.className = "checkbox";
		el.checked = false;
		inputel.parentNode.removeChild(inputel);
	}
	el.blur();
}

function load()
{
	setTextInputs();
	setCheckboxes();
}

function setTextInputs()
{
	var inputs = document.getElementsByTagName("input");
	for(i = 0; i < inputs.length; i++)
	{
		if(inputs[i].type == "text")
		{
			// OnFocus
			if(typeof inputs[i].onfocus!='function') {
				inputs[i].onfocus = focusTextInput;
			} else {
				inputs[i].oldfocus = inputs[i].onfocus;
				inputs[i].onfocus = function(ev) {
					this.oldfocus();
					focusTextInput(ev);
				}
			}
			
			// OnBlur
			if(typeof inputs[i].onblur!='function') {
				inputs[i].onblur = blurTextInput;
			} else {
				inputs[i].oldblur = inputs[i].onblur;
				inputs[i].onblur = function(ev) {
					this.oldblur();
					blurTextInput(ev);
				}
			}
		}
	}
}

function focusTextInput(ev)
{
	if (ev == null)
        ev = window.event;
        
    var target = ev.target != null ? ev.target : ev.srcElement;
	
	target.style.backgroundImage = "url('images/textinput_focus.gif')";
}
function blurTextInput(ev)
{
	if (ev == null)
        ev = window.event;
        
    var target = ev.target != null ? ev.target : ev.srcElement;
	
	target.style.backgroundImage = "";
}

function setCheckboxes()
{
	var as = document.getElementsByTagName("a");
	for(i = 0; i < as.length; i++)
	{
		if(as[i].className == "checkboxon") {
			if(as[i].name != "")
				checkbox(as[i], as[i].name);
			else
				checkbox(as[i], '1');
		}
	}
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function limitText(field, amount, override) { 
	var value = field.value;
	value = trim(value);
	if(override){
		if(value.length > override){
			field.value = value.substr(0, override);
			alert("U kunt niet meer dan "+amount+" woorden gebruiken (Of " + override + " tekens)."); 
			return false;
		}
		return true;
	} else {
		//alert(value);
		var le = value.length;
		var splitted = value.split(/[\s\n\r]+/);
		if (splitted.length > amount){
			var newval = '';
			for (var i = 0; i < amount; i++) {
				newval += splitted[i] + " ";
			}
			field.value = newval;		
			alert("U kunt niet meer dan "+amount+" woorden gebruiken."); 
			return false;
		}
		return true;
	}
}

function selectAllCheckboxes() {
	var els = document.getElementsByClassName("checkbox");
	for (var i =0; i < els.length; i++) {
		checkbox(els[i], ''+els[i].value);
	}
}

function selectAllCheckboxes() {
	var els = document.getElementsByClassName("checkbox");
	for (var i =0; i < els.length; i++) {
		checkbox(els[i], ''+els[i].value);
	}
}

function deselectAllCheckboxes() {
	var els = document.getElementsByClassName("checkboxon");
	for (var i =0; i < els.length; i++) {
		checkbox(els[i], ''+els[i].value);
	}
}

