function historyChange(newLocation, historyData) {}

function setHistoryParameters(){

	var historyParameters="";
			
	if(typeof(window.products.store.baseParams.orderBy)!="undefined"){
		if(historyParameters !=""){
				historyParameters=historyParameters+"&orderBy="+window.products.store.baseParams.orderBy;
		}else{
			historyParameters="orderBy="+window.products.store.baseParams.orderBy;
		}				
	}
	if(typeof(window.products.store.baseParams.direction)!="undefined"){
		if(historyParameters !=""){			
			historyParameters=historyParameters+"&orderByDir="+window.products.store.baseParams.direction;
		}else{
			historyParameters="orderByDir="+window.products.store.baseParams.direction;
		}						
	}
	if(typeof(window.products.store.baseParams.items)!="undefined"){
		var temp=window.products.store.baseParams.items.replace(/,/g, "_");;
		if(historyParameters !=""){
			historyParameters=historyParameters+"&items="+temp;
		}else{
			historyParameters="items="+temp;
		}				
	}	
	if(typeof(window.products.store.lastOptions.params)!="undefined"){
		if(typeof(window.products.store.lastOptions.params.start)!="undefined"){				
		
			if(historyParameters !=""){
				historyParameters=historyParameters+"&start="+window.products.store.lastOptions.params.start;
			}else{
				historyParameters="start="+window.products.store.lastOptions.params.start;
			}
		}			
	}
	if(historyParameters!=""){		
		dhtmlHistory.add(historyParameters, historyParameters);
	}
	else{//if this is not added then the site is reloaded twice taking a lot of time
		dhtmlHistory.add("None", "none");
	}											
}

function getProduct(x){	
	window.location=x;		
}

function initHistory(){		
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(historyChange);	       			
}

function getUrlParam( name, baseURI ){
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	//var regexS = "[\\##&?]"+name+"=([^&##]*)";
	var regexS = name+"=([^&##]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( baseURI );
	if( results == null )
		return "";
	else{
		return results[1];
	}
}

//prepare default params
function prepareHistoryParameters(defaultParams, baseURI){
						
	var orderBy = getUrlParam("orderBy", baseURI);

	if((orderBy!=null )&&(orderBy != "Title" && orderBy!="Price")){
		defaultParams.orderBy="Title";
	}else{
		defaultParams.orderBy=orderBy;
	}
	
	var orderByDir = getUrlParam("orderByDir", baseURI);
	if(orderBy!=null &&(orderBy!="ASC" && orderBy!="DESC")){
		defaultParams.orderByDir="ASC";			
	}else{
		defaultParams.orderByDir=orderByDir;
	}
	var start = getUrlParam("start", baseURI);
	if(start!=null && isNumeric(start)){
		defaultParams.start=start;		
	}else{
		defaultParams.start=0;
	}
	
	var items = getUrlParam("items", baseURI);
	if(items!=null){			
		var itemsArr = items.split("_")
		if(itemsArr!=null && itemsArr.length>0){
			var commaSepItems= "";
			for(var j=0; j<itemsArr.length; j++){
				
				if(!isNumeric(itemsArr[j]))
					continue;
				
				if(j==itemsArr.length-1)
					commaSepItems=commaSepItems+itemsArr[j]
				else
					commaSepItems=commaSepItems+itemsArr[j]+",";
				}										
				defaultParams.items=commaSepItems;								
			}						
		}								
	return defaultParams;		
}

function isNumeric(value) {
	if (value == null || !value.toString().match(/^[-]?\d*\.?\d*$/)) return false;
		return true;
}

