/* This file is used in gavefinder page and PageNotFound - currently only in LLL

History of changes:
20110510 - ENE changes name of showLoad to showLoadProductFinder and hideLoad to hideLoadProductFinder, because the old name is used at buybutton and in script_add_to_basket.tpl in LLL

*/


var itemsperpage = 200;
var startindex = 0;
var endindex = 0;
var pagenumber = 0;


function updateFormCheckbox(element, name){
	if (element[0].state == true && element[1].state == true) {
		$(name).disabled = false;
		$('label_' + name).style.color = "#592626";
	}
	else if (((element[0].value == 'Y' && element[0].state == true) && 
			 (element[1].value == 'N' && element[1].state == false)) || 
			 ((element[1].value == 'Y' && element[1].state == true) && 
			 (element[0].value == 'N' && element[0].state == false))) {
		$(name).disabled = true;
		$(name).checked = true;
		$('label_' + name).style.color = "#9D9E98";
	}
	else {
		$(name).disabled = true;
		$(name).checked = false;
		$('label_' + name).style.color = "#9D9E98";
	}
	
	if ((element[1].chosen && element[1].chosen == true)) {
		$(name).checked = true;
	}
	
	return $(name).checked;
}

function updatePriceRangeOption(boxindex, element, name, text){
	var disabled = false;
	var checked = false;
	
	var elSel = $('csbe_product_gift_finder_price_range');
	if (element != "-1") {
		if (element[0].state == true && element[1].state == true) {
			disabled = false;
			if (element[1].state == true && (element[1].chosen && element[1].chosen == true)) {
  		  checked = true;
  		}
		}
		/*else if (((element[0].value == 'Y' && element[0].state == true) && 
				 (element[1].value == 'N' && element[1].state == false)) || 
				 ((element[1].value == 'Y' && element[1].state == true) && 
				 (element[0].value == 'N' && element[0].state == false))) {
			disabled = true;
			checked = true;
		}/*/
		else {
			disabled = false;
			checked = false;
		}
	}
	
	//if (disabled == false) {
		var elOptNew = document.createElement('option');
		elOptNew.text = text;
		elOptNew.value = name;

		try {
			elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
		}
		catch(ex) {
			elSel.add(elOptNew); // IE only
		}
		if (checked == true) {
		  elSel.selectedIndex=boxindex;
		}
	//}
}

// 20091208 - CNN - updateFormElements function has been moved to a local cs-tachista-productfinder.js file

function hideLoadProductFinder () {
    $('productfinder_wait').style.display = 'none';
}

function showLoadProductFinder () {
   $('productfinder_wait').style.display = 'block';
}

// Update the product finder with results from tachista
var updateProductFinder = function(var_name, shoptexts, pagenumber){
  //alert(var_name)
  // Try to set value for checkbox, if this fails it must be a drop down so value must be set to true.
	try {
  	if ($(var_name).checked) {
  		value = 'true';
  	}
  	else {
  		value = 'false';
  	}
  }
  catch(err) {
    // Not a checkbox
      value = 'true';
  	$('last_selected_price_range').value = var_name;
  }
  $('pageNumber').value = 1;
  $('endindex').value = 200;
  $('startindex').value = 0;
  $('lastListName').value = var_name
  $('lastValueIndex').value = value
	// Contact the webservice and get a list of matching products
	new Ajax.Request(path_to_connector_script + "tachista_productfinder_connector.php?site_id=" + shoptexts['SitePageID'] + "&var=" + var_name + "&value=" + value, {
		method:'get', onLoading: showLoadProductFinder, onComplete: hideLoadProductFinder,
		onSuccess: function(transport){
			//alert(transport.responseText)
			updateFormElements(transport.responseText.evalJSON(), shoptexts, false, false, pagenumber);
    	}
	});
};

// Update the product finder with results from tachista
var updateProductFinderBrand = function(var_name, id, shoptexts){
  //alert(var_name)
  //alert(id)
  // Not a checkbox
  value = 'true';
	// Contact the webservice and get a list of matching products
	new Ajax.Request(path_to_connector_script + "tachista_productfinder_connector.php?site_id=" + shoptexts['SitePageID'] + "&var=" + var_name + "&value=" + value, {
		method:'get', onLoading: showLoadProductFinder, onComplete: hideLoadProductFinder,
		onSuccess: function(transport){
			//alert(transport.responseText)
			updateFormElements(transport.responseText.evalJSON(), shoptexts, false);
    	}
	});
};

// Start up initalizing some default values and getting the initial values
//var init = function(delivery_method_id, address, zipcode, city, country, limit, within){
var initProductFinder = function(shoptexts, pagenumber){
	$('productfinderform').reset();
	new Ajax.Request(path_to_connector_script + "tachista_productfinder_connector.php?site_id=" + shoptexts['SitePageID'] + "&init=true", {
		method:'get', onLoading: showLoadProductFinder, onComplete: hideLoadProductFinder,
		onSuccess: function(transport){
			updateFormElements(transport.responseText.evalJSON(), shoptexts, true, false, pagenumber);
		}
	});
};

var resetProductFinder = function() {
  $('productfinderform').reset();
	new Ajax.Request(path_to_connector_script + "tachista_productfinder_connector.php?site_id=" + shoptexts['SitePageID'] + "&reset=true", {
		method:'get', onLoading: showLoadProductFinder, onComplete: hideLoadProductFinder,
		onSuccess: function(transport){
		  //alert(transport.responseText)
			updateFormElements(transport.responseText.evalJSON(), '', true, false, false);
		}
	});
};

var productFinderPaging = function(direction, pagenumber, listName, indexValue, shoptexts) {
  $('productfinderform').reset();
	new Ajax.Request(path_to_connector_script + "tachista_productfinder_connector.php?site_id=" + shoptexts['SitePageID'] + "&paging=" + direction + "&page=" + pagenumber + "&list=" + listName + "&value=" + indexValue, {
		method:'get', onLoading: showLoadProductFinder, onComplete: hideLoadProductFinder,
		onSuccess: function(transport){
		  //alert(transport.responseText)
			updateFormElements(transport.responseText.evalJSON(), shoptexts, false, direction, pagenumber);
		}
	});
};


