
// scripts used by townsearch application 

function copyField(form, name, value){
   var field = locateField( form,name);
   if(field && field.type == 'text'){
      field.value=value;
   }
   if(field && field.type == 'hidden'){
      field.value=value;
   }
   if(field && field.type == 'select-one'){
     setSelectInput(field, value);
   }
}

function locateField(form, name){
   for (var i = 0; i< form.elements.length; i++) {
	if(form.elements[i].name == name){
	  return(form.elements[i]);
        }
   }
}


function setSelectInput(selectInput, value){
  for (var i = 0; i<selectInput.length; i++) {
     if(selectInput.options[i].value == value){
	selectInput.selectedIndex=i;
     }
  }
}


function populateCaller(srcForm){
  if (!(window.opener && !window.opener.closed)){
    alert("error populating caller");
    return(false);
  }
  // read out callback fields
  var callerFormName                 = locateField(srcForm, "callerFormName").value;
  var callerFormFieldCityName        = locateField(srcForm, "callerFormFieldCity").value;
  var callerFormFieldPostCode1Name   = locateField(srcForm, "callerFormFieldPostCode1").value;
  var callerFormFieldPostCode2Name   = locateField(srcForm, "callerFormFieldPostCode2").value;
  var callerFormFieldCountryCodeName = locateField(srcForm, "callerFormFieldCountryCode").value;

  // alert(callerFormName);
  // alert(callerFormFieldCityName); 
  // alert(callerFormFieldPostCode1Name);
  // alert(callerFormFieldPostCode2Name);
  // alert(callerFormFieldCountryCodeName);
  var destForm = eval( "window.opener.document."+ callerFormName);
  if(!destForm){
    alert("destform not found");
    return(false);
  }
  var postCode1 = srcForm.postCode.value;
  var postCode2 = "";


  var dstPostCode1Field = locateField(destForm,callerFormFieldPostCode1Name);
  var dstPostCode2Field = locateField(destForm,callerFormFieldPostCode2Name);

  if(srcForm.countryCode.value == "NL"){
    //dutch adresses have 2 fields..
    postCode1 = srcForm.postCode.value.substring(0,4);
    postCode2 = srcForm.postCode.value.substring(5,7);
    dstPostCode2Field.style.visibility="visible";
//    dstPostCode2Field.style.display="block";
  }else{
    dstPostCode2Field.style.visibility="hidden";
//    dstPostCode2Field.style.display="none";
   }


  locateField(destForm,callerFormFieldCityName).value        = locateField(srcForm, "city").value;
  dstPostCode1Field.value   = postCode1;
  dstPostCode2Field.value   = postCode2;
  locateField(destForm,callerFormFieldPostCode2Name).value   = postCode2;
  locateField(destForm,callerFormFieldCountryCodeName).value = locateField(srcForm, "countryCode").value;
  //destFrom.submit();
  return(true);
}

