function checkNotEmpty( form ) {

    var returnValue = false;
    var nbTextElements = 0, nbTextareaElements = 0, nbCheckboxElements = 0, nbRadioElements = 0, nbSelectElements = 0;
    for ( var i = 0, count = form.elements.length, element; i < count; i++ ) {
        element = form.elements[i];
        if ( element.name && ( element.name.match(/^form\[Coord/i) || element.name == 'record_infos' || element.name == 'captcha' ) ) continue;
        if ( element.type == 'text' && element.value != '' ) { returnValue = true; break; } //nbTextElements++;
        if ( element.type == 'textarea' && element.value != '' ) { returnValue = true; break; } //nbTextareaElements++;
        if ( element.type == 'checkbox' && element.checked ) { returnValue = true; break; } //nbCheckboxElements++;
        if ( element.type == 'radio' && element.checked ) { returnValue = true; break; } //nbRadioElements++;
        if ( element.type == 'select' ) { returnValue = true; break; } //nbSelectElements++;
    }
    
    if ( !returnValue ) {
        var question = lang == 'fr'
            ? 'Souhaitez-vous vraiment envoyer cette demande sans préciser votre besoin ?'
            : 'Do you really wish to send this enquiry without stipulating your requirement?';
        returnValue = window.confirm(question);
    }
    
    return returnValue;

} // end of 'checkNotEmpty()'

/* Vérification du formulaire administratif */
function checkCoords(obj) {

	var re = /[\w]+\[Coordonnees\]\[([^\]]+)\]/i;
	for ( var i = 0 ; i < obj.elements.length ; i++ ) {
		if ( typeof(obj.elements[i].name) != 'undefined' && obj.elements[i].name.indexOf('[Coordonnees]') != -1 && obj.elements[i].value == '' ) {
			var reResult = obj.elements[i].name.match(re);
			
			query = 'label[for='+obj.elements[i].getAttribute('id')+']';
			result = cssQuery(query);
			label = result[0].innerHTML;
			
			lang == 'fr' 
                ? alert("Veuillez saisir le champ \""+label+"\"")
                : alert("Please specify the field \""+label+"\"");
			;
			return false;
		}
	}
    if ( !isEmail(obj.elements['form[Coordonnees][Email]'].value) ) {
        alert('Veuillez saisir une adresse email valide');
        return false;
    }

//     if ( obj.elements['captcha'].value.charCodeAt(0) != index ) {
//         lang == 'fr' 
//             ? alert('La valeur du test anti-spam n\'est pas la bonne, veuillez réessayer.')
//             : alert('The answer to the anti-spam test is incorrect, please try again.');
//         obj.elements['captcha'].focus();
//         return false;
//     }

	return true;
}

function popupContact( idPays, idDepartement ) {

    var href = '/contact.php?pays=' + idPays;
    if ( idDepartement != '' ) href += '&departement=' + idDepartement;
    window.open(href, 'contact', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=400,height=300,left=' + ( screen.width / 2 - 200 ) + ',top=' + ( screen.height / 2 - 150 ) + '');

} // end of 'popupContact()'



/**
 * Verifie que la chaine passée n'est pas une chaine vide
 *
 * @param	string strSaisie	Chaine de caractère
 * @return	boolean				Retourne false si elle est vide, true dans la cas contraire
 */
function isBlank(strSaisie) {
	var iSaisie = 0;
	var strBlank = ""

	if (strSaisie != "") {
		for (i=0; i < strSaisie.length; i++)
			if (strSaisie.charAt(i) != ' ') iSaisie = 1;
		if (iSaisie == 1)
			return false;
	}
	return true;
}



/**
 * Verifie la validité d'une adresse email (presence d'un @ puis d'un .
 *
 * @param	string strSaisie	Adresse email à vérifier
 * @return	boolean				Retourne true si c'est une adresse email, false dans le cas contraire
 */
function isEmail(strSaisie) {

    var verif = /^[^@]+@(([\w\-]+\.){1,4}[a-zA-Z]{2,4}|(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]))$/

    return ( verif.test(strSaisie) );
}



/**
 * Verifie si un objet de type radio ou checkbox a au moins un element selectionné
 *
 * @param	object obj	Input de type radio ou checkbox d'un formulaire
 * @return	boolean		Retourne true si un element au moins est selectionné false dans le cas contraire
 * @author				David Duret
 * @created				2002-06-12
 */
function isChecked(obj) {
	for ( var i = 0; i < obj.length; i++ ) {
		if ( typeof(checked) == 'undefined' ) checked = false;
		checked = ( obj[i].checked || checked );
	}
	return checked
}

function select( filter ) {

    var queries = {
        'all':      'table input[name^=item]',
        'none':     'table input[name^=item]',
        'read':     'table tr.read input[name^=item]',
        'unread':   'table tr.unread input[name^=item]',
        'junk':     'table tr.junk input[name^=item]'
    };

    var query = queries[filter];
    
    var items = cssQuery(queries['all']);
    for ( var i = 0, count = items.length; i < count; i++ ) {
        items[i].checked = '';
    }

    items = cssQuery(query);
    for ( i = 0, count = items.length; i < count; i++ ) {
        items[i].checked = ( filter == 'none' ) ? '' : 'checked';
    }
    
    return false;

} // end of 'select()'


/*
window.onscroll = function() {
    
    var flashcontent = document.getElementById('flashcontent');
    var flashcontenttop = flashcontent.offsetTop;
    if ( typeof this.flashcontenttop =='undefined' ) this.flashcontenttop = flashcontenttop;
    var oldValue = 270 + this.flashcontenttop;
    
    window.status = document.documentElement.scrollTop + ' ' + flashcontenttop + ' ' + this.flashcontenttop;
    
    // 
    if ( document.documentElement.scrollTop <= oldValue ) {
        flashcontent.style.position = 'fixed';
        flashcontent.style.top = oldValue + 'px';
        flashcontent.style.left = '193px';
    } else {
        flashcontent.style.position = 'absolute';
        flashcontent.style.top = ( document.documentElement.scrollTop + 5 ) + 'px';
    }

    return true;

}
*/

function getXmlHttp() {
    
    var xmlhttp = false;
    
    /* Compilation conditionnelle d'IE */
    /*@cc_on
    @if (@_jscript_version >= 5)
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E) {
            xmlhttp = false;
        }
    }
    @else
    xmlhttp = false;
    @end @*/
    
    /* on essaie de crÚer l'objet si ce n'est pas dÚjÓ fait */
    if ( !xmlhttp && typeof XMLHttpRequest != 'undefined' ) {
        try {
            xmlhttp = new XMLHttpRequest();
        }
        catch (e) {
            xmlhttp = false;
        }
    }
    
    return xmlhttp;
}
