function repeat(s, n){
    var a = [];
    while(a.length < n){
        a.push(s);
    }
    return a.join('');
}

function change_location(value, _parent, uid, _lang) {
  if (typeof _lang == "undefined") {
    _lang = 'fr';
  }	
	jQuery('#label_city_'+uid+'').hide();
	jQuery('#select_city_'+uid+'').hide();
	jQuery('#'+uid+'_city').val('');	
	
	jQuery.post("/services/modules/geo/ajax/ajax.php", {todo: 'change_location', prev_value: value, _parent: _parent, uid: uid, _lang: _lang},
   function(data){
     if(data.code==200 || data.code==300) {	
     	var c = data.level.length;
     	for(var j = c; j < 4; j++) {
     		jQuery('#select_'+data.level+repeat('i', j-c)+'_'+uid+'').html(data.message);
     		jQuery('#label_'+data.level+repeat('i', j-c)+'_'+uid+'').html(data.label);  
     	}   
     	
     	if(data.code==300 && c==3) {
     		jQuery('#label_city_'+uid+'').show();
     		jQuery('#select_city_'+uid+'').show();
     		jQuery('#'+uid+'_city').val('');

     		//jQuery('#'+uid+'_city').autocomplete('ajax.php?todo=autoc&cy='+_parent+'&pv='+value);     		
				jQuery('#'+uid+'_city').unautocomplete().autocomplete(data.cities);   
     	} 
     	
     	if(data.code==200) {
     		jQuery('#label_city_'+uid+'').hide();
     		jQuery('#select_city_'+uid+'').hide();
     		jQuery('#'+uid+'_city').val('');     		
     	}   			  		
     } else {
     		//alert(data.message);
     		jQuery('#select_'+data.level+'_'+uid+'').html(data.message);
     		jQuery('#label_'+data.level+'_'+uid+'').html(data.label);     		
	     	var c = data.level.length;
	     	for(var j = c+1; j < 4; j++) {
	     		jQuery('#select_'+data.level+repeat('i', j-c)+'_'+uid+'').html("");
	     		jQuery('#label_'+data.level+repeat('i', j-c)+'_'+uid+'').html("");  
	     	}       		
     } 
   }, "json");
}

