
function settingPageClass()
{
    this.parameters={Style:"",Type:"",MinPrice:"",MaxPrice:"",Designer:""};
    this.load=function()
    {
            this.parameters = this.getUrl();
	        this.setForm();
			this.search();
    }
    //MANUALLY ASSIGN THE CHECKBOXES ET AL...
	this.search = function()
	{
		refreshDisplay();
		
	}


    this.setForm = function()
    {
		var styleboxes = document.getElementsByName('chkSettingStyle');
		//alert(styleboxes.length);
		for (i = 0; i < styleboxes.length; i++){

			for(var j=0; j < this.parameters.Style.split(",").length; j++) {
				//if(styleboxes[i].value == "'"+this.parameters.Style.split(",")[j]+"'" )
				if(styleboxes[i].value == this.parameters.Style.split(",")[j] )
				{
					styleboxes[i].checked = true;
					
				}
			}

		}

		var typeboxes = document.getElementsByName('chkSettingType');
		
		for (i = 0; i < typeboxes.length; i++){

			for(var j=0; j < this.parameters.Type.split(",").length; j++) {
				//if(typeboxes[i].value == "'"+this.parameters.Type.split(",")[j]+"'" )
				if(typeboxes[i].value == this.parameters.Type.split(",")[j] )
				{
					typeboxes[i].checked = true;
					
				}
			}

		}
		
		var sdrop = document.getElementById('cboDesigner');
		
		for ( var i = 0; i < sdrop.options.length; i++ ) {
        		if (sdrop.options[i].value == this.parameters.Designer) {
            		sdrop.options[i].selected = true;
            
        		}
		}

		
		//uncomment below section later
		if (this.parameters.MinPrice!='')
			this.setSliderValue(0,this.parameters.MinPrice,140,.5,18);
		if (this.parameters.MaxPrice!='')
			this.setSliderValue(1,this.parameters.MaxPrice,140,.5,-1);
		}

    this.setDropDown = function(name,value)
    {
	this.parameters = this.getUrl();
	this.parameters[name] = value;
	this.setUrl();
	
    }

    this.setParameter = function(name,value,append)
    {
		if (typeof append == 'undefined')
			append = true;
			
        //SET THE parameters object
		this.parameters = this.getUrl();
		//alert(this.parameters[name]);
		//CHECK FOR APPEND, WHEN TRUE - DO THE FOLLOWING, WHEN FALSE, REMOVE IT
		if(append)
		{
			if(this.parameters[name] != "" && this.parameters[name].indexOf(value) == -1)
			{
				this.parameters[name] = this.parameters[name] + ',' + value;
			}
			else if(this.parameters[name] == "")
			{
				this.parameters[name] = value;
			}
		}
		else
		{
			if(this.parameters[name] != "" && this.parameters[name].indexOf(value) >=0)
			{
				if(this.parameters[name].indexOf(','+value) >= 0)
				{
					value = ','+ value;
					this.parameters[name] = this.parameters[name].replace(value,'');
				}
				else if(this.parameters[name].indexOf(value+',') >= 0)
				{
					value = value + ',';
					this.parameters[name] = this.parameters[name].replace(value,'');
				}
				else
				{
					this.parameters[name] = this.parameters[name].replace(value,'');
				}
				
			}
		}
		this.setUrl();
    }

	this.setSliderValue=function(index,value,width,p,fix)
	{
		var o_slider = window.A_SLIDERS[index];
	
		var val = positionSlope(value,o_slider.n_minValue,o_slider.n_maxValue,7,p);
		var valpos = val * width - fix;
		 o_slider.f_setValue(o_slider.n_minValue + (valpos - o_slider.n_pathLeft) / o_slider.n_pix2value); 
	}
	
	this.setSlider = function(name,value)
	{
		this.parameters = this.getUrl();
		this.parameters[name] = value;
		this.setUrl();
	}

    this.setUrl = function()
    {
        //var str = window.location.href;
		//str = str.replace(window.location.hash,'');

		var str = window.location+'';
		var pIndex = str.indexOf('#');
		if (pIndex > 0)
		{
			str = str.substring(0,pIndex);
		}
		
		//alert(window.location.href);
		//alert(window.location.hash);
		//alert(str);

		window.location.replace(str+'#search/'+'Style='+this.parameters.Style+'&Type='+this.parameters.Type+'&MinPrice='+this.parameters.MinPrice+'&MaxPrice='+this.parameters.MaxPrice+'&Designer='+this.parameters.Designer);
        //BUILD THE STR TO CONTAIN THE PARAMETERS
       // window.location.replace('#')
	   
    }
    this.getUrl = function()
    {
        //USE THE CURRENT URL TO GET THE PARAMETERS

        var params = {Style:"",Type:"",MinPrice:"",MaxPrice:"",Designer:""};
        //POPULATE THE parameters...
		var str = window.location+'';
		var pIndex = str.indexOf('#search/');
		
		if (pIndex>0)
        {
            var searchString = str.substring(pIndex+8,str.length);
		    var page = new PageQuery(searchString);

			params.Style = unescape(page.getValue('Style'));
			params.Type = unescape(page.getValue('Type'));
			params.MinPrice = unescape(page.getValue('MinPrice'));
			params.MaxPrice = unescape(page.getValue('MaxPrice'));
			params.Designer = unescape(page.getValue('Designer'));			

        }
        return params; 
    } 
}


function PageQuery(q) {
if(q.length > 1) this.q = q.substring(0, q.length);
else this.q = null;
this.keyValuePairs = new Array();
if(q) {
for(var i=0; i < this.q.split("&").length; i++) {
this.keyValuePairs[i] = this.q.split("&")[i];
//alert(this.keyValuePairs[i]);
}
}
this.getKeyValuePairs = function() { return this.keyValuePairs; }
this.getValue = function(s) {
for(var j=0; j < this.keyValuePairs.length; j++) {
if(this.keyValuePairs[j].split("=")[0] == s)
return this.keyValuePairs[j].split("=")[1];
}
return "";
}
this.getParameters = function() {
var a = new Array(this.getLength());
for(var j=0; j < this.keyValuePairs.length; j++) {
a[j] = this.keyValuePairs[j].split("=")[0];
}
return a;
}
this.getLength = function() { return this.keyValuePairs.length; }
}
