content['siteDemand'] =  Class.create(
{
  isInit: false,
  initialize: function(arrInstVars)
  {
  
    this.THREAD_ID  = arrInstVars.THREAD_ID;
    this.EXEC_UID   = arrInstVars.EXEC_UID;
    
    if($('mainForm')) $('mainForm').observe('reset', this._onReset.bind(this));
    
    
	$$('*[_name="finDistrict"]').each(function(el)
    {
		el.observe('click', function(evt)
		{
			var text = evt.element().value;
			var elImg = $$('img[_text="'+text+'"]')[0];
	    	if(elImg.visible())
	    	{
	          elImg.hide();
	    	}
	    	else
	    	{
	          elImg.show();
	    	}
	    	this._checkTowns.bind(this).defer();
	
		}.bind(this));
	}.bind(this));
	
	
    $$('*[name="shape"]').invoke('observe', 'click', function(evt)
    {
    	var el = evt.element();
    	var text = el.getAttribute('_text');
    	var elImg = $$('img[_text="'+text+'"]')[0];
    	
    	var elSel = null;
    	$$('*[_name="finDistrict"]').each(function(el)
        {
    		if(el.value==text)
    		{
    			elSel = el;
    			
    		}
		});
    	
    	if(elImg.visible())
    	{
          elImg.hide();
          elSel.checked = false;
    	}
    	else
    	{
          elImg.show();
          elSel.checked = true;
    	}
    	this._checkTowns.bind(this).defer();
    	
    }.bind(this));
    
    if(Prototype.Browser.IE)
    {
    	var arrOpts = $('finTown').options;
    	this.arrTowns = {};
    	for (var i=0, length=arrOpts.length; i<length; i++) 
    	{
    		if(undefined == this.arrTowns[arrOpts[i].getAttribute('_owner')])
    		{
    			this.arrTowns[arrOpts[i].getAttribute('_owner')] = [];
    		}
    		this.arrTowns[arrOpts[i].getAttribute('_owner')].push(arrOpts[i].value);
    	}
    }
    
    this._init();
  },
  
  _checkTowns: function(text)
  {
	  var cnt = 0;	
	  $$('*[_name="finDistrict"]:checked').each(function(el)
	  {
		if(el.checked) cnt++;
	  });	
	  if(cnt==0)
	  {
		  if(!Prototype.Browser.IE)
		  {
		    $$('*[_name="finTown"]').invoke('show');
		  }
		  else
		  {
			$$('*[_name="finDistrict"]').each(function(el)
			{
				for(var i=0, length=this.arrTowns[el.value].length;i<length;i++)
				{	
				  var elOptNew = document.createElement('option');
				  elOptNew.value = this.arrTowns[el.value][i]; 
				  elOptNew.text = this.arrTowns[el.value][i]; 
				  document.getElementById('finTown').add(elOptNew);
				}
			}.bind(this)); 
		  }
		  return;
	  }	  
	  
	  if(!Prototype.Browser.IE)
	  {
		$$('*[_name="finTown"]').invoke('hide');
		$$('*[_name="finDistrict"]').each(function(el)
		{
		  if(el.checked) 
		  {
			  $$('*[_owner="'+el.value+'"]').invoke('show');
		  }
		});
	  }
	  else
	  {
    	var arrOpts = $('finTown').options;
    	for (var i=0, length=arrOpts.length; i<length; i++) 
    	{
    		arrOpts[i].remove();
    	}
    	
		$$('*[_name="finDistrict"]').each(function(el)
		{
			if(el.checked) 
			{
				for(var i=0, length=this.arrTowns[el.value].length;i<length;i++)
				{	
				  var elOptNew = document.createElement('option');
				  elOptNew.value = this.arrTowns[el.value][i]; 
				  elOptNew.text = this.arrTowns[el.value][i];
				  document.getElementById('finTown').add(elOptNew);
				}
			}
		}.bind(this));
	  }
  },
  
  _init: function()
  {
    $$('input[name="roomOrFlat"]').each(function(el)
    {
        if(!this.isInit) el.observe('change', this._onChange.bind(this));
        if(el.checked) this._initForm(el.value);
    }.bind(this));
	
	this._checkTowns();
    
    this.isInit=true
  },
  
  _onReset: function()
  {
    this._init.bind(this).defer();   
  },
  
  _onChange: function(evt)
  {
    this._initForm(evt.element().value);
  },
  
  _initForm: function(strType)
  {
    [$('quanForRoom')].invoke(strType=='flat' ? 'hide' : 'show');
  }
});
arrJsLoaded['content.siteDemand.js']=true;init.jsLoaded("content.siteDemand.js");