jQuery.extend({
	random: function(X) {
	    return Math.floor(X * (Math.random() % 1));
	},
	randomBetween: function(MinV, MaxV) {
	  return MinV + jQuery.random(MaxV - MinV + 1);
	}
});

function clean_text(elem) {
  var valor = $(elem).attr("value");
  if ( valor == "Tu e-mail" || valor == "Tu nombre" || valor == "Tu declaración" ) {
     $(elem).attr("value","");
  }
 
}

var objAnimacion = {};
var $alguien = null;
var intHeightOriginal = 300;

function SeguirLaFiesta(){
    var txtNombre = Ext.get('frmSeguiLaFiesta_txtNombre');
    var txtEmail = Ext.get('frmSeguiLaFiesta_txtEmail');
    if(!RegExp_Matches('AlphaNumSpace', txtNombre.dom.value)){
        alert('El nombre ingresado no es valido.');
        txtNombre.highlight("#FFB3B5", { duration: 3 });
        txtNombre.focus();
    }else if(!RegExp_Matches('Email', txtEmail.dom.value)){
        alert('El email ingresado no es valido.');
        txtEmail.highlight("#FFB3B5", { duration: 3 });
        txtEmail.focus();
    }else{
        var fnSuccess = function(objValor){
            alert('�' + objValor.mensaje + '!' );
            Ext.get('imgLoaderSeguir').setStyle('visibility', 'hidden');
        }
        var fnFailure = function(objValor){
            alert('�' + objValor.mensaje + '!');
            Ext.get('imgLoaderSeguir').setStyle('visibility', 'hidden');
        }
        Ext.get('imgLoaderSeguir').setStyle('visibility', 'visible');
        Ext.ux.AjaxRequestFactory.doFormPOST('/includes/ws/wsseguir_la_fiesta.php', 'frmSeguiLaFiesta', null, fnSuccess, fnFailure);
    }
}
function EnviarDeseo(blnCompleto){
    var txtNombre = Ext.get('frmDeseos_txtNombre');
    var txtEmail = Ext.get('frmDeseos_txtEmail');
    var txtDeseo = Ext.get('frmDeseos_txtDeseo');
    if(txtDeseo.dom.value == "Tu deseo" || txtDeseo.dom.value == ""){
        alert('Escribe una declaración por favor');
        return;
    }
    if(!RegExp_Matches('AlphaNumSpace', txtNombre.dom.value)){
        alert('El nombre ingresado no es valido.');
        txtNombre.highlight("#FFB3B5", { duration: 3 });
        txtNombre.focus();
    }else if(!RegExp_Matches('Email', txtEmail.dom.value)){
        alert('El email ingresado no es valido.');
        txtEmail.highlight("#FFB3B5", { duration: 3 });
        txtEmail.focus();
    }else{
        var fnSuccess = function(objValor){
            alert('�' + objValor.mensaje + '!' );
            if(blnCompleto){
                Deseos_ListaCompleta(0);
            }else{
                Deseos_ListaCorta();
            }
            Ext.get('imgLoaderDeseo').setStyle('visibility', 'hidden');
            txtEmail.dom.value = '';
            txtNombre.dom.value = '';
            txtDeseo.dom.value = '';
            txtNombre.focus();
        }
        var fnFailure = function(objValor){
            alert('�' + objValor.mensaje + '!');
            Ext.get('imgLoaderDeseo').setStyle('visibility', 'hidden');
        }
        Ext.get('imgLoaderDeseo').setStyle('visibility', 'visible');
        Ext.ux.AjaxRequestFactory.doFormPOST('/includes/ws/wsdeseos.php', 'frmDeseos', null, fnSuccess, fnFailure);
    }
}
function Deseos_ListaCorta(){
    var fnSuccess = function(objValor){
        var strMensaje = '';
        var intCantidad = objValor.mensaje.length;
        for(i=0;i<intCantidad;i++){
            strMensaje +=objValor.mensaje[i]+"\n";
        }
        alert(strMensaje);
        //Ext.get('imgLoaderDeseo').setStyle('visibility', 'hidden');
    }
    var fnFailure = function(objValor){
        
        var divDeseosListado = Ext.get('divDeseosListado');
        divDeseosListado.setVisibilityMode(Ext.Element.VISIBILITY);
        //divDeseosListado.setVisible(false, objAnimacion);
        divDeseosListado.update(objValor, true, divDeseosListado.setVisible(true, objAnimacion));
        //Ext.get('imgLoaderDeseo').setStyle('visibility', 'hidden');
    }
    var fnGetText = function(strText){
        
        var divDeseosListado = Ext.get('divDeseosListado');
        divDeseosListado.setVisibilityMode(Ext.Element.VISIBILITY);
        //divDeseosListado.setVisible(false, objAnimacion);
        divDeseosListado.update(strText, true, divDeseosListado.setVisible(true, objAnimacion));
        //Ext.get('imgLoaderDeseo').setStyle('visibility', 'hidden');
    }
    //Ext.get('imgLoaderDeseo').setStyle('visibility', 'visible');
    Ext.ux.AjaxRequestFactory.doPOST('/includes/ws/wsdeseos.php', {'optAccion':'GetShortList'}, fnSuccess, fnFailure, fnGetText);
}
function Deseos_ListaCompleta(intPagina){
    var strParametro = '';
    if(!intPagina){
        intPagina = 0;
    }
    
    var fnSuccess = function(objValor){
        var strMensaje = '';
        var intCantidad = objValor.mensaje.length;
        for(i=0;i<intCantidad;i++){
            strMensaje +=objValor.mensaje[i]+"\n";
        }
        alert(strMensaje);
        //Ext.get('imgLoaderInvitaciones').setStyle('visibility', 'hidden');
    }
    var fnFailure = function(objValor){
        
        var divDeseosListado = Ext.get('divDeseosListado');
        divDeseosListado.setVisibilityMode(Ext.Element.VISIBILITY);
        //divDeseosListado.setVisible(false, objAnimacion);
        divDeseosListado.update(strText, true, divDeseosListado.setVisible(true, objAnimacion));
        //Ext.get('imgLoaderInvitaciones').setStyle('visibility', 'hidden');
    }
    var fnGetText = function(strText){
        
        var divDeseosListado = Ext.get('divDeseosListado');
        divDeseosListado.setVisibilityMode(Ext.Element.VISIBILITY);
        //divDeseosListado.setVisible(false, objAnimacion);
        divDeseosListado.update(strText, true, divDeseosListado.setVisible(true, objAnimacion));
        //Ext.get('imgLoaderInvitaciones').setStyle('visibility', 'hidden');
    }
    //Ext.get('imgLoaderInvitaciones').setStyle('visibility', 'visible');
    Ext.ux.AjaxRequestFactory.doPOST('/includes/ws/wsdeseos.php', {'optAccion':'GetList', 'intPagina':intPagina}, fnSuccess, fnFailure, fnGetText);
}
function Invitavion_GetContactos(){
    $("#scrollmails").show();
    var txtEmail = Ext.get('frmInvitacion_txtEmail');
    var txtPassword = Ext.get('frmInvitacion_txtPassword');
    var radMSM = Ext.get('frmInvitacion_cboCompania_MSM');
    var radYAHOO = Ext.get('frmInvitacion_cboCompania_YAHOO');
    var radGMAIL = Ext.get('frmInvitacion_cboCompania_GMAIL');
    
    if(!RegExp_Matches('Email', txtEmail.dom.value)){
        alert('El email ingresado no es valido.');
        txtEmail.highlight("#FFB3B5", { duration: 3 });
        txtEmail.focus();
    }else if(!RegExp_Matches('AlphaNumSpace', txtPassword.dom.value)){
        alert('El nombre ingresado no es valido.');
        txtPassword.highlight("#FFB3B5", { duration: 3 });
        txtPassword.focus();
    }else if(!radMSM.dom.checked && !radYAHOO.dom.checked && !radGMAIL.dom.checked){
        alert('Seleccione el tipo de email.');
        radMSM.focus();
    }else{
        var divListadoContactos = Ext.get('divListadoContactos');
        var divContactos = Ext.get('contactos');
        
        
        var fnSuccess = function(objValor){
           
            var strMensaje = '';
            var intCantidad = objValor.mensaje.length;
            for(i=0;i<intCantidad;i++){
                strMensaje +=objValor.mensaje[i]+"\n";
            }
            alert(strMensaje);
            Ext.get('imgLoaderInvitaciones').setStyle('visibility', 'hidden');
        }
        var fnFailure = function(objValor){
          $("#scrollmails").hide();
            fnGetText(objValor);
        }
        var fnGetText = function(strText){
            var divListadoContactos = Ext.get('divListadoContactos');
            divListadoContactos.setVisibilityMode(Ext.Element.DISPLAY);
            divContactos.setHeight(500, objAnimacion);
            divListadoContactos.update(strText, true, function(){
                divListadoContactos.setVisible(true, objAnimacion);
            });
            Ext.get('imgLoaderInvitaciones').setStyle('visibility', 'hidden');
        }
        Ext.get('imgLoaderInvitaciones').setStyle('visibility', 'visible');
        Ext.ux.AjaxRequestFactory.doFormPOST('/includes/ws/wsenvios.php', 'frmInvitacion', null, fnSuccess, fnFailure, fnGetText);
        if(intHeightOriginal == null){
            intHeightOriginal = divContactos.getHeight();
        }else{
            divContactos.setHeight(intHeightOriginal, objAnimacion);
            Ext.get('divListadoContactos').dom.innerHTML = '';
        };
    }
}
function SeleccionarTodosLosContactos(blnChecked){

   ($('#frmInvitacionForm').find("input")).each( function (e,v) {
     v.checked=  blnChecked;
   } );
}
function ValidarAlgunChequeado(){
    var blnReturn = false;
    var frmInvitaciones = Ext.get('frmInvitacionForm');
    var intCantidad = frmInvitaciones.dom.elements.length;
    var i = 0;
    while(i<intCantidad && blnReturn == false){
        if(frmInvitaciones.dom.elements[i].type == 'checkbox' && frmInvitaciones.dom.elements[i].checked == true){
            blnReturn = true;
        }
        i++;
    }
    return blnReturn
}
function EnviarInvitaciones(){
    if(!ValidarAlgunChequeado()){
        alert('Debe seleccionar al menos una persona.');
    }else{
        var fnSuccess = function(objValor){
            alert(objValor.mensaje);
            Ext.get('imgLoaderInvitacionesForm').setStyle('visibility', 'hidden');
            Ver_Invitaciones();
        }
        var fnFailure = function(objValor){
            alert(objValor.mensaje);
            Ext.get('imgLoaderInvitacionesForm').setStyle('visibility', 'hidden');
        }
        Ext.get('imgLoaderInvitacionesForm').setStyle('visibility', 'visible');
        Ext.ux.AjaxRequestFactory.doFormPOST('/includes/ws/wsenvios.php', 'frmInvitacionForm', null, fnSuccess, fnFailure);
    }
}
function Ver_Invitaciones(){
   if ($("#tw_post").is (':visible')) {
      $("#tw_post").hide();
    }
     $("#scrollmails").hide();
 
   
    var divContactos = Ext.get('contactos');
    divContactos.setVisibilityMode(Ext.Element.DISPLAY);
    if(divContactos.isDisplayed() === false){
        Ext.get('divLinea').setStyle('display','block');
        divContactos.setStyle('display','block');
        divContactos.setHeight(intHeightOriginal, objAnimacion);
    }else{
        Ext.get('divLinea').setStyle('display','none');
        divContactos.setStyle('display','none');
        divContactos.setHeight(intHeightOriginal, objAnimacion);
        Ext.get('divListadoContactos').dom.innerHTML = '';
    }
   
   
}

function votar(id) {
  $.ajax({
  type: "POST",
  data: ({code : $("#captcha_user").attr("value"), deseo : id}),
  url: '/megusta/validar.php',
  dataType: "json",
  success: function(data) {
    if (data.error != 0) {
      alert("Ocurrio un error, verifique que el codigo sea correcto y/o no haya votado el dia de hoy");
      $("#imagen_captcha").attr('src',"/megusta/imagen.php?"+$.randomBetween(10000, 99999));
    } else {
      alert("Tu voto a sido registrado");
      parent.$.fn.colorbox.close();
      window.location.href = unescape(window.location.pathname);
    }
  }
});
}

$(document).bind('cbox_complete', function(){
   $("#imagen_captcha").attr('src',"/megusta/imagen.php?r="+$.randomBetween(10000, 99999)+"&declaracion="+$("#declaracion").attr("value"));
});

function megusta(deseo) {
  $("#megusta"+deseo).colorbox();
}

function ver_bases(){
  $("#bases").colorbox();
}