/**
 * W_ProvincePopup Class
 * @author Marco Troost
 */
var W_ProvincePopup = new Class({
	
	/**
	 * initialize
	 * @param	string	root_node_id
	 * @param	string	popup_node_id
	 * @param	integer	object_type_id
	 * @param	integer	country_id
	 * @return	void
	 */
	initialize: function(root_node_id, popup_node_id, object_type_id, country_id)
	{
		// id's
		this.root_node_id				= root_node_id;		
		this.popup_node_id				= popup_node_id;		
		this.object_type_id				= object_type_id;		
		this.country_id					= country_id;		

		this.root_node					= $(this.root_node_id);	
		this.popup_node					= $(this.popup_node_id);		
		this.multiple_provinces_input	= $('multiple_provinces_input');
		
		// prefixes
		this.province_prefix			= 'province_';
	},
	
	/**
	 * start
	 * @return	void
	 */
	start: function()
	{		
		if (this.root_node_id)
		{			
			this.loadPopup();
		}
	},
	
	/**
	 * load popup
	 * @return	void
	 */
	loadPopup: function()
	{
		// set vars
		var _this		= this;
		var content_url	= '/http/province_popup.php?object_type_id='+this.object_type_id+'&country_id='+this.country_id;
		
		// make request
		var http_request = new Request.HTML(
		{
			url			: content_url,
			update		: this.popup_node,
			onComplete	: function() 
			{
				_this.closePopup();
			}
		});
		
		http_request.get();
		
		this.popup_node.setStyle('display', 'block');
		
		// IE6
		if (Browser.Engine.trident4)
		{
			_this.root_node.getElements('select').setStyle('display', 'none');	
		}
	},
	
	/**
	 * close popup
	 * @return	void
	 */
	closePopup: function()
	{			
		// set vars
		var _this 					= this;
		var close_button_node		= $('close_province_popup_button');
		var multiple_provinces		= '';
		
		close_button_node.removeEvents();
		close_button_node.addEvent('click',function()
		{
			// loop through checkboxes 
			var checkbox_nodes			= $('province_table').getElements('input');
			var total_checkbox_nodes	= checkbox_nodes.length;
			
			if (total_checkbox_nodes > 0)
			{			
				checkbox_nodes.each(function(checkbox_node, index)
				{				
					if (checkbox_node.checked == true)
					{
						var province_id = checkbox_node.get('value');
						var province_id = province_id.replace(_this.province_prefix, '');
						var province_id = province_id.toString();
						if (multiple_provinces == '')
						{
							multiple_provinces += province_id;
						}
						else
						{
							multiple_provinces += ','+province_id;							
						}
					}
				});
				
				_this.multiple_provinces_input.set('value', multiple_provinces);
			}			
			
			_this.popup_node.innerHTML = '';
			_this.popup_node.setStyle('display', 'none');
			
			// IE6
			if (Browser.Engine.trident4)
			{
				_this.root_node.getElements('select').setStyle('display', 'block');	
			}

			// send form
			$('search_form').submit();							
			return false;
		});
	}	

});
