


// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ string checks ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


function isStringValid(oControl){
	var i;
	var s = oControl.value;	
	if(s==''){return(true)}
	for(i=0;i<s.length;i++)
	{
		if(!((s.substr(i,1)>='a'&&s.substr(i,1)<='z')||(s.substr(i,1)>='A'&&s.substr(i,1)<='Z')||(s.substr(i,1)>='0'&&s.substr(i,1)<='9')||s.substr(i,1)=='_')){return(false)}
	}
	return true;

}

function isTextValid(oControl, sTitle){	
	if(oControl.value==''){alert(sTitle.substr(0,1).toUpperCase()+sTitle.substr(1)+' is (nog) niet ingevuld');return(false)}
	if(!isStringValid(oControl)){alert('Bij '+sTitle+' mag u enkel de karakters a..z, A..Z, 0..9 en \'_\' gebruiken.');return(false)}	
	return true;	
	
}

function isPassValid(oControl, sTitle){	
	if(oControl.value==''){alert('Het \''+sTitle+'\' is (nog) niet ingevuld');return(false)}
	if(!isStringValid(oControl)){alert('Bij het \''+sTitle+'\' mag u enkel de karakters a..z, A..Z, 0..9 en \'_\' gebruiken.');return(false)}	
	return true;	
}



function isURLValid(s){
	var i;
	if(s==''){return(true)}
	for(i=0;i<s.length;i++){
		if(!((s.substr(i,1)>='a'&&s.substr(i,1)<='z')||(s.substr(i,1)>='A'&&s.substr(i,1)<='Z')||(s.substr(i,1)>='0'&&s.substr(i,1)<='9')||s.substr(i,1)=='/'||s.substr(i,1)==':'||s.substr(i,1)=='.')){return(false)}
	}
	return true;
}


function SetUpperCase(sObj){
	var s = sObj.value;
	sObj.value=s.toUpperCase();										
}

function setToUppercase(o){
  o.value=o.value.toUpperCase().replace(/([^0-9A-Z])/g,"");
}

function isNameValid(s){
	var i;
	return true;
	if(s==''){return(true)}
	for(i=0;i<s.length;i++)
	{
		if(!((s.substr(i,1)>='a'&&s.substr(i,1)<='z')||(s.substr(i,1)>='A'&&s.substr(i,1)<='Z')||(s.substr(i,1)>='0'&&s.substr(i,1)<='9')||s.substr(i,1)==' '||s.substr(i,1)=='-')){return(false)}
	}
	return true;

}



function areJustLettres(s){
	var i;
	if(s==''){return(true)}
	for(i=0;i<s.length;i++)
	{
		if(!((s.substr(i,1)>='a'&&s.substr(i,1)<='z')||(s.substr(i,1)>='A'&&s.substr(i,1)<='Z'))){return(false)}
	}
	return true;

}





// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ number checks ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


function IsNumeric(obj){
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   var iVal;

   if(document.obj){
      iVal=Math.abs(obj.value)
   }
   else{
      iVal=Math.abs(obj)
   }
   if(iVal=='' || iVal==undefined){IsNumber = false}
   
   if(IsNumber){
		for (i = 0; i < iVal.length && IsNumber == true; i++){ 
		  Char = iVal.charAt(i); 
		  if (ValidChars.indexOf(Char) == -1){
		 	IsNumber = false;
		 }
      }
   }


   return IsNumber;
   
}



function chkNumber(obj){			
		var sSearch = '0123456789';
		var s = new String();
		for(var i=0;i<obj.value.length;i++)
		{
			s = obj.value.substr(i,1);				
			if(sSearch.indexOf(s)==-1){obj.value=0;return}
		}
	}

function chkCents(obj){			
		var sSearch = '0123456789';
		var s = new String();
		for(var i=0;i<obj.value.length;i++)
		{
			s = obj.value.substr(i,1);				
			if(sSearch.indexOf(s)==-1){obj.value='00';return}
		}
	}

function chkTelephone(obj){	
	if(iTelnr.length<10){alert("Het nummer moet minimaal 10 cijfers bevatten.");return(false)}
	for(i=0;i<iTelnr.length;i++)
	{
		if(isNaN(iTelnr.charAt(i)))
		{
			alert("Het nummer mag enkel cijfers bevatten :-)")
			return(false);
		}
	}	
	return(true);
}


// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ miscellaneous ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

function getDateTime(){
	var s, d;
	d = new Date();
	s = new String();
	s += rightChar('0'+d.getDate(),2) + "-";
	s += rightChar('0'+(d.getMonth() + 1),2) + "-";  
	s += d.getFullYear();
	s += ' ';
	s += rightChar('0'+d.getHours(),2) + ":";
	s += rightChar('0'+d.getMinutes(),2);
	return s;	
}


function rightChar(s, i){
	return s.substr(s.length-i)
}

// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ miscellaneous ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

function IsEmailValid (emailStr) {

	var checkTLD=1;

	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|nl)$/;


	var emailPat=/^(.+)@(.+)$/;

	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";


	var validChars="\[^\\s" + specialChars + "\]";


	var quotedUser="(\"[^\"]*\")";


	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;


	var atom=validChars + '+';


	var word="(" + atom + "|" + quotedUser + ")";



	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");


	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {
		alert("Het emailadres schijnt niet goed te zijn (check @ en de puntjes)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];



	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alert("Het emailadres bevat verkeerde karakters.");
			return false;
		}
	}

	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			alert("Het emailadres bevat verkeerde karakters.");
			return false;
		}
	}


	if (user.match(userPat)==null) {
		alert("Het emailadres schijnt niet goed te zijn.");
		return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Ip adres is niet goed");
				return false;
			}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			alert("Het emailadres schijnt niet goed te zijn.");
			return false;
		}
	}


	if (checkTLD && domArr[domArr.length-1].length!=2 &&
	domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alert("Het emailadres schijnt niet goed te zijn.");
		return false;
	}


	if (len<2) {
		alert("Het emailadres schijnt niet goed te zijn.");
		return false;
	}

	return true;
}



function whichBrs() {
	var agt=navigator.userAgent.toLowerCase();
	if (agt.indexOf("opera") != -1) return 'Opera';
	if (agt.indexOf("staroffice") != -1) return 'Star Office';
	if (agt.indexOf("beonex") != -1) return 'Beonex';
	if (agt.indexOf("chimera") != -1) return 'Chimera';
	if (agt.indexOf("netpositive") != -1) return 'NetPositive';
	if (agt.indexOf("phoenix") != -1) return 'Phoenix';
	if (agt.indexOf("firefox") != -1) return 'Firefox';
	if (agt.indexOf("safari") != -1) return 'Safari';
	if (agt.indexOf("skipstone") != -1) return 'SkipStone';
	if (agt.indexOf("msie") != -1) return 'Internet Explorer';
	if (agt.indexOf("netscape") != -1) return 'Netscape';
	if (agt.indexOf("mozilla/5.0") != -1) return 'Mozilla';
	if (agt.indexOf('\/') != -1) {
		if (agt.substr(0,agt.indexOf('\/')) != 'mozilla') {
			return navigator.userAgent.substr(0,agt.indexOf('\/'));}
			else return 'Netscape';} else if (agt.indexOf(' ') != -1)
			return navigator.userAgent.substr(0,agt.indexOf(' '));
			else return navigator.userAgent;
}



function popUp(filename,imageWidth,imageHeight,bScroll){
	var sOptions = String();
	sOptions = 'height='+imageHeight+',width='+imageWidth+',status=no,toolbar=no,menubar=no,location=no';
	if(bScroll){sOptions+=',scrollbars=yes'}
	window.open(filename,null,sOptions);
}


function changeScrollbarColor(){	
	if (document.all){
		document.body.style.scrollbarBaseColor			= mainbgcolor;
		document.body.style.scrollbar3dLightColor		= mainbgcolor;
		document.body.style.scrollbarArrowColor			= focuscolor;
		document.body.style.scrollbarDarkShadowColor	= mainbgcolor;
		document.body.style.scrollbarFaceColor			= mainbgcolor;
		document.body.style.scrollbarHighlightColor		= focuscolor;
		document.body.style.scrollbarShadowColor		= mainbgcolor;
		document.body.style.scrollbarTrackColor			= focuscolor;
	}
}



function SetCookie(cookieName,cookieValue,nDays) {
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays==0) nDays=1;
	expire.setTime(today.getTime() + 3600000*24*nDays);
	document.cookie = cookieName+"="+escape(cookieValue)
	+ ";expires="+expire.toGMTString();
}

function ReadCookie(cookieName) {
	var theCookie=""+document.cookie;
	var ind=theCookie.indexOf(cookieName);
	if (ind==-1 || cookieName=="") return "";
	var ind1=theCookie.indexOf(';',ind);
	if (ind1==-1) ind1=theCookie.length;
	return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

function DeleteCookie(name)
{ var exp = new Date();
  exp.setTime (exp.getTime() - 1);
  var cval = ReadCookie (name);
  document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

}

var bIsMSIE = (whichBrs()=='Internet Explorer');
var bIsFF 	= (whichBrs()=='Firefox');
var bIsNN	= (whichBrs()=='Netscape');

var mainbgcolor	= '#C2C4C6'; 
var focuscolor	= '#DCDDDE';





function confirmSubmit(){
var agree=confirm("Weet u zeker dat u door wilt gaan?");
if (agree)
	return true ;
else
	return false ;
}


function setAlphaThumb(obj){
	obj.style.cursor='hand';
	switch(true){
		case bIsMSIE:
		obj.style.filter='Alpha(Opacity=50, FinishOpacity=50,Style=1, StartX=0, StartY=0, FinishX='+obj.style.pixelWidth+',FinishY='+obj.style.pixelHeight+')';
		break;
		case bIsFF:		
		obj.style.opacity=.50;
		//alert(obj.id);
		
	}
}

function setNormalThumb(obj){
	switch(true){
		case bIsMSIE:
		obj.style.filter='Alpha(Opacity=100, FinishOpacity=100,Style=1, StartX=0, StartY=0, FinishX='+obj.style.pixelWidth+',FinishY='+obj.style.pixelHeight+')';
		break;
		case bIsFF:
		obj.style.opacity=1;
	}
}


//select options

function addOption(oSelect, sText, sValue)
	{
		newOption = new Option(sValue, sText);
		if (oSelect.length == 1 && (oSelect.options[0].value == '')) {
			 oSelect.options[0] = newOption;
		} else {
		  oSelect.options[oSelect.length] = newOption;
		}
		newOption.selected = false;
	}


function optionExists(val, field)
	{
		for(var i = 0;i < field.length;i++)
		{
			if(field.options[i].value==val)
				return true;
		}
			return false;
	}

function removeOption(field) {
	if(field.options[field.selectedIndex].value != '') {
		if (field.length == 1) {
			field.options[0].selected = false;
			newOption = new Option(' ','');
			field.options[0] = newOption;
		} else {
			field.options[field.selectedIndex] = null;
		}
	} else {
            field.options[field.selectedIndex].selected = false;
        }
}

