

historyListener = function(historyHash) {
	// update the stateVar
	stateVar = historyHash;
	
//	if (historyHash.search('{DMY}{WEB_ROOT}') >= 0) location = historyHash;
};
// subscribe to unFocus.History
unFocus.History.addEventListener('historyChange', historyListener);


//----------------------------------
// changeContent(el,url)
//----------------------------------
function changeContent(el,url) {

	$('product_list_ajax_form').action = url;
	$('product_list_ajax_form').submit();
	return;

	if (url == '') {
		url = 'ajax-' + document.forms.product_list.action;
	}	

  var elScroll = Element.viewportOffset($(el));

  if (elScroll['top'] < 0) {
  	var docOff = document.viewport.getScrollOffsets();
	  $(el).scrollTo();
	  window.scrollBy(-elScroll['left'],0);
	}

//	alert(url);
	new Ajax.Request('{WEB_ROOT}'+url,{
	  method: 'get',
	  parameters: $('product_list_ajax_form').serialize(true),
	  onComplete: function(transport) {

	  	$('product_list_loading').style.display = 'none';

	  	var realEl = document.getElementById(el);

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

	  	p.innerHTML = transport.responseText;

	  	if (p.firstChild && p.firstChild.innerHTML) {
		  	realEl.innerHTML = p.firstChild.innerHTML;
		  } else {
		  	realEl.innerHTML = p.innerHTML;
		  }	
			unFocus.History.addHistory('{WEB_ROOT}' + url.replace(/^ajax-/,''));		
	  }
	  }
	);
}

function viewFormSubmit(prodId, pageLink) {
  
		var f = document.forms.view_form;
		
		f.attributes['action'].value = pageLink;
		f.elements['product_id'].value = prodId;
		f.submit();
		return false;
}

function listFormSubmit(page,pageLink) {
  var f;
  f = document.forms.product_list;

		f.elements['data[page]'].value = page;
		f.attributes['action'].value = pageLink;
		f.submit();
}

function setFieldValue(fn,fv) {
	var f = document.forms.product_list;
	f.elements[fn].value = fv;
	f.submit();
}

function setFieldValueAjax(fn,fv) {

	setFieldValue(fn,fv); // AJAX turned off
	return;

	var f = document.forms.product_list_ajax_form;
	f.elements[fn].value = fv;
	changeContent('products','{TMP}ajax-{CATEGORY_LINK}');
}

function changePage(page,page_link) {
	var f = document.forms.product_list;
	
	f.elements['data[page]'].value = page;
	f.submit();
}

function loadProductPreview(product_id) {

	var url = 'product.php?action=ajax_preview&product_id='+product_id;
	
	$('productPreview'+product_id).innerHTML = '<img src="images/loadingAnimation.gif" />';
	$('productPreview'+product_id).style.display = '';
//	$('productShortDescription'+product_id).style.display = 'none';
	Effect.BlindUp('productShortDescription'+product_id,{
		duration: 0.4,
		afterFinish: function(ef) {
			$('productShortDescription'+product_id).style.display = 'none';
		}
	});
	
	new Ajax.Request(url,{
	  method: 'get',
	  onComplete: function(transport) {
	  
	  	//Hide short description first
	  	$('productShortDescription'+product_id).style.display = 'none';

	  	var realEl = document.getElementById('productPreview'+product_id);
	  	realEl.style.display = '';
	  	$('productPreview'+product_id).style.display = 'none';

	  	var p = document.createElement('div');
	  	p.innerHTML = transport.responseText;	  	
	  	/*
	  	if (p.firstChild && p.firstChild.innerHTML) {
		  	realEl.innerHTML = p.firstChild.innerHTML;
		  } else {
		  	realEl.innerHTML = p.innerHTML;
		  }*/
		  realEl.innerHTML = p.innerHTML;
			Effect.BlindDown('productPreview'+product_id,{
				duration: 1,
				afterFinish: function(ef) {
					$('productPreview'+product_id).style.display = '';
					$('productShortDescription'+product_id).style.display = 'none';
				}
			});
	  }
	  }
	);
}

function closeProductPreview(product_id) {
	Effect.BlindUp('productPreview'+product_id,{
		duration: 0.6,
		afterFinish: function(ef) {
			$('productPreview'+product_id).style.display = 'none';
			Effect.BlindDown('productShortDescription'+product_id,{
				duration: 0.6,
				afterFinish: function(ef) {
					$('productShortDescription'+product_id).style.display = '';
				}
			});
		}
	});

	//$('productPreview'+product_id).style.display = 'none';
	//$('productShortDescription'+product_id).style.display = '';
}

