function is_alnum(str) {
    if (str.search("^[a-zA-Z0-9]+$") != -1) 
        return true
    else
        return false;
}

function is_empty(str) {
    if (str.search("^[ ]*$") != -1)
        return true
    else
        return false;
}

function is_email(str) {    
    if (str == "" || str.search("^.+@.+\\..+$") != -1)
        return true
    else
        return false;
}

function is_num(str) {
	if (str.search("^[0-9]+$") != -1) 
  		return true;
    else
    	return false;
}

function is_float(str) {
	if (str.search("^[0-9]*[.,]{0,1}[0-9]+$") != -1) 
  		return true;
    else
    	return false;
}

function is_zip(str) {
	if (str.search("^[0-9]{3}[ ][0-9]{2}$") != -1) 
  		return true;
    else
    	return false;
}

function is_logon(str){
    if (str.length > 4 && is_alnum(str))
        return true;
    else
        return false;    
}

function lightElement(element) {
	element.style.borderColor = "#CF0C0C"
	element.style.backgroundColor = "#EFE6E0";
	element.style.backgroundImage = "none";
}

function darkElement(element) {
	element.style.borderColor = ""
	element.style.backgroundColor = "";
}

function validateEmail(names, values){

    var text = ""; 
    var i;
    var isFocus = false;
        
    for (i=0; i<names.length; i++){

        var name = document.getElementById(names[i]);
   
        if (!is_email(name.value)) {
            text += values[i] + "Formát emailu není správný.";            
			lightElement(name);
			
            if (!isFocus){
                name.focus();
                isFocus = true;
            }
        }
        else
			darkElement(name);
    }

    return text;
}

function validateEmpty(names, values, wysivig){

    var text = ""; 
    var i;
    var isFocus = false;
        
    for (i=0; i<names.length; i++){

        var name = document.getElementById(names[i]);
        
        if (wysivig[i] == "true")
        {
        	var name_value = tinyMCE.getInstanceById(names[i]).getContent()
        }
        else
        {
        	var name_value = document.getElementById(names[i]).value;
        }
        
        if (is_empty(name_value)) {
            text += values[i] + " Je vyžadováno.\n";            
			lightElement(name);
			
            if (!isFocus){
                name.focus();
                isFocus = true;
            }
        }
        else
			darkElement(name);
    }

    return text;
}

function validateCombo(names, values){

    var text = ""; 
    var i;
    var isFocus = false;
        
    for (i=0; i<names.length; i++){

        var name = document.getElementById(names[i]);
   
        if (name.value == 0 || name.value == -1) {
            text += values[i] + " je vyžadováno.\n";            
			lightElement(name);
			
            if (!isFocus){
                name.focus();
                isFocus = true;
            }
        }
        else
			darkElement(name);
    }

    return text;
}

function validateLogon(names, values){

    var text = ""; 
    var i;
    var isFocus = false;
        
    for (i=0; i<names.length; i++){

        var name = document.getElementById(names[i]);
   
        if (!is_logon(name.value)) {
            text += values[i] + " musí obsahovat pouze alfanumerické znaky.\n";
            text += values[i] + " musí mít alespoň 5 znaků.\n";
			lightElement(name);
			
            if (!isFocus){
                name.focus();
                isFocus = true;
            }
        }
        else
			darkElement(name);
    }

    return text;
}

function validateEqual(names, values){

    var text = ""; 
    var name1 = document.getElementById(names[0]);
    var name2 = document.getElementById(names[1]);
    
    if (name1.value != name2.value){
        text += values[0] + " a " + values[1] + " se neshodují.\n";
        
        lightElement(name1);
        lightElement(name2);
        
        name1.focus();
    }
    else{
    	darkElement(name1);
    	darkElement(name2);
    }

    return text;
}

function validateAndShow(names, values, type, wysivig){
    var text = "";

    switch(type){    
        case 'email':
            text = validateEmail(names, values);
            break;
        case 'logon':
            text = validateLogon(names, values);
            break;
        case 'equal':
            text = validateEqual(names, values);
            break;
        case 'combo':
            text = validateCombo(names, values);
            break;
        case 'empty':
            text = validateEmpty(names, values, wysivig);
            break;            
    }
  
    if (text == "")
        return true;
            
    window.alert(text);
    return false;
}

function my_confirm(msg) {
	var agree = confirm(msg);
	if (agree)
		return true;
	else
		return false;
}

function confirm_delete() {
	return my_confirm("Opravdu chcete záznam odstranit?");
}

function confirm_reset() {
	return my_confirm("Opravdu chcete vymazat data z formulářů?");
}
