function displayAjax ( sUrl, targetDiv  ) {
    $.ajax({
        type: "GET",
        url: sUrl,
        async: false ,
        dataType: 'html',
        request: function(){
            $('#'+targetDiv).html('Chargement en cours') ;
        },
        success: function(msg){
            $('#'+targetDiv).html ( msg ) ;
        }
    });
}

function sendPost( form , targetDiv ){
    $.post($('#'+form).attr('action'), $("#" + form).serialize(), function ( msg ) {
        $('#'+targetDiv).html(msg);
    },'html');
    return;       
}

function toggle( div ) {
    if( $('#' + div).css('display') == 'none' ) {
        $('#' + div).show(500 , function(){
            $('#' + div).animate({
                opacity: 1
            }, 500)
        });
        return false ;
    }
    $('#'+div).hide(500 , function(){
        $('#' + div).animate({
            opacity: 0
        }, 500)
    });
    return false;
}

function checkMail( email ){
    var aroba = email.indexOf("@");
    if (aroba == -1) {
        return false;
    }
    var point = email.indexOf(".", aroba);
    if ((point == -1) || (point == (aroba + 1))) {
        return false;
    }
    point = email.lastIndexOf(".");
    if ((point + 1) == email.length) {
        return false;
    }
    point = email.indexOf("..")
    if (point != -1) {
        return false;
    }

    return true ;
}

function unset ( array, val ) {
    var output=[];
    var j = 0 ; 
    for(var i in array){
        if ( i!=val )
            output[j++]=array[i] ;
    }
    return output;
}



/* Copyright (c) 2006-2007 Mathias Bank (http://www.mathias-bank.de)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Version 2.1
 *
 * Thanks to
 * Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
 * Tom Leonard for some improvements
 *
 */
jQuery.fn.extend({
    /**
* Returns get parameters.
*
* If the desired param does not exist, null will be returned
*
* To get the document params:
* @example value = $(document).getUrlParam("paramName");
*
* To get the params of a html-attribut (uses src attribute)
* @example value = $('#imgLink').getUrlParam("paramName");
*/
    getUrlParam: function(strParamName){
        strParamName = escape(unescape(strParamName));

        var returnVal = new Array();
        var qString = null;

        if ($(this).attr("nodeName")=="#document") {
            //document-handler

            if (window.location.search.search(strParamName) > -1 ){

                qString = window.location.search.substr(1,window.location.search.length).split("&");
            }

        } else if ($(this).attr("src")!="undefined") {

            var strHref = $(this).attr("src")
            if ( strHref.indexOf("?") > -1 ){
                var strQueryString = strHref.substr(strHref.indexOf("?")+1);
                qString = strQueryString.split("&");
            }
        } else if ($(this).attr("href")!="undefined") {

            var strHref = $(this).attr("href")
            if ( strHref.indexOf("?") > -1 ){
                var strQueryString = strHref.substr(strHref.indexOf("?")+1);
                qString = strQueryString.split("&");
            }
        } else {
            return null;
        }


        if (qString==null) return null;


        for (var i=0;i<qString.length; i++){
            if (escape(unescape(qString[i].split("=")[0])) == strParamName){
                returnVal.push(qString[i].split("=")[1]);
            }

        }


        if (returnVal.length==0) return null;
        else if (returnVal.length==1) return returnVal[0];
        else return returnVal;
    }
});




jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};


jQuery.fn.DefaultValue = function(text){
    return this.each(function(){
        if(this.type != 'text' && this.type != 'password' && this.type != 'textarea')
            return;

        //Store field reference
        var fld_current=this;

        //Set value initially if none are specified
        if($(this).val()=='') {
            $(this).val(text).addClass('default').removeClass('focus');
        } else {
            //Other value exists - ignore
            return;
        }

        //Remove values on focus
        $(this).focus(function() {
            if($(this).val()==text || $(this).val()=='')
                $(this).val('').removeClass('default').addClass('focus');
        });


        //Place values back on blur
        $(this).blur(function() {
            if($(this).val()==text || $(this).val()=='')
                $(this).val(text).addClass('default').removeClass('focus');
        });

        //Capture parent form submission
        //Remove field values that are still default
        $(this).parents("form").each(function() {
            //Bind parent form submit
            $(this).submit(function() {
                if(fld_current.value==text) {
                    fld_current.value='';
                }
            });
        });
    });
};
