/* Vrati true pokud bylo stisknuto prave tlacitko - implementace pro Firefox a IE */
function rightClick(event) {
    var rightclick = false;
    if (event) {
        if (event.which) rightclick = (event.which == 3);
        else
            if (event.button) rightclick = (event.button == 2);
    }
    return rightclick;
}

/* Oznaci polozku radku nad kterou bylo prave kliknuto mysi
(checkbox jeste neni zaskrknuty/odskrknuty - je treba myslet o krok "napred") */
function selectRowForward(event, checkbox, row){
    if (checkbox.checked) {
        row.style.backgroundColor = '';
    } else {
        row.style.backgroundColor = '#FFFFBF';
    }
}

/* Refresh vsech radku, ktere je mozno vybirat (checkboxy museji mit nastavenou tridu selectable)*/
function refreshSelectedRows() {
    var e = document.getElementsByTagName("input")
    for (var i=0;i<e.length;i++) {
        var chbx = e[i];
        
        var cl = chbx.getAttribute("className"); // pro IE
        if (cl == null) {
            cl = chbx.getAttribute("class"); // pro Mozillu
        }
        if (cl != null && cl.search("selectable") != -1) {
            selectRow(chbx, chbx.parentNode.parentNode)
        }
    }
}

function validateForm(currentFormId) {
    var form = document.getElementById(currentFormId);
    var elementsInputs;
    elementsInputs = form.getElementsByTagName("input"); 
    for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++) { 
        if (elementsInputs[intCounter].className.indexOf("required") >= 0) { 
            validateText(elementsInputs, intCounter);
        }
        //        if (elementsInputs[intCounter].className.indexOf("reqPhone") >= 0) {
        //            validatePhone(elementsInputs, intCounter);
        //        } else if (elementsInputs[intCounter].className.indexOf("reqMail") >= 0) {
        //            validateMail(elementsInputs, intCounter);
        //        }
    } 
}

function validateText(elementsInputs, intCounter) {
    var input = elementsInputs[intCounter];
    if (input.value == "") { 
        //input.className="input-middle-noimage2-invalid required";
    } else {
        //input.styleClass="input-middle-noimage2 required";
    }
}

//function validateMail(elementsInputs, intCounter) {
//    var input = elementsInputs[intCounter];
//    var regExp = /^[a-zA-Z0-9_%+-][a-zA-Z0-9._%+-]*@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,4}$/;
//    if (!regExp.test(input.value)) { 
//        input.style.border="1px solid red";
//    } else {
//        input.style.border="1px solid #7F9DB9";
//    }
//}
//
//function validatePhone(elementsInputs, intCounter) {
//    var input = elementsInputs[intCounter];
//    var regExp = /\\+?[0-9]{3} ?[0-9]{3} ?[0-9]{3} ?[0-9]{3}/;
//    if (!regExp.test(input.value)) { 
//        input.style.border="1px solid red";
//    } else {
//        input.style.border="1px solid #7F9DB9";
//    }
//}

function hidePassengersInput(checkbox, componentToHideId, inputId, valueForValidation, emptyValue) {
    if (checkbox.checked) {
        document.getElementById(checkbox.parentNode.parentNode.id + ':' + componentToHideId).style.display='none';
        document.getElementById(checkbox.parentNode.parentNode.id + ':' + inputId).value=valueForValidation;
    } else {
        document.getElementById(checkbox.parentNode.parentNode.id + ':' + componentToHideId).style.display='inline';
        document.getElementById(checkbox.parentNode.parentNode.id + ':' + inputId).value=emptyValue;
    }
}



function init()
{
    var timeDisplay = document.createTextNode ( '' );
    document.getElementById('clock').appendChild( timeDisplay );
}

function updateDayAndTime(){
    var locale = document.getElementById("locale").childNodes.item(0).data;
    var time = updateClock();
    var day = updateDay(locale);
    var out ;
    if(locale == "sk")
        out = day + time;
    else
        out = day + time;
    document.getElementById("clock").childNodes.item(0).data = out;
                
}

function updateDay( locale ){
    var currentTime = new Date ( );
    var dayInWeek = currentTime.getDay();
    var day = currentTime.getDate();
    var month = currentTime.getMonth();
    var year = currentTime.getYear()
    if (!document.all)
        year = year + 1900;
    return getLocalizedDay(locale,dayInWeek) + " " + day+". "+getLocalizedMonth(locale,month)+" "+year+" ";
                    
}


function getLocalizedDay(locale,day){
    var days;
    if(locale == "sk")
        days = ["Nedeľa" , "Pondelok" , "Utorok" , "Streda" , "Štvrtok", "Piatok", "Sobota" ];
    else
        days = ["Sunday" , "Monday" , "Tuesday" , "Wednesday" , "Thursday", "Friday", "Saturday" ];
    return days[day];
}
                
function getLocalizedMonth(locale,month){
    var months;
    if(locale == "sk")
        months = ["Január", "Február", "Marec", "Apríl","Máj","Jún","Júl","August","September","Október","November","December"];
    else
        months = ["January", "February", "March", "April","May","June","July","August","September","October","November","December"];                   
    return months[month];
}

function updateClock()
{
    
    var currentTime = new Date ( );
    var currentHours = currentTime.getHours ( );
    var currentMinutes = currentTime.getMinutes ( );
    // Pad the minutes and seconds with leading zeros, if required
    currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
    // Convert an hours component of "0" to "12"
    currentHours = ( currentHours == 0 ) ? 12 : currentHours;
    
    //document.getElementById("locale").childNodes.item(0).data = currentHours + ":" + currentMinutes;
    return currentHours + ":" + currentMinutes;
    
}

function ajaxRequestContainsErrors(inputHiddenId) {
    // osetreni pro stranky ktere neobsahuji elemenent maximumSeverity a je
    // volana tato fce
    if(inputHiddenId == null || inputHiddenId == '') {
        return false;
    }
    // FacesMessage.SEVERITY_ERROR = 3
    if (document.getElementById(inputHiddenId) == null) {
        alert("Nenalezen objekt: "+inputHiddenId);
    }
    return document.getElementById(inputHiddenId).value == "3";
}

/* funkce proveri, zda-li je v dialogu nejaka chyba a pokud ne, tak provede zavreni dialogu */
function closeDialogWithErrorControl(errorId, dialogId) {
    if (!ajaxRequestContainsErrors(errorId)) {Richfaces.hideModalPanel(dialogId); }
}

