String.prototype.Trim = function() {
    return( this.replace(/^\s*([\s\S]*\S+)\s*$|^\s*$/,'$1') );
}

function _validTxtForm(form) {
    for (i = 0; i < form.elements.length; i++)
        if ((form.elements[i].type == "text" || form.elements[i].type == "textarea" || form.elements[i].type == "file") &&
            (String(form.elements[i].value).Trim() == "")) {
            alert("Por favor, llene correctamente el formulario !");
            form.elements[i].focus();
            return false;
        }
    return true;
}
	
String.prototype.trim = function(){ 
    return this.replace(/^\s+|\s+$/g,'')
}
	
	
function _validTxt(txt) {
    var cad = new String(txt.value);
    if (cad.trim() == "") {
        alert("Por favor, el " + txt.name + " es requerido !");
        txt.focus();
        return false;
    }
    return true;
}

function _validDate(f) {
    var s = String(f.value).split("-");
    if (s.length==3) {
        var f2 = new Date(s[1]+"/"+s[2]+"/"+s[0]);
        var f3 = new Date();
        var a = f2.getFullYear(), m = f2.getMonth()+1, d = f2.getDate();
        var m1 = ( m < 10 ) ? ("0" + m) : m;
        var d1 = ( d < 10 ) ? ("0" + d) : d;
        var f1 = a + "-" + m + "-" + d;
        var f2 = a + "-" + m1 + "-" + d1;
        if ( (parseInt(a)>1900 && parseInt(a)<=f3.getFullYear()) && (String(f1).Trim() == String(f.value).Trim() || String(f2).Trim() == String(f.value).Trim()))
            return true;
    
    }
    alert("Por favor, escriba la fecha correctamente (aaaa-mm-dd) !");
    f.focus();
    return false;
}

function _validDate2(f) {
    var s = String(f.value).split("-");
    if (s.length==3) {
        var f2 = new Date(s[1]+"/"+s[2]+"/"+s[0]);
        var f3 = new Date();
        var a = f2.getFullYear(), m = f2.getMonth()+1, d = f2.getDate();
        var m1 = ( m < 10 ) ? ("0" + m) : m;
        var d1 = ( d < 10 ) ? ("0" + d) : d;
        var f1 = a + "-" + m + "-" + d;
        var f2 = a + "-" + m1 + "-" + d1;
        if ( parseInt(a)>1900 && parseInt(a)<=2999 && (String(f1).Trim() == String(f.value).Trim() || String(f2).Trim() == String(f.value).Trim()))
            return true;
    }
    alert("Por favor, escriba la fecha correctamente (aaaa-mm-dd) !");
    f.focus();
    return false;
}

function _validEmail(email) {
    var e = String(email.value);
    if (e.Trim() != "" && e.indexOf('@', 0) != -1 && e.indexOf('.', 0) != -1) return true;
    alert("Por favor, escriba una direcci�n de correo electr�nico correcta !\n\n\tnombre@subdominio.dominio");
    email.focus();
    return false;
}

function _validPhone(phone) {
    p = String(phone.value).Trim();
    for (i=0; i<p.length; i++)
        if ((p.charAt(i)<'0' || p.charAt(i)>'9') && (p.charAt(i) != ' ') && (p.charAt(i) != '-')) {
            alert("Por favor, escriba correctamente el n�mero de tel�fono !");
            phone.focus();
            return false;
        }
    return true;
}
	
function confirma(f, cmd, descr) {
    if (confirm("� Realmente desea ejecutar esta operacion ?\n[" + descr + "] ?")) {
        f.command.value = cmd;
        f.submit();
        return true;
    }
    return false;
}
	
function confirmaDelAct(url) {
    if (confirm("� Realmente desea eliminar esta actividad ?")) {
        window.location.href=url;
    }
}

function confirmaDelCon(url) {
    if (confirm("¿ Realmente desea eliminar este contacto ?")) {
        window.location.href=url;
    }
}

function confirmaDelCasa(url) {
    if (confirm("¿ Realmente desea eliminar esta casa ?")) {
        window.location.href=url;
    }
}

function confirmaDelFoto(url) {
    if (confirm("¿ Realmente desea eliminar esta foto ?")) {
        window.location.href=url;
    }
}

function confirmaDelAlbum(url) {
    if (confirm("¿ Realmente desea eliminar este album ? !!SE LIMINARAN TODAS LAS FOTOS DE ESTE ALBUM!!")) {
        window.location.href=url;
    }
}


function goTo(url) {
    if (String(url).Trim() == "") return false;
    document.location.replace(url);
    return true;
}
	
function goToParent(url) {
    if (String(url).Trim() == "") return false;
    window.opener.document.location.replace(url);
    window.close();
    return true;
}
	
function goToBack(url) {
    if (String(url).Trim() == "") return false;
    document.location = url;
    return true;
}
	
function marcaTodos(f) {
    var i, estado = f.marca.checked;
    for (i=0; i<f.elements.length; i++)
        if (f.elements[i].type == "checkbox" && !f.elements[i].disabled) f.elements[i].checked = estado;
    return;
}
	
function validaEliminarGrupo(f) {
    var i, total = 0;
		
    for (i=0; i<f.elements.length; i++)
        if ((f.elements[i].type == "checkbox") && f.elements[i].checked) total++;
			
    if (total>0)
        return confirma(f, "eliminar_grupo", "Eliminar grupo de encuestas");
		
    alert("Por favor, marque las encuestas que desea eliminar !");
    f.marca.focus();
    return false;
}

function validaLogin(f) {
    if (_validTxtForm(f)) {
        f.submit();
        return true;
    }
    return false;
}
	
function saludo() {
    var d = new Date();
    if ((h=d.getHours())<12) return "Buenos d�as";
    if (h>=12 && h<=19) return "Buenas tardes";
    return "Buenas noches";
}
	
function showMsg(msg) {
    return alert(msg);
}
	
function openWindow(x,y,w,h,n,c){
    var w = window.open(c,n,"toolbar=0,location=0,directories=0,status=0,statusbar=0,personalbar=0,menubar=0,scrollbars=0,resizable=0,width=" + w + ",height=" + h + ",top="+y+ ",screenY="+y+",left="+x+",screenX="+x);
    w.focus();
    return;
}
	
function openCentredWindow(w,h,n,c) {
    x = ( screen.availWidth - w ) / 2;
    y = ( screen.availHeight - h ) / 2;
    return openWindow(x,y,w,h,n,c);
}
	
function openScrollWindow(x,y,w,h,n,c,sb) {
    var w = window.open(c,n,"toolbar=0,location=0,directories=0,status=0,statusbar=0,personalbar=0,menubar=0,scrollbars=" + sb + ",resizable=1,width=" + w + ",height=" + h + ",top="+y+ ",screenY="+y+",left="+x+",screenX="+x);
    w.focus();
    return;
}

function _print() {
    if (window.print)
        window.print()
    else
        alert("Disculpe, su navegador no soporta esta opci�n.");
    return;
}

function _favorite(url,name){
    url = (url=="") ? window.location.href : url;
    name = (name=="") ? window.document.title : name;
    window.external.addFavorite(url,name);
}
	
function _home(url){
    url = (url=="") ? window.location.href : url;
    document.body.style.behavior='url(#default#homepage)';
    document.body.setHomePage(url);
}
	
function validaContacto() {
    return (
        _validTxt(document.contacto.name) &&
        _validTxt(document.contacto.country) &&
        //_validTxt(document.contacto.phone) &&
        _validPhone(document.contacto.phone) &&
        _validTxt(document.contacto.email) &&
        _validEmail(document.contacto.email) &&
        _validTxt(document.contacto.msg)
        );
}

function validaContacto2(con) {
    if (	_validTxt(con.nombrecon) &&
        _validTxt(con.emailcon) &&
        _validEmail(con.emailcon) &&
        //_validTxt(con.telefonocon) &&
        _validPhone(con.telefonocon) &&
        _validTxt(con.paiscon)) {
        con.accion.value = "update";
        con.submit();
        return true;
    };
    return false;
}

function validaRecomendar() {
    if (	_validTxt(document.email.namefrom) &&
        _validTxt(document.email.nameto) &&
        _validTxt(document.email.emailto) &&
        _validEmail(document.email.emailto)) {
			
        if (!_validTxt(document.email.emailfrom) || !_validEmail(document.email.emailfrom))
            document.email.emailfrom.value="info@casadelamusica.lu";
				
        document.email.submit();
        return true;
    };
    return false;
}
	
function validaDocumento(doc) {
    if (_validTxt(doc.titulodoc) &&
        _validTxt(doc.contenidodoc)) {
        doc.accion.value = "update";
        doc.submit();
        return true;
    };
    return false;
}
	
function validaCasa(casa) {
    if (_validTxt(casa.nombrecasa) &&
        _validTxt(casa.urlcasa)) {
        casa.accion.value = "update";
        casa.submit();
        return true;
    };
    return false;
}

function validaAlbum(album) {
    if (_validTxt(album.nombrealbum)) {
        album.accion.value = "update";
        album.submit();
        return true;
    };
    return false;
}

function validaFoto(foto) {
    if (_validTxt(foto.nombrefoto)) {
        foto.accion.value = "update";
        foto.submit();
        return true;
    };
    return false;
}

function validaActividad(act) {
    if (_validTxt(act.nombreact) &&
        _validDate(act.fechainicioact) &&
        _validDate(act.fechafinact) &&
        _validTxt(act.lugaract) &&
        _validEmail(act.contactoact)  &&
        _validTxt(act.descripcionact)) {
        act.accion.value = "update";
        act.submit();
        return true;
    };
    return false;
}
	
//-- Para cambiar forma del cursor en los enlaces OVER y OUT
function linkCursor() {
    document.body.style.cursor="pointer";
    return true;
}
	
function normalCursor() {
    document.body.style.cursor="default";
    return true;
}

//-- Para rollover de imagenes
function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
	
function MM_preloadImages() { //v3.0
    var d=document; if(d.images){
        if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
            if (a[i].indexOf("#")!=0){
                d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
            }
    }
}
	
function MM_findObj(n, d) { //v4.01
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
    }
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
}
	
function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
        if ((x=MM_findObj(a[i]))!=null){
            document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];
        }
}
	
function MM_openBrWindow(theURL,winName,features) {
    window.open(theURL,winName,features);
}
	
