navigationLoadInProccess = false;
navigationOpenFilters = {};

function navigationOpenFilter(request_var){

	var id = 'advancednavigation-filter-content-'+request_var;
	var idPlus = 'advancednavigation-filter-content-'+request_var+'-plus';
	var idMinus = 'advancednavigation-filter-content-'+request_var+'-minus';

	if( $(id).style.display == 'none' ){

		$(id).style.display = 'block';
		$(idPlus).style.display = 'none';
		$(idMinus).style.display = 'inline';

		navigationOpenFilters[request_var+'_is_open'] = true;

	}else{

		$(id).style.display = 'none' ;
		$(idMinus).style.display = 'none';
		$(idPlus).style.display = 'inline' ;

		navigationOpenFilters[request_var+'_is_open'] = false;
	}

}

function startLoadNavigationData(){

	if(navigationLoadInProccess){
		return false;
	}

	navigationLoadInProccess = true;

	var overlay = $('advanced-navigation-overlay');

	if($$('div.category-products').length > 0){

		var element = $$('div.category-products')[0];

	}else if($$('div.col-main p.note-msg')){

		var element = $$('div.col-main p.note-msg')[0];

	}else{

		return;
	}

	if(!overlay){

		overlay = document.createElement('div');

		overlay.id = 'advanced-navigation-overlay';
		document.body.appendChild(overlay);
	}

	var viewportOffset = Element.viewportOffset( element ); // REDSTAGE CUSTOM

	overlay.style.top		= element.offsetTop + 'px';
	//overlay.style.left		= element.offsetLeft + 'px';
	overlay.style.left		= viewportOffset[0] + 'px'; // REDSTAGE CUSTOM
	overlay.style.width		= element.offsetWidth + 'px';
	overlay.style.height	= element.offsetHeight + 'px';

	overlay.style.display = 'block';


	var loadinfo = document.createElement('div');

	if(loadimagealign == 'bottom'){

		loadinfo.innerHTML = gomage_navigation_loadinfo_text+'<img src="'+loadimage+'" alt="" class="align-'+loadimagealign+'"/>';

	}else{

		loadinfo.innerHTML = '<img src="'+loadimage+'" alt="" class="align-'+loadimagealign+'"/>'+gomage_navigation_loadinfo_text;

	}

	loadinfo.id = "navigation_loadinfo";
	loadinfo.className = "gan-loadinfo";

	document.body.appendChild(loadinfo);

	return navigationLoadInProccess;

}

function stopLoadNavigationData(){

	var overlay = $('advanced-navigation-overlay');

	if(overlay){
		overlay.style.display = 'none';
	}

	document.body.removeChild($('navigation_loadinfo'));

	return navigationLoadInProccess = false;

}

function submitNavigationForm(form, url){

	var url = url.replace(/&amp;/ig, '&');

	var elements = form.elements;

	var params = Object.clone(navigationOpenFilters);

	for(var i=0;i< elements.length;i++){

		element = elements[i];

		switch(element.nodeName){

			case 'INPUT': case 'SELECT': case 'TEXTAREA':

				if(element.value){

					params[element.name] = element.value;

				}

			break

		}

	}

	if(!url){
		url = form.action;
	}

	if(startLoadNavigationData()){

	var request = new Ajax.Request(url,
	  {
		method:'GET',
		parameters:params,
		onSuccess: function(transport){

			var response = eval('('+(transport.responseText || false)+')');

			replaceNavigationBlock(response.navigation);
			replaceProductsBlock(response.product_list);

			if(response.eval_js){
				eval(response.eval_js);
			}

			/*...*/

			stopLoadNavigationData();

		},
		onFailure: function(){
			stopLoadNavigationData();
		}
	  });

	}

}

function setNavigationUrl(url){

	var url = url.replace(/&amp;/ig, '&');

	if(startLoadNavigationData()){
	var request = new Ajax.Request(url,
	  {
		method:'get',
		parameters:navigationOpenFilters,
		onSuccess: function(transport){
			var response = eval('('+(transport.responseText || false)+')');
			replaceNavigationBlock(response.navigation);
			replaceProductsBlock(response.product_list);

			if(response.eval_js){
				eval(response.eval_js);
			}
			stopLoadNavigationData();
		},
		onFailure: function(){
			alert( 'failed!' );
			setLocation(url); //trying redirect to url
		}
	  });

	}
}

function replaceProductsBlock(content){
	// REDSTAGE COMMENTED IN
	//document.getElementById('rsnList').style.display = 'block';
	//document.getElementById('toolbar-top').style.display = 'block';
	//document.getElementById('toolbar-bot').style.display = 'block';
	// REDSTAGE COMMENTED OUT

	if($$('div.category-products').length > 0){
		element = $$('div.category-products')[0];
	}else if($$('div.col-main p.note-msg')){
		element = $$('div.col-main p.note-msg')[0];
	}else{
		return;
	}


	if (content && content.toElement){
		content = content.toElement();
	}else if (!Object.isElement(content)) {

	  content = Object.toHTML(content);
	  var tempElement = document.createElement('div');
	  content.evalScripts.bind(content).defer();

	  tempElement.innerHTML = content;
	  content = tempElement; // REDSTAGE CUSTOM
	  //content = tempElement.firstChild; // REDSTAGE COMMENTED OUT

	}

	//element.parentNode.replaceChild(content, element); // REDSTAGE COMMENTED OUT


	element.parentNode.innerHTML = content.innerHTML; // REDSTAGE CUSTOM

}


function replaceNavigationBlock(content){


	var element = $$('div.block-layered-nav')[0];

	if (content && content.toElement){

		content = content.toElement();

	}else if (!Object.isElement(content)) {

	  content = Object.toHTML(content);

	  var tempElement = document.createElement('div');
	  content.evalScripts.bind(content).defer();

	  tempElement.innerHTML = content;

	  content = tempElement; // REDSTAGE CUSTOM
	  //content = tempElement.firstChild; // REDSTAGE COMMENTED OUT

	}

	//element.parentNode.replaceChild(content, element); // REDSTAGE COMMENTED OUT
	element.parentNode.innerHTML = content.innerHTML; // REDSTAGE CUSTOM

}

function initSlider(code, min, max, curr_min, curr_max, url){

	if(min == max){
		max++;
		if(curr_min == curr_max){
			curr_max++;
		}

	}
	var handles = [code+'-handle-from', code+'-handle-to'];

	var s1 = new Control.Slider(handles,code+'-track', {axis:'horizontal',alignY:0, range: $R(min,max), sliderValue: [curr_min, curr_max],restricted: true,  spans: [code+"-square_slider_span"]});
	s1.options.onChange = function(value){

			$(code+'-filter-form').elements[code+'_from'].value = parseInt(value[0]);
			$(code+'-filter-form').elements[code+'_to'].value = parseInt(value[1]);

			if(min == value[0] && max == value[1]){

				//setNavigationUrl(url);
				submitNavigationForm($(code+'-filter-form'), url);

			}else{

				submitNavigationForm($(code+'-filter-form'), url);

			}

			var htmlvalue = parseInt(value[0]) + ' - ' + parseInt(value[1]);

			if(value[0] >= 0 && value[1] >= 0){

			$(code+'-value-from').innerHTML = parseInt(1*value[0]);
			$(code+'-value-to').innerHTML = parseInt(1*value[1]);

			}

			$(code+'-value').innerHTML = htmlvalue;

	};



	s1.options.onSlide = function(value){

			var htmlvalue = parseInt(value[0]) + ' - ' + parseInt(value[1]);


			if(value[0] >= 0 && value[1] >= 0){
			$(code+'-value-from').innerHTML = parseInt(1*value[0]);
			$(code+'-value-to').innerHTML = parseInt(1*value[1]);
			}
			$(code+'-value').innerHTML = htmlvalue;
	};


	var htmlvalue = parseInt(s1.values[0]) + ' - ' + parseInt(s1.values[1]);

	$(code+'-value-from').innerHTML = parseInt(s1.values[0]);
	$(code+'-value-to').innerHTML = parseInt(s1.values[1]);

	$(code+'-value').innerHTML = htmlvalue;




}

function showNavigationNote(id){

	$(id).style.display = 'block';

}

function hideNavigationNote(){

	$$('.filter-note-content').each(function(e){e.style.display = 'none';});

}
