var isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
var isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;

function updateForm(metfield, metname, optf, optv){
    document.getElementById(metfield).value=metname;
    if(optf != null && document.getElementById(optf) != null){
        document.getElementById(optf).value=optv;
    }
    document.forms[0].submit();
}

function hideElement(id_attribute_value){
   if (document.getElementById &&
         document.getElementById(id_attribute_value) &&
            document.getElementById(id_attribute_value).style)
   {
   document.getElementById(id_attribute_value).style.visibility="hidden";
   };
}
function searchUser(elemId) {
    //check for the maximum available places
    n = document.getElementById("players" + elemId).length;
    maxPlaces = document.getElementById("place" + elemId).value;
    if (n == maxPlaces) {
        alert(NO_MORE_PLACES);
        return false;
    }
    var newWindow = window.open('/Caddy/msearch.cwc?met=search&caller=res&boxId='+elemId,'searchPlayer', 'left=250,top=150,height=200,width=420,scrollbars');
    newWindow.focus();
    return false;
}
function searchDrawUser() {
    //check for the maximum available places
    var newWindow = window.open('/Caddy/msearch.cwc?met=search&caller=draw','searchPlayer', 'left=250,top=150,height=200,width=420,scrollbars');
    newWindow.focus();
    return false;
}

function removeUser(elemId) {
    var box = document.getElementById("players" + elemId);
    var number = box.selectedIndex;
    if (number < 0) {
        alert(CHOOSE_PLAYER);
        return false;
    } else if (number == 0 && elemId == 1) {
        alert(CANT_REMOVE_YOURSELF);
        return false;
    }
    url = "/Caddy/xmlHttp.cwc?met=loadPlayer&toDo=&id="+box.options[number].value;
    loadPlayer(url);
    box.options[number] = null;
    return true;
}

function removeDrawUser() {
    var box = document.getElementById("players");
    var number = box.selectedIndex;
    if (number < 0) {
        alert(CHOOSE_PLAYER);
        return false;
    } else if (number == 0) {
        alert(CANT_REMOVE_YOURSELF);
        return false;
    }
    box.options[number] = null;
    return true;
}

function addUser(elemId) {
    if(!elemId) elemId="";
    n = document.forms['listPlayers'].elements.length;
    var newOption = window.opener.document.createElement("OPTION");
    var notChecked = true;
    for (i=0; notChecked && i<n; i++){
        elem = document.forms['listPlayers'].elements[i];
        if (elem.type == "radio" && elem.checked){
            if (checkPlayerDouble(elem)) {
                alert(DOUBLE_PLAYER);
                return false;
            } else {
                newOption.value = elem.id;
                newOption.text = elem.value;
                notChecked = false;
            }
        }
    }
    if (notChecked) {
        alert(CHOOSE_PLAYER);
        return false;
    }
    url = "/Caddy/xmlHttp.cwc?met=loadPlayer&toDo=add&id="+newOption.value+"&val="+newOption.text;
    loadPlayer(url);
    boxElem = window.opener.document.getElementById("players" + elemId);
    boxElem.options[boxElem.options.length] = newOption;
    if(boxElem.options.length == window.opener.document.getElementById("place" + elemId).value) {
        self.close();
    } else {
        history.go(-1);
    }
    return true;
}

function addDrawUser() {
    n = document.forms['listPlayers'].elements.length;
    var newOption = window.opener.document.createElement("OPTION");
    var notChecked = true;
    var playerDouble = false;
    for (i=0; notChecked && i<n; i++){
        elem = document.forms['listPlayers'].elements[i];
        if (elem.type == "radio" && elem.checked){
            playerDouble = checkPlayerDouble(elem);
            if (playerDouble) {
                alert(DOUBLE_PLAYER);
                return false;
            } else {
                newOption.value = elem.id;
                newOption.text = elem.value;
                notChecked = false;
            }
        }
    }
    if (notChecked) {
        alert(CHOOSE_PLAYER);
        return false;
    }
    boxElem = window.opener.document.getElementById("players");
    boxElem.options[boxElem.options.length] = newOption;
    history.go(-1);
    return true;
}
function checkPlayerDouble(newPlayer) {
    oF = window.opener.document.forms['form1'];
    n = oF.elements.length;
    for (i=0; i<n; i++){
        oE = oF.elements[i];
        if (oE.type == "select-multiple"){
            oO = oE.options;
            for (j=0; j<oE.options.length; j++) {
                if (oE.options[j].value == newPlayer.id) {
                    return true;
                }
            }
        }
    }
    return false;
}

function addGuest(elemId) {
    boxElem = document.getElementById(elemId);
    option = new Option("Guest", "-1" );
    boxElem.options[boxElem.options.length] = option;
}

function checkTeam() {
    var maxIndex = document.getElementById('maxIndex').value;
    counter = 0;
    for (i=1; i <= maxIndex; i++) {
        var elemOptions = document.getElementById('players' + i);
            for (j = 0; j < elemOptions.length; j++) {
              elemOptions.options[j].selected = true;
               counter++;
           }
      }
      if(counter == 0) {
          alert(CHOOSE_MIN_ONE_PLAYER);
          return false;
      }
    document.form1.action="/Caddy/reserv.cwc?met=confReservation";
      document.form1.submit();
    return true;
}
function checkAdvSearch() {
    if (nbsbmt != 0) {
        alert(DOUBLE_SUBMIT);
        return false;
    }
    nbsbmt += 1;

    var elemOptions = document.getElementById('players');
    if (elemOptions != null) {
    for (j = 0; j < elemOptions.length; j++) {
          elemOptions.options[j].selected = true;
    }
    }
    document.form1.action='reserv.cwc?met=advSearchRsp';
    document.form1.submit()
}
function checkLogin() {
    frm = document.login;
    var message = PLEASE;
    var fieldnotCompleted = false;

    val = trim(frm.username.value);
    frm.username.value = val;
    if (!checkText(val)) {
        fieldnotCompleted = true;
        message += NO_USERNAME;
    }
    if (!checkText(frm.password.value)) {
        fieldnotCompleted = true;
        message += NO_PASSWORD;
    }
    if(fieldnotCompleted) {
        alert(message);
        return false;
    }
    if(val == frm.password.value) {
        alert(SAME_LOG_AND_PASS);
        return false;
    }
    return true;
}

function checkPswForgot() {
    frm = document.pswForgot;
    var message = PLEASE;
    var fieldnotCompleted = false;

    val = trim(frm.user.value);
    frm.user.value = val;
    if (!checkText(val)) {
        fieldnotCompleted = true;
        message += NO_USERNAME;
    }
    if (!checkText(frm.email.value)) {
        fieldnotCompleted = true;
        message += NO_EMAIL;
    }
    if(fieldnotCompleted) {
        alert(message);
        return false;
    }
    return true;
}

function checkLoginAdmin() {
    frm = document.login;
	if (checkLogin) {
	    if (!checkText(frm.admpsw.value)) {
	        alert(NO_ADMIN_PASSWORD);
	        return false;
	    }
	}
	return true;
}
function submitAdvSearch(isVisitor) {
      if (isVisitor) {
          document.form1.action="/Caddy/pay.cwc?met=inv";
      } else {
          document.form1.action="/Caddy/reserv.cwc?met=confAdvReservation";
      }
      document.form1.submit();
}
function checkDrawTeam() {
    counter = 0;
    var elemOptions = document.getElementById('players');
    for (j = 0; j < elemOptions.length; j++) {
           elemOptions.options[j].selected = true;
           counter++;
      }
      if(counter == 0) {
          alert(CHOOSE_MIN_ONE_PLAYER);
          return false;
      }
      document.form1.submit();
    return true;
}

function checkPlayer() {
    var code = trim(document.getElementById('code').value);
    var firstname = trim(document.getElementById('fname').value);
    var lastname = trim(document.getElementById('lname').value);
    if (code == "" && firstname == "" && lastname == "") {
        alert(CODE_OR_NAME);
        return false;
    }
    document.searchform.submit();
    return true;
}

function trim(s){
    // Remove leading spaces and carriage returns
    while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
    { s = s.substring(1,s.length); }

    // Remove trailing spaces and carriage returns
    while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
    { s = s.substring(0,s.length-1); }

    return s;
}


// global flag
var isIE = false;

// global request and XML document objects
var req;

// retrieve XML document (reusable generic function);
// parameter is URL string (relative or complete) to
// an .xml file whose Content-Type is a valid XML
// type, such as text/xml; XML source must be from
// same domain as HTML file
function loadPlayer(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {

//            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}


// handle onreadystatechange event of req object
function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
         }
    }
}

function checkText(text) {
    if(text!=null && (trim(text) != "")) return true;
    return false;
}
function checkLength(text, minLength, maxLength){
    if (minLength && text.length < minLength) return false;
    if (maxLength && text.length > maxLength) return false;
    return true;
}

function showHand(selectedIndex) {
    toShow = document.getElementById("c" + selectedIndex);
    where = document.getElementById("handRes");
    if (where) {
        where.innerHTML = toShow.innerHTML;
    }
}

function decrh(elemId) {
    elem = document.getElementById(elemId);
    ind = elem.value.indexOf(":");
    hour = parseInt(elem.value.substring(0, ind), 10);
    min = elem.value.substring(ind + 1);
    elem.value = addZero(hour - 1) + ":" + min;
}
function incrh(elemId) {
    elem = document.getElementById(elemId);
    ind = elem.value.indexOf(":");
    hour = parseInt(elem.value.substring(0, ind), 10);
    min = elem.value.substring(ind + 1);
    elem.value = addZero(++hour) + ":" + min;
}
function decrm(elemId) {
    elem = document.getElementById(elemId);
    ind = elem.value.indexOf(":");
    hour = parseInt(elem.value.substring(0, ind), 10);
    min = parseInt(elem.value.substring(ind + 1), 10);
    min -= 10;
    elem.value = addMin(min, hour);
}
function incrm(elemId) {
    elem = document.getElementById(elemId);
    ind = elem.value.indexOf(":");
    hour = parseInt(elem.value.substring(0, ind), 10);
    min = parseInt(elem.value.substring(ind + 1), 10);
    min += 10;
    elem.value = addMin(min, hour);
}
function addMin(min, hour) {
    if(min == 60) {
        return addZero(++hour) + ":00";
    } else if (min == -10){
        return addZero(hour - 1) + ":50";
    }
    if (min == 0) min = "00";
    return addZero(hour) + ":" + min;
}
function addZero(hour) {
    if(hour < 0) hour = 23;
    if(hour == 25) hour = 1;
    if(hour < 10) {
        hour = "0" + hour;
    }
    return hour;
}
function checkSignUp() {
    frm = document.signup;
    var message = PLEASE;
    var fieldnotCompleted = false;

    val = trim(frm.username.value);
    frm.username.value = val;
    if (!checkText(val)) {
        fieldnotCompleted = true;
        message += NO_USERNAME;
    }
    if (!checkText(frm.password.value)) {
        fieldnotCompleted = true;
        message += NO_PASSWORD;
    }
    var npass = trim(frm.newPass.value);
    if (npass != frm.newPass.value) {
        alert(NAN_PASSWORD);
        return false;
    }
    if (npass != "") {
        if(isNaN(frm.newPass.value)) {
            fieldnotCompleted = true;
            message += NAN_PASSWORD;
        }
        if(frm.confPass.value!=frm.newPass.value) {
            fieldnotCompleted = true;
            message += NO_SAME_PASS;
        }
        if(!checkLength(npass, 6)) {
            alert(PASSWORD_LENGTH);
            return false;
        }
    }
    if(fieldnotCompleted) {
        alert(message);
        return false;
    }
    if(frm.username.value == frm.password.value
        || frm.username.value == frm.newPass.value) {
        alert(SAME_LOG_AND_PASS);
        return false;
    }
    return true;
}

function checkSignUpVisitor() {
    frm = document.signup;
    var message = PLEASE;
    var fieldnotCompleted = false;

    val = trim(frm.username.value);
    frm.username.value = val;
    if(isNaN(val) || !checkLength(val, 10)) {
        fieldnotCompleted = true;
        message += NAN_LOGIN;
    }
    if (!checkText(trim(frm.lastName.value))) {
        fieldnotCompleted = true;
        message += NO_LASTNAME;
    }
    if (!checkText(trim(frm.firstName.value))) {
        fieldnotCompleted = true;
        message += NO_FIRSTNAME;
    }
    if(fieldnotCompleted) {
        alert(message);
        return false;
    }
    return true;
}

//load the current handicap club
function loadCourses() {
    if (!document.getElementById("cswit")) return;
    document.getElementById("cswit").checked = false;
    document.getElementById("showClb").innerHTML = document.getElementById("club").innerHTML;
    document.getElementById("clb").value = hClb[0];
    document.getElementById("crtClb").value = hClb[1];
    elem = document.getElementById("crs");
    elem.length = 0;
    var ns = true;
    for(i=0; i < crtCrs.length; i++){
        option = new Option( crtCrs[i][1], crtCrs[i][0] );
        if(ns && gender==crtTM[i][0][6]){
            option.selected=true;
            ns = false;
        }
        elem.options[elem.length] = option;
    }
    updateTeeMarkers();
}

// handle onreadystatechange event of req object
var courses;
var teeMarkers;
var teeMarkersElem;
var ajxt;
var myclub = true;
function processGetCourses() {
    clearTimeout(ajxt);
    // only if req "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            var res = new String(req.responseText);
            courses = new Array();
            courses = res.split("\@\@");

            courseList = document.getElementById("crs");
            courseList.options.length = 0;
            for(i=0; i < courses.length; i++){
                option = new Option( courses[i++], courses[i] );
                courseList.options[courseList.length] = option;
            }
            courseList.options[0].selected = true;
            updateTeeMarkers();

         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
         }
    }
}
function setTempMsg() {
    courseList = document.getElementById("crs");
    courseList.options.length = 0;
    courseList.options[0] = new Option( TEMP_MSG, "-1");
    setTmpTMrk();
}
function setTmpTMrk() {
    teeMarkList = document.getElementById("tmark");
    teeMarkList.options.length = 0;
    teeMarkList.options[0] = new Option( TEMP_MSG, "-1");

    document.addh.slope.value = "";
    document.addh.eval.value = "";


}
function updateCourses() {
    elem = document.getElementById("clb");
     selectedClub = elem.options[elem.selectedIndex].value;
     if (selectedClub == hClb[0]) {

         //local club is selected
         myclub = true;
         courseList = document.getElementById("crs");
        courseList.options.length = 0;
        for(i=0; i < crtCrs .length; i++){
            option = new Option( crtCrs[i][1], crtCrs[i][0] );
            courseList.options[courseList.length] = option;
        }
        courseList.options[0].selected = true;
        updateTeeMarkers();

    } else if (selectedClub > 0) {
        myclub = false;
        setTempMsg();

        document.getElementById("clb").value = selectedClub;
         url = "/Caddy/xmlHttp.cwc?met=getCourses&id="+selectedClub;

        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            req = new XMLHttpRequest();
            req.onload = processGetCourses;
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            isIE = true;
            req = new ActiveXObject("Microsoft.XMLHTTP");
            if (req) {

                req.onreadystatechange = processGetCourses;
            }
        }
        req.open("GET", url, true);
        req.send(null);
        // Timeout to abort in 19 seconds
        ajxt=setTimeout("crsTimeout();",19000);
    } else {
        //"ext" club selected
        document.getElementById("clb").value = -1;
        document.getElementById("crs").options.length = 0;
        option = new Option( "ext", "-1" );
        document.getElementById("crs").options[0] = option;

        document.getElementById("tmark").options.length = 0;
        option = new Option( "ext", "-1" );
        document.getElementById("tmark").options[0] = option;

        document.addh.slope.value = "";
        document.addh.eval.value = "";
        minscr = 27;
        maxscr = 144;
    }
}

function crsTimeout(){
   req.abort();
   updateCourses();
}
function tmrkTimeout(){
   req.abort();
   updateTeeMarkers();
}


function processGetTeeMarkers() {
    clearTimeout(ajxt);
    // only if req "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            var res = new String(req.responseText);
            teeMarkers = new Array();
            teeMarkers = res.split("\|\|");

            teeMarkList = document.getElementById("tmark");
            teeMarkList.options.length = 0;


            for(i=0; i < teeMarkers.length; i++){
                teeMarkersElem = new Array();
                teeMarkersElem = teeMarkers[i].split("\@\@");
                option = new Option( teeMarkersElem[0], teeMarkersElem[1]);
                teeMarkList.options[teeMarkList.length] = option;
            }
            teeMarkList.options[0].selected = true;
            updateSlope();
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
         }
    }
}

function updateTeeMarkers() {
    setTmpTMrk();
    elem = document.getElementById("crs");
    var courseId = elem.options[elem.selectedIndex].value;

    if (myclub) {

        teeMarkList = document.getElementById("tmark");
        teeMarkList.options.length = 0;
        crtTeeMark = crtTM[elem.selectedIndex];
        for(i=0; i < crtTeeMark.length; i++){
            option = new Option( crtTeeMark[i][1], crtTeeMark[i][0]);
            teeMarkList.options[teeMarkList.length] = option;
        }
        teeMarkList.options[0].selected = true;
        updateSlope();

    } else {
        url = "/Caddy/xmlHttp.cwc?met=getTeeMarkers&id="+courseId;

        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            req = new XMLHttpRequest();
            req.onload = processGetTeeMarkers;
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            isIE = true;
            req = new ActiveXObject("Microsoft.XMLHTTP");
            if (req) {
                req.onreadystatechange = processGetTeeMarkers;
            }
        }
        req.open("GET", url, true);
        req.send(null);
        // Timeout to abort in 19 seconds
        ajxt=setTimeout("tmrkTimeout();",19000);
    }
}

function updateSlope() {
    indexSelCrs = document.getElementById("crs").selectedIndex;
    indexSelectedTeeMarker = document.getElementById("tmark").selectedIndex;
    if (myclub) {

        document.getElementById("eval").value = crtTM[indexSelCrs][indexSelectedTeeMarker][2];
        document.getElementById("slope").value = crtTM[indexSelCrs][indexSelectedTeeMarker][3];
        minscr = crtTM[indexSelCrs][indexSelectedTeeMarker][4];
        maxscr = crtTM[indexSelCrs][indexSelectedTeeMarker][5];
    } else {
        teeMarkersElem = new Array();
        teeMarkersElem = teeMarkers[indexSelectedTeeMarker].split("\@\@");
        document.getElementById("slope").value = teeMarkersElem[2];
        document.getElementById("eval").value = teeMarkersElem[3];
        minscr = teeMarkersElem[4];
        maxscr = teeMarkersElem[5];
    }
}

//check the fields of form addGame
function checkInputAddh() {
    //check if the course info is loaded from server
    elem = document.addh;

    clbEl = document.getElementById("clb");
    if (clbEl.options[clbEl.selectedIndex].value > 0
        && elem.tmark.options[elem.tmark.selectedIndex].value < 0) {

        alert(TEMP_MSG);
        return false;
    }

    if (nbsbmt != 0) {
        alert(DOUBLE_SUBMIT);
        return false;
    }
    nbsbmt += 1;
    var message = BEGIN_MSG;
    var fieldnotCompleted = false;

    val = trim(elem.eval.value);
    elem.eval.value = val;
    if (!checkText(val)) {
        fieldnotCompleted = true;
        message += NO_EVAL;
    } else if(isNaN(val)) {
        fieldnotCompleted = true;
        message += NAN_EVAL;
    }
    val = trim(elem.slope.value);
    elem.slope.value = val;
    if (!checkText(val)) {
        fieldnotCompleted = true;
        message += NO_SLOPE;
    } else if(isNaN(val)) {
        fieldnotCompleted = true;
        message += NAN_SLOPE;
    }
    if (!checkText(elem.date.value)) {
        fieldnotCompleted = true;
        message += NO_DATE;
    }
    val = trim(elem.score.value);
    elem.score.value = val;
    if (!checkText(val)) {
        fieldnotCompleted = true;
        message += NO_SCORE;
    } else if(isNaN(val)) {
        fieldnotCompleted = true;
        message += NAN_SCORE;
    }
    if(fieldnotCompleted) {
        alert(message);
        nbsbmt = 0;
        return false;
    }
    message = "";
    var scr = parseInt(elem.score.value, 10);
    if(scr<minscr){
        fieldnotCompleted = true;
        message = MIN_SCORE + " " + minscr + "\n";
    }
    if(scr>maxscr){
        fieldnotCompleted = true;
        message = MAX_SCORE + " " + maxscr + "\n";
    }
    var dt = new Array();
    dt = elem.date.value.split("-");
    var myDate = new Date(dt[0],dt[1]-1,dt[2]);
    var today = new Date();
    if(myDate>today){
        fieldnotCompleted = true;
        message += FUTURE_DATE;
    }
    if(fieldnotCompleted) {
        alert(message);
        nbsbmt = 0;
        return false;
    }
    return true;
}

function cleanForm() {
    document.getElementById("crs").options.length = 0;
    document.getElementById("tmark").options.length = 0;
    document.getElementById("eval").value = "";
    document.getElementById("slope").value = "";
}
function cancelRes(){
    cpt = document.getElementById("cpt");
    players = document.form1.player;
    cptSelected = false;
    if(players.length) {
        nbNotSel = players.length;
        for(i = 0; i < players.length; i++) {
            if (players[i].checked) {
                nbNotSel--;
                if (cpt.value == players[i].value) {
                    cptSelected = true;
                }
            }
        }
        if (nbNotSel == players.length) {
            alert(SEL_PLAYER);
            return false;
        }
        if (cptSelected && nbNotSel > 0) {
            alert(SEL_OTHER_BEFORE);
            return false;
        }

    } else {
        if (!players.checked) {
            alert(SEL_PLAYER);
            return false;
        }
    }
    if(confirm(CONF_CANCELATION)) {
        document.form1.submit();
    }
    return true;
}
function clearTel() {
	if (document.getElementById("phone")) {
		document.getElementById("phone").value = "";
	}
}
function clearMbr() {
    document.getElementById("username").value = "";
    document.getElementById("password").value = "";
}
function startPaymnt() {

    var userEmail = trim(document.getElementById("email").value);
    if(document.getElementById("accept").checked==false
            && userEmail == "") {
        alert(ACCEPT_RETURN_POLICY_EMAIL);
        return false;
    }
    if(document.getElementById("accept").checked==false) {
        alert(ACCEPT_RETURN_POLICY);
        return false;
    }
    if(userEmail == "") {
        alert(ACCEPT_EMAIL);
        return false;
    }

    if(!validateEmail(userEmail)) {
        alert(NOT_VALID_EMAIL);
        return false;
    }

    var mail = document.getElementById("email").value;
    var newlocation = '/Caddy/pay.cwc?met=startTrx&email=' + mail;
    document.getElementById("payInv").disabled=true;
    document.getElementById("cancelRes").disabled=true;
    toggleVisibility("commentPopup", "visible");
    window.location=newlocation;
}

   function validateEmail (email) {
       return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
   }


function toggleVisibility(divId, newState) {
    document.getElementById(divId).style.visibility=newState;
}

function checkPlayersNb(elemId) {
	nbPlayers = document.getElementById("nbPlayers" + elemId);
	maxPlaces = nbPlayers.options[nbPlayers.selectedIndex].value;
	oldNbPlayers = document.getElementById("place" + elemId);
    nbSelectedPlayers = document.getElementById("players" + elemId).length;
    if (maxPlaces < nbSelectedPlayers) {
    	alert(MODIFY_PLAYERS_LIST);
    	nbPlayers.options[oldNbPlayers.value-1].selected = true;
    	return false;
    }
    oldNbPlayers.value = maxPlaces;
}

function checkSignUpP() {
    var ps = document.getElementById("p");
    ps.name = "password";
    ps.value = "123456";
    frm = document.signup;
    var message = PLEASE;
    var fieldnotCompleted = false;

    val = trim(frm.username.value);
    frm.username.value = val;
    if (!checkText(val)) {
        fieldnotCompleted = true;
        message += NO_USERNAME;
    }
    if (!checkText(frm.newPass.value)) {
        fieldnotCompleted = true;
        message += NO_NEW_PASSWORD;
    }
    var npass = trim(frm.newPass.value);
    if (npass != frm.newPass.value) {
        alert(NAN_PASSWORD);
        return false;
    }
    if (npass != "") {
        if(isNaN(frm.newPass.value)) {
            fieldnotCompleted = true;
            message += NAN_PASSWORD;
        }
        if(frm.confPass.value!=frm.newPass.value) {
            fieldnotCompleted = true;
            message += NO_SAME_PASS;
        }
        if(!checkLength(npass, 6)) {
            alert(PASSWORD_LENGTH);
            return false;
        }
    }
    if(fieldnotCompleted) {
        alert(message);
        return false;
    }
    if(frm.username.value == frm.password.value
        || frm.username.value == frm.newPass.value) {
        alert(SAME_LOG_AND_PASS);
        return false;
    }
    return true;
}

