/*
Copyright 2009 Gerrit Veldman
All rights reserved. See license.txt.
*/
$(document).ready(function() {
	var $rfn = $('#rfn');
	var $email = $('#email');
	var $gendex = $('#gendex');
	var $url = $('#url');
	var $url_container = $('#url_container');
	var check = function () {
		$message = $(this).parent().prev('.error');
		$message.remove();
		if (this.id != 'email' && (this.value == '' || this.value == 'http://')) {
			$message.remove();
			var error = LN_ERROR_REQUIRED;
			$('<div></div>')
			.addClass('error')
			.text(error)
			.insertBefore($(this).parent());
		}
		else if (this.id == 'email' && this.value != '' && !/^[A-Z0-9._%-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,6}$/i.test(this.value)) {
			$message.remove();
			var error = LN_ERROR_EMAIL_NOT_VALID;
			$('<div></div>')
			.addClass('error')
			.text(error)
			.insertBefore($(this).parent());
		}
		else if (this.id == 'gendex' && ($url.val() == ''||$url.val() == 'http://')) {
			$url_container.empty();
			$url.parent('div').parent('td').parent('tr').show();
			var loadimage = $('<img src="/images/ajaxload.gif" />').appendTo($url_container);
			$.ajax ({
				'url': '/add.xml.php',
				'data': {'gendex':$gendex.val(),'email':$email.val()},
				'dataType': 'xml',
				'type': 'GET',
				'success': function(data) {
					var data = $(data);
					var error = data.find('error').text();
					if (error == '0') {
						loadimage.remove();
						var url = data.find('url').text();
						var tng = data.find('tng').text();
						var rfn = data.find('rfn').text();
						var fname = data.find('fname').text();
						var sname = data.find('sname').text();
						var pref = data.find('pref').text();
						var birtdate = data.find('birtdate').text();
						var birtplac = data.find('birtplac').text();
						var deatdate = data.find('deatdate').text();
						var deatplac = data.find('deatplac').text();
						$('<div></div>').html(LN_SELECT_URL + ':<br /><strong>' + fname + ' ' + pref + ' ' + sname + ' (' + birtplac + ' ' + birtdate + ' - ' + deatdate + ' ' + deatplac + ')</strong>').appendTo($url_container);
						$rfn.val(rfn);
//						$url.unbind(blur,check);
						var div_2 = $('<div></div>');
						$('<input type="radio" />').attr('name','url_r').attr('id','url_2').attr('value',url + 'index.php?a=person/' + rfn).change(url_select).appendTo(div_2);
						$('<label></label>').attr('for','url_2').html('Family Tree PHP: <a href="' + url + 'index.php?a=person/' + rfn + '" target="_blank">' + url + 'index.php?a=person/' + rfn + '</a>').appendTo(div_2);
						div_2.appendTo($url_container);
						var div_3 = $('<div></div>');
						$('<input type="radio" />').attr('name','url_r').attr('id','url_3').attr('value',url + 'gezin.php?id=' + rfn).change(url_select).appendTo(div_3);
						$('<label></label>').attr('for','url_3').html('HuMo-PHP: <a href="' + url + 'gezin.php?id=' + rfn + '" target="_blank">' + url + 'gezin.php?id=' + rfn + '</a>').appendTo(div_3);
						div_3.appendTo($url_container);
						var div_4 = $('<div></div>');
						$('<input type="radio" />').attr('name','url_r').attr('id','url_4').attr('value',url + 'index.php?option=com_joaktree&view=joaktree' + rfn).change(url_select).appendTo(div_4);
					$('<label></label>').attr('for','url_4').html('Joaktree: <a href="' + url + 'index.php?option=com_joaktree&view=joaktree' + rfn + '" target="_blank">' + url + 'index.php?option=com_joaktree&view=joaktree' + rfn + '</a>').appendTo(div_4);
						div_4.appendTo($url_container);
/*						var div_5 = $('<div></div>');
						$('<input type="radio" />').attr('name','url_r').attr('id','url_5').attr('value',url + 'individual.php?pid=' + rfn).change(url_select).appendTo(div_5);
						$('<label></label>').attr('for','url_5').html('PhpGedView: <a href="' + url + 'individual.php?pid=' + rfn + '" target="_blank">' + url + 'individual.php?pid=' + rfn + '</a>').appendTo(div_5);
						div_5.appendTo($url_container);
						var div_6 = $('<div></div>');
						$('<input type="radio" />').attr('name','url_r').attr('id','url_6').attr('value',url + 'index.php?m=family&id=' + rfn).change(url_select).appendTo(div_6);
						$('<label></label>').attr('for','url_6').html('Retrospect-GDS: <a href="' + url + 'index.php?m=family&id=' + rfn + '" target="_blank">' + url + 'index.php?m=family&id=' + rfn + '</a>').appendTo(div_6);
						div_6.appendTo($url_container);*/
						var div_7 = $('<div></div>');
						$('<input type="radio" />').attr('name','url_r').attr('id','url_7').attr('value',tng + 'getperson.php?personID=' + rfn).change(url_select).appendTo(div_7);
						$('<label></label>').attr('for','url_7').html('TNG: <a href="' + tng + 'getperson.php?personID=' + rfn + '" target="_blank">' + tng + 'getperson.php?personID=' + rfn + '</a>').appendTo(div_7);
						div_7.appendTo($url_container);
						var div_8 = $('<div></div>');
						$('<input type="radio" />').attr('name','url_r').attr('id','url_8').attr('value',url + rfn).change(url_select).appendTo(div_8);
						$('<label></label>').attr('for','url_8').html(LN_SELECT_URL_REST + ': <a href="' + url + rfn + '" target="_blank">' + url + rfn + '</a>').appendTo(div_8);
						div_8.appendTo($url_container);
						var div_9 = $('<div></div>');
						$('<input type="radio" />').attr('name','url_r').attr('id','url_9').attr('value','0').appendTo(div_9);
//						$('<label></label>').attr('for','url_9').html(LN_SELECT_URL_REST_1 + ' <strong>' + rfn + '</strong> ' + LN_SELECT_URL_REST_2 + '):').appendTo(div_9);
						$('<label></label>').attr('for','url_9').html(LN_SELECT_URL_REST_1 + ':').appendTo(div_9);
						div_9.appendTo($url_container);
					}
					else {
						loadimage.remove();
//						alert(error);
						$('<div></div>')
						.addClass('error')
						.html(error.replace('XXX','<a href="' + $gendex.val() + '" target="_blank">' + $gendex.val() + '</a>'))
						.insertBefore($gendex.parent());
					}
				}
			});
		}
	};
	url_select = function() {
		$url.blur(check);
//		$url.val(this.value.replace($rfn.val(),""));
		$url.val(this.value);
		$url.trigger('blur');
	};
	$gendex.focus();
	$email.blur(check);
	$gendex.blur(check);
	$gendex.change(function() {
		if ($url.val() != '' && $url.val() != 'http://') {
			$url.val('http://');
		}
	});
	$url.blur(check);
	$email.parents('form').submit(function() {
		$('.error').remove();
		$gendex.trigger('blur');
		$url.trigger('blur');
		$email.trigger('blur');
		if ($('.error').length) {
			var error = LN_ERROR_FORM_NOT_COMPLETED;
			$('<div></div>')
			.addClass('error')
			.text(error)
			.insertBefore($(this));
			return false;
		}
	});
	$url.parent('div').parent('td').parent('tr').hide();
});

