//Image Rollover
function imageRollover (id, img, doc) {
	if (! (doc)) {
		doc= window.document;
	}
	if (doc.images) {
		doc.images[id].src= img;
	}
}
//Rollover Image
function rolloverImage (id, img, doc)
{
	imageRollover (id, img, doc);
}
	
function checkCharacters(string,allowed) {
    for (var i=0; i< string.length; i++) {
       if (allowed.indexOf(string.charAt(i)) == -1)
          return false;
    }
    return true;
}

//Check if value has valid characters
function ValidCharacter(formelement,allowedchar,message) {
	str = formelement.value;
	if (checkCharacters(str,allowedchar)) {
		return true;
	}
	else {
		alert(message);
		formelement.focus();
		formelement.select();
	}
	return false;
}


//Check if message exceeds defined length
function CheckLength (formelement, countmin, countmax, message) {
		if (formelement.value.length < countmin || formelement.value.length > countmax ) {
			count = formelement.value.length;
			alert(message+"\r\n\Het aantal ingevoerde karakters is: "+count);
			formelement.focus();
			formelement.select();
			return false;
		}
}

function FieldNotEmpty (formelement, message) {
	function stripSpaces(x) {while (x.substring(0,1) == ' ') x = x.substring(1); return x;}
	function empty(x) { if (x.length > 0) return false; else return true; }
	function stripSpaces(x) { return x.replace(/^\W+/,''); }
	if (empty(stripSpaces(formelement.value))) {
		alert(message);
		formelement.focus();
		formelement.select();
		return false;
	}
}

//Check if e-mail adress is valid
function ValidEmail (formelement, message) {
	if (formelement.value == "" ) {return true;}
	else {
	    if  (formelement.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1){
			alert(message);
			formelement.focus();
			formelement.select();
			return false;
		}
	}
}



//Open window in centre of screen
var win = null;
function NewWindow(mypage,myname,w,h){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',resizable'
win = window.open(mypage,myname,settings)
}

//Open window in centre of screen
var win = null;
function NewWindow2(mypage,myname,w,h){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',resizable,scrollbars'
win = window.open(mypage,myname,settings)
}



//Check if field is empty. If not value must be in valid dateformat.
function ValidDate (formelement, message) {
	if (formelement.value == "" ) {return true;}
	else {
		//Check if dateformat is valid; Dutch format is dd-mm-yyyy
		var dateStr = formelement.value;
		var strErr=0;
		var datename = new Date();
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
		var matchArray = dateStr.match(datePat);
		if (matchArray == null) {
			alert(message);
			strErr=1;
			formelement.select();
			return false;
		}
		month = matchArray[3];
		day = matchArray[1];
		year = matchArray[4];
		if (month < 1 || month > 12) {
			alert(message);
			strErr=1;
			formelement.select();
			return false;
		}
		if (day < 1 || day > 31) {
			alert(message);
			strErr=1;
			formelement.select();
			return false;
		}
		if ((month==4 || month==6 || month==9 || month==11) && day==31) {
			alert(message);
			strErr=1;
			formelement.select();
			return false;
		}
		if (month == 2) {
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day>29 || (day==29 && !isleap)) {
				alert(message);
				strErr=1;
				formelement.select();
				return false;
			}
		}
	}
}

//Check if field is empty. If not value must be in valid dateformat.
function ValidDateRequired (formelement, message) {
	//Check if dateformat is valid; Dutch format is dd-mm-yyyy
	var dateStr = formelement.value;
	var strErr=0;
	var datename = new Date();
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;
	var matchArray = dateStr.match(datePat);
	if (matchArray == null) {
		alert(message);
		strErr=1;
		formelement.select();
		return false;
	}
	month = matchArray[3];
	day = matchArray[1];
	year = matchArray[4];
	if (month < 1 || month > 12) {
		alert(message);
		strErr=1;
		formelement.select();
		return false;
	}
	if (day < 1 || day > 31) {
		alert(message);
		strErr=1;
		formelement.select();
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert(message);
		strErr=1;
		formelement.select();
		return false;
	}
	if (month == 2) {
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) {
			alert(message);
			strErr=1;
			formelement.select();
			return false;
		}
	}
}


//Check if field is empty or value is integer
function CheckInteger(formelement,message) {
	if (formelement.value == "" ){
		return true;
	}
	else {
		if (isInteger(formelement.value)) {
			return true;
		}
		else {
			alert(message)
			formelement.focus();
			formelement.select();
			return false			
		}
	}
}

//Check if value is integer
function isInteger(formelement) {
	return (parseInt(formelement,10)==formelement) ? true : false
}

function NewClass(obj, new_style) {
    obj.className = new_style;
}
function NewStyle(obj, new_style) {
    obj.style = new_style;
}



function RadioNotEmpty(formelement,message) {
    for (var i=0;i<formelement.length;i++) {
        if (formelement[i].checked)
            return true;
    }
    alert(message);
    return false;
}


function SelectNotEmpty(formelement,message) {
  if (formelement.selectedIndex == 0) {
    alert(message);
		formelement.focus();
    return false;
  }
  return true;
}



function ValidTime(formelement,message) {
	if (formelement.value == "" ) {return true;}
	else {
  mytime=formelement.value
  tTime=mytime.split(":")
  tester1=/[^:0-9]/
  tester2=/[^0-9]/
  if (tester1.test(mytime) | mytime.length!=5 | mytime.indexOf(":")!=2) {
   alert(message)
   formelement.focus();
   formelement.select();
   return false;
  }
  else if (tTime[0]>23 | tTime[1]>59 | tester2.test(tTime[0]) | tester2.test(tTime[1])) {
   alert(message)
   formelement.focus();
   formelement.select();
   return false;
  }
 }
return true;
}


function ValidSelection(formelement,jsmessage) {
  if (formelement.selectedIndex == 0) {
    alert(jsmessage);
    return false;
  }
  return true;
}


// redirect with radiobuttons
function Radio (link)
{
	var new_url=link;
	(new_url != "")  &&  (new_url != null)
	window.location=new_url;
}

