
function getElement(dform, ename) {
	for (var i= 0; i < document.forms.length; i++){
		var name = document.forms[i].name;
		var isprodForm = name.indexOf(dform);
		if (isprodForm != -1){
			for (var j = 0; j < document.forms[i].elements.length; j++){
				var prodName = document.forms[i].elements[j].name;
				var isprodList = prodName.indexOf(ename);
				if (isprodList != -1) {
					return document.forms[i].elements[j];
				}
			}
		}
	}
	return;
}
function splitArray(list) {
	var remArray;
	if (list != null){
		remArray = list.split(",");
	}
	return remArray;
}
function getArrayLength(target) {
	var counter = 0;
	for (var i = 0; i < target.length; i++) {
		if (target[i].length > 0) {
			counter++;
		}
	}
	return counter;
}
function compare(langId, storeId, catalogId, aparam, httpPath) {
	// set var checkbox_choices to zero
	var counter = 0;
	var addterms = httpPath + "ProductCompare.asp?";
	// get the remebered list
	var rlist = getElement('recordCompare', 'recordCompareList').value;
	var compList = splitArray(rlist);
	// Loop from zero to the one minus the number of checkbox button selections
	if (compList != null) {
		for (var i= 0; i < compList.length; i++) {
			var value = compList[i];
			if (value.length > 0) {
				addterms += "prodComp_" + counter;
				addterms += "=" + value;
				addterms += "&";
				counter++;
			}
		}
	}
	if (aparam != null && aparam != "") {
		addterms += aparam;
	}
	if (counter == 0) {
		alert("Please Select One or More Products to Compare");
		return;
	}
	if (counter > 3) {
		alert("Only four products may be compared at a time.  Currently "+counter+" products has been selected.  Please remove additional products.");
		return;
	} else {
		window.location.href = addterms +"&recordCompareList="+rlist;
	}
	return false;
}
function removeUnchecked(addValue, remValue) {
	var newValue = "";
	var match = false;
	// both are string
	if (remValue == null) {
		return addValue;
	}
	if (addValue != null) {
		// find a match
		var addList = splitArray(addValue);
		for (var i = 0; i < addList.length; i++){
			if (addList[i] != null && addList[i] != ""){
				var idx = remValue.indexOf(addList[i]);
				if (idx < 0 && addList[i] != null) {
					newValue += addList[i];
					newValue += ",";
				}
				if (idx >= 0) { // a match is found and will be deleted
					match = true;
				}
			}
		}
	}
	if (newValue == null || newValue == "" && !match) {
		newValue = addValue;
	}
	// alert("addValue " + addValue + " remValue " + remValue + " newValue " + newValue);
	return newValue;
}
function checkSelect(target, source) {
	var newValue;
	// both are string
	if (source == null) {
		return target;
	}
	if (target == null) {
		return source;
	}
	var sourceArray = splitArray(source);
	for (var i = 0; i < sourceArray.length; i++) {
		// find a match
		var match = target.match(sourceArray[i]);
		if (newValue == null) {
			newValue = target;
		}
		// add the unmatch
		if (match == null) {
			newValue += sourceArray[i];
			newValue += ",";
		}
	}
	return newValue;
}
function compareToSave() {
	var counter = 0;
	var addterms;  // add list for product list
	var remterms;  // remove list for product list
	for (var i= 0; i < document.forms.length; i++){
		var name = document.forms[i].name;
		var isprodForm = name.indexOf("frmAdd");
		if (isprodForm != -1){
			for (var j = 0; j < document.forms[i].elements.length; j++){
				var prodName = document.forms[i].elements[j].name;
				var ischeckbox = prodName.indexOf("product");
				// get selected product
				if (ischeckbox != -1){
					if (document.forms[i].elements[j].checked){
						var value = document.forms[i].elements[j].value;
						if (addterms == null) {
							addterms = "";
						}
						addterms += value;
						addterms += ",";
					} else {
						var rvalue = document.forms[i].elements[j].value;
						if (remterms == null) {
							remterms = "";
						}
						remterms += rvalue;
						remterms += ",";
					}
				}
			}
		}
	}
	// get the remebered list
	var rlist = getElement('recordCompare', 'recordCompareList').value;
	// get the actual compare list
	// remove from the remember list if it appears in remove list
	var newAdd = removeUnchecked(rlist, remterms);  // remove the remeber list if unclick
	// the list to add
	var newAlist = checkSelect(addterms, newAdd);
	var newRlist = newAlist;
	var rememberArray = splitArray(newRlist);
	if (rememberArray != null) {
		counter = getArrayLength(rememberArray);
		getElement('recordCompare', 'recordCompareList').value = newRlist;
		// update the page form hidden field as well
		getElement('pageForm', 'recordCompareList').value = newRlist;
	} else {
		getElement('recordCompare', 'recordCompareList').value = "";
		// update the page form hidden field as well
		getElement('pageForm', 'recordCompareList').value = "";
	}
	if (counter > 3) {
		alert("Only three products may be compared at a time.  Currently "+counter+" products has been selected.  Please remove additional products.");
		return;
	}
	return false;
}

function pagemove(row_start,row_end,cc,currentpage,httpPath) {
	// set var checkbox_choices to zero
	var counter = 0;
	var addterms = httpPath + "items.asp?row_start="+row_start+"&row_end="+row_end+"&cc="+cc+"&currentpage="+currentpage+"&";
	// get the remebered list
	var rlist = getElement('pageForm', 'recordCompareList').value;
	var sortmethod = getElement('recordCompare', 'sortorder').value;
	
		window.location = addterms +"recordCompareList="+rlist+"&sortorder="+sortmethod;
	}
