//
// Table Navigation
// Bret Sheeley
// Moisture Mapper
//
// This document contains scripts that navigates users to
// one of the data tables.
//


// Go To Region Table
function gotoRegionTable(regionID,sortCode,orderCode) { 
	var myForms = window.document.getElementsByName('tableData');
	if(myForms.length == 0) {
		var myForm = addFormToWindow(window,'tableData');	
	} else {
		var myForm = myForms[0];
	}
	addPostToForm(myForm,'selected_rid',regionID);
	myForm.action = "/site/tables.php?mode=region&sort=" + sortCode + "&dir=" + orderCode;
	myForm.submit();
}


// Go To Company Table
function gotoCompanyTable(regionID,companyID,sortCode,orderCode) {
	var myForms = window.document.getElementsByName('tableData');
	if(myForms.length == 0) {
		var myForm = addFormToWindow(window,'tableData');	
	} else {
		var myForm = myForms[0];
	}
	addPostToForm(myForm,'selected_rid',regionID);
	addPostToForm(myForm,'selected_cid',companyID);
	myForm.action = "/site/tables.php?mode=company&sort=" + sortCode + "&dir=" + orderCode;
	myForm.submit();
}

// Go To Office Table
function gotoOfficeTable(regionID,companyID,officeID,sortCode,orderCode) {
	var page = 1;
	var status = 0;
	gotoOfficeTablePageStatus(regionID,companyID,officeID,sortCode,orderCode,page,status);
}

// Go To Office Table Page/Status
function gotoOfficeTablePageStatus(regionID,companyID,officeID,sortCode,orderCode,pageNumber,status) {
	var myForms = window.document.getElementsByName('tableData');
	if(myForms.length == 0) {
		var myForm = addFormToWindow(window,'tableData');	
	} else {
		var myForm = myForms[0];
	}
	addPostToForm(myForm,'selected_rid',regionID);
	addPostToForm(myForm,'selected_cid',companyID);
	addPostToForm(myForm,'selected_oid',officeID);
	myForm.action = "/site/tables.php?mode=office&sort=" + sortCode + "&dir=" + orderCode + "&page=" + pageNumber + "&status=" + status;
	myForm.submit();
}

// Update Office
function updateOfficeTableDueToStatus(regionID,companyID,officeID) {
	var selectedIndex = window.document.tableData.statusTableSelect.options.selectedIndex;
	var value = window.document.tableData.statusTableSelect.options[selectedIndex].value;
	gotoOfficeTablePageStatus(regionID,companyID,officeID,'claimNumber','Up',1,value);
}


// Update Adjuster
function updateAdjusterTableDueToStatus() {
	var menu = window.document.tableData.statusTableSelect;
	
	var selectedIndex = menu.options.selectedIndex;
	var value = menu.options[selectedIndex].value;
	window.location = '/site/tables.php?mode=adjuster&sort=claimNumber&dir=up&page=1&status=' + value;
}


	
// Go To Analysis Page
function gotoAnalysis(projectID,mode) {
	
	var myForm = addFormToWindow(window,'tableData');
	addPostToForm(myForm,'selected_pid',projectID);
	
	myForm.method = 'post';
	myForm.target = '_top';
	myForm.action = "/site/analysis.php?mode=" + mode + "&pid=" + projectID;
	myForm.submit();
}


// Add Analysis Comment
function addAnalysisComment(projectID) {
	var myForms = window.document.getElementsByName('tableData');
	if(myForms.length == 0) {
		var myForm = addFormToWindow(window,'tableData');
	} else {
		var myForm = myForms[0];	
	}
	addPostToForm(myForm,'selected_pid',projectID);

	myForm.action = "/site/analysis/addingAnalysisComments.php";
	myForm.submit();
}

// Generate Project Report For the Insurance Company
function submitReport() {
	 self.location.href="/site/insGenReport.php";
	 waitUnloadPage_Report();
}

// Update adjustorStatus in database
function updateAdjustorStatus(projectID) {
	var id = "adjustorStatus_" + projectID;
	var adjustorStatus = window.document.getElementById(id);
	var newValue = adjustorStatus.value;
	
	createFrame(window,'hiddenFrame');
	var myForm = addFormToWindow(window,'myForm');
	addPostToForm(myForm,'id',projectID);
	addPostToForm(myForm,'status',newValue);
	myForm.method = 'post';
	myForm.target='hiddenFrame';
	myForm.action='/site/analysis/updateAdjustorStatus.php';
	myForm.submit();
	
}


//=======================================
//
// Search for claim number
//

// Search for claim number
function searchForClaimNumber() {
	searchForClaimNumberPage(1);
}

// Go To Search Page Number
function searchForClaimNumberPage(page,searchField,sortField,sortDir) {
	var searchField = window.document.searchData.searchField.value;
	if(sortField == undefined) {
		sortField = "claimNumber";	
	}
	if(sortDir == undefined) {
		sortDir = "Up";	
	}
	if(searchField != "") { 	
		window.location = "/site/tables.php?mode=search&sort=" + sortField + "&dir=" + sortDir + "&page=" + page + "&search=" + escape(searchField);
	}
}

// Search for claim number
function sortSearchForClaimNumber(searchField,sortField,sortDir) {
	if(sortField == "") {
		sortField = "claimNumber";	
	}
	if(sortDir == "") {
		sortDir = "Up";	
	}
	if(searchField != "") { 	
		window.location = "/site/tables.php?mode=search&sort=" + sortField + "&dir=" + sortDir + "&search=" + escape(searchField);
	}
}



//=======================================
//
// Search for network project number
//


// Go To Search Page Number
function searchForProject(page,sortField,sortDir) {
	var searchField = window.document.getElementsByName('searchField')[0].value;
	if(sortField == undefined) {
		sortField = "projectNumber";	
	}
	if(sortDir == undefined) {
		sortDir = "Up";	
	}
	if(page == undefined) {
		page = "1";	
	}
	if(searchField != "") { 	
		window.location = "/site/searchResults.php?sort=" + sortField + "&dir=" + sortDir + "&page=" + page + "&search=" + escape(searchField);
	}
}


//=====================================
//
// Graphs
//


// Update Regional Summary Graphs
function updateAnalysisRegionalGraphs(numRegions) {
	var graphForm = window.document.analysisRegionalGraphSelect;
	var target = '/site/graphs/analysisRegionalGraphs.php';
	var dataNumber = 0;
	var dataSet = 'dataSet_' + dataNumber;
	var element;
	var selectedIndex = 0;
	var regionID = 0;
	var atLeastOneRegion = 'no';
	for(var i=0; i<numRegions; i++) {
		dataNumber = i+1;
		dataSet = 'dataSet_' + String(dataNumber);
		element = window.document.getElementsByName(dataSet);
		selectedIndex = element[0].selectedIndex;
		regionID = parseInt(element[0].options[selectedIndex].value);
		if(regionID >= -1) {
			if(atLeastOneRegion == 'yes') {
				target = target + '&';
			} else {
				target = target + '?';	
			}
			target = target + 'id' + String(dataNumber) + '='+ String(regionID);
			atLeastOneRegion = 'yes';
		}
	}
	if(atLeastOneRegion == 'yes') {
		window.location = target;
	} else {
		window.alert("Select at least one region before updating graphs.");	
		return false;
	}
}



// Update Regional Summary Graphs
function updateAnalysisRegionalAvgCostGraphs(numRegions) {
	var graphForm = window.document.analysisRegionalGraphSelect;
	var target = '/site/graphs/analysisRegionalAvgCostGraphs.php';
	var dataNumber = 0;
	var dataSet = 'dataSet_' + dataNumber;
	var element;
	var selectedIndex = 0;
	var regionID = 0;
	var atLeastOneRegion = 'no';
	for(var i=0; i<numRegions; i++) {
		dataNumber = i+1;
		dataSet = 'dataSet_' + String(dataNumber);
		element = window.document.getElementsByName(dataSet);
		selectedIndex = element[0].selectedIndex;
		regionID = parseInt(element[0].options[selectedIndex].value);
		if(regionID >= -1) {
			if(atLeastOneRegion == 'yes') {
				target = target + '&';
			} else {
				target = target + '?';	
			}
			target = target + 'id' + String(dataNumber) + '='+ String(regionID);
			atLeastOneRegion = 'yes';
		}
	}
	if(atLeastOneRegion == 'yes') {
		window.location = target;
	} else {
		window.alert("Select at least one region before updating graph.");	
		return false;
	}
}




// Download Project Attachment File
function downloadProjectContractorAttachmentFile(projectID, attachmentFile) {
	var ext = getExt(attachmentFile);
	window.document.tableData.fileToDownload.value = attachmentFile;
	if(ext == "pdf") {
		window.document.tableData.action = "/site/projects/attachmentDownloader.php?id=" + projectID;
		window.document.tableData.submit();
	} else {
		window.location = "/site/attachmentUploads/contractors/general/" + projectID + "/" + attachmentFile;
	}
}


