function openLocation ($sShortCode,$sAction)
{
  $aLocations = $('top_locations_holder_edit').getElementsByTagName('div');
  for ($i = 0; $i < $aLocations.length; $i++)
  {
    if ($aLocations[$i].id.endsWith("_holder_edit") ){
          $aLocations[$i].style.display = 'none';
    }
  }
  $aLocations = $('top_locations_holder_view').getElementsByTagName('div');
  for ($i = 0; $i < $aLocations.length; $i++)
  {
    if ($aLocations[$i].id.endsWith("_holder_view") ){
          $aLocations[$i].style.display = 'none';
    }
  }
  $aLocationsLinks = $('locaties_menu').getElementsByTagName('a');
  for ($i = 0; $i < $aLocationsLinks.length; $i++)
  {
    if (Element.hasClassName($aLocationsLinks[$i], 'active'))
    {
      Element.removeClassName($aLocationsLinks[$i],'active');
    }
  }  
  $($sShortCode + '_link').addClassName('active');
  
  if ($sAction == 'view'){
    if ($($sShortCode + '_original[new]').value == 'true'){
      $($sShortCode + '_holder_edit').style.display = 'block';
    } else {
      $($sShortCode + '_holder_view').style.display = 'block';
    }
  } else {
    $($sShortCode + '_holder_edit').style.display = 'block';
  }
  if($($sShortCode + '_sNoticeMessage')){
    $($sShortCode + '_sNoticeMessage').innerHTML = "";
  }
  
}

var subm = false
  function dirty(formname) {
    subm = true;
  for(i=0; i<$(formname).length;i++){
    if ($(formname)[i].onclick){
      $(formname)[i].onclick();
    }
    }
    subm = false;
  }
  
  function restore(formname) {
    for(i=0; i<$(formname).length;i++){
      if ($(formname)[i].onblur){
        $(formname)[i].onblur();
      }
    }
  }


function reloadLocationAutoComplete($sShortCode){
    $($sShortCode+'[straat]').value = '';
    $($sShortCode+'[straat_id]').value = '';    
    //$($sShortCode+'_curtain').morph('height: 245px;');
    window.autocompleters[$sShortCode].url = "?page=texy&actiontype=ajax&action=get_street_list&city_id="+$($sShortCode+'[plaats]').value+"&shortcode="+$sShortCode;
}

function lowerCurtainAfterStreet ($sShortCode){
  //$($sShortCode+'_curtain').morph('height: 195px;');
}

function onKeyPressNumbers(e, $sShortCode)
{
   var key = window.event ? e.keyCode : e.which;
   var keychar = String.fromCharCode(key);
   if (e.keyCode == 9 || e.keyCode == 8 || e.keyCode ==35 || e.keyCode == 36 || e.keyCode == 46 || e.keyCode == 27 || e.keyCode == 116){
     return e.keyCode;
   } else {
     reg = /\D/;
     var result = !reg.test(keychar);
     if (result){
      //$($sShortCode+'_curtain').morph('height: 0px;');
     } 
     return result;
   }
}

function tabDisable(event){
  var e = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
  if (e == 9) {
    return false;
  }
  return true;
}

function storeShortCode($sShortCode){
  var $bError = false;
  var $bChanged = false;
  var $sErrorClassName = 'error';
  
  // First, remove all error definitions
  $($sShortCode+'[plaats]').removeClassName($sErrorClassName);
  $($sShortCode+'[straat]').removeClassName($sErrorClassName);
  $($sShortCode+'[huisnummer]').removeClassName($sErrorClassName);
  $($sShortCode+'[specific_info]').removeClassName($sErrorClassName);
  $('error_message_'+$sShortCode+'[plaats]').innerHTML = "";
  $('error_message_'+$sShortCode+'[straat]').innerHTML = "";
  $('error_message_'+$sShortCode+'[huisnummer]').innerHTML = "";
  $('error_message_'+$sShortCode+'[specific_info]').innerHTML = "";
  
  // Check the form for changes and errors.
  if (($($sShortCode+'_original[plaats]').value != $($sShortCode+'[plaats]').options[ $($sShortCode+'[plaats]').selectedIndex].text)){
    $bChanged = true;
    if (($($sShortCode+'[plaats]').value == "")){
      $bError = true;
      $($sShortCode+'[plaats]').addClassName($sErrorClassName);
      $('error_message_'+$sShortCode+'[plaats]').innerHTML = "| Kies een plaats";
    }
  }

  /*var $badWordStraat = false;
  //check street for bad words
  new Ajax.Request('index.php?page=texy&actiontype=ajax&action=getBadWords&text='+$($sShortCode+'[straat]').value,
		  {
		    method:'post',
		    parameters: $($sShortCode+'[straat]').value,
		    onSuccess: function(transport){
		      var $sResponse = transport.responseText;
		      
		      if($sResponse != "")
		      {
		    	 $badWordStraat = true;
		        $($sShortCode+'[straat]').addClassName($sErrorClassName);
		        $('error_message_'+$sShortCode+'[specific_info]').innerHTML = "De volgende woorden zijn niet toegestaan: "+$sResponse;
		        $bError = true;
		        
		      }
		      
		    },
		    onFailure: function(){ alert('Something went wrong during the form validation process!'); }
		    
  
		  });
  */
  
  new Ajax.Request('index.php?page=texy&actiontype=ajax&action=getBadWords&text='+$($sShortCode+'[specific_info]').value,
  {
    method:'post',
    parameters: $($sShortCode+'[specific_info]').value,
    onSuccess: function(transport){
      var $sResponse = transport.responseText;
      
      if($sResponse != "")
      {
        $($sShortCode+'[specific_info]').addClassName($sErrorClassName);
        $('error_message_'+$sShortCode+'[specific_info]').innerHTML = "De volgende woorden zijn niet toegestaan: "+$sResponse;
        $bError = true;
      }
    },
    onFailure: function(){ alert('Something went wrong during the form validation process!'); },
    onComplete: function(){

      //this code is only continued when the Ajax call is done
    	//if($skipStraat == false) { //skip check if straat has set off badword filter
    		// Streetname is changed, but not validated.
    		
	      if (($($sShortCode+'_original[straat]').value != $($sShortCode+'[straat]').value) || $($sShortCode+'[straat]').value == ""){
	        $bChanged = true;
	        
        
        
        
        if ($($sShortCode+'[straat]').value == "" || $($sShortCode+'[straat]').value == "-- geen resultaten --" ){
          // Streetname is empty
          $('error_message_'+$sShortCode+'[straat]').innerHTML = "| Straatnaam is verplicht!";
          $bError = true;
          $($sShortCode+'[straat]').addClassName($sErrorClassName);      
        } else if (($($sShortCode+'_original[straat_id]').value == $($sShortCode+'[straat_id]').value) || $($sShortCode+'[straat_id]').value == ''){
        
          
	          $($sShortCode+'[straat]').addClassName($sErrorClassName);
	          $('error_message_'+$sShortCode+'[straat]').innerHTML = "| Straatnaam niet gevonden, kies een straat vanuit de dropdown box.";
	          $bError = true; 
          
         }
        } 
        
        	
        	
        
        
     // }
    	
      if (($($sShortCode+'_original[huisnummer]').value != $($sShortCode+'[huisnummer]').value)  || $($sShortCode+'[huisnummer]').value == ""){
        $bChanged = true;
        if (($($sShortCode+'[huisnummer]').value == "")){
          // Housenumber is empty
          $($sShortCode+'[huisnummer]').addClassName($sErrorClassName);
          $('error_message_'+$sShortCode+'[huisnummer]').innerHTML = "| Huisnummer is verplicht!";
          $bError = true;
        }
      }
         
      if (($($sShortCode+'_original[huisnummertoevoeging]').value != $($sShortCode+'[huisnummertoevoeging]').value)){
        $bChanged = true;    
      }
      if (($($sShortCode+'_original[specific_info]').value != $($sShortCode+'[specific_info]').value)){
        $bChanged = true;    
      }
      
      if (!$bChanged && !$bError){
        openLocation($sShortCode,'view');
        return false;
      } else if (!$bError && $bChanged){
        $($sShortCode+'_form').submit();
      } else {
        window.iserror = 1;
        return false;
      }      
          
      
    }
  });  
  
  

}

function charCounter(id, maxlimit, limited){
	if (!$('counter-'+id)){
		$(id).insert({after: '<div id="counter-'+id+'"></div>'});
	}
	if($F(id).length >= maxlimit){
		if(limited){	$(id).value = $F(id).substring(0, maxlimit); }
		$('counter-'+id).addClassName('charcount-limit');
		$('counter-'+id).removeClassName('charcount-safe');
	} else {	
		$('counter-'+id).removeClassName('charcount-limit');
		$('counter-'+id).addClassName('charcount-safe');
	}
	$('counter-'+id).update( $F(id).length + '/' + maxlimit );	
		
}

function makeItCount(id, maxsize, limited){
	if(limited == null) limited = true;
	if ($(id)){
		Event.observe($(id), 'keyup', function(){charCounter(id, maxsize, limited);}, false);
		Event.observe($(id), 'keydown', function(){charCounter(id, maxsize, limited);}, false);
		charCounter(id,maxsize,limited);
	}
}

function checkNameForBadWords()
{
	 new Ajax.Request('index.php?page=texy&actiontype=ajax&action=getBadWords&text='+$document.getElementById('[input_voornam]').value,
			  {
			    method:'post',
			    
			    parameters: $document.getElementById('[input_voornam]').value,
			    
			    onSuccess: function(transport){
			      var $sResponse = transport.responseText;
			      
			      if($sResponse != "")
			      {
			    	 //set error message
			        //$($document.getElementById('[input_voornam]').addClassName($sErrorClassName);
			        //$('error_message_'+$document.getElementById('[input_voornam]').innerHTML = "De volgende woorden zijn niet toegestaan: "+$sResponse;
			        $bError = true;
			        
			      }
			      
			    },
			    onFailure: function(){ alert('Something went wrong during the form validation process!'); }
			    
	  
			  });
}
