var MSG_DELETE;
function checkSelected() 
{
	var category_1 = document.getElementById('area_1').value;
	var category_2 = document.getElementById('area_2').value;
	var category_3 = document.getElementById('area_3').value;
	var category_4 = document.getElementById('area_4').value;
	
	if(category_1!=0 && category_2!=0 && category_3!=0 && category_4!=0) {
		if(category_1!=category_2 && category_1!=category_3 && category_1!=category_4 && category_2!=category_3 && category_2!=category_4 && category_3!=category_4) {
			return true;
		}else {
			alert('Debe seleccionar 4 categorķas distintas.');
		}
	}else {
		alert('Debe seleccionar las 4 categorķas.');
	}
	
	return false;
}
function confirmDelete() {
    return confirm(MSG_DELETE);
}

function parentTR(e) {
    if(!e) return null;

    if('TR' == e.nodeName.toUpperCase()) {
        return e;
    } else {
        return parentTR(e.parentNode);
    }
}


function validateRequiredFields(frm) {
    var labels = frm.getElementsByTagName('label');
    var e, ok = true;
	var es = frm.elements;
	
	if (typeof isNewSelector == 'undefined') {
		isNewSelector = false;
	}
	if (typeof isNewReg == 'undefined') {
		isNewReg = false;
	}
	
    for(var i = 0, j = labels.length; i < j; i++) {
        var lbl = labels.item(i);
        if( lbl
            && ( ('requerido' == lbl.className) || ( 'requerido top_text' == lbl.className ) )
            && lbl.htmlFor
            && (e = document.getElementById(lbl.htmlFor))
            && ('hidden' != e.type))
        {

            var tr = parentTR(e);

            tr.className = tr.oldClassName ? tr.oldClassName : '';

            if(!e.value || e.value=='0')
            {

                ok = false;
                tr.oldClassName = tr.className;
                tr.className = 'requerido-incompleto';
            }
            else if('SELECT' == e.nodeName.toUpperCase())
            {

                //var cond = ('0' == e.options[e.selectedIndex].value);

                var cond = ( e.options[e.selectedIndex].value <= 0);

                if(cond)
                {
                    ok = false;
                    tr.oldClassName = tr.className;
                    tr.className = 'requerido-incompleto';
                }
            }
        }
    }
    if(ok) return true;

    var IF = document.getElementById('IncompleteFields');

    try { IF.style.display = "block"; }
    catch(e) { 
    	IF.style.display = "none";
    }
	return false;
}

function validate(frm, edit) {
    var lbls = frm.getElementsByTagName('label');
    var e, errs = false;
    var mensaje_err = document.getElementById('mensaje_error');
    var div_doc_length = document.getElementById('document_length');
    var div_doc_format = document.getElementById('document_format');
    var tr_doc = document.getElementById('tr_document');

    // solo se usan en modo add
    if(!edit)
    {
        var CP = document.getElementById('char_pwd');
        CP.style.display = "none";

        var div_eml = document.getElementById('div_eml');
        div_eml.style.display = "none";
    }

    div_doc_length.style.display = "none";
    div_doc_format.style.display = "none";
    tr_doc.className = '';
    mensaje_err.innerHTML = '';


    var pwd_corta, email_diff, doc_number_error = false;


    for(var i = 0, j = lbls.length; i < j; i++) {
        var lbl = lbls.item(i);

        if(lbl && (lbl.className == 'requerido') && (e = document.getElementById(lbl.htmlFor)))
        {
            var tr = getParentTR(lbl);

            if((e.nodeName == 'INPUT' && !e.value) || (e.nodeName == 'TEXTAREA' && !e.value)
            || (e.nodeName == 'SELECT' && !e.multiple && !e.selectedIndex))
            {

                errs = true;

                tr.oldClassName = tr.className;

                tr.className = 'requerido-incompleto';
            } else {
                tr.className = (tr.oldClassName ? tr.oldClassName : '');
            }
        }
    }
    try
    {
        var es = frm.elements;
		if (isEqualString(es['password'].value,es['cpassword'].value) == false) {
			getParentTR(es['password']).className = 'requerido-incompleto';
			getParentTR(es['cpassword']).className = 'requerido-incompleto';
			errs = true;
		} else {
			getParentTR(es['password']).className = '';
			getParentTR(es['cpassword']).className = '';
		}
		if (isEqualString(es['email_main'].value,es['cemail'].value) == false) {
			getParentTR(es['email_main']).className = 'requerido-incompleto';
			getParentTR(es['cemail']).className = 'requerido-incompleto';
			errs = true;
		} else {
			getParentTR(es['email_main']).className = '';
			getParentTR(es['cemail']).className = '';
		}
		if (isEmail(es['email_main'].value) == false) {
			getParentTR(es['email_main']).className = 'requerido-incompleto';
			errs = true;
		} else {
			getParentTR(es['email_main']).className = '';
		}
        if(es['phone1_type'])
        {

			var i = 1;

			if (((es['phone' + i + '_area'].value).length == 0)||((es['phone' + i + '_number'].value).length == 0)||(!es['phone' + i + '_type'].selectedIndex)) {
				getParentTR(es['phone' + i + '_type']).className = 'requerido-incompleto';
				errs = true;
			} else {
				getParentTR(es['phone' + i + '_type']).className = '';
			}

            for(var i = 2; i <= 3; i++) {
            	if (
                   (es['phone' + i + '_area'].value ||
                    es['phone' + i + '_number'].value) ||
                   es['phone' + i + '_type'].selectedIndex
            	) {
					if ((!es['phone' + i + '_type'].selectedIndex)) {
						getParentTR(es['phone' + i + '_type']).className = 'requerido-incompleto';
						errs = true;
					} else {
						getParentTR(es['phone' + i + '_type']).className = '';
					}
            	} else {
					getParentTR(es['phone' + i + '_type']).className = '';
            	}

            }
        }
    } catch(e) { }
    if(errs) {
        IF.style.display = "block";
    }else{
        IF.style.display = "none";
    }

    if(errs)
    {
        return false;
    }

    //validar pwd
    pwd_corta = validar_pwd();

    // validar email
    email_diff = validar_conf_email();

    // valida nro documento
    doc_number_error = valDocNumber();

    if( pwd_corta || email_diff || doc_number_error)
    {
        return false;
    }
}



function checkAll(chk)
{
    var es = chk.form.elements;

    for(var i = 0, j = es.length; i < j; i++) {
        var e = es[i];

        if(e != chk && e.type.toLowerCase() == 'checkbox') {
            e.checked = chk.checked;

            if('function' == typeof e.onclick) e.onclick();
        }
    }
}

function inspect(o) { s=[];for(var i in o)s[s.length]=i+': '+(o[i]);s.sort();alert(s.join(', ')); }

function setAction(btn)
{
    btn.form.elements['__action'].value = btn.name;
}

function isEmail(sEmail) {
    // Boolean, returns TRUE if the string passed is a valid email format string.
	var regEmail = /^([\w-]+\.?)*\w+@([\da-zA-z-]+\.)+[a-zA-z]{2,3}$/
	if (sEmail==null || sEmail == "") { 
		if (isEmail.arguments.length == 0) {
			return true;
		} else {
			return (isEmail.arguments[1] == true);
		}
	} else {
		return regEmail.test(sEmail)
	}
}

function isNumeric(strString) {
    // Boolean, returns TRUE if the string passed is blank or numeric only.
	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 isEqualString(Str1,Str2) {
    // Boolean, returns TRUE if the strings passed are identical.
    // Returns FALSE if an empty string is passed.
	if (Str1.length == 0) return false;
	if (Str1 == Str2) {
		return true;
	} else {
		return false;
	}
}

function getParentTR(e)
{
    try {
        var p = e.parentNode;
        while(p && (p.nodeName !== 'TR')) {
            p = p.parentNode;
        }

        return p;
    } catch(ex) {
        alert(ex.description);
        alert(e);
    }
}