var data;
var undefined;
var active;

function isUndefined(property)
{
	return (typeof property == 'undefined');
}

if (isUndefined(Array.prototype.push) == true)
{
	Array.prototype.push = function()
	{
		var currentLength = this.length;
		for (var i = 0; i < arguments.length; i++) {
			this[currentLength + i] = arguments[i];
		}
		return this.length;
	};
}

function search()
{
	found = 0;
	
	exp = document.getElementById('str').value.toLowerCase().split(" ");

	var list = "";

	if (!data)
		DOMtoData();

	for(i=0;i<data.length;i++)
	{
		match = true;
		
		for(e=0;e<exp.length;e++) {
			if (data[i][0].toLowerCase().indexOf(exp[e])<0 && 
				data[i][3].toLowerCase().indexOf(exp[e])<0 && 
				data[i][5].toLowerCase().indexOf(exp[e])<0 && 
				data[i][7].toLowerCase().indexOf(exp[e])<0 &&
				data[i][9].toLowerCase().indexOf(exp[e])<0
			)
				match = false;
		}
		
			
		if ($('skill').value && $('skill').value != data[i][10])
			match = false;
			
		if ($('location').value && $('location').value != data[i][8])
			match = false;
			
		if ($('date').value && $('date').value != data[i][6].substring(0,7))
			match = false;
			
		if ($('activity').value && $('activity').value != data[i][2])
			match = false;
			
		var item;
				
		if (match) {	
			style="";
			row_class = 'r'+ (found % 2);
			found++
		}
		else
		{
			style="display:none;";
			row_class = "";
		}
		
		list=list+"<tr class=\""+row_class+"\" style=\""+style+"\">";
		for(ii=0;ii<data[i].length;ii++) {
			if (ii % 2==1)
				style = "";
			else
				style = "display:none;";
			list=list+"<td style=\""+style+"\">"+data[i][ii]+"</td>";
		}
		list=list+"</tr>";
		
	}

	if (found==0)
		$('notrips').style.display = 'block';
	else
		$('notrips').style.display = 'none';

	list=list+"";
	
	if (document.all) {
		content = '<table class="browsetable" cellspacing="0"><thead id="browsehead">';
		content = content + document.getElementById('browsehead').innerHTML;
		content = content +'</thead><tbody id="browsetable">'+list+'</tbody></table>';
		document.getElementById('browsearea').innerHTML = content;
	}
	else
		document.getElementById('browsetable').innerHTML = list;
		
	$('browsearea').style.display = 'block';
}

function DOMtoData()
{
	data = new Array();
	
	var rows = document.getElementById('browsetable').getElementsByTagName('tr');
	
	for(var i=0;i<rows.length;i++)
	{
		var row = new Array();
		var cells = rows[i].getElementsByTagName('td');
		
		for(var ii=0;ii<cells.length;ii++) {
			if (cells[ii].innerHTML * 1)
				row.push(cells[ii].innerHTML * 1);
			else
				row.push(cells[ii].innerHTML);
		}
		data.push(row);
	}
}
 
function keyPressed()
{
	var key;
	
	if(window.event)
		key = window.event.keyCode;
	else
		key = e.which;
		
	if(key == 13)
		return false;
	else
		return true;
}

function sort(handle,col)
{	
	DOMtoData();

	var parent = handle;
	
	if (active)
		active.className = "";
		
	parent.className = "active";
	active = parent;
	
	if (parent.order == 1)
		parent.order = 0;
	else
		parent.order = 1;
	
	order = 1;

	data.sort(
		function (a,b)
		{
			if (parent.order == 1) {
				if (a[col]<b[col]) return -1;
				if (a[col]>b[col]) return 1;
				if (a[0]<b[0]) return -1;
				if (a[0]>b[0]) return 1;
			} else {
				if (a[col]>b[col]) return -1;
				if (a[col]<b[col]) return 1;
				if (a[0]<b[0]) return -1;
				if (a[0]>b[0]) return 1;
			}
			return 0;
		}
	);
	
	search();
}
