
var ErrorMsgs = [];

function ListingsShowMap(section) {
	$('#listing_map').show('fast'); 
	$('#listing_list').hide('fast');

	$('#listing_title').html('Map view');
	$('#listing_link_map').toggleClass('active');
	$('#listing_link_list').toggleClass('active');

	document.cookie = section+'displaytab=map; path=/';
}

function ListingsShowList(section) {
	$('#listing_map').hide('fast'); 
	$('#listing_list').show('fast');

	$('#listing_title').html('List view');
	$('#listing_link_map').toggleClass('active');
	$('#listing_link_list').toggleClass('active');

	document.cookie = section+'displaytab=list; path=/';
}

function UpdateResults(url, page) {
	// Build up new url

	url = url + '&Page=' + page;

	// Get status of all checkboxes
	var elements = $("form#data_filter INPUT:checked");

	var subcats = '';
	for(i=0; i<elements.length; i++) { 
		if ( subcats !== '' ) {
			subcats = subcats + ',';
		}
		subcats = subcats + elements[i].value;
	}

	url = url + '&SubCats=' + subcats;
	url = url + '&Partial';
	$('#listing_list').load(url);

}

function InitiateMarkers() {

	// Get status of all checkboxes
	var elements = $("form#data_filter INPUT:checked");

	for(i=0; i<elements.length; i++) { 
		ToggleMarkers(elements[i].value);
	}

}

function ToggleMarkers(SubCategory) {
	
	for (var i = 0; i < pointers[SubCategory].length; i++) {
		var marker = pointers[SubCategory][i];
		if (marker.isHidden()) {
		  marker.show();
		} else {
		  marker.hide();
		}
	} 

}

function CheckSourceOther() {
	if ( $('#source').val() == "Other (please specify)" ) {
		$('#sourceother').removeAttr('disabled');
		$('#sourceotherarea').slideDown();
	} else {
		$('#sourceother').attr('disabled', 'disabled');
		$('#sourceotherarea').slideUp();
	}
}

function ChangeCategory(dropdown_id, subarea_id, selectedsubcatid, subnum) {

	if ( $('#' + dropdown_id).val() === "" ) {
		$('#' + subarea_id).hide('fast');
	}
	else {
		if ( !selectedsubcatid ) {
			selectedsubcatid = '';
		}

		$('#' + subarea_id).load("index.php?Mode=ajax_get_sub_categories", {category: $('#' + dropdown_id).val(), selectedsubcat: selectedsubcatid, subid: subnum} );
		$('#' + subarea_id).show('fast');
	}
}

function ValidateRegistration(form) {
	
	ErrorMsgs = [];
	$('#ErrorConsole').empty();
	valid = true;

	if ( $('#name').val() == "" ) {
		ErrorMsgs.push('Please enter the name of your service/business');
		valid = false;
		HighlightElement('name');
	}

	if ( $('#address1').val() == "" ) {
		ErrorMsgs.push('Please enter the first line of your address');
		valid = false;
		HighlightElement('address1');
	}

	if ( $('#address2').val() == "" ) {
		ErrorMsgs.push('Please enter your town');
		valid = false;
		HighlightElement('address2');
	}

	if ( $('#postcode').val() == "" ) {
		ErrorMsgs.push('Please enter your postcode');
		valid = false;
		HighlightElement('postcode');
	}

	if ( $('#contact').val() == "" ) {
		ErrorMsgs.push('Please enter your contact details');
		valid = false;
		HighlightElement('contact');
	}

	if ( $('#tel').val() == "" ) {
		ErrorMsgs.push('Please enter your telephone number');
		valid = false;
		HighlightElement('tel');
	}

	if ( $('#category1').val() == '' && $('#category2').val() == '' && $('#category3').val() == '' ) {
		ErrorMsgs.push('Please select at least one category for your service/business');
		valid = false;
		HighlightElement('category1');
	}

	if ( $('#subcategory1').length ) {
		if ( $('#subcategory1').val() == '' ) {
			ErrorMsgs.push('Please select a subcategory.');
			valid = false;
			HighlightElement('subcategory1');
		}
	}

	if ( $('#subcategory2').length ) {
		if ( $('#subcategory2').val() == '' ) {
			ErrorMsgs.push('Please select a subcategory.');
			valid = false;
			HighlightElement('subcategory2');
		}
	}

	if ( $('#subcategory3').length ) {
		if ( $('#subcategory3').val() == '' ) {
			ErrorMsgs.push('Please select a subcategory.');
			valid = false;
			HighlightElement('subcategory3');
		}
	}

	if ( ErrorMsgs.length > 0 ) {
		for( i=0; i < ErrorMsgs.length; i++) {
			$('#ErrorConsole').append(ErrorMsgs[i] + '<br/>');
		}
	}

	return valid;
}

function HighlightElement(elementID) {
	$('#' + elementID).focus();
	$('#' + elementID).css('backgroundColor', '#ffff00');
	$('#' + elementID).animate( { backgroundColor:"#ffffff"}, {queue:false, duration:2000} );
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}