function submitSearch() {
	document.searchByForm.submit();
}

function setSearchField(name, value) {
	$(document.searchByForm[name]).val(value);
}

function resetSearchFields(fieldNames) {
	$.each(fieldNames, function() {
		$(document.searchByForm[this]).val('');
	});
}

function resetAllFilters(processor_Type) {
	resetAllFiltersAndDontSubmit();
	setSearchField("processor_Type", processor_Type || "");
	submitSearch();
}

function resetAllFiltersAndDontSubmit() {
	resetSearchFields([
		"usage",
		"priceRange",
		"brandName",
		"showAllBrands",
		"processorPlatformTech",
		"processorType",
		"memoryRange",
		"storageHardDriveCapacity",
		"displayDiagonalSize",
		"dimensionsWeights",
		"wirelessNetworkingProtocol",
		"osType",
		"batteryEnergy",
		"featured",
		"highestRated",
		"lowToHighPrice",
		"highToLowPrice",
		"alphabetical",
		"graphic",
		"page"
	]);
}

function submitPagination(val) {
	setSearchField("page", val);
	submitSearch();
}

function submitUsage(val) {
	setSearchField("usage", val);
	resetSearchFields(["page"]);
	submitSearch();
}

function submitAlphabetical(val) {
	setSearchField("alphabetical", val);
	resetSearchFields([
		"featured",
		"lowToHighPrice",
		"highestRated",
		"highToLowPrice",
		"page"
	]);
	submitSearch();
}

function submitSystemsPerPage(val) {
	setSearchField("systemsPerPage", val);
	resetSearchFields(["page"]);
	submitSearch();
}

function submitOrderByFeatured(val) {
	setSearchField("featured", val);
	resetSearchFields([
		"highestRated",
		"alphabetical",
		"lowToHighPrice",
		"highToLowPrice",
		"page"
	]);
	submitSearch();
}

function submitLowToHighPrice(val) {
	setSearchField("lowToHighPrice", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"highestRated",
		"alphabetical",
		"page"
	]);
	submitSearch();
}

function submitHighToLowPrice(val) {
	setSearchField("highToLowPrice", val);
	resetSearchFields([
		"featured",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitOrderByHighestRate(val) {
	setSearchField("highestRated", val);
	resetSearchFields([
		"featured",
		"alphabetical",
		"lowToHighPrice",
		"highToLowPrice",
		"page"
	]);
	submitSearch();
}

function submitBatteryRunTime(val) {
	setSearchField("batteryEnergy", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitOSSystem(val) {
	setSearchField("osType", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitWirelessNetworkingProtocol(val) {
	setSearchField("wirelessNetworkingProtocol", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitWeightRange(val) {
	setSearchField("dimensionsWeights", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitScreenSizeRange(val) {
	setSearchField("displayDiagonalSize", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}
function submitStorageRange(val) {
	setSearchField("storageHardDriveCapacity", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitFamilyGroup(val) {
	setSearchField("processorFamily", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitProcessorNumber(val) {
	setSearchField("processorNumber", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitRamRange(val) {
	setSearchField("memoryRange", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitProcessorType(processorVal, processorPlatTechVal) {
	setSearchField("processorType", processorVal);
	setSearchField("processorPlatformTech", processorPlatTechVal);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitShowAllBrands(val) {
	setSearchField("showAllBrands", val);
	submitSearch();
}
function submitBrandName(val) {
	setSearchField("brandName", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}
function submitUsage(val) {
	setSearchField("usage", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}
function submitPriceRange(val) {
	setSearchField("priceRange", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function submitGraphic(val) {
	setSearchField("graphic", val);
	resetSearchFields([
		"featured",
		"highToLowPrice",
		"alphabetical",
		"lowToHighPrice",
		"highestRated",
		"page"
	]);
	submitSearch();
}

function getNextPage(pageNum) {
	setSearchField("page", pageNum);
	submitSearch();
}

plus = new Image();
plus.src = "/images/btn_plus.gif";
minus = new Image();
minus.src = "/images/btn_minus.gif";
function displayRow(row) {
	var btnz = "btn"+row;
	var trObj = (document.getElementById) ? document.getElementById(row) : eval("document.all['" + row + "']");
	if (trObj.style.display == "none") {
		document.images[btnz].src=minus.src;
		trObj.style.display = "";
	} else {
		document.images[btnz].src=plus.src;
		trObj.style.display = "none";
	}
}

function displayCompareList() {
	var compListDiv = document.getElementById("compareListDiv");
	if (compListDiv.style.display == "none") {
		compListDiv.style.display = "";
	} else {
		compListDiv.style.display = "none";
	}
}




// for legal popup
$(document).ready(function() {
	var currBuyNowLink = null;

	$("#shp-buy-now-popup .close").click(function(event) {
		$("#popup-screen").hide();
		$("#shp-buy-now-popup").hide();
	});

	$("#shp-now-now-continue").click(function() {
		setBuyNowWindowViewed();
		buyNow(currBuyNowLink);
		$("#popup-screen").hide();
		$("#shp-buy-now-popup").hide();
	});
    $("a.buy-button").bind('click',function() {
        currBuyNowLink = this.href;
		tryBuyNow();
        return false;
    });

	tryBuyNow = function(link) {
		if (currBuyNowLink == null)
			currBuyNowLink = link;
		if (!hasBuyNowWindowView()) {
			$('#popup-screen').bgiframe();
			$("#popup-screen").css({
				'height':$(document).height() + 'px',
				'width':$(document).width() + 'px'
			}).show();
			var left = ($(window).width() * 0.5) - 307;
			$("#shp-buy-now-popup").css({'left':left+'px'});
			$("#shp-buy-now-popup").css({'z-index':'99999999'});
			$("#shp-buy-now-popup").show();
			window.scrollTo(0,0);
			return false;
		} else {
			buyNow(currBuyNowLink);
			return true;
		}
	};

	$(".show-full-disclaimer").click(function(e) {
		e.preventDefault();
		$("#shp-buy-now-extra-warnings").toggle();
	});

	buyNow = function(link) {
		if (link != null) {
			window.open(link);
		}
	}

	setBuyNowWindowViewed = function() {
		var d = new Date();
		d = new Date(d.getTime() + 1000*60*60*24*7); // expire in 1 week
		var domain = location.host.replace(/.*\.(\w+\.\w+)$/, "$1"); // loosen domian to e.g. intel.com
		document.cookie = "buynowviewed=true; domain=" + domain + "; expires=" + d.toGMTString();
	};

	hasBuyNowWindowView = function() {
		if (document.cookie) {
			if (document.cookie.indexOf("buynowviewed") > -1) {
				return true;
			}
		}
		return false;
	};
});
function createCookie(name,value) {
    //var expires = "; expires=-1";
    document.cookie = name+"="+value+"; path=/;";
}
function isIdExistInCookie(id) {
    var currentIds = readCookie('compareids');
    if (currentIds != null && currentIds.indexOf(id)>=0) {
        return 1;
    } else {
        return 0;
    }
}
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return '';
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

$(function() {
	// set overlay defaults
	if ($.browser.msie && $.browser.version=="6.0")
		$("#wimax-dialog").dialog({
			bgiframe: true,
			width: 650,
			height: 470,
			autoOpen: false,
			modal: true,
			buttons: {
				Continue: function() {
					$(this).dialog('close');
				}
			}
		});

	else
		$("#wimax-dialog").dialog({
			bgiframe: true,
			width: 650,
			height: 300,
			autoOpen: false,
			modal: true,
			buttons: {
				Continue: function() {
					$(this).dialog('close');
				}
			}
		});

	// trigger overlays
	//$('#wimax-dialog').dialog('open');

	$('.wimax-click').click(function() {
		$('#wimax-dialog').dialog('open');
	})

	$('.wimax-hover').hover(function() {
		$('#wimax-dialog').dialog('open');
	})
});
