var ns = (document.layers && !document.getElementById) ? true : false;
var ie = document.getElementById ? true : false;
var ConfirmOnNextPage = Array();
var notAnswered = Array();

/************************************
* CheckLength                       *
************************************/

function CheckLength(element, max) {
	val = element.value;
	if (val.length > max)
	{
		element.value = val.substring(0, max - 1);
		element.focus();
	}
}

/************************************
* CheckMinMax                       *
************************************/

function CheckMinMax(element, min, max, step) {
	val = element.value;
	if (val.length == 0 || step == 0 || min == max)
		return;
	
	val = stripChars(val);
	element.value = val;
	if (val > max) {
		alert('Waarde te hoog');
		element.focus();
		return false;
	}
	if (val < min) {
		alert('Waarde te laag');
		element.focus();
		return false;
	}
	if (val % step != 0)
	{
		alert('Ongeldige waarde, heeft geen stapgrootte van ' + step);
		element.focus();
		return false;
	}
	return true;
}

/************************************
* stripChars                        *
************************************/

function stripChars(s) {
	var i;
  var returnString = "";
	var integer = "0123456789";

	for (i = 0; i < s.length; i++) {   
		var c = s.charAt(i);
		if(integer.indexOf(c) != -1)
			returnString += c;
	}
	return returnString;
}

/************************************
* MarkTheBox                        *
************************************/

function MarkTheBox(element, openanswer)
{
	var question = eval("document.forms[0]." + element);
	for (i = 0; i < question.length; i++) {
		if (question[i].checked && (question[i].type == 'radio' || question[i].type == 'select-single'))
			return;
	}

	for (i = 0; i < question.length; i++) {
		if (question[i].value == openanswer) {
			question[i].checked = true;
			return;
		}
	}
}


/************************************
* CheckMax                          *
************************************/


function CheckMax(question, amount, element)
{
	var aantal = 0;
	for (i = 0; i < question.length; i++) {
		if (question[i].checked)
			aantal++;
	}

	if ( aantal > amount )
	{
      alert("U heeft al 3 categorien geselecteerd.");
		element.checked = false;
		return false;
	}
	return true;
}

/************************************
* CheckMin                          *
************************************/


function CheckMin(name, amount)
{
	var aantal = 0;
	var question = eval("document.forms[0]." + name);
	for (i = 0; i < question.length; i++) {
		if (question[i].checked)
			aantal++;
	}

	if ( aantal < amount )
	{
      alert("U heeft nog geen item(s) geselecteerd.");
		return false;
	}
	return true;
}

/************************************
* isArray                           *
************************************/


function isArray(obj) {
 if (obj.constructor.toString().indexOf("Array") == -1)
  return false;
 else
  return true;
}


/************************************
* inArray                           *
************************************/

function inArray(obj, item) {
	if (arguments.length == 3) {
		prefix = arguments[2];
	} else {
		prefix = "";
	}
	if (isArray(obj)) {
		for (k = 0; k < obj.length; k++) {
			if (prefix + obj[k] == item) {
				return true;
			}
		}
	}
	else if (prefix + obj == item) {
		return true;
	}
	return false;
}
/************************************
* SetCookie                         *
************************************/

function SetCookie(name, value) {
	document.cookie = name + "=" + escape( value );
}

/************************************
* CheckDate                         *
************************************/

var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

function CheckDate(element)
{
	x = element.value;
	if (x == "")
		return false;
	tag = ( x.indexOf("/") != -1 ) ? "/" : "-";
	var pos = x.indexOf(tag);
	var day = parseInt(x.substr(0, pos));
	x = x.substr(pos + 1);
	pos = x.indexOf(tag);
	var month = parseInt(x.substr(0, pos));
	x = x.substr(pos + 1);
	var year = parseInt(x);

	if (!day || !month || !year) {
		alert("Deze datum is ongeldig");
		element.value = "";
		element.focus();
		return false;
	}

	if (year / 4 == parseInt(year / 4))
		monthLength[1] = 29;

	if (day > monthLength[month - 1]) {
		alert("Deze datum is ongeldig");
		element.value = "";
		element.focus();
		return false;
	}

	return true;
}

/************************************
* CheckEmail                        *
************************************/

function CheckEmail(element) {
	x = element.value;
	if ( x != "" )
	{
		var strinValid = / (&)|(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|[*']/; 
		var strVaild = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; 
		if (!(!strinValid.test(x) && strVaild.test(x)))
		{
			alert( x + ' is geen geldig email adres');
			element.value = "";
			element.focus();
			return false; 
		}
		return true;
	}
	return false;
}

/************************************
* Disable                           *
************************************/

function Disable(name) {
	var element = eval("document.forms[0]." + name);
	element.disabled = true;
}

/************************************
* Enable                            *
************************************/

function Enable(name) {
	var element = eval("document.forms[0]." + name);
	element.disabled = false;
}

/******************************
* Postcode controle (AN)			*
******************************/

function CheckNlPostal(postcode){
	//Postcode controle
	var postc=new String(postcode.value); //.substring(0,4)); 
	var reg = new RegExp("[0-9]{4} ?[a-zA-Z]{2}$");
	if (reg.test(postc)){
		return true; 
	}
	else{
		alert("Je postcode is onjuist ingevoerd");
		postcode.value="";
		return false;
	}
}


function CheckDisabler(item, clicked_item, disabler)
{
   var element = eval('document.forms[0].' + item);
 
   if (inArray(disabler, clicked_item.value) && clicked_item.checked)
   {
      for (i = 0; i < element.length; i++)
      {
         if (element[i].value != clicked_item.value)
         {
            element[i].checked = false;
         }
      }
   }
   else
   {
      for (i = 0; i < element.length; i++)
      {
         if (inArray(disabler, element[i].value))
         {
            element[i].checked = false;
         }
      }
   }
}
//Q220, (0,1,2 of 3), none
function CheckDisabler2(item, clicked_item, disabler)
{
   var element = eval('document.forms[0].' + item);
 
   if (inArray(disabler, clicked_item.value))
   {
      for (i = 0; i < element.length; i++)
      {
         if (element[i].value != clicked_item.value)
         {
            element[i].checked = false;
         }
      }
   }
   else
   {
      for (i = 0; i < element.length; i++)
      {
         if (inArray(disabler, element[i].value))
         {
            element[i].checked = false;
         }
      }
   }
}

function ShowPleaseWait()
{
   var pwDiv;
   pwDiv = document.getElementById("pleasewait");
   pwDiv.style.display = "block";
}

function GetFirstSelectedValue(elm)
{
   for (i = 0; i < elm.length; i++)
   {
      if (elm[i].checked == true)
      {
         return elm[i].value;
      }
   }
}

/************************************
* CheckTheBox                        *
************************************/

function CheckTheBox(item, selectbox)
{
   var element = eval('document.forms[0].' + item);
   if (selectbox.selectedIndex > 0)
   {
      element[element.length - 2].checked = true;
   }
   else
   {
      element[element.length - 2].checked = false;
   }
   element[element.length - 2].value = selectbox[selectbox.selectedIndex].value;
   CheckDisabler(item, element[element.length - 2], Array('none'))
}

/************************************
* CheckSelectBox                        *
************************************/

function CheckSelectBox(selectbox, clickeditem)
{
   var element = eval('document.forms[0].' + selectbox);
   if (clickeditem.checked)
   {
      element.focus();
   }
}

function showProgress()
{
   ProgressImage = document.getElementById("progress_image");
   document.getElementById("progress").style.visibility = "visible";
   setTimeout("ProgressImage.src = ProgressImage.src",100);
} 

function loadSubmit()
{
   showProgress();
   document.forms[0].submit();
   return true;
} 
