function showTabArea(id, id2, tab)
{
	var obj1 = document.getElementById(id);
	var obj2 = document.getElementById(id2);
	if (obj1.style.display != "block") {
		obj1.style.display = "block";
		obj2.style.display = "none";
	}
	//else {
	//	obj1.style.display = "none";
	//}

	for (var i = 0; i < tab.parentNode.getElementsByTagName('span').length; i++)
	{
		if (tab.parentNode.getElementsByTagName('span')[i].className == "selected");
		{
			tab.parentNode.getElementsByTagName('span')[i].className = "";
		}
	}
	tab.className = "selected";
}

// on create job screen
function checkTime(i)
{
	if (i < 10)
		{ i = "0" + i }
	return i;
}

function changePriorityTime(menu, timeRecBox, dateRecBox, timeReqBox, dateReqBox)
{
	var selectMenu = document.getElementById(menu);
	//var originalTime = document.getElementById(timeRecBox);
	//var originalDate = document.getElementById(dateRecBox);
	var requiredTime = document.getElementById(timeReqBox);
	var requiredDate = document.getElementById(dateReqBox);
	
	// massage date (necessary because javascript needs 'yyyy/mm/dd'!)
	//var s = originalDate.value.split(" ")[0].split("/");
	//var theDate = s[2] + "/" + s[1] + "/" + s[0];
	
	//var dateRec = new Date(theDate + ' ' + originalTime.value);
	var todayTime = new Date();
	
	if (todayTime.getHours() < 9)
		todayTime.setHours(9, 0);
	else if (todayTime.getHours() >= 17)
	{
		todayTime.setHours(9, 0);
		todayTime.setDate(todayTime.getDate() + 1);
	}
	// exclude weekends
	if (todayTime.getDay() == 6)		// saturday
		todayTime.setDate(todayTime.getDate() + 2);
	else if (todayTime.getDay() == 0)	// sunday
		todayTime.setDate(todayTime.getDate() + 1);
	
	var hours = 12;
	
	if(selectMenu.selectedIndex == 0) // HIGH
	{
		hours = 1;
	}
	else if(selectMenu.selectedIndex == 1) // MEDIUM
	{
		hours = 6;
	}
	else if(selectMenu.selectedIndex == 2) // LOW
	{
		hours = 12;
	}
	
	while (hours > 0)
	{
		var hoursUsed = 17 - todayTime.getHours();
		if (hoursUsed > hours)
			hoursUsed = hours;
		hours -= hoursUsed;

		todayTime.setHours(todayTime.getHours() + hoursUsed);
		if (todayTime.getHours() >= 17)
		{
			todayTime.setHours(9);
			todayTime.setDate(todayTime.getDate() + 1);
		}
		// exclude weekends
		if (todayTime.getDay() == 6)		// saturday
			todayTime.setDate(todayTime.getDate() + 2);
		else if (todayTime.getDay() == 0)	// sunday
			todayTime.setDate(todayTime.getDate() + 1);
	}

	requiredTime.value = checkTime(todayTime.getHours()) + ':' + checkTime(todayTime.getMinutes());
	requiredDate.value = checkTime(todayTime.getDate()) + '/' + checkTime(todayTime.getMonth() + 1) + '/' + checkTime(todayTime.getFullYear());
}

var jobPop = new Popup("_jobItIntTech_");

function menuShow(element)
{
	popUpText = "<div class='popUpLink' onmouseout=\"hideJobItLink()\">" +
				"<span><a href=\"../jobitdev2/\">IntTech JobIT</a><span>" +
				"</div>"
	jobPop.setContent(popUpText);
	jobPop.setEventObj(element);
	jobPop.setBelow(true);
	jobPop.show();
	
}

function hideJobItLink()
{
	jobPop.hide();
}

// function for create job screen

//-------------------------------------------------------------------
// setSingleInputValue(input_object,value)
//   Set selected item by value
//-------------------------------------------------------------------
function setSingleInputValue(obj,value) {
	var o=obj.options;
	for(var i=0;i<o.length;i++){
		if(o[i].value==value){o[i].selected=true;}
		else{o[i].selected=false;}
		}
	return true;
	}

// if tech changed to 'unassigned', set status to Unassigned
// else if tech changed and status was Unassigned set it to Incomplete
function technicianChanged() {
	var obj = document.getElementById('technicianList');
	var sObj = document.getElementById('statusList');
	if (obj.value == 0) {			// if technician changed to Unassigned
		setSingleInputValue(sObj, 5);	// change status to Unassigned
	}
	else if (sObj.value == 5 || sObj.value == 3) {		// if status is Unassigned
		setSingleInputValue(sObj, 1);	// change to Incomplete
	}
}

// select default 'unassigned' tech if status changed to Unassigned
function statusChanged() {
	var obj = document.getElementById('technicianList');
	var sObj = document.getElementById('statusList');
	if (sObj.value == 5) {
		setSingleInputValue(obj, 0);
	}
}

// validate that some unssigned jobs are checked to assign
var submited = false;
function validateUnassigned(jobCount) {
	for (i=0; i< jobCount; ++i) {
		var name = "assign_" + (i + 1);
		var checked = document.getElementById(name).checked;
		if (checked && !submited) { // at least one is checked
			submited = true;
			document.getElementById('form').submit();
		}
	}
}

function enableDisable(id) {
	var obj = document.getElementById(id);
	obj.disabled = !obj.disabled;
}

function toggleScheduled() {
	var check = document.getElementById('add_schedule').checked;
	var i = check ? 0 : 1;
	document.getElementById('scheduled').options[i].selected = true;
}

var popJob = new Popup("_jobDesc_");

function showJobDescription(id, customer, description, element) {
	popupText = "<table class=\"jobPopup\">" +
				"<tr><td class=\"titles\">Job ID </td><td>" + id + "</td></tr>" +
				"<tr><td class=\"titles\">Name </td><td>" + customer + "</td></tr>" +
				"<tr><td class=\"titles\">Description </td><td>" + description + "</td></tr></table>"

	popJob.setContent(popupText);
	popJob.setEventObj(element);
	//popJob.setX(x);
	popJob.setBelow(true);
	popJob.setY(5);
	popJob.show();
}

function hideJobDescription(content, x, y, element) {
	popJob.hide();
}


/* Quick search box */

var qsTimer;

function myQS() {
}

myQS.prototype = {
	show: function(element)
	{
		var y = -15;

		var pageBody = document.getElementsByTagName("body").item(0); // body of page

		var div = document.getElementById('quickSearchPanel');
		div.style.position = 'absolute';
		div.style.display = "none";
		div.style.visibility = "hidden";
		div.style.top  = _findPosY(element) + (element.offsetHeight + y);
		div.style.left = _findPosX(element) + 0;

		var l = parseInt(div.style.left);
		div.style.left = 10;
		var w = div.offsetWidth;
		div.style.left = l;
		if (l + w >= pageBody.clientWidth)
		{
			div.style.left = pageBody.clientWidth - (parseInt(div.style.left) + div.offsetWidth);
		}

		div.style.visibility = "visible";
		div.style.display = "block";

		//this.onClickHandler = new EventHandler(document, "click", "onDocClick", this, false);
		this.onMouseOutHandler = new EventHandler(div, "mouseout", "onMouseOut", this, false);
		this.onMouseOverHandler = new EventHandler(div, "mouseover", "onMouseOver", this, false);

		//EventManager.add(this.onClickHandler);
		EventManager.add(this.onMouseOutHandler);
		EventManager.add(this.onMouseOverHandler);
		
		document.onclick = this.onDocClick;
	},

	hide: function()
	{
		clearInterval(this.autoHiding);
		//EventManager.remove(this.onClickHandler);
		document.onclick = null;
		EventManager.remove(this.onMouseOutHandler);
		EventManager.remove(this.onMouseOverHandler);

		var div = document.getElementById('quickSearchPanel');
		div.style.display = "none";
		div.style.visibility = "hidden";
	},

	onMouseOut: function(e)
	{
		if (!e) var e = window.event;
		var tg = (window.event) ? e.srcElement : e.target;
		if (tg.nodeName != 'DIV') return;
		var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
		while (reltg != tg && reltg.nodeName != 'BODY')
			reltg = reltg.parentNode;
		if (reltg == tg) return;
		
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();
		
		clearInterval(this.autoHiding);
		this.autoHiding = setTimeout('hideQS()', 750);
		//EventManager.add(this.onClickHandler);
		document.onclick = this.onDocClick;
	},

	onMouseOver: function(e)
	{
		clearInterval(this.autoHiding);
		//EventManager.remove(this.onClickHandler);
		document.onclick = null;
	},
	
	onDocClick: function(e)
	{
		hideQS();
		//this.hide();
	}
}

var myQuickSearch = new myQS();

function showQS(element) {
	myQuickSearch.show(element);
}

function hideQS() {
	myQuickSearch.hide();
}




/* Functions for the daily schedule page */
var divWasClicked;
var lastBorder;
var clickedDiv;
var clickBorder;

function unhightlightDiv(event)
{
	event = __fixE(event);
	if (! divWasClicked)
	{
		event.srcElement.style.cursor = "";
		event.srcElement.style.border = lastBorder;
	}
	event.srcElement.parentNode.parentNode.style.background = "";
	divWasClicked = false;
}

function hightlightDiv(event)
{
	event = __fixE(event);
	event.srcElement.style.cursor = "pointer";
	lastBorder = event.srcElement.style.border;
	event.srcElement.style.border = "solid 1px #fcff00";
	
	event.srcElement.parentNode.parentNode.style.background = "#DDDDFF";
}

function updateJob(job_id)
{
	window.location = "MaintainJob.aspx?job_id=" + job_id;
}

function showTable(event)
{
	if (clickedDiv != null)
	{
		clickedDiv.style.border = clickBorder;
	}
	event = __fixE(event);
	clickedDiv = event.srcElement;
	clickBorder = lastBorder;
	var tab = document.getElementById('selectedBlock');
	var text = document.getElementById('selectedText');
	tab.style.display = "";
	text.style.display = "none";
	divWasClicked = true;
}

function __fixE(event) {
	if (!event) event = window.event;
	
	if (event.target)
		if (event.target.nodeType == 3) event.srcElement = event.target.parentNode;
		else event.srcElement = event.target;
	//else if (event.srcElement)
		//event.target = event.srcElement;

	return event;
}

function showHideTable(tableId)
{
	var table1 = document.getElementById(tableId);
	if (table1)
	{
		if (table1.style.display == "none")
			table1.style.display = "";
		else
			table1.style.display = "none";
	}
}

function getCustomerDetails(obj)
{
	var custId = obj.options[obj.selectedIndex].value;
	
	if (custId == "-1")
	{
		document.getElementById('custSpan').innerHTML = "No Customer Selected";
	}else
	{
		CustomerEntry.GetCustomerDetails(custId, getCustomerDetails_callBack);
	}
}

function getCustomerDetails_callBack(res)
{
	var obj = document.getElementById('errorLabel');
	if (res.error != null) {
		obj.innerHTML = res.error;
		obj.style.visibility = "visible";
		location.href = '#top';
	}else
	{
		alert(res.value.Name);
		document.getElementById('custSpan').innerHTML = '<a href="#" >'+ res.value.Name +'</a>';
	}
}

function showCustomerOutline(show, table)
{
	if (show)
		table.className = "customerChangeTableOver";
	else
		table.className = "customerChangeTableOut";
}