var lastSearch = "";
var lastQueryString = "";
var lastAdQueryString = "";
var minPrice = 0;
var maxPrice = 0;
var hotDealTimer = 0;
var lastHotDealURL = "<none>";
var lastHotDealResponse = "";
var newWindow;

// Some ajax requestors kept global so can abort if starting a new request before last one finished.
var hotDealRequest = null;
var ajaxRequest = null;


function ajaxShowPage(page){

	if (ajaxRequest != null)
	{
		ajaxRequest.abort();
		HideLoading();
	}

	ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDealDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			ajaxRequest = null;
			window.scroll(0, 0);
		}
	}

	if (!(from == ""))
	{
		from = from.replace(/\s/g, "%20");
		from = from.replace(/&/g, "%26");
		from = from.replace(/\'/g, "%27");
		from = from.replace(/\>/g, "%3E");
		if (page.indexOf('?') == -1)
			page = page + "?from=" + from;
		else
			page = page + "&from=" + from;
	}
	if (!(tracker == ""))
	{
		tracker = tracker.replace(/\s/g, "%20");
		tracker = tracker.replace(/&/g, "%26");
		tracker = tracker.replace(/\'/g, "%27");
		tracker = tracker.replace(/\>/g, "%3E");
		if (page.indexOf('?') == -1)
			page = page + "?tracker=" + tracker;
		else
			page = page + "&tracker=" + tracker;
	}
	if (!(failover == ""))
	{
		if (page.indexOf('?') == -1 && (from == ""))
			page = page + "?failover=" + failover;
		else
			page = page + "&failover=" + failover;
	}

	ajaxRequest.open("GET", currentDir+page, true);
	ajaxRequest.send(null);	
}

function ajaxLoadMessage(cat, subcat)
{

  var cookie = "seen_intro_"+cat+"_"+subcat;

  var x = readCookie(cookie);
  if (x != "YES") 
  {

	
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('MessageDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			DisplayMessage();
		}
	}

	var queryString = "";
	var queryPrefix = "?";

	if (!(cat == "") && !(cat == "All Deals"))
	{
		cat = cat.replace(/\s/g, "%20");
		cat = cat.replace(/&/g, "%26");
		cat = cat.replace(/\'/g, "%27");
		cat = cat.replace(/\>/g, "%3E");

		queryString = queryString + queryPrefix + "category=" + cat;
		queryPrefix = "&";
	}
	if (!(subcat == ""))
	{
		subcat = subcat.replace(/\s/g, "%20");
		subcat = subcat.replace(/&/g, "%26");
		subcat = subcat.replace(/\'/g, "%27");
		subcat = subcat.replace(/\>/g, "%3E");

		queryString = queryString + queryPrefix + "subcategory=" + subcat;
		queryPrefix = "&";
	}

	if (!(failover == ""))
	{
		queryString = queryString + queryPrefix + "failover=" + failover;
		queryPrefix = "&";
	}

	if (!(mobile == ""))
	{
		queryString = queryString + queryPrefix + "mobile=" + mobile;
		queryPrefix = "&";
	}


	ajaxRequest.open("GET", currentDir+'message.php'+queryString, true);
	ajaxRequest.send(null);	

  }

  createCookie(cookie,'YES',365);

}

function ajaxLoadMenu()
{
	var menuRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	menuRequest.onreadystatechange = function(){
		if(menuRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxMenuDiv');
			ajaxDisplay.innerHTML = menuRequest.responseText;
			//window.scroll(0, 0);
			MenuInit();
		}
	}

	menuRequest.open("GET", currentDir+'getMenu.php', true);
	menuRequest.send(null);	
}


function ajaxSearch()
{
	//alert("s mobile: "+mobile);
	if (ajaxRequest != null)
	{
		ajaxRequest.abort();
		HideLoading();
	}

	//var cat = document.getElementById('cat').value;
	//var search = document.getElementById('search').value;
	var cat = document.searchForm.cat.value;
	var search = document.searchForm.search.value;

	if (largestWordSize(search) < 4)
	{
		var answer = confirm ("WAIT! Please include at least one 4-letter word (or larger), otherwise the search will be very slow!\r\n"+
			                  "For example: searching for DS, try NINTENDO DS instead.  Click Cancel to revise your search.\r\n"+
			                  "Click OK to continue with your current search.");
		if (!answer)
			return;
	}

	HideHotDeals();
	HidePreview();
	DisplayLoading();


	ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!
	
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			HideLoading();
			var ajaxDisplay = document.getElementById('ajaxDealDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			window.scroll(0, 0);
			ajaxRequest = null;
			PreviewInit();
		}
	}

	var queryString = buildQuery(cat, "", "", "", "", search, failover, mobile, from, tracker);


	if (!(search == ""))
	{
		lastQueryString = queryString;
		//alert("Search: "+lastQueryString);
		queryPrefix = "&";
		queryString = queryString + queryPrefix + "mode=initial_search";

		queryString = queryString + narrow(queryPrefix);
		ajaxRequest.open("GET", currentDir+"getDeals.php" + queryString, true);
		ajaxRequest.send(null);
		
		DisplayNarrowSearch();
		ajaxAds(queryString);
	}
	else
	{
		lastSearch = "";
		HideLoading();
	}

}

function ajaxRefinedSearch(cat, subcat, search)
{
	//alert("rs mobile: "+mobile);
	if (ajaxRequest != null)
	{
		ajaxRequest.abort();
		HideLoading();
	}

	//alert("Cat=("+cat+") Subcat=("+subcat+") Search=("+search+")");
	DisplayLoading();

	ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!
	
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			HideLoading();
			var ajaxDisplay = document.getElementById('ajaxDealDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			ajaxHotDeals(cat, subcat, 1, false)
			window.scroll(0, 0);
			ajaxRequest = null;
			PreviewInit();
		}
	}


	var queryString = buildQuery(cat, subcat, "", "", "", search, failover, mobile, from, tracker);


	if (!(search == ""))
	{
		queryPrefix = "&";
		queryString = queryString + queryPrefix + "mode=refined_search";
		//alert("RefinedSearch: "+lastQueryString);

		lastQueryString = queryString;
		queryString = queryString + narrow(queryPrefix);
		ajaxRequest.open("GET", currentDir+"getDeals.php" + queryString, true);
		ajaxRequest.send(null);
		
		ajaxAds(queryString);
	}
	else
	{
		lastSearch = "";
		HideLoading();
	}

}


function ajaxMenuSelection(cat, subcat)
{
	ajaxSelection(cat, subcat, '');
}

function ajaxSelection(cat, subcat, dealNbr)
{
	ajaxFullSelection(cat, subcat, dealNbr, '', '');
}

function ajaxFullSelection(cat, subcat, dealNbr, dealName, dealTitle)
{
	if (ajaxRequest != null)
	{
		ajaxRequest.abort();
		HideLoading();
	}

	DisplayLoading();

	ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	HideLastDIVs();
	HidePreview();
	HaltHotDeals();
	ajaxHotDeals(cat, subcat, 1, false)


	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			setTitle(cat, subcat);
			HideLoading();
			HidePreview();

			var ajaxDisplay = document.getElementById('ajaxDealDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			window.scroll(0, 0);
			ajaxRequest = null;
			PreviewInit();
		}
	}

	document.searchForm.search.value=("");
	lastSearch = "";

	var queryString = buildQuery(cat, subcat, dealNbr, dealName, dealTitle, "", failover, mobile, from, tracker);

	// Must do this before invoking page because if we hide the narrow search div, it will clear the min & max price params.

	if ((cat == "" || cat == "All Deals" || cat == "Featured") && (subcat == "") && (dealNbr == "") && (dealName == ""))
		HideNarrowSearch();
	else
		DisplayNarrowSearch();


	lastQueryString = queryString;
	if (lastQueryString == "")
		queryPrefix = "?";
	else
		queryPrefix = "&";

	queryString = queryString + narrow(queryPrefix);
	ajaxRequest.open("GET", currentDir+"getDeals.php" + queryString, true);
	ajaxRequest.send(null);

	//alert('call ajaxAd('+queryString+')');
	ajaxAds(queryString);
}


function page(pageNumber)
{
	if (ajaxRequest != null)
	{
		ajaxRequest.abort();
		HideLoading();
	}

	DisplayLoading();

	ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	HideLastDIVs();

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			HideLoading();
			var ajaxDisplay = document.getElementById('ajaxDealDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			window.scroll(0, 0);
			ajaxRequest = null;
			PreviewInit();
		}
	}

	var lcat = "";
	var lsubcat = "";
	var lsearch = search;

	if (lastQueryString == "")
	{
		// lastQueryString will be "" when going to page 2 for the first time for 1 of 2 reasons
		// 1) more than 20 items in Featured and going to page 2
		// 2) go to subdir like shortcuts like /hdtv (not using ?category=) and going to page 2

		if (catDefault == "")
			lcat = "Featured";
		else
			lcat = catDefault;

		if (!(subcatDefault == ""))
			lsubcat = subcatDefault;

		lastQueryString = buildQuery(lcat, lsubcat, "", "", "", lsearch, failover, mobile, from, tracker);
	}

	fixSearchMode();

	//alert("Page: "+lastQueryString);

	queryString = lastQueryString + "&page_number=" + pageNumber + narrow('&');

	ajaxRequest.open("GET", currentDir+"getDeals.php" + queryString, true);
	ajaxRequest.send(null);
	
	ajaxAds(lastQueryString);
}

function fixSearchMode()
{
	if (lastQueryString != "")
	{
		lastQueryString = lastQueryString.replace("mode=initial_search","mode=auto_refined_search");
	}
}

function showFullDesc(dealPos)
{
	// Hide short desc
	var divID = "desc-div-"+dealPos;
	var div = document.getElementById(divID);
	div.style.display = "none"; 
	div.style.visibility = "hidden"; 

	// Show full desc
	divID = "fulldesc-div-"+dealPos;
	div = document.getElementById(divID);
	if (mobile == "on")
	{
		// If full desc contains a picture, it can widen the view and cause all
		// the text to enlarge on the page.  this keeps text same size even though
		// image will exceed the 170px
		div.style.width = '170px';
	}
	div.style.display = "block"; 
	div.style.visibility = "visible"; 

}

function showShortDesc(dealPos)
{
	// Hide full short desc
	var divID = "fulldesc-div-"+dealPos;
	var div = document.getElementById(divID);
	div.style.display = "none"; 
	div.style.visibility = "hidden"; 

	// Show short desc
	divID = "desc-div-"+dealPos;
	div = document.getElementById(divID);
	div.style.display = "block"; 
	div.style.visibility = "visible"; 
}

function bestDeal(dealPos)
{
	// Hide comparisons
	var divID = "compare-div-"+dealPos;
	var div = document.getElementById(divID);
	$('#'+divID).slideUp();
	//div.style.display = "none"; 
	//div.style.visibility = "hidden"; 

	// Hide Best Deal Button
	divID = "seebest-div-"+dealPos;
	div = document.getElementById(divID);
	div.style.display = "none"; 
	div.style.visibility = "hidden"; 

	// Show Compare Button
	divID = "seeall-div-"+dealPos;
	div = document.getElementById(divID);
	if (mobile == "on")
	{
		// If short desc contains a picture, it can widen the view and cause all
		// the text to enlarge on the page.  this keeps text same size even though
		// image will exceed the 170px
		div.style.width = '170px';
	}

	div.style.display = "block"; 
	div.style.visibility = "visible"; 
}

function compareDeals(dealPos, cat, subcat, sku)
{
	// Hide Compare Button
	divID = "seeall-div-"+dealPos;
	div = document.getElementById(divID);
	div.style.display = "none"; 
	div.style.visibility = "hidden"; 

	// Show Best Deal Button
	divID = "seebest-div-"+dealPos;
	div = document.getElementById(divID);
	div.style.display = "block"; 
	div.style.visibility = "visible"; 

	if (ajaxRequest != null)
		ajaxRequest.abort();

	ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var divID = "compare-div-"+dealPos;
			var ajaxDisplay = document.getElementById(divID);
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			ajaxRequest = null;

			// Show comparisons
			var divID = "compare-div-"+dealPos;
			var div = document.getElementById(divID);
			$('#'+divID).slideDown();
			//div.style.display = "block"; 
			div.style.visibility = "visible"; 
		}
	}

	var queryString = "";
	var queryPrefix = "?";

	if (!(cat == "") && !(cat == "All Deals"))
	{
		cat = cat.replace(/\s/g, "%20");
		cat = cat.replace(/&/g, "%26");
		cat = cat.replace(/\'/g, "%27");
		cat = cat.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "category=" + cat;
		queryPrefix = "&";

	}
	if (!(subcat == ""))
	{
		subcat = subcat.replace(/\s/g, "%20");
		subcat = subcat.replace(/&/g, "%26");
		subcat = subcat.replace(/\'/g, "%27");
		subcat = subcat.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "subcategory=" + subcat;
		queryPrefix = "&";
	}
	if (!(sku == ""))
	{
		queryString = queryString + queryPrefix + "sku=" + sku;
		queryPrefix = "&";
	}
	
	if (!(failover == ""))
	{
		queryString = queryString + queryPrefix + "failover=" + failover;
		queryPrefix = "&";
	}

	if (!(mobile == ""))
	{
		queryString = queryString + queryPrefix + "mobile=" + mobile;
		queryPrefix = "&";
	}

	if (!(from == ""))
	{
		from = from.replace(/\s/g, "%20");
		from = from.replace(/&/g, "%26");
		from = from.replace(/\'/g, "%27");
		from = from.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "from=" + from;
		queryPrefix = "&";
	}

	if (!(tracker == ""))
	{
		tracker = tracker.replace(/\s/g, "%20");
		tracker = tracker.replace(/&/g, "%26");
		tracker = tracker.replace(/\'/g, "%27");
		tracker = tracker.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "tracker=" + tracker;
		queryPrefix = "&";
	}

	ajaxRequest.open("GET",  currentDir+"compareDeals.php"+queryString, true);
	ajaxRequest.send(null);
}


function ajaxSpecial(cat, subcat, special)
{
	if (ajaxRequest != null)
		ajaxRequest.abort();

	ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxDealDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			window.scroll(0, 0);
			ajaxRequest = null;
			PreviewInit();
		}
	}

	var queryString = "";
	var queryPrefix = "?";

	if (!(cat == "") && !(cat == "All Deals"))
	{
		cat = cat.replace(/\s/g, "%20");
		cat = cat.replace(/&/g, "%26");
		cat = cat.replace(/\'/g, "%27");
		cat = cat.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "category=" + cat;
		queryPrefix = "&";

		document.searchForm.search.value=("");
		lastSearch = "";
		//if (cat == "Featured")
		//	document.searchForm.cat.setSelectedIndex=0;
		//else
		//	SelectSearchCat(cat);
	}
	if (!(subcat == ""))
	{
		subcat = subcat.replace(/\s/g, "%20");
		subcat = subcat.replace(/&/g, "%26");
		subcat = subcat.replace(/\'/g, "%27");
		subcat = subcat.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "subcategory=" + subcat;
		queryPrefix = "&";
	}
	
	if (!(failover == ""))
	{
		queryString = queryString + queryPrefix + "failover=" + failover;
		queryPrefix = "&";
	}

	if (!(mobile == ""))
	{
		queryString = queryString + queryPrefix + "mobile=" + mobile;
		queryPrefix = "&";
	}

	if (!(from == ""))
	{
		from = from.replace(/\s/g, "%20");
		from = from.replace(/&/g, "%26");
		from = from.replace(/\'/g, "%27");
		from = from.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "from=" + from;
		queryPrefix = "&";
	}

	if (!(tracker == ""))
	{
		tracker = tracker.replace(/\s/g, "%20");
		tracker = tracker.replace(/&/g, "%26");
		tracker = tracker.replace(/\'/g, "%27");
		tracker = tracker.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "tracker=" + tracker;
		queryPrefix = "&";
	}

	ajaxRequest.open("GET", "/specials/"+special+".php", true);
	ajaxRequest.send(null);
	
	ajaxAds(queryString);
}

function setTitle(cat, subcat)
{
	// PHP getTitle.php should always match this function.
	// The PHP version to support SE crawlers as they see the initial view of the title
	// but not changes made to the title by this JavaScript function.

	var title = "";

	cat = cat.replace("%20"," ");
	cat = cat.replace("%26","&");
	cat = cat.replace("%27","'");
	cat = cat.replace("%3E",">");

	subcat = subcat.replace("%20"," ");
	subcat = subcat.replace("%26","&");
	subcat = subcat.replace("%27","'");
	subcat = subcat.replace("%3E",">");


	if (!(cat == "") && (subcat == ""))
	{
		title = "AddictingDeals - "+cat+" Online Deals";
	}
	else if (!(subcat == ""))
	{
		title = "AddictingDeals - "+subcat+" Online Deals";
	}
	else
		title = "AddictingDeals - Experts at Finding the all the Best Deals on the Internet!";	

	// To see what the SE crawlers see for a title, comment out the next line.
	document.title = title;
}

function ajaxSendEmail(formId)
{
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxEmailResultsDiv');
			var response = ajaxRequest.responseText;
			if (response.indexOf("Thank you") > -1)
				document.getElementById('ajaxEmailFormDiv').innerHTML = "<BR />";
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			ajaxRequest = null;
			//window.scroll(0, 0);
		}
	}

	var email = formId.email.value;
	var name = formId.name.value;
	var message = formId.message.value;
	var queryString = "";
	var queryPrefix = "";
	
	if (!(email == "") )
	{
		email = email.replace(/\s/g, "%20");
		email = email.replace(/&/g, "%26");
		email = email.replace(/\'/g, "%27");
		email = email.replace(/\>/g, "%3E");

		queryString = queryString + queryPrefix + "email=" + email;
		queryPrefix = "&";
	}
	if (!(name == "") )
	{
		name = name.replace(/\s/g, "%20");
		name = name.replace(/&/g, "%26");
		name = name.replace(/\'/g, "%27");
		name = name.replace(/\>/g, "%3E");

		queryString = queryString + queryPrefix + "name=" + name;
		queryPrefix = "&";
	}
	if (!(message == "") )
	{
		message = message.replace(/\s/g, "%20");
		message = message.replace(/&/g, "%26");
		message = message.replace(/\'/g, "%27");
		message = message.replace(/\>/g, "%3E");

		queryString = queryString + queryPrefix + "message=" + message;
		queryPrefix = "&";
	}


	ajaxRequest.open("POST", currentDir+"sendEmail.php", true);
	ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajaxRequest.send(queryString);	
}

function ajaxSideAd(queryString)
{
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxSideAdDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			ajaxRequest = null;
		}
	}

	queryString = qEscape(queryString);

	if (!(queryString == ""))
	{
		//alert("queryString: "+queryString);
		queryString = queryString + "&nocache=" + (new Date().getTime());
		ajaxRequest.open("GET", currentDir+"getSideAd.php" + queryString, true);
		ajaxRequest.send(null);
	}

}

function ajaxBanner(queryString)
{
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxTopAdDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			ajaxRequest = null;
		}
	}

	if (!(queryString == ""))
		queryString = queryString + "&nocache=" + (new Date().getTime());
	else
		queryString = "?nocache=" + (new Date().getTime());

	ajaxRequest.open("GET", currentDir+"getBanner.php" + queryString, true);
	ajaxRequest.send(null);
}

function ajaxAds(queryString)
{
    if (mobile == "on")
    {
		//alert("No Ads Shown on Mobile");
		return;
    }

	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var top = "";
			var side = "";

			pos = ajaxRequest.responseText.indexOf('||');
			if (pos > -1)
			{
				top = ajaxRequest.responseText.substr(0,pos);
				side = ajaxRequest.responseText.substr(pos+2);
			}
			//else  // Uncomment this else and will see any errors or debug in getAds.php
			//	top = ajaxRequest.responseText;

			if (top != "")
			{
				var ajaxDisplay = document.getElementById('ajaxTopAdDiv');
				ajaxDisplay.innerHTML = top;
			}

			if (side != "")
			{
				var ajaxDisplay = document.getElementById('ajaxSideAdDiv');
				ajaxDisplay.innerHTML = side;
			}
		}
	}

	queryString = qEscape(queryString);

	if (!(queryString == ""))
	{
		//alert("ajaxAds: "+queryString);
		queryString = queryString + "&nocache=" + (new Date().getTime());
		ajaxRequest.open("GET", currentDir+"getAds.php" + queryString, true);
		ajaxRequest.send(null);
	}

}

function storeLink(store, href)
{
	actionLink("STORE_CLICKED", href, store, "", "", "");
}

function dealLink(href, cat, subcat, dealNbr, dealName)
{
	actionLink("DEAL_CLICKED", href, cat, subcat, dealNbr, dealName);
}

function couponLink(href, dealNbr)
{
	actionLink("COUPON_CLICKED", href, "", "", dealNbr, "");
}

function bannerLink(href, cat, subcat, dealNbr, dealName)
{
	actionLink("BANNER_CLICKED", href, cat, subcat, dealNbr, dealName);
}

function sideAdLink(href, cat, subcat, dealNbr, dealName)
{
	actionLink("SIDE_AD_CLICKED", href, cat, subcat, dealNbr, dealName);
}
function textAdLink(href, cat, subcat, dealNbr, dealName)
{
	actionLink("TEXT_AD_CLICKED", href, cat, subcat, dealNbr, dealName);
}
function actionLink(action, href, cat, subcat, dealNbr, dealName)
{
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Uncomment this block to see the sql insert in the banner area
	//ajaxRequest.onreadystatechange = function(){
	//	if(ajaxRequest.readyState == 4){
	//		var ajaxDisplay = document.getElementById('ajaxTopAdDiv');
	//		ajaxDisplay.innerHTML = ajaxRequest.responseText;
	//	}
	//}

	var queryString = "action=" + action;
	var queryPrefix = "&";
	// Must come before clearing of lastSearch
	if (!(lastSearch == ""))
	{
		queryString = queryString + queryPrefix + "search=" + lastSearch;
		queryPrefix = "&";
	}
	if (!(cat == "") && !(cat == "All Deals"))
	{
		cat = cat.replace(/\s/g, "%20");
		cat = cat.replace(/&/g, "%26");
		cat = cat.replace(/\'/g, "%27");
		cat = cat.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "category=" + cat;
		queryPrefix = "&";

//		document.searchForm.search.value=("");
//		lastSearch = "";
		//if (cat == "Featured")
		//	document.searchForm.cat.setSelectedIndex=0;
		//else
		//	SelectSearchCat(cat);
	}
	if (!(subcat == ""))
	{
		subcat = subcat.replace(/\s/g, "%20");
		subcat = subcat.replace(/&/g, "%26");
		subcat = subcat.replace(/\'/g, "%27");
		subcat = subcat.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "subcategory=" + subcat;
		queryPrefix = "&";
	}
	if (!(dealNbr == ""))
	{
		dealNbr = dealNbr.replace(/\s/g, "%20");
		dealNbr = dealNbr.replace(/&/g, "%26");
		dealNbr = dealNbr.replace(/\'/g, "%27");
		dealNbr = dealNbr.replace(/\>/g, "%3E");

		queryString = queryString + queryPrefix + "deal=" + dealNbr;
		queryPrefix = "&";
	}
	if (!(dealName == ""))
	{
		dealName = dealName.replace(/\s/g, "%20");
		dealName = dealName.replace(/&/g, "%26");
		dealName = dealName.replace(/\'/g, "%27");
		dealName = dealName.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "dealname=" + dealName;
		queryPrefix = "&";
	}

	if (!(failover == ""))
	{
		queryString = queryString + queryPrefix + "failover=" + failover;
		queryPrefix = "&";
	}

	if (!(mobile == ""))
	{
		queryString = queryString + queryPrefix + "mobile=" + mobile;
		queryPrefix = "&";
	}

	if (!(from == ""))
	{
		from = from.replace(/\s/g, "%20");
		from = from.replace(/&/g, "%26");
		from = from.replace(/\'/g, "%27");
		from = from.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "from=" + from;
		queryPrefix = "&";
	}
	if (!(tracker == ""))
	{
		tracker = tracker.replace(/\s/g, "%20");
		tracker = tracker.replace(/&/g, "%26");
		tracker = tracker.replace(/\'/g, "%27");
		tracker = tracker.replace(/\>/g, "%3E");

		queryString = queryString + queryPrefix + "tracker=" + tracker;
		queryPrefix = "&";
	}

	queryString = queryString + queryPrefix + "nocache=" + (new Date().getTime());
	ajaxRequest.open("POST", currentDir+"dealClick.php", true);
	ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajaxRequest.send(queryString);	
	
	// Open window in new tab or window (one for each  merchant)
	// Removed passing merch name in as window name because focus() would not bring existing window/tab to front.
	// windowName = windowName.replace(/\W*/g, '');
	// newWindow = window.open(href, windowName);

	newWindow = window.open(href);
	// If revisting previously opened window or tab, bring it forward.
	newWindow.focus(); 
}


function SelectSearchCat(value) 
{
  var searchCat = document.getElementById("cat");
  
  value = value.replace("%20"," ");
  value = value.replace("%26","&");
  value = value.replace("%27","'");
  value = value.replace("%3E",">");

  for(index = 0; index < searchCat.length; index++) 
  {
      if(searchCat[index].value == value)
         searchCat.selectedIndex = index;
  }
}

function DisplayNarrowSearch()
{
	divid = "narrow-search-div";
	var o=document.getElementById(divid); 
	var r=o.style; 
	//r.position='absolute'; 
	//r.top = topOffset + 'px'; 
	//r.left = leftOffset + 'px'; 
	//r.display = "block"; 
	r.visibility = "visible";
	$('#'+divid).slideDown();
}

function HideNarrowSearch()
{
	clearPrice();	
	divid = "narrow-search-div";
	var o=document.getElementById(divid); 
	var r=o.style; 
	//r.position='absolute'; 
	//r.top = topOffset + 'px'; 
	//r.left = leftOffset + 'px'; 
	//r.display = "none"; 
	///r.visibility = "hidden"; 
	$('#'+divid).slideUp();
}

function clearPrice()
{
	minPrice = 0;
	maxPrice = 0;
	document.priceForm.minprice.value = '';
	document.priceForm.maxprice.value = '';
}

function parsePrice()
{
	var minPriceStr = document.priceForm.minprice.value;
	var maxPriceStr = document.priceForm.maxprice.value;
	minPriceStr = minPriceStr.replace(/,/g,'');
	minPriceStr = minPriceStr.replace('$','');
	maxPriceStr = maxPriceStr.replace(/,/g,'');
	maxPriceStr = maxPriceStr.replace('$','');
	minPrice = parseFloat(minPriceStr);
	maxPrice = parseFloat(maxPriceStr);
	//alert('min price: '+minPrice + '  max price: '+maxPrice);
}

function applyPrice()
{
	parsePrice();
	page(1);
}

function narrow(queryPrefix)
{
	return queryPrefix + "min_price=" + minPrice + "&max_price=" + maxPrice;
}

function DisplayMessage()
{ 
	var Xwidth = 690; //550;
	var Yheight = 280; //400;
	var divid = "MessageDiv";

	// First, determine how much the visitor has scrolled 

	var scrolledX, scrolledY; 
	if( self.pageYOffset ) 
	{ 
		scrolledX = self.pageXOffset; 
		scrolledY = self.pageYOffset; 
	} else if( document.documentElement && document.documentElement.scrollTop )
	{ 
		scrolledX = document.documentElement.scrollLeft; 
		scrolledY = document.documentElement.scrollTop; 
	} else if( document.body ) 
	{ 
		scrolledX = document.body.scrollLeft; 
		scrolledY = document.body.scrollTop; 
	} 

	// Next, determine the coordinates of the center of browser's window 

	var centerX, centerY; 
	if( self.innerHeight ) 
	{ 
		centerX = self.innerWidth; 
		centerY = self.innerHeight; 
	} else if( document.documentElement && document.documentElement.clientHeight ) 
	{ 
		centerX = document.documentElement.clientWidth; 
		centerY = document.documentElement.clientHeight; 
	} else if( document.body )
	{ 
		centerX = document.body.clientWidth; 
		centerY = document.body.clientHeight; 
	} 

	// Xwidth is the width of the div, Yheight is the height of the 
	// divid being displayed 
	var leftOffset = scrolledX + (centerX - Xwidth) / 2; 
	var topOffset = scrolledY + (centerY - Yheight) / 2; 
	// The initial width and height of the div can be set in the 
	// style sheet with display:none;  
	var o=document.getElementById(divid); 
	var r=o.style; 
	r.position='absolute'; 
	r.top = topOffset + 'px'; 
	r.left = leftOffset + 'px'; 
	r.display = "block"; 
	r.visibility = "visible"; 
}

function HideMessage()
{
	var div = document.getElementById("MessageDiv");
	div.style.visibility = "hidden"; 
	
}

function buildQuery(cat, subcat, dealNbr, dealName, dealTitle, search, failover, mobile, from, tracker)
{
	var queryString = "";
	var queryPrefix = "?";

	if (!(cat == "") && !(cat == "All Deals"))
	{
		cat = cat.replace(/\s/g, "%20");
		cat = cat.replace(/&/g, "%26");
		cat = cat.replace(/\'/g, "%27");
		cat = cat.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "category=" + cat;
		queryPrefix = "&";

//		document.searchForm.search.value=("");
//		lastSearch = "";
		
		//if (cat == "Featured")
		//	document.searchForm.cat.setSelectedIndex=0;
		//else
		//	SelectSearchCat(cat);
	}
	if (!(subcat == ""))
	{
		subcat = subcat.replace(/\s/g, "%20");
		subcat = subcat.replace(/&/g, "%26");
		subcat = subcat.replace(/\'/g, "%27");
		subcat = subcat.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "subcategory=" + subcat;
		queryPrefix = "&";
	}
	if (!(dealNbr == ""))
	{
		dealNbr = dealNbr.replace(/\s/g, "%20");
		dealNbr = dealNbr.replace(/&/g, "%26");
		dealNbr = dealNbr.replace(/\'/g, "%27");
		dealNbr = dealNbr.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "deal=" + dealNbr;
		queryPrefix = "&";
	}
	if (!(dealName == ""))
	{
		dealName = dealName.replace(/\s/g, "%20");
		dealName = dealName.replace(/&/g, "%26");
		dealName = dealName.replace(/\'/g, "%27");
		dealName = dealName.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "deal_name=" + dealName;
		queryPrefix = "&";
	}

	if (!(dealTitle == ""))
	{
		dealTitle = dealTitle.replace(/\s/g, "%20");
		dealTitle = dealTitle.replace(/&/g, "%26");
		dealTitle = dealTitle.replace(/\'/g, "%27");
		dealTitle = dealTitle.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "deal_title=" + dealTitle;
		queryPrefix = "&";
	}

	if (!(search == ""))
	{
		search = search.replace(/\s/g, "%20");
		search = search.replace(/&/g, "%26");
		search = search.replace(/\'/g, "%27");
		search = search.replace(/\+/g, "%2B");
		search = search.replace(/\-/g, "%2D");
		search = search.replace(/\"/g, "%22");
		search = search.replace(/\>/g, "%3E");
		lastSearch = search;
		queryString = queryString + queryPrefix + "search=" + search;
		queryPrefix = "&";
	}

	if (!(failover == ""))
	{
		queryString = queryString + queryPrefix + "failover=" + failover;
		queryPrefix = "&";
	}

	if (!(mobile == ""))
	{
		queryString = queryString + queryPrefix + "mobile=" + mobile;
		queryPrefix = "&";
	}

	if (!(from == ""))
	{
		from = from.replace(/\s/g, "%20");
		from = from.replace(/&/g, "%26");
		from = from.replace(/\'/g, "%27");
		from = from.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "from=" + from;
		queryPrefix = "&";
	}
	if (!(tracker == ""))
	{
		tracker = tracker.replace(/\s/g, "%20");
		tracker = tracker.replace(/&/g, "%26");
		tracker = tracker.replace(/\'/g, "%27");
		tracker = tracker.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "tracker=" + tracker;
		queryPrefix = "&";
	}

	if (cat == "Featured")
		queryString = queryString + "&nocache=" + (new Date().getTime());

	return queryString;
}

function qEscape(text)
{
	// Include the space on either side of & so that & used to start a new url param will not be changed.
	// This is because the sideAd features converts an entire query string all at once.
	text = text.replace(/\s\&\s/g, "%20%26%20");
	text = text.replace(/\s/g, "%20");
	text = text.replace(/\'/g, "%27");
	text = text.replace(/\>/g, "%3E");

	return text;
}

function countOf(find, text)
{
	var cnt = 0;

	pos = 0;
	while (pos > -1)
	{
		pos = text.indexOf(find, pos);
		if (pos > -1)
		{
			pos += find.length;
			cnt++;
		}
	}
	return cnt;
}

function ajaxHotDeals(category, subcategory, showNbr, halt)
{
	if (typeof halt == 'undefined' ) halt = false;

	category = category.replace('%27',"'");
	subcategory = subcategory.replace('%27',"'");

	// TigerDirect Featured Weekly Offers 
	if (category == 'Featured')
		url = 'http://rss.linksynergy.com/promo.rss?promoid=3128&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';
        //Uncomment below to use Tablets for a while instead of 10 10 weekly deals
		//url = 'http://rss.linksynergy.com/promo.rss?promoid=4415&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';

	// TigerDirect Top 10 HDTV
	else if (subcategory.indexOf("Video & TV") > -1)
		url = 'http://rss.linksynergy.com/promo.rss?promoid=2950&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';

	// TigerDirect Top 10 Monitors
	else if (subcategory.indexOf("Monitors") > -1)
	    url = 'http://rss.linksynergy.com/promo.rss?promoid=2951&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';

	// TigerDirect Top 10 Printers
	else  if (subcategory.indexOf("Printer") > -1)
		url = 'http://rss.linksynergy.com/promo.rss?promoid=3111&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';

	// TigerDirect Top 10 Computers (desktop)
	else  if ((subcategory.indexOf("Computers") > -1) && (subcategory.indexOf("Desktop") > -1))
		url = 'http://rss.linksynergy.com/promo.rss?promoid=2952&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';	

	// TigerDirect Top 10 Computers (tablet)
	else  if ((subcategory.indexOf("Computers") > -1) && (subcategory.indexOf("Tablet") > -1))
		url = 'http://rss.linksynergy.com/promo.rss?promoid=4415&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';

	// TigerDirect Top 10 Computers (non desktop & non tablet)
	else  if ((subcategory.indexOf("Computers") > -1))
		url = 'http://rss.linksynergy.com/promo.rss?promoid=2948&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';

	// TigerDirect Top 10 Cameras
	else  if ((subcategory.indexOf("Cameras") > -1) && (subcategory.indexOf("Camcorder") == -1))
		url = 'http://rss.linksynergy.com/promo.rss?promoid=3030&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';

	// TigerDirect Top 10 Camcorders
	else  if ((subcategory.indexOf("Cameras") > -1) && (subcategory.indexOf("Camcorder") > -1))
		url = 'http://rss.linksynergy.com/promo.rss?promoid=3029&token=9e98c3cadab2c7476e9f592c07972d1d1fc069c4146981349880665a5e1a0c41';
	else
		url = '';

	if (url == lastHotDealURL)
	{
		makeHotDealPanel(category, subcategory, lastHotDealResponse, showNbr, halt);
		//alert('using last response text for category = '+category+' subcategory = '+subcategory);
		return;
	}
	//else
	//	alert('getting new response text for category = '+category+' subcategory = '+subcategory);



	if (hotDealRequest != null)
		hotDealRequest.abort();

	hotDealRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	hotDealRequest.onreadystatechange = function()
	{
		if(hotDealRequest.readyState == 4)
		{

			//header = ajaxRequest.getAllResponseHeaders();
			response = hotDealRequest.responseText;
			hotDealRequest = null;

			lastHotDealURL = url;

			lastHotDealResponse = response;

			makeHotDealPanel(category, subcategory, response, showNbr, halt);
			
		}
	}

	HaltHotDeals();

	if (!(url == ""))
	{
		eUrl = url.replace(/\s/g, "%20").replace(/\&/g, "%26").replace(/\?/g, "%3F").replace(/\'/g, "%27").replace(/:/g, "%3A").replace(/\//g, "%2F");
		hotDealRequest.open("POST", currentDir+'getHotDealsRSSFeed.php', true);
		//hotDealRequest.withCredentials = "true";
	    hotDealRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
		hotDealRequest.send("url="+eUrl);
	}
	else
		HideHotDeals();

}

function makeHotDealPanel(category, subcategory, response, showNbr, halt)
{
			deals = countOf('<item>',response);
			//alert('Found '+deals+ ' Hot Deals.  Length of response is '+(response.length));
			//if (response.indexOf("Attempt #")>-1)
			//	alert("Multiple attempts made");

			if (deals > 0)
				DisplayHotDeals();
			else
			{	
				//DisplayHotDeals();
				//var ajaxDisplay = document.getElementById('ajaxHotDealsDiv');			
				//ajaxDisplay.innerHTML =  response;

				HideHotDeals();
				return;
			}

			pos = 0;
			lastDealFound = 0;
			dealName = "";

			if (showNbr > deals)
				showNbr = 1;
			if (showNbr < 1)
				showNbr = deals;

			getShowNbr = deals - showNbr + 1;

			i = 0;
			while(i<getShowNbr)
			{
				find = '<item>';
				pos = response.indexOf(find,pos);
				if (pos > -1)
				{
					pos += find.length;
					lastDealFound = i+1;
					//alert('found <item> '+(i+1)+' times.');
				}
				i++;
			}

			if (lastFoundDeal = getShowNbr)
			{
				response = response.substr(pos);

				find = '<title>';
				pos = response.indexOf(find);
				if (pos > -1)
				{
					response = response.substr(pos+find.length);
					find = '</title>';
					pos = response.indexOf(find);
					if (pos > -1)
					{
						dealName = response.substr(0,pos);
						response = response.substr(pos+find.length);
						amtPos = dealName.indexOf('$');
						if (amtPos > -1)
							dealName = dealName.substr(0,amtPos)+'<br /><font color=#B31816>'+dealName.substr(amtPos)+'</font>';
						//alert('Found <title>: '+dealName);
						find = '<link>';
						pos = response.indexOf(find);
						if (pos > -1)
						{
							response = response.substr(pos+find.length);
							find = '</link>';
							pos = response.indexOf(find);
							if (pos > -1)
							{
								hotDealLink = response.substr(0,pos);
								response = response.substr(pos+find.length);
								//alert('Found <link>: '+hotDealLink);
								find = '<img src="';
								pos = response.indexOf(find);
								if (pos > -1)
								{
									response = response.substr(pos+find.length);
									find = '"/>';
									pos = response.indexOf(find);
									if (pos > -1)
									{
										dealImage = response.substr(0,pos);
										//alert('Found <image>: '+dealImage);
										response = response.substr(pos+find.length);
										find = '<br/> '
										pos = response.indexOf(find);
										if (pos > -1)
										{
											response = response.substr(pos+find.length);
											//alert('Found (deealDesc start)<br/>: '+response);
											find = ']]>';
											pos = response.indexOf(find);
											if (pos > -1)
											{
												dealDesc = response.substr(0,pos);
												//alert('Found (deealDesc end) ]]>: '+dealDesc);
												response = response.substr(pos+find.length);
											}
										}
									}
								}
							}
						}
					}
				}
			} // End If Found desired Deal

			//alert("dealName: "+dealName+" dealDesc: "+dealDesc+" dealImage: "+dealImage);

			if (dealName != "")
			{
				//if (category == "Featured")
				//	hotTitle = "Today's Hot Deals";
				//else
				//	hotTitle = "Todays Hot Deals in "+category;
				//content = '<DIV class="featured_title"><H2>'+hotTitle+'<I><B>!</B></I></H2></DIV>';

				noQuotesCategory = category.replace("'","%27");
				noQuotesSubcat = subcategory.replace("'","%27");

				content = '<TABLE align="center"><TR><TD><IMG SRC="/images/HotPrev.gif" class="hand-cursor" alt="Previous Hot Deal" onclick=\'ajaxHotDeals("'+noQuotesCategory+'","'+noQuotesSubcat+'",'+(showNbr-1)+',true);return false;\'></TD>';
				content += '<TD>';
				content += '   <DIV class="hot_deal_div" onclick=\'bannerLink("'+hotDealLink+'","HotDeal","","","");return false;\'  >';
			//	content += '      <DIV>';
				content += '           <TABLE  align="center">';
				content += '              <TR>';
				content += '                 <TD class="hot_deal_left_cell">';
				content += '                     <DIV class="hot_deal_top">'+dealName+'</DIV>';
				content += '                     <DIV class="hot_deal_bottom"><IMG align="top" class="inline-image" SRC="/images/HotDeal.gif">';
				content += '                        &nbsp;&nbsp;'+showNbr+' of '+deals+'<DIV class="r_button_125">Grab It Fast!</DIV>';
				content += '                     </DIV>';
				content += '                </TD>';
//				content += '                <TD><img src="'+dealImage.replace("small","medium")+'" onerror="this.src=\''+dealImage+'\';" ></TD>';
				content += '                <TD class="hot_deal_right_cell">';
				content += '                     <DIV class="hot_deal_middle">';
				content += '                         <img id="image_hot_deal" class="image-hot-deal" src="'+dealImage.replace("small","medium")+'" onerror="loadErrImage(\'image_hot_deal\', \'/images/DefImage200X200.gif\');" >';
				content += '                     </DIV>';
				content += '                </TD>';
				content += '              </TR>';
				content += '           </TABLE>';
			///	content += '      </DIV>';
				content += '</TD>';
				content += '<TD><IMG style="padding-left: 8px" SRC="/images/HotNext.gif" class="hand-cursor" alt="Next Hot Deal" onclick=\'ajaxHotDeals("'+noQuotesCategory+'","'+noQuotesSubcat+'",'+(showNbr+1)+',true);return false;\'></TD>';
				content += '</TR></TABLE>';

				var ajaxDisplay = document.getElementById('ajaxHotDealsDiv');			
				ajaxDisplay.innerHTML =  content;

				if (halt)
				{
					if(hotDealTimer)
					{
						window.clearTimeout(hotDealTimer);
						hotDealTimer = null;
					}
				}
				else
					hotDealTimer = window.setTimeout('ajaxHotDeals("'+noQuotesCategory+'","'+noQuotesSubcat+'",'+(showNbr+1)+');',7000);

			}
}

function loadErrImage(Id, errorImg)
{
	var e = document.getElementById(Id);
	//e.onerror="loadErrImage('"+Id+"','/images/HotDeal.gif');";
	e.onerror="";
    e.src=errorImg;
}

function DisplayHotDeals()
{
	divid = "ajaxHotDealsDiv";
	var o=document.getElementById(divid); 
	var r=o.style; 
	r.display = "block"; 
	r.visibility = "visible"; 
}

function HideHotDeals()
{
	HaltHotDeals();

	divid = "ajaxHotDealsDiv";
	var o=document.getElementById(divid); 
	var r=o.style; 
	r.display = "none"; 
	r.visibility = "hidden"; 
}

function HaltHotDeals()
{
	if(hotDealTimer)
	{
		window.clearTimeout(hotDealTimer);
		hotDealTimer = null;
	}
}

/* Tried this but the Javascript in the resonse text does not execute redering the seals 
function ajaxSeals()
{
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxSealsDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
		}
	}

	//ajaxRequest.open("GET", currentDir+"getSeals.php", true);
	//ajaxRequest.send(null);

	ajaxRequest.open("POST", currentDir+"getSeals.php", true);
	ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
	ajaxRequest.send(null);	
}
*/

function ajaxPopularStores()
{
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('ajaxStoresDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			window.scroll(0, 0);
		}
	}

	queryPrefix = "";
	queryString = "";

	if (!(failover == ""))
	{
		queryString = queryString + queryPrefix + "failover=" + failover;
		queryPrefix = "&";
	}

	if (!(from == ""))
	{
		from = from.replace(/\s/g, "%20");
		from = from.replace(/&/g, "%26");
		from = from.replace(/\'/g, "%27");
		from = from.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "from=" + from;
		queryPrefix = "&";
	}

	if (!(tracker == ""))
	{
		tracker = tracker.replace(/\s/g, "%20");
		tracker = tracker.replace(/&/g, "%26");
		tracker = tracker.replace(/\'/g, "%27");
		tracker = tracker.replace(/\>/g, "%3E");
		queryString = queryString + queryPrefix + "tracker=" + tracker;
		queryPrefix = "&";
	}

	ajaxRequest.open("GET", currentDir+"getStores.php", true);
	ajaxRequest.send(null);
}

function ajaxNewsletter()
{
	var ajaxRequestNL = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequestNL.onreadystatechange = function(){
		if(ajaxRequestNL.readyState == 4){
			var ajaxDisplayNL = document.getElementById('ajaxNewsletterDiv');
			ajaxDisplayNL.innerHTML = ajaxRequestNL.responseText;
		}
	}

	ajaxRequestNL.open("GET", currentDir+"newsletter.php", true);
	ajaxRequestNL.send(null);

}

function leftEasyAd()
{
	lsadunit_div = 'left-easyad-div';
	lsadunit_publisherId = '6xEHDgBwF/Y';
	lsadunit_oid = '121938';
	lsadunit_width = 170;
	lsadunit_height = 600;
	lsadunit_uid = '2026826';
	lsadunit_u1 = '';
	lsadunit_preHTML = '<DIV class="tab_170">'
	              + '	<h2>Featured Games</h2>'
				  + '</DIV>'
				  + '<DIV class="left-side-ad-div">'
				  + '<center>';

	lsadunit_postHTML = '<DIV class ="side-ad-links">'
			+ '	<br/>'
			+ '	<A href="/" onclick="ajaxMenuSelection(\'Video Games\',\'Nintendo DS\');return false;">'
			+ '		See all Nintendo DS</A><br/>'
			+ '	<A href="/" onclick="ajaxMenuSelection(\'Video Games\',\'Nintendo Wii\');return false;">'
			+ '		See all Nintendo Wii</A><br/>'
			+ '	<A href="/" onclick="ajaxMenuSelection(\'Video Games\',\'Sony PSP\');return false;">'
			+ '		See all Sony PSP</A><br/>'
			+ '	<A href="/" onclick="ajaxMenuSelection(\'Video Games\',\'Playstation 3\');return false;">'
			+ '		See all Playstation 3</A><br/>'
			+ '	<A href="/" onclick="ajaxMenuSelection(\'Video Games\',\'Xbox 360\');return false;">'
			+ '		See all Xbox 360</A><br/>'
			+ '	<br/>'
			+ '	</DIV>'
			+ '	</center>'
			+ '</DIV>';

	var LS_adUnit = new LS_AdUnit();
	LS_adUnit.writeDiv();

}

function rightEasyAd()
{
	lsadunit_div = 'right-easyad-div';
	lsadunit_publisherId = '6xEHDgBwF/Y';
	lsadunit_oid = '209883';
	lsadunit_width = 160;
	lsadunit_height = 600;
	lsadunit_uid = '2026830';
	lsadunit_u1 = '';
	lsadunit_preHTML = '<DIV id="ajaxLinkShareDiv" style="padding:0px"><center>';
	lsadunit_postHTML = '';

	var LS_adUnit = new LS_AdUnit();
	LS_adUnit.writeDiv();

	lsadunit_publisherId = '6xEHDgBwF/Y';
	lsadunit_oid = '162158';
	lsadunit_width = 160;
	lsadunit_height = 600;
	lsadunit_uid = '2026829';
	lsadunit_u1 = '';
	lsadunit_preHTML = '';
	lsadunit_postHTML = '</center></DIV>';

	LS_adUnit = new LS_AdUnit();
	LS_adUnit.writeDiv();

}


function ajaxSubscribe()
{
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var response = ajaxRequest.responseText.trim();
			if (response == "true")
			{
				alert("Thank you for subscribing to our newsletter.  Check your email for a 'Please Confirm Subcription' email from us.");
			}
			else
				alert("Sorry there was a problem processing your subscription request:\n"+response);
		}
	}

	var email = document.subscribeForm.email.value;
	var fname = document.subscribeForm.fname.value;
	var lname = document.subscribeForm.lname.value;

	fname = fname.trim().replace(/\s/, "_");
	lname = lname.trim().replace(/\s/, "_");

	if (email.indexOf("@") == -1 || email.indexOf(".") == -1)
	{
		alert("Please provide a valid email for receiving our newsletter.  We will NEVER sell or give away your contact information."); 
	}
	else if (lname == "" || fname == "")
	{
		alert("Please provide first and last name.  We will NEVER sell or give away your contact information.");
	}
	else
	{
		var queryString = "";
		var queryPrefix = "";
		
		if (!(email == "") )
		{
			email = email.replace(/\s/g, "%20");
			email = email.replace(/&/g, "%26");
			email = email.replace(/\'/g, "%27");
			email = email.replace(/\>/g, "%3E");
			queryString = queryString + queryPrefix + "email=" + email;
			queryPrefix = "&";
		}
		if (!(fname == "") )
		{
			fname = fname.replace(/\s/g, "%20");
			fname = fname.replace(/&/g, "%26");
			fname = fname.replace(/\'/g, "%27");
			fname = fname.replace(/\>/g, "%3E");
			queryString = queryString + queryPrefix + "fname=" + fname;
			queryPrefix = "&";
		}
		if (!(lname == "") )
		{
			lname = lname.replace(/\s/g, "%20");
			lname = lname.replace(/&/g, "%26");
			lname = lname.replace(/\'/g, "%27");
			lname = lname.replace(/\>/g, "%3E");
			queryString = queryString + queryPrefix + "lname=" + lname;
			queryPrefix = "&";
		}

		ajaxRequest.open("POST", currentDir+"subscribe.php", true);
		ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
		ajaxRequest.send(queryString);
	}
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function largestWordSize(text)
{
	var largest = 0;
	var words = text.split(" ");
	for (var i = 0; i < words.length; i++)
	{
		size = words[i].length;
		if (words[i].toLowerCase() == "tv")
			size = 4; // handeled in search by expanding to HDTV TELEVISION, etc.

		if (size > largest)
			largest = size;
	}
	return largest;
}

function DisplayPreview(previewUrl,left,top)
{
	var divid = "PreviewDiv";
	var o=document.getElementById(divid); 
	var r=o.style; 
	r.position='absolute'; 
	r.top = top + 'px'; 
	r.left = left + 'px'; 
//	r.display = "block"; 
	r.visibility = "visible"; 
	if (mobile == "on")
	{
		o.innerHTML='<div class="tab_filled"><IMG id="preview-close" SRC="/images/btnCloseX.png" /></div><br/><IMG id="preview-image" SRC="'+previewUrl+'" /><span class="footnote"><center>Tap to close</center></span>';
		$('#preview-close').click
		(
			function() 
			{
				//HidePreview();
				$('#PreviewDiv').fadeOut();
			}
		);
		$('#preview-image').click
		(
			function() 
			{
				//HidePreview();
				$('#PreviewDiv').fadeOut();
			}
		);
		$('#PreviewDiv').centerPreview().show();	
	}
	else
	{
		o.innerHTML='<div class="tab_filled"><span class="preview_title">AddictingDeals Preview</span></div><br/><IMG id="preview-image" SRC="'+previewUrl+'" /><br/>';
		$('#PreviewDiv').centerVertically().show();
	}
}

function HidePreview()
{
	//var div = document.getElementById("PreviewDiv");
	//div.style.visibility = "hidden"; 
	$('#PreviewDiv').hide();

}

function getImgWidth(imgSrc)
{
	var newImg = new Image();
	newImg.src = imgSrc;
	var width = newImg.width;
	return width;
}

function PreviewInit()
{
	$('.footer').hide();

	//Define a mouseover for all objects with CSS class of image-prod.

	if (mobile == "on")
	{
		$('.image-prod').mouseover
		(
			function() 
			{
				var thumb = $(this);

				if (!thumb.attr('rel')) {
					return;
				}

				var previewUrl = thumb.attr('rel');

				// Resturns width correct if previewURL (rel=) same as source (src=)
				// If previewURL is different (i.e. not loaded already) returns 0.
				var largeWidth = getImgWidth(previewUrl);

				// commented out because on Mobile mouseover called just before click and
				// if no image displayed the click to go to destination page happens on the small ones.
				// Thumbs are 125px wide, lets nut show a larger image unless 130+
				//if (largeWidth > 0 && largeWidth < 130) {
				//	return;
				//}

				var thumbOffset = thumb.offset();
				var left = thumbOffset.left + thumb.width() + 20;
				var top = thumbOffset.top + 38;
				DisplayPreview(previewUrl,left,top);
			}
		);
	}
	else
	{
		$('.image-prod').mouseover
		(
			function() 
			{
				var thumb = $(this);

				if (!thumb.attr('rel')) {
					return;
				}

				var previewUrl = thumb.attr('rel');

				// Resturns width correct if previewURL (rel=) same as source (src=)
				// If previewURL is different (i.e. not loaded already) returns 0.
				var largeWidth = getImgWidth(previewUrl);
				// Thumbs are 125px wide, lets not show a larger image unless 130+
				if (largeWidth > 0 && largeWidth < 130) {
					return;
				}

				var thumbOffset = thumb.offset();
				var left = thumbOffset.left + thumb.width() + 20;
				var top = thumbOffset.top + 38;
				DisplayPreview(previewUrl,left,top);
			}
		).mouseout(
			function() {
				HidePreview();
			}
		);
	}
}

function fb_share(deal)
{
	var url = 'http://www.addictingdeals.com/?deal='+deal+'&from=FBSHARE&nocache=' + (new Date().getTime());
	url = encodeURIComponent(url);
	window.open('http://www.facebook.com/sharer.php?u='+url,'sharer','toolbar=0,status=0,width=626,height=436');
	return false;
}

/*
function redeemCoupon(deal, link, promo, merch)
{	
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			//var ajaxDisplay = document.getElementById('MessageDiv');
			//ajaxDisplay.innerHTML = ajaxRequest.responseText;
			//DisplayMessage();

			alert("response: " + ajaxRequest.responseText);
		}
	}



	//link =  encodeURIComponent(link);
	promo = encodeURIComponent(promo);
	merch = encodeURIComponent(merch);

	queryString = "?link=" + link + "&promo=" + promo + "&merch=" + merch;

	ajaxRequest.open("GET", link, true);
	ajaxRequest.send(null);	

	//alert("press OK to activate link: " + link);
	//text = getPage(link)
	//alert("response: "+text);

}
*/

function redeemCoupon(deal_nbr, dealLink, couponLink, promo, merch, image_src)
{	
	var ajaxRequest = ajaxRequester();  // The variable that makes Ajax possible!

	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var ajaxDisplay = document.getElementById('MessageDiv');
			ajaxDisplay.innerHTML = ajaxRequest.responseText;
			DisplayMessage();
		}
	}



	couponLink =  encodeURIComponent(couponLink);
	dealLink =  encodeURIComponent(dealLink);
	promo = encodeURIComponent(promo);
	merch = encodeURIComponent(merch);
	image_src = encodeURIComponent(image_src);

	queryString = "?deal_nbr=" + deal_nbr + "&deal_link=" + dealLink + "&coupon_link=" + couponLink + "&promo=" + promo + "&merch=" + merch + "&image_src=" + image_src;



	ajaxRequest.open("GET", currentDir+'redeemCoupon.php'+queryString, true);
	ajaxRequest.send(null);	

}


