// Tipue 1.6


// ---------- script properties ----------


var results_location = "http://www.articulatemarketing.com/results.htm";
var return_results = 10;
var include_num = 0;
var bold_query = 0;
var include_url = 1;


// ---------- end of script properties ----------


var cookies = document.cookie;
var p = cookies.indexOf('d=');
var pn = cookies.indexOf('n=');

if (p != -1) {
	var st = p + 2;
	var en = cookies.indexOf(';', st);
	if (en == -1) {
		en = cookies.length;
	}
	var d = cookies.substring(st, en);
	d = unescape(d);
}
if (pn != -1) {
	var st = pn + 2;
	var en = cookies.indexOf(';', st);
	if (en == -1) {
		en = cookies.length;
	}
	var n = cookies.substring(st, en);
}

var od = d;
var nr = return_results;
n = parseInt(n);
var nb = n + nr;
var nc = 0;
var nd = 0;
var r = new Array();
var rt = new Array();
var co = 0;
var m = 0;

if (d.charAt(0) == '"' && d.charAt(d.length - 1) == '"') {
	m = 1;
}
var rn = d.search(/ or /i);
if (rn >= 0) {
	m = 2;
}
rn = d.search(/-/i);
if (rn >= 0) {
	rn = d.search(/ /i);
	if (rn != 0) {
		d = d.replace(/-/gi, ' -');
	}
}
rn = d.search(/ not /i);
if (rn >= 0) {
	d = d.replace(/ not /gi, ' -');
}
rn = d.search(/\+/i);
if (rn >= 0) {
	rn = d.search(/ /i);
	if (rn != 0) {
		d = d.replace(/\+/gi, ' +');
	}
}
if (m == 0) {
	var woin = new Array();
	d = d.replace(/ and /gi, ' ');
	var w = d.split(' ');
	for (var a = 0; a < w.length; a++) {
		woin[a] = 0;
		if (w[a].charAt(0) == '-') {
			woin[a] = 1;
		}
	}
	for (var a = 0; a < w.length; a++) {
		w[a] = w[a].replace(/^\-|^\+/gi, '');
	}
	a = 0;
	for (var c = 0; c < s.length; c++) {
		var es = s[c].split('^');
		var rk = 100;
		if (es[5] == null) {
			es[5] = '0';
		}
		if (parseInt(es[5]) > 10) {
			es[5] = '10';
		}	
		var pa = 0;
		var nh = 0;
		for (var i = 0; i < woin.length; i++) {
			if (woin[i] == 0) {
				nh++;
				var nt = 0;
				var pat = new RegExp(w[i], 'i');
				var rn = es[0].search(pat);
				if (rn >= 0) {
					rk = rk - 11;
					rk = rk - parseInt(es[5]);					
					nt = 1;
				}
				var rn = es[2].search(pat);
				if (rn >= 0) {
					rk = rk - 11;
					rk = rk - parseInt(es[5]);					
					nt = 1;
				}
				var rn = es[3].search(pat);
				if (rn >= 0) {
					rk = rk - 11;
					rk = rk - parseInt(es[5]);					
					nt = 1;
				}
				if (nt == 1) {
					pa++;
				}
			}
			if (woin[i] == 1) {
				var pat = new RegExp(w[i], 'i');
				var rn = es[0].search(pat);
				if (rn >= 0) {
					pa = 0;
				}
				var rn = es[2].search(pat);
				if (rn >= 0) {
					pa = 0;
				}
				var rn = es[3].search(pat);
				if (rn >= 0) {
					pa = 0;
				}
			}
		}
		if (pa == nh) {
			r[a] = rk + '^' + s[c];
			a++;
		}
	}
	r.sort();
	co = a;
}

if (m == 1) {
	d = d.replace(/"/gi, '');
	var a = 0;
	var pat = new RegExp(d, 'i');
	for (var c = 0; c < s.length; c++) {
		var es = s[c].split('^');
		var rk = 100;
		if (es[5] == null) {
			es[5] = '0';
		}
		if (parseInt(es[5]) > 10) {
			es[5] = '10';
		}
		var rn = es[0].search(pat);
		if (rn >= 0) {
			rk = rk - 11;
			rk = rk - parseInt(es[5]);
		}
		rn = es[2].search(pat);
		if (rn >= 0) {
			rk = rk - 11;
			rk = rk - parseInt(es[5]);
		}
		rn = es[3].search(pat);
		if (rn >= 0) {
			rk = rk - 11;
			rk = rk - parseInt(es[5]);
		}
		if (rk < 100) {
			r[a] = rk + '^' + s[c];
			a++;		
		}
	}
	r.sort();
	co = a;
}

if (m == 2) {
	d = d.replace(/ or /gi, ' ');
	var w = d.split(' ');
	var a = 0;
	for (var i = 0; i < w.length; i++) {
		var pat = new RegExp(w[i], 'i');
		for (var c = 0; c < s.length; c++) {
			var es = s[c].split('^');
			var rk = 100;
			if (es[5] == null) {
				es[5] = '0';
			}
			if (parseInt(es[5]) > 10) {
				es[5] = '10';
			}
			var pa = 0;
			var rn = es[0].search(pat);
			if (rn >= 0) {
				rk = rk - 11;
				rk = rk - parseInt(es[5]);		
				if (rn >= 0) {
					for (var e = 0; e < rt.length; e++) {
						if (s[c] == rt[e]) {
							pa = 1;
						}
					}
				}
			}
			rn = es[2].search(pat);
			if (rn >= 0) {
				rk = rk - 11;
				rk = rk - parseInt(es[5]);		
				if (rn >= 0) {
					for (var e = 0; e < rt.length; e++) {
						if (s[c] == rt[e]) {
							pa = 1;
						}
					}
				}
			}
			var rn = es[3].search(pat);
			if (rn >= 0) {
				rk = rk - 11;
				rk = rk - parseInt(es[5]);		
				if (rn >= 0) {
					for (var e = 0; e < rt.length; e++) {
						if (s[c] == rt[e]) {
							pa = 1;
						}
					}
				}
			}
			if (rk < 100 && pa == 0) {
				rt[a] = s[c];
				r[a] = rk + '^' + s[c];
				a++;
				co++;
			}
		}
	}
	r.sort();
}

function write_cookie(nw) {
	document.cookie = 'd=' + escape(od) + '; path=/';
	document.cookie = 'n=' + nw + '; path=/';
}


// ---------- External references ----------


var tip_Num = co;

function tip_query() {
	document.tip_Form.d.value = od;
}

function tip_num() {
	document.write(co);
}

function tip_out() {
	if (co == 0) {
		document.write('Your search did not match any documents.<p>Make sure all keywords are spelled correctly.<br>Try different or more general keywords.');
		return;
	}
	if (n + nr > co) {
		nd = co;	
	} else {
		nd = n + nr;
	}
	for (var a = n; a < nd; a++) {
		var os = r[a].split('^');
		if (os[5] == null) {
			os[5] = '0';
		}
		if (bold_query == 1 && m == 0) {
			for (var i = 0; i < w.length; i++) {
				var lw = w[i].length;
				var tw = new RegExp(w[i], 'i');
				rn = os[3].search(tw);
				if (rn >= 0) {
					var o1 = os[3].slice(0, rn);
					var o2 = os[3].slice(rn, rn + lw);
					var o3 = os[3].slice(rn + lw);
					os[3] = o1 + '<b>' + o2 + '</b>' + o3; 
				}
			}
		}
		if (bold_query == 1 && m == 1) {
			var lw = d.length;
			var tw = new RegExp(d, 'i');
			rn = os[3].search(tw);
			if (rn >= 0) {
				var o1 = os[3].slice(0, rn);
				var o2 = os[3].slice(rn, rn + lw);
				var o3 = os[3].slice(rn + lw);
				os[3] = o1 + '<b>' + o2 + '</b>' + o3;
			}
		}
		if (include_num == 1) {
			document.write(a + 1, '. ');
		}
		if (os[5] == '0') {
			document.write('<a href="', os[2], '">', os[1], '</a>');
		}
		if (os[5] == '1') {
			document.write('<a href="', os[2], '" target="_blank">', os[1], '</a>');
		}
		if (os[5] != '0' && os[5] != '1') {
			document.write('<a href="', os[2], '" target="', os[5], '">', os[1], '</a>');
		}		
		if (os[3].length > 1) {
			document.write('<br>', os[3]);
		}
		if (include_url == 1) {
			if (os[5] == '0') {
				document.write('<br><a href="', os[2], '">', os[2], '</a><br><br>');
			}			
			if (os[5] == '1') {
				document.write('<br><a href="', os[2], '" target="_blank">', os[2], '</a><br><br>');
			}
			if (os[5] != '0' && os[5] != '1') {
				document.write('<br><a href="', os[2], '" target="', os[5], '">', os[2], '</a><br><br>');
			}
		} else {
			document.write('<p>');
		}
	}
	if (co > nr) {
		nc = co - nb;
		if (nc > nr) {
			nc = nr;
		}
		document.write('<p>');
	}
	if (n > 1) {
		document.write('<a href="', results_location, '" onclick="write_cookie(', n - nr, ')">Previous ', nr, '</a> &nbsp;');
	}
	if (nc > 0) {
		document.write('<a href="', results_location, '" onclick="write_cookie(', n + nr, ')">Next ', nc, '</a>');
	}
}
