var $list 	= 'input[type=submit],input[type=button],input[type=reset],button';

function isValidPeriod() { 
    var date_deb    = $( '#date_deb' ).val();
    var date_fin    = $( '#date_fin' ).val();
    
    if( ! isDate( date_fin ) || ! isDate( date_deb ) ) {
		return false;
	}else {
		if ( ComparerDates( date_deb, date_fin ) == 1 ) {
			return false;
        }else if( ComparerDates( date_deb, date_fin ) == 0 ) {
			return false;
		}else {
            return true;
		}
    }
}

function ComparerDates (str1, str2){
   var dt1   = parseInt(str1.substring(0,2),10);
   var mon1  = parseInt(str1.substring(3,5),10);
   var yr1   = parseInt(str1.substring(6,10),10);
   var dt2   = parseInt(str2.substring(0,2),10);
   var mon2  = parseInt(str2.substring(3,5),10);
   var yr2   = parseInt(str2.substring(6,10),10);
   var date1 = new Date(yr1, mon1, dt1);
   var date2 = new Date(yr2, mon2, dt2);

   if( date1 > date2)
       return 1;
   else if(date1 == date2)
       return 0;
   else if(date1 < date2)
       return 2;
   else return false;
}

function formatDate( date1 ) {
	return date1.getFullYear() + '-' + ( date1.getMonth() < 9 ? '0' : '' ) + ( date1.getMonth() + 1 ) + '-' + ( date1.getDate() < 10 ? '0' : '' ) + date1.getDate();
}

function isDate( dateStr ) {
	var datePat = /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null)
		return false;

	day   = matchArray[1]; // p@rse date into variables
	month = matchArray[3];
	year  = matchArray[5];

	if (month < 1 || month > 12)
		return false;
	if (day < 1 || day > 31)
		return false;
	if ((month==4 || month==6 || month==9 || month==11) && day==31)
		return false;
	if (month == 2) {
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap))
			return false;
	}
	return true;
}

function IsEmail( sValue ) {	
	return ExactMatch(sValue, /\w[\w\.-]*@[\w\.-]+\.\w{2,4}/);
}

function ExactMatch( sValue, Regexp ) {
	if ( ! sValue ) {
		return false;
	}
	var sToMatch = new String(sValue);
	var result = sToMatch.match(Regexp);
	if (result != null)	{
		if (result.length == 1) {
			if (result[0].length == sToMatch.length) {
				return true;
			}
		}
	}
	return false;
}

function majPrefixeTel( obj ) {
	$( '#tel_fixe_pre_stagiaire' ).val( obj.options[obj.selectedIndex].id );
	$( '#tel_mob_pre_stagiaire' ).val( obj.options[obj.selectedIndex].id );
}

