// for detect if is installed Firebug or FirebugLite
if(!console){
	var console = {
	   log: function(a){}
	}
}


function initialize_new_form()
{
	$("#tabs .tab-hide").hide();

	if ($('#baby_geboortedatum').is('*')) {
		$("#baby_geboortedatum").datepicker({
			buttonText: 'Kies',
			minDate: new Date(2008,5,2),
			maxDate: new Date(2009,5,2),
			dateFormat: 'd MM yy',
			changeYear: true,
			monthNames: ['januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december'],
			dayNames: ['zondag','maandag','dinsdag','woensdag','donderdag','vrijdag','zaterdag'],
			dayNamesMin: ['zo','ma','di','wo','do','vr','za'],
			prevText: '&laquo;',
			nextText: '&raquo;',
			altField: '#baby_geboortedatum_echt',
			altFormat: 'yy-mm-dd'
		});
	}

	if ($('#geboortedatum').is('*')) {
		$("#geboortedatum").datepicker({
			buttonText: 'Kies',
			minDate: new Date(1900,0,1),
			maxDate: new Date(2004,0,0),
			defaultDate: new Date(1978,0,1),
			dateFormat: 'd MM yy',
			changeYear: true,
			yearRange: '1900:2000',
			monthNames: ['januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december'],
			dayNames: ['zondag','maandag','dinsdag','woensdag','donderdag','vrijdag','zaterdag'],
			dayNamesMin: ['zo','ma','di','wo','do','vr','za'],
			altField: '#geboortedatum_echt',
			altFormat: 'yy-mm-dd'
		});
	}
}

function set_message_element(e, ok, message)
{
	if ($(e).attr('type') == 'checkbox') {
		// checkboxes have reversed dt/dd
		if (ok) {
			$(e).parent().next('dt').find('span').css('display','none');

			// console.log('id=' + e + ' is ok. ' + message);
		}
		else {
			if ($(e).parent().next('dt').find('span').length == 0) {
				$(e).parent().next('dt').append('<span> - <span class="fout">' + message + '</span></span>');
			}
			else {
				$(e).parent().next('dt').find('span').css('display','inline');
				$(e).parent().next('dt').find('span').html(' - <span class="fout">' + message + '</span>');
			}

			console.log('id=' + $(e).attr('id') + ' is not ok. ' + message);
		}
	}
	else {
		if (ok) {
			$(e).parent().prev('dt').find('span').css('display','none');

			// console.log('id=' + e + ' is ok. ' + message);
		}
		else {
			if ($(e).parent().prev('dt').find('span').length == 0) {
				$(e).parent().prev('dt').append('<span> - <span class="fout">' + message + '</span></span>');
			}
			else {
				$(e).parent().prev('dt').find('span').css('display','inline');
				$(e).parent().prev('dt').find('span').html(' - <span class="fout">' + message + '</span>');
			}

			console.log('id=' + $(e).attr('id') + ' is not ok. ' + message);
		}
	}
}

function form_verify_element(e)
{
	var verified = true;
	var message = 'ok';

	if ($(e).hasClass('required')) {
		verified = false;
		message = 'verplicht';
		
		if ($(e).attr('type') == 'radio') {
			selector = "input[name=" + $(e).attr('name') + "]:checked";
			if ($(selector).val() != undefined) {
				verified = true;
				message = 'goed';
			}
		}
		else if ($(e).attr('type') == 'checkbox') {
			selector = "input[name=" + $(e).attr('name') + "]:checked";
			if ($(selector).val() != undefined) {
				verified = true;
				message = 'goed';
			}
		}
		else if ($(e).val() != '') {

			var str = new String($(e).val());

			if (str.length > 250) {
				verified = false;
				message = 'te lang';
			}
			else {
				verified = true;
				message = 'goed';
			}
		}
	
		if ($(e).attr('name') == 'email') {
			message = 'onjuist';
		}
		
		set_message_element(e,verified,message);
	}
	if ($(e).hasClass('requiredlong')) {
		verified = false;
		message = 'verplicht';
		
		if ($(e).val() != '') {
			verified = true;
			message = 'goed';
		}
	
		if ($(e).attr('name') == 'email') {
			message = 'onjuist';
		}
		
		set_message_element(e,verified,message);
	}
	if ((verified) && ($(e).hasClass('chknickname'))) {
		verified = form_verify_nickname('#nickname');
	}
	if ((verified) && ($(e).hasClass('chkemail'))) {
		verified = form_verify_email('#email');
	}
	if ((verified) && ($(e).hasClass('chkpasswd1'))) {
		verified = form_verify_password1('#password1');
	}
	if ((verified) && ($(e).hasClass('chkpasswd2'))) {
		verified = form_verify_password2('#password1','#password2');
	}

	return verified;
}

var previous_nickname_text = '';
var previous_nickname_result = false;
var previous_nickname_message = '';
function form_verify_nickname(id)
{
	var nickname = $(id).val();
	var result = false;

	if ((previous_nickname_text != '') && (previous_nickname_text == nickname)) {
		nickok  = previous_nickname_result;
		message = previous_nickname_message;
	}
	else {
		$.ajaxSetup({ async: false });
		$.get("?target=ajax",
			{ check: 'nickname', nickname: nickname },
			function(data){ result = data; },
			'text');
		$.ajaxSetup({ async: true });

		var nickok = true;
		var message = 'onjuist';
		if (result != 'ok') {
			nickok = false;

			if (result == 'already') {
				message = 'al gebruikt';
			}
		}
		else {
			message = 'goed';
		}

		previous_nickname_text    = nickname;
		previous_nickname_result  = nickok;
		previous_nickname_message = message;
	}

	set_message_element(id,nickok,message);

	return nickok;
}

var previous_email_text = '';
var previous_email_result = '';
var previous_email_message = '';
function form_verify_email(id)
{
	var email = $(id).val();
	var result = false;

	if ((previous_email_text != '') && (previous_email_text == email)) {
		emailok = previous_email_result;
		message = previous_email_message;
	}
	else {
		$.ajaxSetup({ async: false });
		$.get("?target=ajax",
			{ check: 'email', email: email },
			function(data){ result = data; },
			'text');
		$.ajaxSetup({ async: true });

		var emailok = true;
		var message = 'onjuist';
		if (result != 'ok') {
			emailok = false;

			if (result == 'already') {
				message = 'al gebruikt';
			}
		}
		else {
			message = 'goed';
		}

		previous_email_text    = email;
		previous_email_result  = emailok;
		previous_email_message = message;
	}

	set_message_element(id,emailok,message);

	return emailok;
}

function form_verify_password1(id)
{
	var pwd = new String($(id).val());

	if ($('#actie').val() == 'nieuw') {
		if (pwd.length < 6) {
			set_message_element(id,false,'te kort');
			return false;
		}
		else {
			set_message_element(id,true,'lengte is ok');
			return true;
		}
	}

	set_message_element(id,true,'wachtwoord is ok');

	return true;
}

function form_verify_password2(id1,id2)
{
	var pwd1 = new String($(id1).val());
	var pwd2 = new String($(id2).val());

	if ((pwd1.length == 0) && (pwd2.length == 0)) {
		set_message_element(id2,true,'gelijk');
		return true;
	}
	else if (pwd1.toString() != pwd2.toString()) {
		set_message_element(id2,false,'ongelijk');
		return false;
	}
	else {
		set_message_element(id2,true,'gelijk');
		return true;
	}
}

function form_verify_deel(id)
{
	ok = true;

	$("#" + id + " input, #" + id + " textarea").each(function(e) {
		if (!form_verify_element(this)) {
			ok = false;
		}

/*		$(this).blur(function(e){
			form_verify_element(this);
		}); */
	});

	console.log('subformulier is ' + ok);

	if (id == "deel-gebruiker") {
		/*
		if (!form_verify_nickname('#nickname')) {
			ok = false;
		}
		if (!form_verify_email('#email')) {
			ok = false;
		}
		if (!form_verify_password1('#password1')) {
			ok = false;
		}
		if (!form_verify_password2('#password1','#password2')) {
			ok = false;
		}
		*/
	}

	console.log('formulier is ' + ok);

	return ok;
}

function gebruiker_form_verify()
{
	if (!form_verify_deel("deel-gebruiker")) {
		return false;
	}
	return true;
}

function baby_form_verify()
{
	if (!form_verify_deel("deel-baby")) {
		return false;
	}
	return true;
}

function form_verify(form_id)
{
	return form_verify_deel(form_id);
}

function save_sortedlist_fotos(elem)
{
	ids = '';

	destination = '';

	$('li img',elem).each(function(){
		var idstr = new String($(this).attr('id'));

		if (idstr.indexOf('babyfoto') == 0) {
			destination = 'babyfoto';
			ids += ';' + idstr.substr(8);
			
		}
	});

	ids = ids.substr(1);

	$.ajaxSetup({ async: false });
	$.get("?target=ajax",
		{ update: 'babyfotos_order', ids: ids },
		function(data){ result = data; },
		'text');
	$.ajaxSetup({ async: true });

	//console.log('ids[' + ids + '], result[' + result + ']');
}

function save_sortedlist_videos(elem)
{
	ids = '';

	destination = '';

	$('li img',elem).each(function(){
		var idstr = new String($(this).attr('id'));

		if (idstr.indexOf('babyvideo') == 0) {
			destination = 'babyvideo';
			ids += ';' + idstr.substr(9);
			
		}
	});

	ids = ids.substr(1);

	$.ajaxSetup({ async: false });
	$.get("?target=ajax",
		{ update: 'babyvideos_order', ids: ids },
		function(data){ result = data; },
		'text');
	$.ajaxSetup({ async: true });

	//console.log('ids[' + ids + '], result[' + result + ']');
}

function set_primary_babyfoto(id)
{
	$.ajaxSetup({ async: false });
	$.get("?target=ajax",
		{ update: 'babyfoto_set_primary', id: id },
		function(data){ result = data; },
		'text');
	$.ajaxSetup({ async: true });

	if (result == 'ok') {
		$('.babyfoto_primary').removeClass('show').addClass('hide');
		$('.babyfoto_notprimary').removeClass('hide').addClass('show');

		id = 'babyfoto' + id;
		$('#' + id + '_primary').removeClass('hide').addClass('show');
		$('#' + id + '_notprimary').removeClass('show').addClass('hide');
	}

	//console.log('id[' + id + '], result[' + result + ']');

	return false;
}

$(document).ready(function(){
	initialize_new_form();

	$('a.babyzoom').fancybox();

	$("#sortable_fotos").sortable({
		stop: function(event, ui) { save_sortedlist_fotos(event.target); },
		opacity: 0.9 
	});

	$("#sortable_videos").sortable({
		stop: function(event, ui) { save_sortedlist_videos(event.target); },
		opacity: 0.9 
	});


	$(".sortable").disableSelection();
  
  // hyves gadget
	if($("#gadget").is('*')) {
    $("a#embed_link").bind('click', function(e) {
        e.preventDefault();
      });
    $("a#embed_link").fancybox({
      frameWidth: 380,
      frameHeight: 464,
      padding: 10,
      hideOnContentClick:	false
    });
  }
});
