var tmrdata;
var xmlhttp;
var newitems = 0;

function AbortRequest() {
	clearTimeout(tmrdata);
	if ("object" == typeof(xmlhttp)) {
		xmlhttp.abort();
	}
}

function ltrim(s) {   
	return s.replace(/^\s+/, "");
}
function rtrim(s) {   
	return s.replace(/\s+$/, "");
}
function trim(s) {   
	return rtrim(ltrim(s));
}
function myfocus(field){
	document.getElementById(field).focus();
}
function textCounter(field,cntfield,maxlimit){
    if (field.value.length > maxlimit)
        field.value = field.value.substring(0, maxlimit);
    else
        cntfield.value = maxlimit - field.value.length;
}
function textClear(field){
	field = document.getElementById(field);

	if(field.readOnly){
		field.readOnly = false;
		field.value='';
	}
}
function show_form(menu1,menu2,menu3,menu4){
	frm1 = null;
	frm2 = null;
	frm3 = null;
	frm4 = null;

	if(menu1!=null){
		frm1 = document.getElementById(menu1);
		menulink1 = document.getElementById("menu_"+menu1);
	}
	if(menu2!=null){
		frm2 = document.getElementById(menu2);
		menulink2 = document.getElementById("menu_"+menu2);
	}
	if(menu3!=null){
		frm3 = document.getElementById(menu3);
		menulink3 = document.getElementById("menu_"+menu3);
	}
	if(menu4!=null){
		frm4 = document.getElementById(menu4);
		menulink4 = document.getElementById("menu_"+menu4);
	}
	
	if(frm1!=null || frm2!=null || frm3!=null || frm4!=null){
		if(frm1!=null){
			frm1.style.display = "block";
			menulink1.className = "current";
		}
		if(frm2!=null){
			frm2.style.display = "none";
			menulink2.className = "";
		}
		if(frm3!=null){
			frm3.style.display = "none";
			menulink3.className = "";
		}
		if(frm4!=null){
			frm4.style.display = "none";
			menulink4.className = "";
		}
	}else{
		mwarning = document.getElementById("menu-warning");
		if(mwarning!=null)
			mwarning.style.display = "block";
	}
}
function show_recruiter(objstatus){
	objdiv = document.getElementById('recruiter');
	
	if(objstatus.value=='recruiter'){
		objdiv.style.display = "block";
	}else{
		objdiv.style.display = "none";
	}
}

function val_search(frm,field){
	field = eval("document."+frm+"."+field);
	if(field.value == "escribe su nombre o correo") return false;
	return (field.value.length > 2);
}
function chg_lst_search(){
	field = document.getElementById('s');
	field1 = document.getElementById('q');
	if(field.value=='2')
		field1.value='escriba el email';
	else
		field1.value='';
}
function validate_pw(field, field1,field2){
	var err = false;
	var msgerr = "";
	
	field = document.getElementById(field);
	field1 = document.getElementById(field1);
	field2 = document.getElementById(field2);
	
	if(field.value.length == 0){
		msgerr += "Por favor escriba su Contraseña actual. \n";
		err = true;
	}
	if(field1.value.length < 6){
		msgerr += "Contraseña nueva inválida: Debe contener por lo menos 6 caracteres. \n";
		field1.focus();
		err = true;
	}else	if(field2.value.length == 0){
		msgerr += "Debe confirmar su nueva contraseña en el campo \"Repetir Contraseña\". \n";
		field2.focus();
		err = true;
	}else	if(field.value==field1.value){
		msgerr += "Su nueva contraseña no puede ser igual a su contraseña actual. \n";
		field.focus();
		err = true;
	}else	if(field1.value!=field2.value){
		msgerr += "La contraseña que está confirmando no coincide con la nueva. \n";
		field1.focus();
		err = true;
	}
	
	if(err)
		alert("Complete los campos requeridos: \n\n" + msgerr);
		
	return !err;
}

function val_login(){
	var err = false;
	var msgerr = "";

	objusername = document.getElementById("username");
	objpassword = document.getElementById("password");
	
	if(trim(objusername.value).length == 0){
		msgerr += "Debe escribir su Usuario o Email\n";
		err = true;
	}else if(trim(objusername.value).length < 4){
		msgerr += "Nombre de usuario inválido, Debe tener 4 o más caracteres. \n";
		err = true;
	}
	if(trim(objpassword.value).length == 0){
		msgerr += "Debe escribir su Contraseña. \n";
		err = true;
	}else if(trim(objpassword.value).length < 6){
		msgerr += "Contraseña demasiado corta, debe tener 6 o más caracteres. \n";
		err = true;
	}
	
	if(err)
		alert("Complete los campos requeridos: \n\n" + msgerr);
		
	return !err;
}

function val_register(){
    var err = false;
    var msgerr = "";

    objstatus = document.getElementById("status");
    objusername = document.getElementById("username");
    objrealname = document.getElementById("real_name");
    objcity = document.getElementById("city");
    objemail = document.getElementById("email");
    objgender = document.getElementById("gender");
    objbd_year = document.getElementById("bd_year");
    objpassword = document.getElementById("password");
    objre_password = document.getElementById("re_password");

    objcompany = document.getElementById("company");
    objcompany_number = document.getElementById("company_number");
    objcompany_phone = document.getElementById("company_phone");

    if(trim(objrealname.value).length < 3){
            msgerr += "- Nombre Completo. \n";
            err = true;
    }
    if(trim(objgender.value).length == 0){
            msgerr += "- Género. \n";
            err = true;
    }
    if(trim(objcity.value).length == 0){
            msgerr += "- Lugar de residencia. \n";
            err = true;
    }
    if(trim(objbd_year.value).length == 0){
            msgerr += "- Año de Nacimiento. \n";
            err = true;
    }
    if(objstatus.value == 'recruiter'){
            if(trim(objcompany.value).length == 0){
                    msgerr += "- Empresa. \n";
                    err = true;
            }
            if(trim(objcompany_number.value).length == 0){
                    msgerr += "- Nit. \n";
                    err = true;
            }
            if(trim(objcompany_phone.value).length == 0){
                    msgerr += "- Télefono. \n";
                    err = true;
            }
    }

    if(trim(objemail.value).length < 6){
            msgerr += "- Email. \n";
            err = true;
    }
    if(trim(objusername.value).length == 0){
            msgerr += "- Usuario \n";
            err = true;
    }else if(trim(objusername.value).length < 4){
            msgerr += "- Usuario Incorrecto: debe tener 4 o más caracteres. \n";
            err = true;
    }
    if(trim(objpassword.value).length == 0){
            msgerr += "- Contraseña. \n";
            err = true;
    }else if(trim(objpassword.value).length < 6){
            msgerr += "- Contraseña Incorrecta: Debe tener 6 o más caracteres. \n";
            err = true;
    }
    if(trim(objre_password.value).length == 0){
            msgerr += "- Debe Confirmar la Contraseña. \n";
            err = true;
    }
    if(trim(objpassword.value).length != 0 && trim(objre_password.value).length != 0 && objpassword.value != objre_password.value){
            msgerr += "- La Contraseña no coincide con la confirmación. \n";
            err = true;
    }

    if(err)
            alert("Los siguientes campos son requeridos: \n" + msgerr);

    return !err;
}

function val_reset_pw(){
	var err = false;
	var msgerr = "";

	objemail = document.getElementById("email");

	if(trim(objemail.value).length <= 6){
		msgerr += "Debe escribir un correo electrónico válido.\n";
		err = true;
	}

	if(err)
		alert("Complete los campos requeridos: \n\n" + msgerr);

	return !err;
}

function val_new_pw(field1,field2){
	var err = false;
	var msgerr = "";

	field1 = document.getElementById(field1);
	field2 = document.getElementById(field2);

	if(field1.value.length < 6){
		msgerr += "Contraseña nueva inválida: Debe contener por lo menos 6 caracteres. \n";
		field1.focus();
		err = true;
	}else	if(field2.value.length == 0){
		msgerr += "Debe confirmar su nueva contraseña en el campo \"Confirmar Contraseña\". \n";
		field2.focus();
		err = true;
	}else	if(field1.value!=field2.value){
		msgerr += "La contraseña que está confirmando no coincide con la nueva. \n";
		field1.focus();
		err = true;
	}

	if(err)
		alert("Complete los campos requeridos: \n\n" + msgerr);

	return !err;
}

function val_invite(){
	var err = false;
	var msgerr = "";
	
	objmsg = document.getElementById("msg");
	objto = document.getElementById("to");
	
	if(trim(objmsg.value).length == 0){
		msgerr += "Debe escribir un mensaje. \n";
		err = true;
	}
	
	if(trim(objto.value).length == 0){
		msgerr += "Debe escribir el(los) correo(s) de tu(s) amigo(s). \n";
		err = true;
	}
	
	if(err)
		alert("Complete los campos requeridos: \n\n" + msgerr);
		
	return !err;
}

function val_info(){
	var err = false;
	var msgerr = "";

	a = document.getElementById("bd_year").value;
	c = document.getElementById("city").value;

	if(isNaN(a) || a==0){
			msgerr += "El año debe ser númerico y mayor a cero(0). \n";
			err = true; 
	}else{
		if(a<1930 || a>2000){
			msgerr += "El año es incorrecto. \n";
			err = true; 
		}
	}
	if(trim(c).length<=3){
		msgerr += "La ciudad es incorrecta. \n";
		err = true; 
	}

	if(err)
		alert("Por favor soluciona los siguientes errores! \n\n"+msgerr);
	
	return !err;
}
	
function val_services(){
	var err = false;
	var msgerr = "";
	
	objurl = document.getElementById("url");

	var regexp = /(ftp|http|https)+/

	if(objurl.value.length<=4 || (regexp.test(objurl.value) && objurl.value.length<=7)){
		alert("ERROR: Debe escribir un link antes de enviar");
		objurl.focus();
		return false;
	}else if(!regexp.test(objurl.value))
		objurl.value = "http://"+objurl.value;
		
	return !err;
}
function val_avatar(){
	var err = false;
	var msgerr = "";

	objfile = document.getElementById("imgfile");
	
	if(objfile.value.length==0){
		alert("ERROR: Debe primero seleccionar una imagen");
		return false;
	}else if(objfile.value.toLowerCase().lastIndexOf('.jpg')<4 && objfile.value.toLowerCase().lastIndexOf('.gif')<4 && objfile.value.toLowerCase().lastIndexOf('.png')<4){
		alert("ERROR: El formato de la imagen debe ser JPG, GIF ó PNG");
		return false;
	}

	return true;
}
function val_link(){
	var err = false;
	var msgerr = "";

	objurl = document.getElementById("url");

	var regexp = /(ftp|http|https)+/

	if(objurl.value.length<=4 || (regexp.test(objurl.value) && objurl.value.length<=7)){
		alert("ERROR: Debe escribir un link antes de enviar");
		objurl.focus();
		return false;
	}else if(!regexp.test(objurl.value))
		objurl.value = "http://"+objurl.value;

	return true;
}
function val_comment(field){
	field = document.getElementById(field);

	if(field.readOnly || field.value.length==0){
		alert("ERROR: Debe escribir un comentario.");
		return false;
	}
	return true;
}

function set_edu_not_found(prefix,field){
    objnf = document.getElementById(prefix+"_nf");
    objeduname = document.getElementById(prefix+"_name");
    
    if(field.value=="NF")
        objnf.style.display = "block";
    else{
        objeduname.value = "";
        objnf.style.display = "none";
    }
}