
/*
 *	@Script				: agresso_insight.js
 *	@Description	: General functions for the UNIT4 Insight website. Requires jQuery.
 */

//////////////////////////////////////////////////////////////////////////////////////
// JQUERY 																																					//
//////////////////////////////////////////////////////////////////////////////////////

$(document).ready(function() {
	// ENSURE THAT THE LEFT HAND SIDE CONTENT DIV IS AT LEAST THE SAME HEIGHT AS THE RIGHT HAND SIDE DIV
	var left_side = $('.content').height();
	var right_side = $('.corner').height() + $('.side_gap').height() + $('.corner_reg').height() + 150;
	if(left_side < right_side) {
		$('.content').height(right_side);
	}

	// FORCE THE OUTER DIVS IN PLACE
	var m_height = $('.content').height() + 96;
	var m_width = $('.content').width();
	$('#footer').css({top: m_height});
	$('.contentside').css({left: m_width});
	
	// FORCE HEIGHT OF LISTBOX FOR IE
	if($.browser.msie) {
		var opt_count = 0;
		$('#webinars option').each(function () {
			opt_count++;
		});
		$('#webinars').height(opt_count*14);
	}

	// VALIDATE THE FORM UPON SUBMISSION
	$('#submit').click(function() {
		// CHECK THAT AT LEAST ONE EVENT HAS BEEN SELECTED
		var event_count = 0;
		var ok_to_submit = true;
		var events_selected = [];
		
		$('#webinars :selected').each(function(i, selected){
			event_count++;
			events_selected[i] = $(selected).text();
		});
		if(event_count==0) {
			$('#webinars_flag').slideDown();
			ok_to_submit = false;
		} else {
			$('#webinars_flag').slideUp();
		}

		// LOCATE ANY REQUIRED FIELDS ON THE FORM AND CHECK THEY HAVE BEEN ENTERED
		var required_fields = 0;
		var flag_field = '';
		$('.required').each(function() {
			flag_field = $(this).attr('id')+'_flag';
			if($(this).val()=='') {
				required_fields++;
				$('#'+flag_field).slideDown();
				ok_to_submit = false;
			} else {
				$('#'+flag_field).slideUp();
			}
		});
		
		// CHECK EMAIL ADDRESS IS VALID
		var email = $('#txEmail').val();
		if(!valid_email(email)) {
			$('#txEmail_flag').slideDown();
			ok_to_submit = false;
		} else {
			$('#txEmail_flag').slideUp();
		}

		// IF FORM VALIDATES, SUBMIT
		if(ok_to_submit) {
			$('#selected_events').val(events_selected);
		}
		return ok_to_submit;
	});
});



function valid_email(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1) { return false; }
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) { return false; }
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) { return false; }
	if (str.indexOf(at,(lat+1))!=-1) { return false; }
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) { return false; }
	if (str.indexOf(dot,(lat+2))==-1) { return false; }
	if (str.indexOf(" ")!=-1) { return false; }
	return true;
}
