//Used by the search page.
function checkAll(field) {
	for (i = 0; i < field.length; i++)
		field[i].checked = true;
}
function uncheckAll(field) {
	for (i = 0; i < field.length; i++)
		field[i].checked = false;
}

//Used to toggle the sidebar lists.
function showCategoryList() {
	document.getElementById('category_list').style.display = 'block';
	document.getElementById('manufacturer_list').style.display = 'none';
	document.cookie = "list=categories; path=/";
}
function showManufacturerList() {
	document.getElementById('category_list').style.display = 'none';
	document.getElementById('manufacturer_list').style.display = 'block';
	document.cookie = "list=manufacturers; path=/";
}
function doList() {
	if(document.cookie.indexOf("list=manufacturers") > -1)
		showManufacturerList();
	// Category list is default.
}

//Used to toggle the item viewers part of the AddItem/EditItem page.
function doItemViewers() {
	if(document.getElementById("item_public").checked) {
		document.getElementById("item_viewers").style.display = 'none';
	} else {
		document.getElementById("item_viewers").style.display = 'block';
	}
}

//Used to toggle the different filters on the Report page.
function doReportFilters() {
	if(document.getElementById("report_name_enable").checked) {
		document.getElementById("report_name").disabled = false;
	} else {
		document.getElementById("report_name").disabled = true;
	}
    
    if(document.getElementById("report_owner_enable").checked) {
		document.getElementById("report_owner").disabled = false;
	} else {
		document.getElementById("report_owner").disabled = true;
	}
    
    if(document.getElementById("report_public_enable").checked) {
		document.getElementById("report_public").disabled = false;
	} else {
		document.getElementById("report_public").disabled = true;
	}
    
   // if(document.getElementById("report_status_enable").checked) {
	//	document.getElementById("report_status").disabled = false;
	//} else {
	//	document.getElementById("report_status").disabled = true;
	//}
    
    if(document.getElementById("report_manufacturer_enable").checked) {
		document.getElementById("report_manufacturer").disabled = false;
	} else {
		document.getElementById("report_manufacturer").disabled = true;
	}
    
    if(document.getElementById("report_categories_enable").checked) {
		document.getElementById("report_categories").disabled = false;
	} else {
		document.getElementById("report_categories").disabled = true;
	}
    
    if(document.getElementById("report_date_added_enable").checked) {
		document.getElementById("report_date_start_Month_ID").disabled = false;
		document.getElementById("report_date_start_Day_ID").disabled = false;
		document.getElementById("report_date_start_Year_ID").disabled = false;
		document.getElementById("report_date_end_Month_ID").disabled = false;
		document.getElementById("report_date_end_Day_ID").disabled = false;
		document.getElementById("report_date_end_Year_ID").disabled = false;
	} else {
		document.getElementById("report_date_start_Month_ID").disabled = true;
		document.getElementById("report_date_start_Day_ID").disabled = true;
		document.getElementById("report_date_start_Year_ID").disabled = true;
		document.getElementById("report_date_start_ID_Link").disabled = true;
		document.getElementById("report_date_end_Month_ID").disabled = true;
		document.getElementById("report_date_end_Day_ID").disabled = true;
		document.getElementById("report_date_end_Year_ID").disabled = true;
	}
    
    if(document.getElementById("report_location_enable").checked) {
		document.getElementById("report_location").disabled = false;
	} else {
		document.getElementById("report_location").disabled = true;
	}
    
    if(document.getElementById("report_reference_number_enable").checked) {
		document.getElementById("report_reference_number").disabled = false;
	} else {
		document.getElementById("report_reference_number").disabled = true;
	}
    
    if(document.getElementById("report_job_number_enable").checked) {
		document.getElementById("report_job_number").disabled = false;
	} else {
		document.getElementById("report_job_number").disabled = true;
	}
}

// Part of the EditPhotos page.
function deletePhoto(photoID) {
	doPost(document.URL, {'action':'delete', 'id':photoID});
}
function setPrimaryPhoto(photoID) {
	doPost(document.URL, {'action':'setPrimary', 'id':photoID});
}

// Part of the ManageCategories page.
function deleteCategory(categoryID) {
	doPost(document.URL, {'action':'delete', 'id':categoryID});
}
function showCategory(categoryID) {
	doPost(document.URL, {'action':'show', 'id':categoryID});
}
function hideCategory(categoryID) {
	doPost(document.URL, {'action':'hide', 'id':categoryID});
}

// Part of the ManageManufacturers page.
function deleteManufacturer(manufacturerID) {
	doPost(document.URL, {'action':'delete', 'id':manufacturerID});
}
function showManufacturer(manufacturerID) {
	doPost(document.URL, {'action':'show', 'id':manufacturerID});
}
function hideManufacturer(manufacturerID) {
	doPost(document.URL, {'action':'hide', 'id':manufacturerID});
}

//Part of the ManageCompanies page.
function deleteCompany(companyID) {
	doPost(document.URL, {'action':'delete', 'id':companyID});
}

function doPost(path, params) {
	var form = document.createElement("form");
	form.setAttribute("method", "POST");
	form.setAttribute("action", path);
	for(var key in params) {
		var hiddenField = document.createElement("input");
		hiddenField.setAttribute("type", "hidden");
		hiddenField.setAttribute("name", key);
		hiddenField.setAttribute("value", params[key]);
		form.appendChild(hiddenField);
	}
	document.body.appendChild(form);
	form.submit();
}

