function filterDuration(val)
{	
	var parsed = val.split(":");
	
	var seconds = parseInt(parsed[0], 10) * 3600 + parseInt(parsed[1], 10) * 60 + parseInt(parsed[2], 10);

	return seconds;
}

function parseTime(dateString)
{
	var dateAndTime = dateString.split(" ");

	var parsedDate = dateAndTime[0].split("-");
	var parsedTime = dateAndTime[1].split(":");

	var date = new Date(
			parseInt(parsedDate[0], 10), // Year
			parseInt(parsedDate[1] - 1, 10), // Month
			parseInt(parsedDate[2], 10), // Day
			parseInt(parsedTime[0], 10), // Hour
			parseInt(parsedTime[1], 10)  // Minute
		);
	
	return date;
}

function filterTime(val)
{
	/*
	var dateAndTime = val.split(" ");

	var parsedDate = dateAndTime[0].split("-");
	var parsedTime = dateAndTime[1].split(":");

	var date = new Date(
			parseInt(parsedDate[0], 10), // Year
			parseInt(parsedDate[1] - 1, 10), // Month
			parseInt(parsedDate[2], 10), // Day
			parseInt(parsedTime[0], 10), // Hour
			parseInt(parsedTime[1], 10)  // Minute
		);
	*/
	
	return Math.ceil( (new Date().getTime() - (parseTime(val)).getTime()) / (1000 * 60 * 60 * 24));
}

function filterTimeRange(val, range)
{
	var date = parseTime(val);
	
	var today = new Date();
	
	switch(range)
	{
		case "today":			
			return ( (date.getFullYear() == today.getFullYear()) && (date.getMonth() == today.getMonth()) && (date.getDate() == today.getDate()) );			
		break;
		case "yesterday":
			return ( (date.getFullYear() == today.getFullYear()) && (date.getMonth() == today.getMonth()) && (date.getDate() == today.getDate() - 1) );			
		break;
		case "this month":
			return ( (date.getFullYear() == today.getFullYear()) && (date.getMonth() == today.getMonth()) );
		break;
		case "last month":
			return ( (date.getFullYear() == today.getFullYear()) && (date.getMonth() == today.getMonth() - 1) );
		break;
	}
	
	return false;
	
	/*
	
	var dateAndTime = val.split(" ");

	var parsedDate = dateAndTime[0].split("-");
	var parsedTime = dateAndTime[1].split(":");

	var date = new Date(
			parseInt(parsedDate[0], 10), // Year
			parseInt(parsedDate[1] - 1, 10), // Month
			parseInt(parsedDate[2], 10), // Day
			parseInt(parsedTime[0], 10), // Hour
			parseInt(parsedTime[1], 10)  // Minute
		);
	*/
}

function resetFilters()
{
	var inputTags = document.getElementsByTagName("input");
	for(var i = 0; i < inputTags.length; ++i)
	{
		if(inputTags[i].type == "text")
		{
			inputTags[i].value = "";
			Table.filter(inputTags[i], null);
		}
	}
	
	var selectTags = document.getElementsByTagName("select");
	for(var i = 0; i < selectTags.length; ++i)
	{
		selectTags[i].selectedIndex = 0;
		Table.filter(selectTags[i], null);
	} 
}

/*
function parseLog(tableId, logType)
{
	//alert("PARSING ACTIVATED");
	
	var table = document.getElementById(tableId);
	
	//alert("TABLE ROWS: " + table.rows.length);
	
	var results = [];
	
	for(var row = 2; row < table.rows.length - 2; ++row)
	{		
		if(table.rows[row].style.display != "none")
		{	
			//for(var cell = 0; cell < table.rows[row].cells.length; ++cell)
			{
				var logString = "";
				
				switch(logType)
				{
					case "call":
						logString += "time=" + table.rows[row].cells[0].innerHTML + "^^^";
						logString += "direction=" + table.rows[row].cells[1].innerHTML + "^^^";
						logString += "number=" + table.rows[row].cells[2].innerHTML + "^^^";
						logString += "duration=" + table.rows[row].cells[3].innerHTML;
					break;
					case "sms":
						logString += "time=" + table.rows[row].cells[0].innerHTML + "^^^";
						logString += "direction=" + table.rows[row].cells[1].innerHTML + "^^^";
						logString += "number=" + table.rows[row].cells[2].innerHTML + "^^^";
						logString += "text=" + table.rows[row].cells[3].innerHTML;
					break;
					case "url":
						logString += "time=" + table.rows[row].cells[0].innerHTML + "^^^";
						logString += "url=" + table.rows[row].cells[1].innerHTML;
					break;
				}
				
				//alert(table.rows[row].cells[cell].innerHTML);
			}
			
			results.push(logString);
		}
	}
	
	return results;
}
*/

function parseLog(logType)
{	
	var results = [];
	
	var rows = globalUnfilteredRows;
	
	for(var row = 0; row < rows.length; ++row)
	{
		var logString = "";
		
		switch(logType)
		{
			case "all":				
				logString += "type=" + rows[row].cells[0].innerHTML + "^^^";
				logString += "time=" + rows[row].cells[1].innerHTML + "^^^";
				logString += "direction=" + rows[row].cells[2].innerHTML + "^^^";
				logString += "number=" + rows[row].cells[3].innerHTML + "^^^";
				logString += "generic=" + rows[row].cells[4].innerHTML;
			break;
			case "call":
				logString += "time=" + rows[row].cells[0].innerHTML + "^^^";
				logString += "direction=" + rows[row].cells[1].innerHTML + "^^^";
				logString += "number=" + rows[row].cells[2].innerHTML + "^^^";
				logString += "duration=" + rows[row].cells[3].innerHTML;
			break;
			case "sms":
				logString += "time=" + rows[row].cells[0].innerHTML + "^^^";
				logString += "direction=" + rows[row].cells[1].innerHTML + "^^^";
				logString += "number=" + rows[row].cells[2].innerHTML + "^^^";
				logString += "text=" + rows[row].cells[3].innerHTML;
			break;
			case "url":
				logString += "time=" + rows[row].cells[0].innerHTML + "^^^";
				logString += "url=" + rows[row].cells[1].innerHTML;
			break;
		}

		results.push(logString);
	}
	
	return results;
}

function passToPdf(logType)
{
	var results = parseLog(logType);
	
	document.pdf.results.value = results.join("|||");
	document.pdf.submit();
}

function passToCsv(logType)
{
	var results = parseLog(logType);
	
	document.csv.results.value = results.join("|||");
	document.csv.submit();
}

function passToSelf()
{	
	var list = document.getElementById("numberListUl");
	var form = document.getElementById("numberListForm");
	
	/* alert(list); */
	/* alert(form); */
	
	var listItems = list.getElementsByTagName("li");
	
	var numbers = [];
	
	for(var i = 0; i < listItems.length; ++i)
	{
		if(listItems[i].className == "toggleOff") 
			numbers.push(listItems[i].innerHTML);
	}
	
	form.results.value = numbers.join("|||");
	form.submit();
}

function selectIngredient(select) { var option = select.options[select.selectedIndex]; var ul = select.parentNode.getElementsByTagName('ul')[0]; var choices = ul.getElementsByTagName('input'); for (var i = 0; i < choices.length; i++) if (choices[i].value == option.value) return; var li = document.createElement('li'); var input = document.createElement('input'); var text = document.createTextNode(option.firstChild.data); input.type = 'hidden'; input.name = 'ingredients[]'; input.value = option.value; li.appendChild(input); li.appendChild(text); li.setAttribute('onclick', 'this.parentNode.removeChild(this);'); ul.appendChild(li); }