$(document).ready(function(){
	$('.collegeThumbnail').click(function(){
		var clickedImage = $(this).children('img');
		$('.collegeThumbnail').removeClass('active');
		$(this).addClass('active');
		$('#collegeMainImage').attr('src', clickedImage.attr('src'));
		return false;
	});

	var resourcesSliderWidth = 0;
	$('#resourcesSlider .holder .block').each( function(){
		resourcesSliderWidth = resourcesSliderWidth + $(this).width() + 11;
	});

	$('#resourcesSlider .holder').width(resourcesSliderWidth);

	HSA_initScrollbars();

	if ($('ul.accordion').length != 0) {
		$('ul.accordion').accordion({
			active: ".selected",
			autoHeight: false,
			header: ".opener",
			collapsible: true,
			event: "click"
		});
	}

	if ($('dl.dlAccordion').length != 0) {
		$('dl.dlAccordion').accordion({
			header: "dt",
			active: ".selected",
			autoHeight: false
		});
	}

	$('.resourcesMore').click(function () {
		if ($(this).attr('target') == "_blank") {
			window.open($(this).attr('href'));
		} else {
			window.location = $(this).attr('href');
		}
	});
	$('.ovLink').click(function () { window.location = $(this).attr('href'); });

	$('.collegeFilter .submit').hide();


});







//GOOGLE MAPS
var fm = {};
function initialiseCollegesMap(container) {
	initialiseMap();
	plotPoints(container);
}

function initialiseMap() {
	fm.maps = new Array();

	$('div[class=map]').each(function () {
		var mapId = $(this).attr('id');
		fm.maps[fm.maps.length] = new google.maps.Map2(document.getElementById(mapId));
		var m = fm.maps[fm.maps.length - 1];

		// Centre map at desired zoom
		m.setCenter(new google.maps.LatLng(54.5, -2), 5);
		//add map types
		m.addControl(new GLargeMapControl());
	});
}

function plotPoints(container) {
	var wslIcon = new GIcon(G_DEFAULT_ICON);
	$(container + ' div[class=point]').each(function () {
		var m = fm.maps[fm.maps.length - 1];
		var value = $(this).html();
		value = $.trim(value);
		//EXAMPLE      51.5318106,-0.1360657,15|XYZ College|url|text to be displayed
		var values = value.split('|');
		var point = values[0].split(',');

		var lat = parseFloat(point[0]);
		var lon = parseFloat(point[1]);
		//var zoom = parseFloat(point[2]); // not used

		var collegeName = values[1]; 	// college name
		var url = values[2]; 	// url
		var text = values[3]; 	// text
		var icon = '/images/marker.png'; 		// icon

		var html = '<div style="width:200px;"><b>' + collegeName + '</b>' + text + '<a href="' + url  + '">View college</a></div>';

		wslIcon.image = icon;

		markerOptions = { icon: wslIcon };

		var p = new google.maps.LatLng(lat, lon);
		var marker = new GMarker(p, markerOptions);

		GEvent.addListener(marker, "click", function () {
			marker.openInfoWindowHtml(html);
		});

		m.addOverlay(marker);

	});

}








function fadeGall() {
	var wait_time = 5000; // in ms
	var change_speed = 1200; // in ms
	var _hold = $('div.promo, div.gallery-area');
	if (_hold.length) {
		var _t;
		var _f = false;
		var _list = _hold.find('ul.gallery > li');
		var _btn = $('<ul class="paging"></ul>');
		_list.each(function (_i) {
			_btn.append('<li><a href="#">' + (_i + 1) + '</a></li>');
		});
		_btn = _hold.find('div.info-box, ul.thumbs').find('div.box, li');
		var _a = _list.index(_list.filter('.active:eq(0)'));
		if (_a == -1) _a = 0;

		_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		_btn.eq(_a).addClass('active');
		_btn.click(function () {
			changeEl(_btn.index(this));
			return false;
		});
		if (_f && wait_time) {
			_t = setTimeout(function () {
				if (_a < _list.length - 1) changeEl(_a + 1);
				else changeEl(0);
			}, wait_time);
		}
		function changeEl(_ind) {
			if (_t) clearTimeout(_t);
			if (_ind != _a) {
				_list.eq(_a).removeClass('active').animate({ opacity: 0 }, { queue: false, duration: change_speed });
				_list.eq(_ind).addClass('active').animate({ opacity: 1 }, { queue: false, duration: change_speed });
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				_a = _ind;
			}
			if (_f && wait_time) {
				_t = setTimeout(function () {
					if (_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		}
	}
}





var errorTextReqField = '<li>Please fill in all required fields</li>';
var errorTextEmailInvalid = '<li>Email address invalid</li>';


function doAskQuestionValidation(email, err) {
	var hasEmailFieldErrors = false;

	if (!doValidateEmail(email))
		hasEmailFieldErrors = true;

	$('#' + err).html('');

	if (hasEmailFieldErrors) {
		var errorString = '<ul>';
		errorString += errorTextEmailInvalid
		errorString += '</ul>';

		$('#' + err).addClass('errorSummary');
		$('#' + err).html(errorString);
		return false;
	}
	else {
		return true;
	}
}

// validate the email address
function doValidateEmail(email) {
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	if (!emailPattern.test($('#' + email).val())) {
		return false;
	} else {
		return true;
	}
}


