
function loadItemRecentsByUserHandler(carousel, start, last, available){
    if(available){
        carousel.loaded();
        return;
    }

    var cr = carousel;

    $.get("/scripts/recentsbyuser.ajax.php", function(data) {
        appendItemCallback(cr, start, last, data);
    });
};

function appendItemCallback(carousel, start, last, data){
    var items = data.split("|");

    for (i = start; i <= last; i++) {
        if (items[i-1] == undefined) {
            break;
        }

        var item = carousel.add(i, items[i-1]);
    }

    // Trigger loaded
    carousel.loaded();
};

function usersValidSendEmail(){
	var minimumChecked = false;
	$("input[@type=checkbox]").each(function(){
		if($(this).is(":checked"))
			minimumChecked = true;
	});

	return minimumChecked;
}

function loadPcla(pageToLoad){
	$("#pcla-nav").load(pageToLoad+" #pcla-nav a");
	$("#container").load(pageToLoad+" #pcla",{},function(){
		$.getScript("/pclafiles/docteur-flo.php");
		$.getScript("/js/jqtb.js");
	});
}

function checkAllCbx(){
	$("input[@type=checkbox]").attr("checked","true").parent().parent().addClass("lineSelected");
}

function uncheckAllCbx(){
	$("input[@type=checkbox]").attr("checked","").parent().parent().removeClass("lineSelected");
}

function hasCbxChecked(frm){
	if(countCbxChecked(frm)>0)
		return true;
	else
		return false;
}

function countCbxChecked(frm){
	nbChecked = 0;
	for(i=0; i<frm.length; i++){
		if(frm.elements[i].type == "checkbox"){
			if (frm.elements[i].checked == true){
				nbChecked++;
			}
		}
	}

	return nbChecked;
}

//** scrolling menu **
$.fn.hoverClass = function(c) {
	return this.each(function(){
		$(this).hover( 
			function() { $(this).addClass(c); },
			function() { $(this).removeClass(c); }
		);
	});
};

/**** DOCUMENT READY ****/
$().ready(function(){

	//** scrolling menu **
	$("#pcla-menu li").hover(
		function(){ $("ul", this).fadeIn("fast"); }, 
		function() { }
	);
	if(document.all) {
		$("#pcla-menu li").hoverClass("iehover");
	}

    $("#historic-box-recentsbyuser").jcarousel({
        itemVisible: 9,
        itemScroll: 3,
        itemStart: 1,
        loadItemHandler: loadItemRecentsByUserHandler
    });

	$("a.selectall").click(function(){
		$("input[@type=checkbox]").attr("checked", "checked");
		return false;
	});

	$("a.selectnone").click(function(){
		$("input[@type=checkbox]").removeAttr("checked");
		return false;
	});

	$("input.cancel").click(function(){
		if(confirm('Etes-vous sûr(e) de vouloir annuler ?'))
			window.open('/', '_self');
	});

	//** mediatype combobox change **
	$("#mediatype_id").change(function(){
		//image local
		if(this.value == 1){
			if($("#mediaImageUrl").is(':visible')) $("#mediaImageUrl").hide();
			if($("#mediaVideoFlash").is(':visible')) $("#mediaVideoFlash").hide();
			if($("#mediaSlideshow").is(':visible')) $("#mediaSlideshow").hide();
			if($("#mediaSound").is(':visible')) $("#mediaSound").hide();
			if($("#mediaPanorama").is(':visible')) $("#mediaPanorama").hide();
			$("#mediaImageLocal").show();
		}
		//image url
		else if(this.value == 2){
			if($("#mediaImageLocal").is(':visible')) $("#mediaImageLocal").hide();
			if($("#mediaVideoFlash").is(':visible')) $("#mediaVideoFlash").hide();
			if($("#mediaSlideshow").is(':visible')) $("#mediaSlideshow").hide();
			if($("#mediaSound").is(':visible')) $("#mediaSound").hide();
			if($("#mediaPanorama").is(':visible')) $("#mediaPanorama").hide();
			$("#mediaImageUrl").show();
		}
		//video flash
		else if(this.value == 3){
			if($("#mediaImageLocal").is(':visible')) $("#mediaImageLocal").hide();
			if($("#mediaImageUrl").is(':visible')) $("#mediaImageUrl").hide();
			if($("#mediaSlideshow").is(':visible')) $("#mediaSlideshow").hide();
			if($("#mediaSound").is(':visible')) $("#mediaSound").hide();
			if($("#mediaPanorama").is(':visible')) $("#mediaPanorama").hide();
			$("#mediaVideoFlash").show();
		}
		//slideshow
		else if(this.value == 4){
			if($("#mediaImageLocal").is(':visible')) $("#mediaImageLocal").hide();
			if($("#mediaImageUrl").is(':visible')) $("#mediaImageUrl").hide();
			if($("#mediaVideoFlash").is(':visible')) $("#mediaVideoFlash").hide();
			if($("#mediaSound").is(':visible')) $("#mediaSound").hide();
			if($("#mediaPanorama").is(':visible')) $("#mediaPanorama").hide();
			$("#mediaSlideshow").show();
		}
		//sound
		else if(this.value == 5){
			if($("#mediaImageLocal").is(':visible')) $("#mediaImageLocal").hide();
			if($("#mediaImageUrl").is(':visible')) $("#mediaImageUrl").hide();
			if($("#mediaVideoFlash").is(':visible')) $("#mediaVideoFlash").hide();
			if($("#mediaSlideshow").is(':visible')) $("#mediaSlideshow").hide();
			if($("#mediaPanorama").is(':visible')) $("#mediaPanorama").hide();
			$("#mediaSound").show();
		}
		//panorama
		else if(this.value == 6){
			if($("#mediaImageLocal").is(':visible')) $("#mediaImageLocal").hide();
			if($("#mediaImageUrl").is(':visible')) $("#mediaImageUrl").hide();
			if($("#mediaVideoFlash").is(':visible')) $("#mediaVideoFlash").hide();
			if($("#mediaSlideshow").is(':visible')) $("#mediaSlideshow").hide();
			if($("#mediaSound").is(':visible')) $("#mediaSound").hide();
			$("#mediaPanorama").show();
		}
		//none
		else{
			if($("#mediaImageLocal").is(':visible')) $("#mediaImageLocal").hide();
			if($("#mediaImageUrl").is(':visible')) $("#mediaImageUrl").hide();
			if($("#mediaVideoFlash").is(':visible')) $("#mediaVideoFlash").hide();
			if($("#mediaSlideshow").is(':visible')) $("#mediaSlideshow").hide();
			if($("#mediaSound").is(':visible')) $("#mediaSound").hide();
			if($("#mediaPanorama").is(':visible')) $("#mediaPanorama").hide();
		}
	});

	//** form : login **
	$("#frm_login_id").validate({
		event: "keyup",
		errorPlacement: function(error, element) {
			error.appendTo( element.parent("td").next("td") );
		},
		rules: {
			user_pseudo: {required:true},
			user_password: {required:true}
		},
		messages: {
			user_pseudo: "requis",
			user_password: "requis"
		}
	});

	//** form : write **
	$("#frm_new_message_id").validate({
		event: "keyup",
		errorPlacement: function(error, element) {
			error.appendTo( element.parent("td").next("td") );
		},
		rules: {
			story_title: {required:true},
			story_description: {required:true},
			media_image_local: {
				required: function() {
					if($("#mediaImageLocal").is(':visible'))
						return true;
					else
						return false;
				}
			},
			media_image_url: {
				required: function() {
					if($("#mediaImageUrl").is(':visible'))
						return true;
					else
						return false;
				},
				url:true
			},
			media_video_flash: {
				required: function() {
					if($("#mediaVideoFlash").is(':visible'))
						return true;
					else
						return false;
				}
			},
			media_slideshow: {
				required: function() {
					if($("#mediaSlideshow").is(':visible'))
						return true;
					else
						return false;
				}
			},
			media_sound: {
				required: function() {
					if($("#mediaSound").is(':visible'))
						return true;
					else
						return false;
				}
			},
			media_panorama: {
				required: function() {
					if($("#mediaPanorama").is(':visible'))
						return true;
					else
						return false;
				}
			}
		},
		messages: {
			story_title: "requis",
			story_description: "requis",
			media_image_local: "requis",
			media_image_url: {
				required: "requis",
				url: "format d'URL non valide"
			},
			media_video_flash: "requis",
			media_slideshow: "requis",
			media_sound: "requis",
			media_panorama: "requis"
		}
	});

	//** form : send friend **
	$("#frm_sendfriend_id").validate({
		event: "keyup",
		errorPlacement: function(error, element) {
			error.appendTo( element.parent("td").next("td") );
		},
		rules: {
			sender_name: {required:true},
			sender_email: {required:true,email:true},
			sender_recipient1: {required:true,email:true},
			sender_recipient2: {email:true},
			sender_recipient3: {email:true},
			sender_recipient4: {email:true},
			sender_recipient5: {email:true},
			sender_message: {required:true}
		},
		messages: {
			sender_name: "requis",
			sender_email: {
				required: "requis",
				email: "format non valide"
			},
			sender_recipient1: {
				required: "requis",
				email: "format non valide"
			},
			sender_recipient2: {
				email: "format non valide"
			},
			sender_recipient3: {
				email: "format non valide"
			},
			sender_recipient4: {
				email: "format non valide"
			},
			sender_recipient5: {
				email: "format non valide"
			},
			sender_message: "requis"
		}
	});

	//** form : subscribe **
	$("#frm_subscribe_id").validate({
		event: "keyup",
		errorPlacement: function(error, element) {
			error.appendTo( element.parent("td").next("td") );
		},
		rules: {
			user_pseudo: {required:true,minLength:4,maxLength:30},
			user_password: {required:true,minLength:4,maxLength:30},
			user_password2: {required:true,equalTo:'#user_password'},
			user_name: {required:true},
			user_email: {email:true},
			user_website: {url:true}
		},
		messages: {
			user_pseudo: {
				required: "requis",
				minLength: "4 caractères minimum",
				maxLength: "30 caractères maximum"
			},
			user_password: {
				required: "requis",
				minLength: "4 caractères minimum",
				maxLength: "30 caractères maximum"
			},
			user_password2: {
				required: "requis",
				equalTo: "doit être identique au précédent"
			},
			user_name: "requis",
			user_email: "format d'email non valide",
			user_website: "format de site web non valide"
		}
	});

	//** form **
	$("#frm_users_id").validate({
		event: "keyup",
		errorPlacement: function(error, element) {
			error.appendTo(element.parent("td").next("td"));
		},
		rules: {
			sender_name: {required:true},
			sender_email: {required:true, email:true},
			sender_subject: {required:true},
			sender_message: {required:true}
		},
		messages: {
			sender_name: "requis",
			sender_email: {
				required: "requis",
				email: "format d'email invalide"
			},
			sender_subject: "requis",
			sender_message: "requis"
		}
	});

	//**** document ready ADMIN PART ****

	//** admin odd tables **
	$("table.datas tr:nth-child(odd)").addClass("odd");

	//** click on admin checkbox **
	$("input.admin-select[@type=checkbox]").click(function(){
		$(this).parent().parent().toggleClass("lineSelected");
	});

	//** form : edit profil **
	$("#frm_profil_id").validate({
		event: "keyup",
		errorPlacement: function(error, element) {
			error.appendTo( element.parent("td").next("td") );
		},
		rules: {
			user_newpassword: {minLength:4,maxLength:30},
			user_newpassword2: {equalTo:'#user_newpassword'},
			user_name: {required:true},
			user_email: {email:true},
			user_website: {url:true}
		},
		messages: {
			user_newpassword: {
				minLength: "4 caractères minimum",
				maxLength: "30 caractères maximum"
			},
			user_newpassword2: {
				equalTo: "doit être identique au précédent"
			},
			user_name: "requis",
			user_email: "format d'email non valide",
			user_website: "format de site web non valide"
		}
	});

	//** form : edit admin (todo) **
	$("#frm_adminconfig_id").validate({
		event: "keyup",
		errorPlacement: function(error, element) {
			error.appendTo( element.parent("td").next("td") );
		},
		rules: {
			translationvar_website_title: {required:true, maxLength:255},
			translationvar_website_description: {required:true},
			translationvar_website_keywords: {required:true},
			translationvar_website_users: {required:true},
			translationvar_historic_firstline: {required:true},
			translationvar_historic_secondline: {required:true},
			translationvar_places_title: {required:true}
		},
		messages: {
			translationvar_website_title: {
				required: "requis",
				maxLength: "255 caractères maximum"
			},
			translationvar_website_description: "requis",
			translationvar_website_keywords: "requis",
			translationvar_website_users: "requis",
			translationvar_historic_firstline: "requis",
			translationvar_historic_secondline: "requis",
			translationvar_places_title: "requis"
		}
	});

});

function openPage(page){
	window.open(page, '_self');
}

function openBlankPage(page){
	window.open(page, '_blank');
}
