
var ludo = {
	
	checkLogin: function ( login, pwd ) {
		if ( !login.length ) { window.alert( "Vous devez entrer votre identifiant" ); return false; }
		if ( !pwd.length ) { window.alert( "Vous devez entrer votre mot de passe" ); return false; }
		$.ajax( {
			url: '/LudoUsers/login-post.json', type: 'POST', dataType: 'json',
			data: { login: login, password: pwd },
			error: function ( xhttp, status, error ) {
				if ( xhttp.status == 403 ) {
					window.alert( "Identification invalide " );
				} else if ( xhttp.status == 200 ) {
					//window.alert( xhttp.responseText );
					window.location.reload(true);
				} else {
					//window.alert( xhttp.responseText );
					window.alert( "Erreur de communication avec le serveur (" + xhttp.status + ")" );
				}
			},
			success: function ( data, status ) {
				if ( data && data.id ) {
					//window.alert( data );
					window.location.reload(true);
				} else {
					//window.alert( data );
					window.alert( "Erreur de communication avec le serveur" );
				}
			}
		} );
		return false;
	}
}

jQuery.extend( jQuery.fn, {
	ludoScroller: function ( options ) {
		var self = this;
		var defaults = {
			animDelay: 40,		// Pause entre appels de la fonction (en ms)
			animScroll: 3,		// Nbr de pixels scrolles a chaque fois
			width: 759,
			height: 20
		};
		options = jQuery.extend( {}, defaults, options );
		this.each( function () {
			//$(this).css( 'clip', 'auto' ).css( 'white-space', 'nowrap' );
			var self = this;
			var cfg = jQuery.extend( {}, options );
			cfg.posInitial = parseInt( $(this).css( 'left' ) );
			cfg.scrollerPos = 0;
			cfg.scrollerMax = this.offsetWidth; 
			cfg.scrollerTimer = window.setInterval( function () {
				if ( $(self).data( 'hovered' ) ) return;
				cfg.scrollerPos += cfg.animScroll;
				if ( cfg.scrollerPos >= cfg.scrollerMax ) {
					cfg.scrollerPos -= cfg.scrollerMax + cfg.width;
				}
				$(self).css( 'left', (cfg.posInitial - cfg.scrollerPos) + 'px' )
					.css( 'clip', 'rect(0px ' + (cfg.scrollerPos+cfg.width) + 'px ' +
						cfg.height + 'px ' + cfg.scrollerPos + 'px)' );
			}, cfg.animDelay );
			$(this).data( 'scroller', cfg )
				.mouseover( function () {  $(this).data( 'hovered', 1 ); } )
				.mouseout(  function () {  $(this).data( 'hovered', 0 ); } );
		} );
	}
} );

var ludoScroller = function ( elt, options ) {
	
	
	/*
	this.pauseOnNews = this.delayNews;
	this.curPos = 0;
	this.maxPos = this.target.getElementsByTagName('li').length * this.sizeNews;
	
	var me = this;
	this.doAnim = function () {
		if ( me.pauseOnNews ) {
			me.pauseOnNews--;
			return;
		}
		var clip = '';
		clip = me.curPos + 'px 400px ' + ( me.curPos + 50 ) + 'px 0px';
		me.target.style.clip = 'rect(' + clip + ')';
		me.target.style.top = (0-me.curPos) + 'px';
		me.curPos += me.amountAnim;
		if ( me.curPos >= me.maxPos )	me.curPos = 0 - me.sizeNews;
		else if ( me.curPos % me.sizeNews == 0 ) me.pauseOnNews = me.delayNews;
	}
	this.timer = window.setInterval( this.doAnim, this.delayAnim );*/	
	window.alert( $('#scroller-text').get(0).offsetLeft );
	
	$('#scroller-text').data( 'scrollPos', 0 )
		.mouseover( function () {  $(this).data( 'hovered', 1 ); } )
		.mouseout(  function () {  $(this).data( 'hovered', 0 ); } );
	
	
	
}



$.validator.setDefaults( {
	errorContainer: "#message",
	errorLabelContainer: "#message",
	onfocusout: false,
	showErrors: function( errorMap, errorList ) {
		this.defaultShowErrors();
		if ( errorList.length ) {
			var msg = "Erreur de validation du formulaire";
			if ( errorList.length == 1 ) {
				if ( errorList[0].element.name == "opt_cgv" ) {
					msg = "Vous devez accepter les conditions générales de vente";
				} else if ( errorList[0].element.id == "confirm_pwd" ) {
					msg = "Veuillez vérifier votre mot de passe";
				}
			}
			//this.numberOfInvalids()
			$('#message').empty().html( msg + ' ' + errorList.length );
		}
	}
	
} );


function init_tinyMCE() {
	if ( typeof tinyMCE != 'undefined' ) {
		tinyMCE.init( {
			// General options
			mode : "exact",
			elements : "ctl-summary,ctl-content,ctl-body",
			//editor_selector: "wysiwyg",
			theme : "advanced",
			skin : "o2k7",
			skin_variant : "silver",
			language: 'fr',
			width: 590,
			plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups",
			// Theme options
			theme_advanced_buttons1 : "bold,italic,underline,strikethrough,removeformat,|,justifyleft,justifycenter,justifyright,justifyfull,|,sub,sup,formatselect,fontselect,fontsizeselect",
			theme_advanced_buttons2 : "pastetext,pasteword,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,preview,code,|,forecolor,backcolor",
			theme_advanced_buttons3 : "",
			//theme_advanced_buttons3 : "tablecontrols,|,hr,visualaid,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
			//theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
			theme_advanced_toolbar_location : "top",
			theme_advanced_toolbar_align : "left",
			theme_advanced_statusbar_location : "bottom",
			//theme_advanced_resizing : true,
			// Example content CSS (should be your site CSS)
			//content_css : "css/content.css",
			// Drop lists for link/image/media/template dialogs
			//template_external_list_url : "lists/template_list.js",
			//external_link_list_url : "lists/link_list.js",
			//external_image_list_url : "lists/image_list.js",
			//media_external_list_url : "lists/media_list.js",
			// Replace values for the template plugin
			template_replace_values : {
				username : "Some User",
				staffid : "991234"
			}
		} );
	}
}

$(document).ready( function () {
	$.datepicker.setDefaults( {
		firstDay: 1,
		showOn: 'both', buttonImageOnly: true, buttonImage: '/themes/ludo08/calendar.gif', buttonText: '...'
	} );
	$('img.hover').mouseover( function () {
		var src = $(this).attr( 'src' );
		src = src.substr( 0, src.length-4 ) + '-hover' + src.substr( src.length-4 );
		$(this).attr( 'src', src );
	} )
	$('img.hover').mouseout( function () {
		var src = $(this).attr( 'src' );
		src = src.substr( 0, src.length-10 ) + src.substr( src.length-4 );	
		$(this).attr( 'src', src );
	} )
	$('input.date').each( function () {
		if ( this.value.length && this.value.indexOf('-') != -1 ) {
			this.value = this.value.split('-').reverse().join('/');
		}
	} );
	$('input.date').datepicker();
	/*
	$('.pyro-form').submit( function () {
		var elts = $( '.required', this );
		var isValid = true;
		var errorMsg = '';
		$(elts).each ( function () {
			if ( !$( 'input', this ).get(0).value.length ) {
				$(this).addClass( 'invalid' );
				isValid = false;
				errorMsg = 'Ces champs sont obligatoires';
			} else {
				$(this).removeClass( 'invalid' );
			}
		} );
		if ( !isValid ) {
			$('#message').empty().append( errorMsg ).css( 'display', 'block' );
			return false;
		}
		$('#message').css( 'display', 'none' );
		return false;
	} );*/
	
} );

function initLoginForm() {
	$('.form-login').submit( function () {
		ludo.checkLogin( this.elements.login.value, this.elements.password.value );
		return false;
	} );
}

