// overovani objednavky
// vyzaduje form_mini.js




var overPole = function (inputId,errorId,language,valType,minValue,maxValue,specialCh) {
    // overi udaje zadane do inputu dle pozadavku daneho v paramterech fce
    
    var result = true;
    var inputElm = document.getElementById(inputId);
    var errorElm = document.getElementById(errorId);
    
    var errorBorderStyle = "1px solid red";
    var errorBackgroundStyle = "#ffd8d8";
    var chybyCz = new Array(" Délka řetězce je příliš malá.", " Délka řetězce je příliš dlouhá.", " Řetězec obsahuje nedovolené znaky."," Není platný e-mailová adresa."," Toto není číslo."," Nejmenší povolená hodnota je "+minValue+"."," Maximální povolená hodnota je "+maxValue+"."," Není zadáno!");
    var chybyEn = new Array(" String length is too short.", " String length is too long.", " String containes unpermitted marks."," Not valid e-mail adress."," This is not a number."," Smallest valid value is "+minValue+"."," Maximal valid value is "+maxValue+"."," Required field!");
    var chyby = new Array();
    chyby['cz'] = chybyCz;
    chyby['en'] = chybyEn;
    
    
    
      
    if (valType == 'text') {
        // testujeme input pro zadani textu
    
        if (minValue) {
            // testujeme minimalni velikost stringu
            if (inputElm.value.length == 0) {
                errorElm.innerHTML = chyby[language][7];
                result = false;
            }
            if ((inputElm.value.length < minValue) && result) {
                errorElm.innerHTML = chyby[language][0];
                result = false;
            }
        }
        if (maxValue && result) {
            // testujeme maximalni velikost stringu
            if (inputElm.value.length > maxValue) {
                errorElm.innerHTML = chyby[language][1];
                result = false;
            }
        }
        if (specialCh && result && (inputElm.value.length > 0)) {
            // testujeme na vyskyt nepovolenych znaku
            if (kontrolaSCh(inputElm.value)) {
                errorElm.innerHTML = chyby[language][2];
                result = false;
            }
        }
        
    } else if (valType == 'email') {
        // testujeme input pro zadani e-mailu
        if (inputElm.value.length == 0) {
            errorElm.innerHTML = chyby[language][7];
            result = false;
        }
        if (!kontrolaEmail(inputElm.value) && result) {
            errorElm.innerHTML = chyby[language][3];
            result = false;
        }
        
    } else if (valType == 'number') {
        // testujeme input pro zadani cisla
        
        if (!IsNumeric(inputElm.value)) {
            errorElm.innerHTML = chyby[language][4];
            result = false;
        }
        if ((minValue >= 0) && result) {
            // testujeme minimalni hodnotu
            if (parseInt(inputElm.value) < parseInt(minValue)) {
                errorElm.innerHTML = chyby[language][5];
                result = false;
            }
        }
        if (maxValue && result) {
            // testujeme maximalni hodnotu
            if (parseInt(inputElm.value) > parseInt(maxValue)) {
                errorElm.innerHTML = chyby[language][6];
                result = false;
            }       
        }
        
    } else {
        return result;
    }
    
    
    // nastaveni stylu inputu
    if (result) {
        inputElm.style.border = "";
        inputElm.style.background = "";
        errorElm.innerHTML = "";
    } else {
        inputElm.style.border = errorBorderStyle;
        inputElm.style.background = errorBackgroundStyle;
    }
      
    return result;
};

function IsNumeric(strString) {
   //  check for valid numeric strings	
   
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
      
   return blnResult;
};

function overZbozi() {
    // zkontroluje zadani zbozi (neni universalni !!!)
    
    var result = true;
    var errorBorderStyle = "1px solid red";
    var errorBackgroundStyle = "#ffd8d8";
    
    for (var i = 1;i <= 5; i++) {
        // pocitame s 5-ti radky pro zbozi
        var x = parseInt(document.getElementById('goods_x_'+ i).value);
        var y = parseInt(document.getElementById('goods_y_'+ i).value);
        var z = parseInt(document.getElementById('goods_z_'+ i).value);
        var kgs = parseInt(document.getElementById('goods_weight_'+ i).value);
        var peaces = parseInt(document.getElementById('goods_pcs_'+ i).value);
        
        if (i === 1) {
            // prvni hodnoty musi byt zadane
            if (x > 0) {
                document.getElementById('goods_x_'+ i).style.border = "";
                document.getElementById('goods_x_'+ i).style.background = "";
            } else {
                document.getElementById('goods_x_'+ i).style.border = errorBorderStyle;
                document.getElementById('goods_x_'+ i).style.background = errorBackgroundStyle;
                result = false;
            }
            if (y > 0) {
                document.getElementById('goods_y_'+ i).style.border = "";
                document.getElementById('goods_y_'+ i).style.background = "";                    
            } else {
                document.getElementById('goods_y_'+ i).style.border = errorBorderStyle;
                document.getElementById('goods_y_'+ i).style.background = errorBackgroundStyle;
                result = false;
            }
            if (z > 0) {
                document.getElementById('goods_z_'+ i).style.border = "";
                document.getElementById('goods_z_'+ i).style.background = "";
            } else {
                document.getElementById('goods_z_'+ i).style.border = errorBorderStyle;
                document.getElementById('goods_z_'+ i).style.background = errorBackgroundStyle;
                result = false;
            }
            if (kgs > 0) {
                document.getElementById('goods_weight_'+ i).style.border = "";
                document.getElementById('goods_weight_'+ i).style.background = "";
            } else {
                document.getElementById('goods_weight_'+ i).style.border = errorBorderStyle;
                document.getElementById('goods_weight_'+ i).style.background = errorBackgroundStyle;
                result = false;
            }
            if (peaces > 0) {
                document.getElementById('goods_pcs_'+ i).style.border = "";
                document.getElementById('goods_pcs_'+ i).style.background = "";
            } else {
                document.getElementById('goods_pcs_'+ i).style.border = errorBorderStyle;
                document.getElementById('goods_pcs_'+ i).style.background = errorBackgroundStyle;
                result = false;
            }
        } else {
            if ((x > 0) || (y > 0) || (z > 0) || (kgs > 0) || (peaces > 0)) {
                // dalsi hodnoty se budou kontrolovat pouze v pripade ze je radek rozepsany
                if (x > 0) {
                    document.getElementById('goods_x_'+ i).style.border = "";
                    document.getElementById('goods_x_'+ i).style.background = "";
                } else {
                    document.getElementById('goods_x_'+ i).style.border = errorBorderStyle;
                    document.getElementById('goods_x_'+ i).style.background = errorBackgroundStyle;
                    result = false;
                }
                if (y > 0) {
                    document.getElementById('goods_y_'+ i).style.border = "";
                    document.getElementById('goods_y_'+ i).style.background = "";                    
                } else {
                    document.getElementById('goods_y_'+ i).style.border = errorBorderStyle;
                    document.getElementById('goods_y_'+ i).style.background = errorBackgroundStyle;
                    result = false;
                }
                if (z > 0) {
                    document.getElementById('goods_z_'+ i).style.border = "";
                    document.getElementById('goods_z_'+ i).style.background = "";
                } else {
                    document.getElementById('goods_z_'+ i).style.border = errorBorderStyle;
                    document.getElementById('goods_z_'+ i).style.background = errorBackgroundStyle;
                    result = false;
                }
                if (kgs > 0) {
                    document.getElementById('goods_weight_'+ i).style.border = "";
                    document.getElementById('goods_weight_'+ i).style.background = "";
                } else {
                    document.getElementById('goods_weight_'+ i).style.border = errorBorderStyle;
                    document.getElementById('goods_weight_'+ i).style.background = errorBackgroundStyle;
                    result = false;
                }
                if (peaces > 0) {
                    document.getElementById('goods_pcs_'+ i).style.border = "";
                    document.getElementById('goods_pcs_'+ i).style.background = "";
                } else {
                    document.getElementById('goods_pcs_'+ i).style.border = errorBorderStyle;
                    document.getElementById('goods_pcs_'+ i).style.background = errorBackgroundStyle;
                    result = false;
                }
            }
        }
        
        // overeni nebezpecnych znaku
        var nameLength = document.getElementById('goods_name_'+ i).value.length;
        if (nameLength > 0) {
            if(kontrolaSCh(document.getElementById('goods_name_'+ i).value)) {
                document.getElementById('goods_name_'+ i).style.border = errorBorderStyle;
                document.getElementById('goods_name_'+ i).style.background = errorBackgroundStyle;
                result = false;
            } else {
                document.getElementById('goods_name_'+ i).style.border = "";
                document.getElementById('goods_name_'+ i).style.background = "";
            }
        } else {
            document.getElementById('goods_name_'+ i).style.border = "";
            document.getElementById('goods_name_'+ i).style.background = "";
        }
    }
    
    return result;
};
