var MAG = Object.extend({}, MAG || {});

MAG.IT_Products = Class.create(
{
	initialize: function(options)
	{
		this.options = {};
		Object.extend(this.options, options || {});


		this.options.action_url = _site_url.replace('/index', '');
		if(_site_url.indexOf('index') != -1)//equal to 'mobile' method
		{
			this.options.trademark_url = this.options.action_url + '/index';
			this.options.product_url = this.options.action_url + '/open/';
		}
		else//equal to 'open' method
		{
			this.options.trademark_url = this.options.action_url.replace('/open', '/index');
			this.options.product_url = this.options.action_url + '/';
		}

		if($('category'))
		{
			$('category').observe('change', function(){
				window.location = this.options.trademark_url + '?category=' + $F('category');
			}.bind(this));
		}

		if($('creator'))
		{
			$('creator').observe('change', function()
			{
				var loc = self.location.toString();
				var query_param = loc.indexOf('?') > -1 ? loc.toQueryParams() : {};
				if(query_param.category) {
					window.location = this.options.trademark_url + '?category=' + query_param.category + '&creator=' + $F('creator');
				}
				else {//used in open method
					window.location = this.options.trademark_url + '?category=' + $F('category') + '&creator=' + $F('creator');
				}
			}.bind(this));
		}

		if($('per_page'))
		{
			$('per_page').observe('change', function()
			{
				var loc = self.location.toString();
				var query_param = loc.indexOf('?') > -1 ? $H(loc.toQueryParams()) : $H({});

				//unset the 'page' parameter because it must be recalculated
				query_param.unset('page');
				query_param.set('per_page', $F('per_page'));

				window.location = this.options.trademark_url + '?' + query_param.toQueryString();
			}.bind(this));
		}

		if($('model'))
		{
			$('model').observe('change', function()
			{
				if($F('model') != 0) {//equal to all models
					window.location = this.options.product_url + $F('model');
				}
				else {
					window.location = this.options.trademark_url + '?creator=' + $F('creator');
				}
			}.bind(this));
		}
	}

});

document.observe('dom:loaded', function(){
	new MAG.IT_Products();
});
