var locatorVisible = false;
var timer = false;
$(function(){

	if ( $("#ReminderJoin").length > 0 ) {
		reminderJoinInit();
	}

	if ( $("#pacific-map").length > 0 ) {
		$("#pacific-map ul li a").mouseover( function(e) {

			if ( ! locatorVisible ) {
				$('#pacific-locator').show();
				locatorVisible = true;
			}

			clearInterval ( timer );

			var loc = $(this).attr('rel');
			var locs = loc.split(',');
			var locX = locs[0] - 18;
			var locY = locs[1] - 18;
			$('#pacific-locator').stop().animate({ "left" : locX + 'px', "top" : locY +'px'}, 100);
		});

		$("#pacific-map ul li a").mouseout( function(e) {
			timer = setInterval ( "hideLocator()", 1000 );
		});

	}
	
	});

function hideLocator() {
	$('#pacific-locator').fadeOut(); 
	locatorVisible = false;
}


function reminderJoinInit() {

	var s = '';
	s += "\n";
	s += '<div id="ReminderForm">' + "\n";
	s += '<form action="" method="post">' + "\n";

	s += '<p>' + "\n";
	s += '<label for="name_first">First Name</label>' + "\n";
	s += '<input type="text" name="name_first" id="name_first" />' + "\n";
	s += '<span id="name_first-error"></span>' + "\n";
	s += '</p>' + "\n";
	s += '<div class="clear"></div>' + "\n";

	s += '<p>' + "\n";
	s += '<label for="name_last">Last Name</label>' + "\n";
	s += '<input type="text" name="name_last" id="name_last" />' + "\n";
	s += '<span id="name_last-error"></span>' + "\n";
	s += '</p>' + "\n";
	s += '<div class="clear"></div>' + "\n";

	s += '<p>' + "\n";
	s += '<label for="email">Email</label>' + "\n";
	s += '<input type="text" name="email" id="email" />' + "\n";
	s += '<span id="email-error"></span>' + "\n";

	s += '<a href="javascript: void(0);" id="submit" onclick="reminderJoinProcess(); return false;" style="behavior: url(/iepngfix.htc);"><span>Submit</span></a>' + "\n";
	s += '</p>' + "\n";
	s += '<br />' + "\n";

	s += '</form>' + "\n";
	s += '</div>' + "\n";

	s += '<div id="ReminderProcessing">' + "\n";
	s += '<span>Submitting your details...</span>' + "\n";
	s += '</div>' + "\n";

	s += '<div id="ReminderProcessed">' + "\n";
	s += '<span>Your reminder request has been saved - thank you for participating!</span>' + "\n";
	s += '</div>' + "\n";

	$('#ReminderJoin').html(s);

}

function reminderJoinValidate () {

    var valid = true;

    if ( ! $('#email').val() || ! validateEmail ( $('#email').val() ) ) {
        $('#email-error').html('Please enter your email address');
        $('#email').focus();
        valid = false;
    } else {
        $('#email-error').html('');
    }

    if ( ! $('#name_last').val() ) {
        $('#name_last-error').html('Please enter your family name');
        $('#name_last').focus();
        valid = false;
    } else {
        $('#name_last-error').html('');
    }

    if ( ! $('#name_first').val() ) {
        $('#name_first-error').html('Please enter your given name');
        $('#name_first').focus();
        valid = false;
    } else {
        $('#name_first-error').html('');
    }

    return valid;

}

function reminderJoinProcess () {

    if ( ! reminderJoinValidate() ) {
        return false;
    }

    var request = {
        m: 'reminder_join',
        rpc: 'process',
        name_first: $('#name_first').val(),
        name_last: $('#name_last').val(),
        email: $('#email').val()
    };

	$('#ReminderForm').fadeOut( function() {
		$('#ReminderProcessing').fadeIn( function () {
			$.post( '/index.php', request, function ( response ) {
				$('#ReminderProcessing').fadeOut( function () {
					$('#ReminderProcessed').fadeIn();
				});
			});
		});
		return false;
	} );
	
	
}

function validateEmail(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;
}
