function SelObj(formname,selname,textname,str) {
this.formname = formname;
this.selname = selname;
this.textname = textname;
this.select_str = str || '';
this.selectArr = new Array();
this.initialize = initialize;
this.bldInitial = bldInitial;
this.bldUpdate = bldUpdate;
}

function initialize() {
if (this.select_str =='') {
for(var i=0;i<document.forms[this.formname][this.selname].options.length;i++) {
this.selectArr[i] = document.forms[this.formname][this.selname].options[i];
this.select_str += document.forms[this.formname][this.selname].options[i].value+":"+
document.forms[this.formname][this.selname].options[i].text+",";
   }
}
else {
var tempArr = this.select_str.split(',');
for(var i=0;i<tempArr.length;i++) {
var prop = tempArr[i].split(':');
this.selectArr[i] = new Option(prop[1],prop[0]);
   }
}
return;
}
function bldInitial() {
this.initialize();
for(var i=0;i<this.selectArr.length;i++)
document.forms[this.formname][this.selname].options[i] = this.selectArr[i];
document.forms[this.formname][this.selname].options.length = this.selectArr.length;
return;
}

function bldUpdate() {
var str = document.forms[this.formname][this.textname].value.replace('^\\s*','');
if(str == '') {this.bldInitial();return;}
this.initialize();
var j = 0;
pattern1 = new RegExp("^"+str,"i");
for(var i=0;i<this.selectArr.length;i++)
if(pattern1.test(this.selectArr[i].text)) 
document.forms[this.formname][this.selname].options[j++] = this.selectArr[i];
document.forms[this.formname][this.selname].options.length = j;
if(j==1){
document.forms[this.formname][this.selname].options[0].selected = true;
//document.forms[this.formname][this.textname].value = document.forms[this.formname][this.selname].options[0].text;
   }
}
function setUp() {
obj1 = new SelObj('vol_form','do_vol_postcode','entry');
// menuform is the name of the form you use
// itemlist is the name of the select pulldown menu you use
// entry is the name of text box you use for typing in
obj1.bldInitial(); 
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function MM_openBrWindow(theURL,winName,features) {
	window.open(theURL,winName,features);
	}

function LmOver(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#FFFFFF";
elem.style.cursor = 'hand'}

function LmOut(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#000000";}

function LmDown(elem, clr)
{elem.style.backgroundColor = clr;
elem.children.tags('A')[0].style.color = "#FFFFFF";}

function LmUp(path)
{location.href = path;}

function validRequired(formField,fieldLabel,lang){
	var result = true;
	if (formField.value == "")	{
		if(lang == "fr"){
		alert('Veuillez indiquer votre "' + fieldLabel +'" svp!');
		}
		else if(lang == "nl"){
		alert('Gelieve uw "' + fieldLabel +'" te kiezen!');
		}
		formField.focus();		result = false;	
		}
	return result;
}
function IsNumeric(formField1,fieldLabel,lang) {
   formField = formField1.value;
   var strValidChars = "0123456789-";
   var strChar;
   var blnResult = true;

   if (formField.length == 0) return true;
   for (i = 0; i < formField.length && blnResult == true; i++){
      strChar = formField.charAt(i);
      if (strValidChars.indexOf(strChar) == -1){
         if(lang == 'nl'){
        	 alert('"' + fieldLabel +'" moet numeriek zijn.'); 
         }
         else if(lang == "fr"){
        	 alert('"' + fieldLabel +'" doivent être numéric.'); 
         }
         else{
    	  alert('"' + fieldLabel +'" moet numeriek zijn.');  
         }
         formField1.focus();
         blnResult = false;
      }
   return blnResult;
   }
}
 function validateForm(theForm,lang){	
 	if (!validRequired(theForm.do_vol_lname,"Naam",lang))
		return false;
	if (!validRequired(theForm.do_vol_fname,"Voornaam",lang))
		return false;
	if (!validRequired(theForm.do_vol_street,"Straat",lang))
		return false;
	if (!validRequired(theForm.do_vol_streetnum,"StraatNum",lang))
		return false;
	if (!IsNumeric(theForm.do_vol_streetnum,"StraatNum",lang))
		return false;
	if (!IsNumeric(theForm.do_vol_phone,"Telefoon",lang))
		return false;
	if (!IsNumeric(theForm.do_vol_fax,"Fax",lang))
		return false;
	
	
	if (!validRequired(theForm.do_vol_email,"Email",lang))
		return false;
	if(document.vol_form.trans_box.checked)	{
		var selObj1 = document.getElementById('transf');
		var selObj2 = document.getElementById('transt');
		var selectedArray = new Array();
  		var i;
  		var count = 0;
  		for (i=0; i<4; i++) { 
    		if (selObj1.options[i].selected) {
      			if( i  == selObj2.selectedIndex ){
      				if(lang == "fr"){
      					alert("Dans la section traduction, les langues source et destination doivent être différentes");
      					}
      				else if(lang == "nl"){
      				alert("De velden 'vertaling uit' en 'vertaling naar' kunnen een andere waarde hebben.");
      				}
      				else{
      				alert('Translation from and to fields may not have same value');
      					
      				}
						return false;
					selObj2.focus();
					}
				//selectedArray[count] = selObj.options[i].value; count++;
    }  }  }
	return true;
}
