// MiniMag Search Engine
// October 2004, Hens Breet

function validateSearch(){
	query = document.searchForm.q.value.toLowerCase();
	if (query != "w" && query.length<2) return; // no search on 1 letter only, unless it's "W" magazine
	else {
		if (document.location.search.indexOf("q") != -1){
			qString = document.location.search.substr(0, document.location.search.indexOf("q")-1)
		}else qString = document.location.search;
		sep = qString==""?"?":"&";
		//document.location.href = "multimag-search_results.html" + qString + sep + "q=" + document.searchForm.q.value;
		thisCategory = "Search Results";
		searchMagazines(document.searchForm.q.value);
		thisCategory = "Top Titles";
		catColor = categoryPage[thisCategory][1];
		document.getElementById("linelist").style.display = "block";
		document.getElementById("features").style.display = "block";
		document.getElementById("linelist").innerHTML = buildList();
		document.getElementById("bonusdetails").style.display = "none";
		document.getElementById("entryForm").style.display = "none";
	}
}

function searchMagazines(query){
	if(query.length == 0) return;
	query = query.toLowerCase(); // convert to lowercase for doing comparisons
	//if ((query == "" || query.length<2) && query != "w") return false;  // do nothing with an empty or single letter query string
	                                                                    // unless search string is "w"
	query = query.replace("'", "_");
	query = query.replace("&", "&amp;");
	
	result = new Array();
	for (i=1; i<magazines.length; i++){
		// collect all matching titles and parts of titles:
		if (magazines[i][0]!="Top Titles" && magazines[i][4] && (magazines[i][4].toLowerCase().indexOf(query) != -1 || magazines[i][12].toLowerCase().indexOf(query) != -1) ) {
			if (result.toString().indexOf(magazines[i][3])==-1){//not already there
				result[result.length] = magazines[i];
			}
		}
	}
	// nothing found: 
	if (result.length == 0) result = []; 

	categories = new Array();
	for (i=0; i<result.length; i++){
		// re-sort titles by category:
		if (categories[result[i][0]] == undefined) categories[result[i][0]] = result[i][4];
		else categories[result[i][0]] += "," + result[i][4];		
	}
	// display the results:
	document.getElementById("features").innerHTML = formatResults(result, query);
	step1();
}


function formatResults(searchResults, queryString){
	document.getElementById("catHeader").innerHTML = categoryPage[thisCategory][0];
	document.getElementById("catHeader").style.background = "url(assets/" + categoryPage[thisCategory][3] + ".gif)";
	if (searchResults.length==0){
		document.getElementById("catBlurb").innerHTML = "<span class='bigger'><font color='red'>No matching items could be found</font></span>";
	}else {
		document.getElementById("catBlurb").innerHTML = "Your search for <span style='color:white;background-color:black'>&nbsp;" + queryString + "&nbsp;</span> returned the following result(s):<br>";
	}
	//hack for single searchresults: add an empty entry
	if (searchResults.length%2==1) searchResults[searchResults.length] = ["", "", "", "", "", "", "", "", "", "", "", "", "", ""];


	var markup = "";
	markup += '<table border=0 cellpadding=0 cellspacing=0 width="100%">';
	for (i=0; i<searchResults.length; i+=2){
		markup += '<tr valign="top">';
		for (j=0; j<2; j++){
			safetitle = searchResults[i+j][4];
			if (safetitle=="") break;
			title = safetitle.replace(/_/g, "'");
			issues = searchResults[i+j][6].substr(0, searchResults[i+j][6].indexOf("/")); // number of issues
			price = searchResults[i+j][7];
			premium = searchResults[i+j][11].replace(/_/g, "'");
			premium = premium.replace("*", "<b>"); // first asterisk
			premium = premium.replace("*", "</b>"); // second asterisk
			premium = premium.replace("*", "<b>"); // third asterisk
			premium = premium.replace("*", "</b>"); // fourth asterisk
			blurb = searchResults[i+j][12].replace(/_/g, "\'");
			savings = searchResults[i+j][13];
			
			hilite = Math.random()>Math.random();
			markup += '<td width="40" valign="top" style="padding-top:8px"><a href="javascript:addItem(\'' + safetitle + '\')" onMouseOver="document.adds_'+(i+j)+'.src=\'assets/add_over.gif\'" onMouseOut="document.adds_'+(i+j)+'.src=\'assets/add.gif\'"><img title="'+blurb+'" src="assets/add.gif" hspace="2" border="0" name="adds_' + (i+j) + '"></a></td>';
			markup += '<td style="padding-right:4px;padding-top:8px; padding-bottom:4px; border-top:1px solid #ccc"><b>' + title + '</b>, <font size="1">' + issues + ' Issues</font><br>';
			markup += '<font size="1"><b>4 Payments Each Only</b></font> <b><span class="orange">$' + price + '</span></b><br>';
			markup += '<font color="#003399" size="1"><i>' + premium + '</i></font><br></td>';
		}
		markup += '</tr>';		
	}
	markup += '</table>';
	return markup;

}

function doSearch(){
	q = getURLValue('q').replace(/\+/g, " "); // replace '+' in querystring with spaces
	//document.forms[0].query.value = q; 
	document.forms[0].q.focus();
	searchMagazines(q);
}

function writeVar(varName){
	document.write(getURLValue(varName));
}

