goog.require('goog.ui.AutoComplete.Remote');
var makeRowItem_ = function(item,controlName) {

   item.render = function(node, token) {      
       var dom_ = goog.dom.getDomHelper(node);
      	var nameNode = dom_.createDom('span');
      	dom_.appendChild(nameNode, dom_.createTextNode(item.name));
      	dom_.appendChild(node, nameNode);
   };

   item.select = function(target) {

         var controlIds = document.getElementById(controlName + '_ids');
	 var controlNames = document.getElementById(controlName + '_names');	

  	 if (controlIds) controlIds.value += item.id + ", ";	
	 if (controlNames) controlNames.value += item.name + ", ";

   };

   item.toString = function() {

     return item.name;
     	
   }
	
   return item;

  };

  var geo = function(item){

	return makeRowItem_(item,'geo');

  }


  var geo = function(item){

	return makeRowItem_(item,'geo');

  }

  var rubric = function(item){

	return makeRowItem_(item,'rubric');

  }

  var keyword = function(item){

	return makeRowItem_(item,'keyword');

  }	 	

  var regions = function(item) {

	item.render = function(node, token) {      
       var dom_ = goog.dom.getDomHelper(node);
      	var nameNode = dom_.createDom('span');
      	dom_.appendChild(nameNode, dom_.createTextNode(item.name));
      	dom_.appendChild(node, nameNode);
   };

   item.select = function(target) {

         var controlIds = document.getElementById('region_ids');
	 var controlNames = document.getElementById('region_names');	

  	 if (controlIds) controlIds.value = item.id;	
	 if (controlNames) controlNames.value = item.name;

   };

   item.toString = function() {

     return item.name;
     	
   }
	
   return item;	

  }

  


  var input = document.getElementById('topGeo');

  var ac = new goog.ui.AutoComplete.RichRemote('/catalog/autocomplete.php?lang=Ru'+CurrentRegion.regionIdString+'&new=1', input, true);
  ac.setMaxMatches(20);

  var regionAutoComplete = null;

  var regionDialog = new goog.ui.Dialog(null, true);
  regionDialog.setContent('Пожалуйста выберите ваш регион:<form onSubmit="return false;">' +
	'<br><input type="text" id="region" size="40" value="' + CurrentRegion.name + '" autocomplete="off"/>'+
	'<input type="hidden" id="region_ids"/><input type="hidden" id="region_names"/>'+
        '<br><input type="submit" value="Выбрать" onClick="setRegion();"><input type="button" value="все регионы" onClick="resetRegion()"><input type="button" value="Отмена" onClick="regionDialog.setVisible(false);"></form>');
  regionDialog.setTitle('Выбор региона');

  //regionDialog.setButtonSet(goog.ui.Dialog.ButtonSet.YES_NO_CANCEL);

  
  goog.events.listen(regionDialog, goog.ui.Dialog.EventType.SELECT, function(e) {
      alert('You chose: ' + e.key);
  });
	
  window.onload = function() {
    //setFilter();
    ac.setUseStandardHighlighting(true);
  };

 function openRegionsDialog(){

	regionDialog.setVisible(true);
	regionDialog.setButtonSet(null);
	//regionDialog.setDisposeOnHide(true);

        var input = document.getElementById('region');

	if (!regionAutoComplete) {
		
 		regionAutoComplete = new goog.ui.AutoComplete.RichRemote('/catalog/autocomplete.php?lang=Ru&new=1&mode=regions', input, false);
 	 	regionAutoComplete.setMaxMatches(20);	

	}

         input.focus();

 }

 function setRegion(){


	regionDialog.setVisible(false);

	var input = document.getElementById('region_ids');

	if (input.value!=''){
	
		var a =	input.value.split('_');

		if (a[0] == 1){
			
			eraseCookie('CityId');
			createCookie('RegionId',a[1],3600);
			document.location = '/?' + new Date().getTime();
			

		} else if (a[0] == 2){

                        eraseCookie('RegionId');
		        createCookie('CityId',a[1],3600);
			document.location = '/?' + new Date().getTime();
			
		}

	}
				

 }                                           

 function resetRegion(){

	regionDialog.setVisible(false);

	var input = document.getElementById('region_ids');

	if (input) input.value = '';

	input = document.getElementById('region');

	if (input) input.value = '';

	input = document.getElementById('region_names');

	if (input) input.value = '';

	if (readCookie('CityId') || readCookie('RegionId')){

		eraseCookie('CityId');
                eraseCookie('RegionId');
		document.location = '/?' + new Date().getTime();

	}

 } 


