var previewWindow;

function popup_ml() {
	w=open('mentions_legales.htm','mentions_legales','width=400,height=300,toolbar=no,scrollbars=yes,resizable=no');
}
function popup_attestation(idtest) {
	w=open('tests/attestation.php?idtest='+idtest,'attestation','width=400,height=300,toolbar=no,scrollbars=no,resizable=no');
}
function popup_piece(idpiece) {
	w=open('tests/piece.php?idpiece='+idpiece,'piece','width=500,height=400,toolbar=no,scrollbars=yes,resizable=yes');
}
function popup_lien(idlien, idvignette) {
	w=open('profil/vignettes/lien.php?idlien='+idlien+'&idvignette='+idvignette,'lien','width=530,height=290,toolbar=no,scrollbars=no,resizable=no');
    w.focus();
}

function openSearchWindow(type, fieldname) {
	searchWdw = open('search'+type+'.php?fieldname='+fieldname, 'searchWdw', 'width=400,height=300,toolbar=no,scrollbars=yes,resizable=no');
}

function openMotWindow(type, idquestion) {
	searchWdw = open('search'+type+'.php?idquestion='+idquestion, 'searchWdw', 'width=400,height=300,toolbar=no,scrollbars=yes,resizable=no');
}

function openFicheMotWindow(type, idquestion, id) {
	searchWdw = open('fichemot.php?from='+type+'&id='+id+'&idquestion='+idquestion, 'searchWdw', 'width=400,height=300,toolbar=no,scrollbars=yes,resizable=no');
}

function openExportWindow(data) {
	exportWdw = open('export.php?data='+data, 'exportWdw', 'width=400,height=300,toolbar=no,scrollbars=yes,resizable=no');
}
function openSelectWindow(type, fieldname) {
	searchWdw = open('select'+type+'.php?fieldname='+fieldname, 'searchWdw', 'width=400,height=300,toolbar=no,scrollbars=yes,resizable=no');
}

function refreshField(fldname, fldvalue) {
	var fld = document.formulaire[fldname];
	fld.value = fldvalue;
}

function checkCP() {
	var frm = document.frmSearch;
	var fld = frm.cp;
	var ret = true;
	if (fld.value=="" || isNaN(fld.value)) {
		ret = false;
	} else {
		var len = fld.value.length;
		if (len<4 || len>5 || (len==4 && fld.value.substr(0,1)=="0")) {
			ret = false;
		} else {
			if (len<4) fld.value = "0"+fld.value;
		}
	}
	if (!ret) alert("Code postal invalide");
	return ret;
}

function clickDomaineTest (obj) {
	var idx = (document.formulaire.idtest.length) - 2;
	document.formulaire.idtest[idx].checked = true;
}

function clickTypeTest (num) {
	var idx = num + (document.formulaire.idtest.length) - 3;
	if (document.formulaire.type.value==num) return;

	document.formulaire.type.value = num;
	document.formulaire.submit();
}

function checkFormStartTest() {
	var ret = true;
    if ($('testChoixSpecialites') &&  $('testChoixSpecialites').checked) {
		var domains = document.formulaire["iddomaine[]"];
		ret = false;
		for (var i=0; i<domains.length; i++) {
			ret = (ret || domains[i].checked);
		}
		if (ret==false) alert("Sélectionnez au moins un domaine");
	}
	return ret;
}

function checkAnswerNbRep (cb, nbrep) {
	var reponses = document.formulaire["reponses[]"];
	var nb = 0;
	for (var i=0; i<reponses.length; i++) {
		if (reponses[i].checked) nb++;
	}
	if (nb>nbrep) {
		cb.checked = false;
		if (nbrep==1) {
			alert("Vous ne pouvez choisir qu' "+nbrep+" réponse maximum.");
		} else {
			alert("Vous ne pouvez choisir que "+nbrep+" réponses maximum.");
		}
	}
}

function checkFormAnswer (type) {
	var ret = true;
	switch (type) {
		// QCM
		case 1:
			var reponses = document.formulaire["reponses[]"];
			var ret = false;
			for (var i=0; i<reponses.length; i++) {
				ret = (ret || reponses[i].checked);
			}
			if (ret==false) alert("Sélectionnez au moins une réponse");
			break;
		case 0:
			if (answerWords.empty()) {
				alert("Réponse invalide");
				ret = false;
			}
			break;

	}
	return ret;
}

function openVignettePreview(idvignette)
{
    previewWindow = window.open('','vignettePreview','scrollbars=yes,resizable=yes,location=no,status=no,height=600,width=800');
    if (previewWindow) 
        previewWindow.focus();
    if (idvignette) {
        var form = document.getElementById('previewParametersForm');
        form.idvignette.value = '' + idvignette;
        form.submit();
    }
}

function closePreview(win)
{
  win.close();
}

var confirmDialogEx = false;

function getConfirmation(message, yesHandler, noHandler, data)
{
    if (!confirmDialogEx) {
        confirmDialog = new YAHOO.widget.SimpleDialog("confirmDialog", {  
            fixedcenter:true, 
            modal:true, 
            draggable:false }); 
        confirmDialog.userYesHandler = yesHandler;
        confirmDialog.userNoHandler = noHandler;
        confirmDialog.userData = data;
        confirmDialog.setHeader("Confirmation"); 
        confirmDialog.setBody(message); 
        yes = function () { 
                if (this.userYesHandler)
                    this.userYesHandler(this.userData);
                this.hide(); 
                confirmDialogEx = false; 
            }
        no = function () { 
                if (this.userNoHandler)
                    this.userNoHandler(this.userData);
                this.hide(); 
                confirmDialogEx = false; 
            }
        buttons = [ { text: 'Oui', handler: yes }, { text: 'Non', handler: no } ];
        confirmDialog.hideEvent.subscribe(function (name, obj) { confirmDialogEx = false; });
        confirmDialog.cfg.queueProperty("buttons", buttons); 
        confirmDialog.render(document.body);

        buttons = confirmDialog.element.getElementsByTagName('button');
        key = new YAHOO.util.KeyListener(buttons[0], { keys: 13 }, 
                {fn: yes, scope: confirmDialog, correctScope: true} );
        key.enable();
        key = new YAHOO.util.KeyListener(buttons[0], { keys: 27 }, 
                {fn: no, scope: confirmDialog, correctScope: true} );
        key.enable();
        key = new YAHOO.util.KeyListener(buttons[1], { keys: 27 }, 
                {fn: no, scope: confirmDialog, correctScope: true} );
        key.enable();

        buttons[0].focus()

        confirmDialog.show();
        confirmDialogEx = true;
    }
}

var saveDialogForm = null;

function confirmSave(form)
{
    yes = arguments[1] ? arguments[1] : null;
    data = { form: form, yesHandler: yes };
    getConfirmation("Etes vous sûr(e) de vouloir enregistrer vos modifications ?",
        function (data) {
            if (data.yesHandler)
                data.yesHandler(data.form);
            else    
                data.form.submit(); 
        },
        null, data
    );

}

function confirmReset(form)
{
    yes = arguments[1] ? arguments[1] : null;
    data = { form: form, yesHandler: yes };
    getConfirmation("Etes vous sûr(e) de vouloir annuler vos modifications ?",
        function (data) {
            if (data.yesHandler)
                data.yesHandler(data.form);
            else    
                data.form.reset(); 
        },
        null, data
    );
}

var promptDialogEx = false;

function promptUser(message, label, handler, regex)
{
    if (!promptDialogEx) {
        promptDialog = new YAHOO.widget.SimpleDialog("promptDialog", {  
            fixedcenter:true, 
            modal:true, 
            draggable:false }); 
        promptDialog.setHeader("Saisie"); 
        promptDialog.regex = regex;
        promptDialog.userHandler = handler;
        body = message + '<br /><div id="promptDialogError" class="error"></div><b>' 
            + label + '</b>&nbsp: <input id="promptDialogInput" />';
        promptDialog.setBody(body); 

        submit = function () { 
            inputElement = document.getElementById('promptDialogInput');
            input = inputElement.value;
            input = input.replace(/\s+$/, "");
            input = input.replace(/^\s+/, "");
            if (input != '') {
                if (match = this.regex.exec(input)) {
                    this.userHandler(input);
                    this.hide(); 
                    promptDialogEx = false; 
                } else {
                    document.getElementById('promptDialogError').innerHTML = "Entrée invalide";
                }
            }
        }

        cancel = function () { this.hide(); promptDialogEx = false; }

        buttons = [ 
            { text: 'Valider', handler: submit }, 
            { text: 'Annuler', handler: cancel } ];
        promptDialog.hideEvent.subscribe(function (name, obj) { promptDialogEx = false; });
        promptDialog.cfg.queueProperty("buttons", buttons); 
        promptDialog.render(document.body);

        inputElement = document.getElementById('promptDialogInput');
        inputElement.focus();
        key = new YAHOO.util.KeyListener(inputElement, { keys: 13 }, 
                {fn: submit, scope: promptDialog, correctScope: true} );
        key.enable();
        key = new YAHOO.util.KeyListener(inputElement, { keys: 27 }, 
                {fn: cancel, scope: promptDialog, correctScope: true} );
        key.enable();

        promptDialog.show();
        promptDialogEx = true;
    }
}

var STR_PAD_LEFT = 1;
var STR_PAD_RIGHT = 2;
var STR_PAD_BOTH = 3;
 
function strpad(str, len, pad, dir) {
 
    str += '';
	if (typeof(len) == "undefined") { var len = 0; }
	if (typeof(pad) == "undefined") { var pad = ' '; }
	if (typeof(dir) == "undefined") { var dir = STR_PAD_RIGHT; }
 
	if (len + 1 >= str.length) {
 
		switch (dir){
 
			case STR_PAD_LEFT:
				str = Array(len + 1 - str.length).join(pad) + str;
			break;
 
			case STR_PAD_BOTH:
				var right = Math.ceil((padlen = len - str.length) / 2);
				var left = padlen - right;
				str = Array(left+1).join(pad) + str + Array(right+1).join(pad);
			break;
 
			default:
				str = str + Array(len + 1 - str.length).join(pad);
			break;
 
		} // switch
 
	}
 
	return str;
 
}

