/**
 * Reviews Enhancements
 * v1.0, Craig Ruksznis <craigruk@imarc.net>
 */

/**
 * Redirects to filter reviews
 *
 * return void
 */
function reviewSort(value, related_id_type, related_id)
{
	var baseLocation = window.location.href.replace(window.location.search, '');
	baseLocation = baseLocation.replace(/#student_reviews$/, '');

 	// figure out what sell section they're on
	switch (related_id_type) {
		case 'destinations':
			related_id_type = 'destination_id';
			break
		case 'clubs':
			related_id_type = 'club_id';
			break	
		case 'hotels':
			related_id_type = 'hotel_id';
			break	
		case 'meal_plans':
			related_id_type = 'meal_plan_id';
			break	
		case 'party_packages':
			related_id_type = 'party_package_id';
			break	
		case 'restaurants':
			related_id_type = 'retaurant_id';
			break	
		case 'side_trips':
			related_id_type = 'side_trip_id';
			break	
	}
	
	// forward
	if (value == 'view_all') {
		window.location.href = baseLocation + '?page_function=overview&' + related_id_type + '=' + related_id + '#student_reviews';		
	} else {
		window.location.href = baseLocation + '?page_function=overview&' + related_id_type + '=' + related_id + '&sort=' + value + '#student_reviews';
	}

}

/**
 * Toggles selections for groups of checkboxes
 *
 * param element  Element to look inside
 * return void
 */
function toggleSelection(element)
{
	if (element.checked == false) {
		deselectAll(element.parentNode.parentNode.parentNode.parentNode);
	} else {
		selectAll(element.parentNode.parentNode.parentNode.parentNode);
	}
}

/**
 * Selects all checkboxes in a given element
 *
 * param element  Element to look inside
 * return void
 */
function selectAll(element)
{
	var inputs = element.getElementsByTagName('input');
	var i;
	
	for (i = 0; i < inputs.length; i++) {
		if (inputs[i].type == 'checkbox') {
			inputs[i].checked = true;
		}
	}
}

/**
 * Selects all checkboxes in a given element
 *
 * param element  Element to look inside
 * return void
 */
function deselectAll(element)
{
	var inputs = element.getElementsByTagName('input');
	var i;
	
	for (i = 0; i < inputs.length; i++) {
		if (inputs[i].type == 'checkbox') {
			inputs[i].checked = false;
		}
	}
}