function getoffset(elem) {	
	var t = elem.offsetTop, l = elem.offsetLeft;
	while(elem = elem.offsetParent)
		t += elem.offsetTop,l += elem.offsetLeft;
	return [t, l];
}

function viewcollections(elem) {
	var coll = document.getElementById('collAjax');
	coll.style.display = 'block';
	//coll.style.left = getoffset(elem)[1] - 7 + 'px';
	//coll.style.top = getoffset(elem)[0] + elem.offsetHeight - 8 + 'px';
}

function senddata(obj) {
	var val = '';
	var name = obj.name.substring(2);
	if (name == 'shape') {
		val = obj.value;
	}
	else if (name == 'match_set') {
		val = obj.checked;
	}
	else if (name == 'jewelry') {
		val = obj.value;
	}
	else {
		var list = $('#l_' + name + ' input:checkbox');
		for(i = 0; i < list.length; i++) {
			if(list[i].checked) {
				if(val != '') {
					val += ',';
				}
				val += list[i].value;
			}
		}
	}
	//Type conversion, convert val to string.
	val = val + '';
	if (val !== ''|| name == 'shape' || name == 'jewelry') {
		$('input[@name=' + name + ']').val(val);
	} else {
			var error = ''
			if (name == 'metal') {
			error = 'metal type';
			} else if (name == 'selected_style') {
				error = 'style';
			}
			else if (name == 'selected_category') {
			    error = 'category';
			}
			if (error != '') {
				$('#errormsg').html('Please select at least one ' + error + ' to view our available settings. <a href="/static_page/CONTACTUS">Contact us</a> for assistance.');
				$('#errormsg').show();
				obj.checked = 'checked';
				return false;
			} else {
				$('#errormsg').hidden();
			}
		}
	$('#setting_search_form').submit();
}


function changecollection(obj) {
	var val = $(obj).attr("name");
	if (val == 'all') val = '';
	$('input[@name=collection]').val(val);
	$('#setting_search_form').submit();
}

function init_search_area() {
	var checkboxes = ['metal', 'selected_style', 'selected_category', 'match_set'];
	var name = null, val = null, vals = null, list = null;
	for (i = 0; i < checkboxes.length; i++) {
		name = checkboxes[i];
		val = $('input[@name=' + name + ']').val();
		if (!val) continue;
		vals = val.split(',');
		list = $('#l_' + name + ' input:checkbox');
		for (j = 0; j < list.length; j++) {
			for (k = 0; k < vals.length; k++) {
				if (list[j].value == vals[k]) {
					list[j].checked = 'checked';
				}
			}
		}
	}
	var shape = $('input[@name=shape]').val();
	$('option[@value=' + shape + ']').attr('selected', true);
	var collection = $('input[@name=collection]').val();
	if (collection == '') collection = 'all';
	$('li[@name=' + collection + ']').attr('class', 'BgOff');
}

function close_collection(e) {
	var el = document.getElementById("collAjax");
	if(!el.contains(e.toElement || e.fromElement)) {
		el.style.display = 'none';
		var collection = get_collection_value()
		$(el).find("li").removeClass("BgOff").addClass("BgOn");
		$("li[@name='" + collection + "']").removeClass("BgOn").addClass("BgOff");
	}
	return false;
}

function highlight_collection(ev) {
	var collection = $(this);
	var default_col = get_collection_value();
	collection.parent().find("li[@name!='" + default_col +"']").removeClass("BgOff").addClass("BgOn");
	collection.removeClass("BgOn").addClass("BgOff");
	return false;
}

function get_collection_value(){
	var collection = $('input[@name=collection]').val();
	if (collection == '') 
		collection = 'all';
	return collection
}

(function (bool) {
//hack in Firefox
	var html;
 
	if (bool) {
	
		html = window.HTMLElement.prototype;
		
		window.__defineGetter__("event", function () {
			var o = arguments.callee;
			
			do {
			
				if (o.arguments[0] instanceof Event) return o.arguments[0];
			
			} while (o = o.caller);
			
			return null;
		
		});
		
		Event.prototype.__defineGetter__("fromElement", function () {
			return this.relatedTarget;

		});
		
		html.contains = function (o) {
			do {
				if (o == this) return true;
				if (!o.parentNode) return false;
			} while (o = o.parentNode);
			return false;
		};	
	}

})($.browser.mozilla);
