/**
*
* Search CD list
*
**/

var curtyp = "?";
var orgFilt = "";
var canCook = testCook();

// ------------ Functions for any calling screen ------------

function SearchForm() {
	document.write('<form name="CDS" onsubmit="cdSearch();return false">\n');
	document.write('Search all CDs for&nbsp\n');
	document.write('<input name="CDSFIL" size=27 type="text">\n');
	document.write('<input type="button" value="Go" onclick="cdSearch()">\n');
	document.write('</form><br>\n');
}

function cdSearch() {
	var srchval = document.CDS.CDSFIL.value;
	var gotopage = "CDLSCH.HTM";
	if (srchval.length > 0) {
		if (canCook) {
			setCook("gon", srchval, 1);
		} else {
			if (encodeURIComponent) {		
				gotopage = gotopage+"?q="+encodeURIComponent(srchval);
			} else {
				gotopage = gotopage+"?q="+escape(srchval);
			}
		}
		window.location = gotopage;
	}
}

// ------------ Cookie handling functions ------------

function testCook() {
	var cookieEnabled=(navigator.cookieEnabled) ? true : false;
	//if not IE4+ nor NS6+
	if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
		setCook("testc", "?", 1);
		cookieEnabled = (document.cookie.indexOf("testc")!=-1) ? true : false;
	}
	return (cookieEnabled)
}

function setCook(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else {
		var expires = "";
	}
	document.cookie = name+"="+escape(value)+expires+"; path=/";
}

function getCook(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 unescape(c.substring(nameEQ.length,c.length));
	}
	return null;
}

function clearCook(name) {
	if (canCook) setCook(name,"",-1);
}


// ------------ Functions for CDSEARCH screen ------------

function PrepareFilt() {
	orgFilt = window.location.search.substring(1);
	if (orgFilt.length != 0 && orgFilt.indexOf("q=") == 0) {
		orgFilt = orgFilt.substring(2);
		if (encodeURIComponent) {		
			orgFilt = decodeURIComponent(orgFilt);
		} else {
			orgFilt = unescape(orgFilt);
		}
	} else {
		if (canCook) orgFilt = getCook("gon");
	}
	document.CDS.CDSFIL.value = orgFilt;
}

function DoSearch() {
	var cnt = 0;
	var cds = 0;

	if (orgFilt.length > 0) {
		if (orgFilt.substr(0,1) == '"' && orgFilt.substr(orgFilt.length-1,1) == '"') {
			var w = new Array();
			w[0] = orgFilt.toLowerCase().substring(1,orgFilt.length-1);
		} else {
			var w = orgFilt.toLowerCase().split(" ");
		}
		var d = new Array();
		var ele;
		var fnd;
		for (var r = 0; r < s.length; r++) {
			ele = s[r].substr(6).toLowerCase();
			fnd = true;
			for (var i = 0; i < w.length; i++) {
				if (ele.indexOf(w[i]) < 0) {
					fnd = false;
					break;
				}
			}
			if (fnd) {
				ShowRec(r);
				cnt++;
				ele = s[r].substring(0,5);
				fnd = false;
				for (var i = 0; i < d.length; i++) {
					if (d[i] == ele) {
						fnd = true;
						break;
					}
				}
				if (!fnd) {
					d[cds] = ele;
					cds++;
				}
			}
		}
		if (curtyp != '?') EndTable();
	}

	if (cnt == 0) {
		$('CDSRES').innerHTML = 'No records found';
	} else {
	if (cnt == 1) {
		$('CDSRES').innerHTML = cnt+' record found';
	} else {
		$('CDSRES').innerHTML = cnt+' records found ('+cds+' CDs)';
	}}

}

function ShowRec (lin) {
	var os;
	var filt = "";
	var thstyp = s[lin].substring(0,1);
	if (thstyp != curtyp) {
		if (curtyp != '?') EndTable();
		for (var i = 0; i < p.length; i++) {
			if (p[i].substring(0,1) == thstyp) {
				os = p[i].split("\t");
				if (!canCook) {
					if (encodeURIComponent) {		
						filt = "?q="+encodeURIComponent(orgFilt);
					} else {
						filt = "?q="+escape(orgFilt);
					}
				}
				document.write('<a href="'+os[1]+filt+'">'+os[2]+'</a><br><br>\n');
				document.write('<table class="search" cellspacing="0" width="95%"><thead><tr>'+os[3]+'</tr></thead><tbody>\n');
				break;
			}
		}
		curtyp = thstyp;
	}

	document.write('<tr>');
	os = s[lin].split("\t");
	for (var i = 1; i < os.length; i++) {
		document.write('<td>'+os[i]+'</td>');
	}
	document.write('</tr>\n');
}

function EndTable() {
	document.write('</tbody></table><br>\n');
}
