var urlROOT = "https://iglesiaslocales.com";
var mainCat = "iglesias";

var timeLeft = "";
var downloadFile = "";
var targetFile = "";
var t = 0;

function removeAccents(strAccents) {
  var strAccents = strAccents.split('');
  var strAccentsOut = new Array();
  var strAccentsLen = strAccents.length;
  var accents = 'Ã€ÃÃ‚ÃƒÃ„Ã…Ã Ã¡Ã¢Ã£Ã¤Ã¥Ã’Ã“Ã”Ã•Ã•Ã–Ã˜Ã²Ã³Ã´ÃµÃ¶Ã¸ÃˆÃ‰ÃŠÃ‹Ã¨Ã©ÃªÃ«Ã°Ã‡Ã§ÃÃŒÃÃŽÃÃ¬Ã­Ã®Ã¯Ã™ÃšÃ›ÃœÃ¹ÃºÃ»Ã¼Ã‘Ã±Å Å¡Å¸Ã¿Ã½Å½Å¾';
  var accentsOut = "AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz";
  for (var y = 0; y < strAccentsLen; y++) {
    if (accents.indexOf(strAccents[y]) != -1) {
      strAccentsOut[y] = accentsOut.substr(accents.indexOf(strAccents[y]), 1);
    } else {
      strAccentsOut[y] = strAccents[y];
    }
  }
  strAccentsOut = strAccentsOut.join('');
  return strAccentsOut;
}

function doSavePost(){
    var postTitle = $("#post_title").val();
    if(postTitle==""){
        $("#resultNewPost").css("color","red").html("hay campos vacíos").show();
		setTimeout(function(){ 
			$("#resultNewPost").val("").hide(); 
		}, 2000);        
    }else{
        document.fPost.submit();
    } 
}

function doContentIA(id){
    var data = "id="+id;
    $.ajax({
        type: "POST",
        url: urlROOT+"/crons/changeContentDetailIA.php",
        data: data,
        success:function(obj){ 
            location.reload();                                
        },    
    });        
}

function doBlogPostIA(id){
    var data = "id="+id;
    $.ajax({
        type: "POST",
        url: urlROOT+"/crons/changeBlogPostDetailIA.php",
        data: data,
        success:function(obj){ 
            location.reload();                                
        },    
    });        
}

function doEditPost(){
    let postTitle = $("#post_title").val();
    if(postTitle==""){
        $("#resultEditPost").css("color","red").html("hay campos vacíos").show();
		setTimeout(function(){ 
			$("#resultEditPost").val("").hide(); 
		}, 2000);        
    }else{
        document.fPost.submit();
    } 
}

function doEditContent(){
    document.fPost.submit();
}

function doNewContent(){
    let categoria = $("#categoria").val();
    if(categoria!=''){
        document.fPost.submit();
    }
}

function doSaveContent(){
    let cNombre = $("#c_name").val();
    let cCp = $("#c_cp").val();
    if(cNombre=="" || cCp==""){
        $("#resultContent").css("color","red").html("Falta el nombre o el CP").show();
		setTimeout(function(){ 
			$("#resultContent").val("").hide(); 
		}, 2000);        
    }else{
        document.fPost.submit();
    } 
}

function doSaveCategory(){
    var catName = $("#ncCategoryName").val();
    var catIcon = $("#ncCategoryIcon").val();
    var data = "ac=NWCAT&catName="+catName+"&catIcon="+catIcon;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){ 
            location.reload();                              
        },    
    });
}

function doRemoveComment(id){
    var data = "ac=RMCOMM&id="+id;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){ 
            location.reload();  
        },    
    });         
}

function doRemoveApi(id){
    var data = "ac=RMAPI&id="+id;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){ 
            location.reload();  
        },    
    });     
}

function doSaveApis(){
    let openaiApis = $("#openai_apis").val();
    if(openaiApis!=""){
        var data = "ac=SVAPIS&openai="+openaiApis;
        $.ajax({
    		data:data,
            type: "POST",
            url: urlROOT+"/inc/ajax.php",
            data: data,
            success:function(obj){ 
                location.reload();  
            },    
        });        
    }   
} 

function doSaveBlogPosts(){
    let blogPosts = $("#blog_posts").val();
    if(blogPosts!=""){
        var data = "ac=SVBLOGS&blogPosts="+blogPosts;
        $.ajax({
    		data:data,
            type: "POST",
            url: urlROOT+"/inc/ajax.php",
            data: data,
            success:function(obj){ 
                location.reload();  
            },    
        });        
    }      
}

function doUpdCategory(){
	var catId = $("#ncCategoryId").val();
    var catName = $("#ncCategoryName").val();
    var catIcon = $("#ncCategoryIcon").val();
    var data = "ac=UPDCAT&catId="+catId+"&catName="+catName+"&catIcon="+catIcon;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){ 
            location.reload();                              
        },    
    });	
}

function doChgCategory(){
	var idCat = $("#allAdminCats").val();
	$("#idCatRemove").val(idCat);
}

function doUplCategoryXLS(){	
	var idCat = $("#uplAdminXLS").val();
	$("#idCatUpload").val(idCat);	
}

function doReloadPostImage(idPost,idImage,postTitle){
	var data = 'ac=RLDIMG&idPost='+idPost+'&idImage='+idImage;
	$.ajax({
		data:data,
		url: urlROOT+'/inc/ajax.php',
		type:'post',
		async:'false',
		success:function(obj){
		    document.location.href = urlROOT + "/blog/" + postTitle + "-" + idPost;
		},
		error:function(){}
	});	    
}

function doUploadUsersCommentsXLS(){
    var form = $('#uplUsersCommentsIA')[0];
    var data = new FormData(form);
    $("#uplUsersCommentsResult").html("Subiendo fichero de usuarios para comentarios IA  ...");
    $.ajax({
        type: "POST",
        enctype: 'multipart/form-data',
        url: urlROOT+"/admin/uploadUsersCommentsXls.php",
        data: data,
        processData: false,
        contentType: false,
        cache: false,
        success: function (data) {
            $("#uplUsersCommentsResult").html("Fichero subido! Se han subido " + data + " nuevos nombres/apellidos");
        },
        error: function(requestObject, error, errorThrown) {
            $("#uplUsersCommentsResult").html("Error subiendo el fichero de usuarios");
        }
    });    
}

function doUploadContentsXLS(){
    var form = $('#uplContentsXLS')[0];
    var data = new FormData(form);
    $("#uplContentsResult").html("Subiendo fichero de contenidos ...");
    $.ajax({
        type: "POST",
        enctype: 'multipart/form-data',
        url: urlROOT+"/admin/uploadContentsXls.php",
        data: data,
        processData: false,
        contentType: false,
        cache: false,
        success: function (data) {
            $("#uplContentsResult").html("Nuevos contenidos subidos!");
        },
        error: function(requestObject, error, errorThrown) {
            $("#uplContentsResult").html("Error subiendo el fichero de contenidos");
        }
    });
}

function doRemoveCategory(){
	var idCatRemove = $("#idCatRemove").val();
    var data = "ac=RMVCAT&idCat="+idCatRemove;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){ 
            location.reload();                              
        },    
    });	
}

function doHideContent(id){
    var data = "ac=HDFNT&id="+id;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){ 
            location.reload();                              
            //document.location.href = urlROOT+"/admin/traducir";
        },    
    });     
}

function doResetContentIA(id){
    var data = "id="+id;
    $.ajax({
        type: "POST",
        url: urlROOT+"/crons/changeContentDetailIA.php",
        data: data,
        success:function(obj){ 
            location.reload();                                
        },    
    }); 
}

function doRemoveContent(id){
    var data = "ac=RMCC&id="+id;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){ 
            location.reload();  
        },    
    });     
}

function addDownload(id){
    var data = "ac=ADDDWN&id="+id;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){ 
            location.reload();  
        },    
    });     
}

function doLogin(){
    var username = $("#username").val();
    var password = $("#password").val();
    var data = "u="+username+"&p="+password;
    $.ajax({
        type: "POST",
        url: urlROOT+"/admin/doLogin.php",
        data: data,
        success:function(obj){ 
            location.reload();                              
        },    
    });
}

function doLogout(){
	var data = 'ac=LOGOUT';
	$.ajax({
		data:data,
		url: urlROOT+'/inc/ajax.php',
		type:'post',
		async:'false',
		success:function(obj){
            document.location.href = urlROOT;
		},
		error:function(){}
	});				
}

function doCleanCache(){
	var data = 'ac=CLCACHE';
	$.ajax({
		data:data,
		url: urlROOT+'/inc/ajax.php',
		type:'post',
		async:'false',
		success:function(obj){},
		error:function(){}
	});				
}

function removePost(id){
    var data = "ac=RMVPOST&id="+id;
    $.ajax({
        type: "POST",
        url:  urlROOT+"/inc/ajax.php",
        data: data,
        success: function(obj){
            location.reload();
        },
    });
} 

function resetPost(id){
    var data = "ac=RSTPOST&id="+id;
    $.ajax({
        type: "POST",
        url:  urlROOT+"/inc/ajax.php",
        data: data,
        success: function(obj){
            location.reload();
        },
    });
} 

function doSearchContents(){
    var url = urlROOT;
    var cat = mainCat;
    var sc = $("#subcategories").val();
    var pr = $("#provinces").val();
    var ci = $("#cities").val();    
    var title =  $('#txtSearch').val();
    var numpage =  $('#pPAG').val();
    if(cat!="") url += "/"+cat;
    if(sc!="" && sc!=undefined) url += "/"+sc;
    if(pr!="" && pr!=undefined) url += "/"+pr;
    if(ci!="" && ci!=undefined) url += "/"+ci;    
    if(title!==''){
        url += '?pT='+title;
        if(numpage > 1){
            url += '&pP='+numpage;
        }                
    }else{
        if(numpage > 1){
            url += '?pP='+numpage;
        }                
    }
	document.location.href = url;
}

function doSearchContentsResp(){
    var url = urlROOT;
    var cat = mainCat;
    var sc = $("#subcategories").val();
    var pr = $("#mProvinces").val();
    var ci = $("#mCities").val();    
    var title =  $('#txtSearch').val();
    var numpage =  $('#pPAG').val();
    if(cat!="") url += "/"+cat;
    if(sc!="" && sc!=undefined) url += "/"+sc;
    if(pr!="" && pr!=undefined) url += "/"+pr;
    if(ci!="" && ci!=undefined) url += "/"+ci;    
    if(title!==''){
        url += '?pT='+title;
        if(numpage > 1){
            url += '&pP='+numpage;
        }                
    }else{
        if(numpage > 1){
            url += '?pP='+numpage;
        }                
    }
	document.location.href = url;
}



function loadContent(){
    var url = urlROOT;
    var cat = mainCat;
    var sc = $("#subcategories").val();
    var pr = $("#provinces").val();
    var ci = $("#cities").val();    
    var title =  $('#txtSearch').val();
    var numpage =  $('#pPAG').val();
    if(cat!="") url += "/"+cat;
    if(sc!="" && sc!=undefined) url += "/"+sc;
    if(pr!="" && pr!=undefined) url += "/"+pr;
    if(ci!="" && ci!=undefined) url += "/"+ci;    
    if(title!==''){
        url += '?pT='+title;
        if(numpage > 1){
            url += '&pP='+numpage;
        }                
    }else{
        if(numpage > 1){
            url += '?pP='+numpage;
        }                
    }	
	document.location.href = url;			
	
}

function doComment(){
    var id = ($("#idpost").val()).trim();
    var nombre = ($("#author").val()).trim();
    var comment = ($("#comment").val()).trim();
    var note = ($("#note").val()).trim();
    if(nombre!=="" && comment!=="" && note!==""){
        $(".msgEnvio").html("");
        var data = "ac=DOCMMNT&id="+id+"&nm="+encodeURIComponent(nombre)+"&cm="+encodeURIComponent(comment)+"&nt="+note;
        $.ajax({
            type: "POST",
            url:  urlROOT+"/inc/ajax.php",
            data:   data,
            success: function(obj){
                if(obj==1){
                    $(".msgEnvio").html("Comentario enviado correctamente").show();
					setTimeout(function(){ 
						$("#author").val("");
						$("#comment").val("");	
						$("#note").val("");
						$(".msgEnvio").hide(); 
					}, 3000);										
                }else{
                    $(".msgEnvio").html("No se ha enviado el comentario correctamente").show();
					setTimeout(function(){ 
						$("#author").val("");
						$("#comment").val("");
						$("#note").val("");
						$(".msgEnvio").hide(); 
					}, 3000);						
                }
            },
            error: function(){
                $(".msgEnvio").html("No se ha enviado el comentario correctamente").show();
				setTimeout(function(){ 
					$("#author").val("");
					$("#comment").val("");
					$("#note").val("");
					$(".msgEnvio").hide(); 
				}, 3000);						
            }
        });
    }else{
        $(".msgEnvio").html("Faltan datos o datos incorrectos").show();
    }
    
}

function doCommentValidate(id,value){
    var commentID = id;
    var action = value;
    var data = "ac=VLDTCMMNT&commentID="+commentID+"&action="+action;
    $.ajax({
        type: "POST",
        url:  urlROOT+"/inc/ajax.php",
        data:   data,
        success: function(obj){
            location.reload();
        },
    });    
}

function doProvinceIA(id){
    var data = "id="+id;
    $.ajax({
        type: "POST",
        url: urlROOT+"/crons/provinceIA.php",
        data: data,
        success:function(obj){ 
            location.reload();                                
        },    
    });    
}

function doCityIA(id){
    var data = "id="+id;
    $.ajax({
        type: "POST",
        url: urlROOT+"/crons/cityIA.php",
        data: data,
        success:function(obj){ 
            location.reload();                                
        },    
    });    
}

function doContact(){
    var nombre = ($("#nameContact").val()).trim();
    var email = ($("#emailContact").val()).trim();
    var comment = ($("#commentContact").val()).trim();
    var lang =  $("#pLANG").val();
    var comentarioOK = "Comentario enviado correctamente";
    var comentarioKO = "No se ha enviado el comentario correctamente";
    var faltanDatos = "Faltan datos o datos incorrectos";
    if(nombre!=="" && emailCheck(email)===true && comment!==""){
        $(".msgEnvio").html("");
    	var data = "ac=DOCNTCT&nm="+encodeURIComponent(nombre)+"&em="+encodeURIComponent(email)+"&cm="+encodeURIComponent(comment);
    	$.ajax({
    		type: "POST",
    		url:  urlROOT+"/inc/ajax.php",
    		data:   data,
            success: function(obj){
                if(obj==1){
                    $(".msgEnvio").html(comentarioOK).show();
					setTimeout(function(){ 
						$("#nameContact").val("");
						$("#emailContact").val("");						
						$("#commentContact").val("");												
						$(".msgEnvio").hide(); 
					}, 3000);										
                }else{
                    $(".msgEnvio").html(comentarioKO).show();
					setTimeout(function(){ 
						$("#nameContact").val("");
						$("#emailContact").val("");						
						$("#commentContact").val("");						
						$(".msgEnvio").hide(); 
					}, 3000);						
                }
            },
            error: function(){
                $(".msgEnvio").html(comentarioKO).show();
				setTimeout(function(){ 
					$("#nameContact").val("");
					$("#emailContact").val("");						
					$("#commentContact").val("");						
					$(".msgEnvio").hide(); 
				}, 3000);						
            }
    	});  
    }else{
        $(".msgEnvio").html(faltanDatos);
    } 
}

function removeContent(id){
    var data = "ac=EAM&id="+id;
    $.ajax({
        type: "POST",
        url:  urlROOT+"/inc/ajax.php",
        data:   data,
        success: function(obj){
            location.reload();
        },
    });
} 

function emailCheck(emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)

	if (matchArray==null) {		
		return false;
	}
	
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null) {		
		return false;
	}
	
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
	   		if (IPArray[i]>255) {
	      	return false;
	   		}
		}
		return true;
	}

	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		return false
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) {
	   return false;
	}
	if (len<2) {
	   return false;
	}
	return true;
}

function doFltRsp(){
    doSearchContentsResp();
}

function getProvinceCities(){
    let pr = $("#provinces option:selected").val();
    var data = "ac=GETCTPRPB&pr="+pr;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){
            $('.cities').html($('<option>', {
                value: '',
                text: 'Población'
            }));
			var data = JSON.parse(obj)
            data.forEach(function (valor, indice, array) {								
                $('.cities').append($('<option>', {
                    value: valor.friendly_city_name,
                    text: valor.city_name
                }));
            });
        },    
    });		
}

function getProvinceCitiesM(){
    let pr = $("#mProvinces option:selected").val();
    var data = "ac=GETCTPRPB&pr="+pr;
    $.ajax({
		data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){
            $('.cities').html($('<option>', {
                value: '',
                text: 'Población'
            }));
			var data = JSON.parse(obj)
            data.forEach(function (valor, indice, array) {								
                $('.cities').append($('<option>', {
                    value: valor.friendly_city_name,
                    text: valor.city_name
                }));
            });
        },    
    });		
}


function getAdminContentProvinceCities(){
    let pr = $("#c_province option:selected").text();
    var data = "ac=GETCTPRPBADM&pr="+pr;
    $.ajax({
    data:data,
        type: "POST",
        url: urlROOT+"/inc/ajax.php",
        data: data,
        success:function(obj){
            $('.poblaciones').html($('<option>', {
                value: '',
                text: 'Selecciona la población'
            }));
      var data = JSON.parse(obj)
            data.forEach(function (valor, indice, array) {                
                $('.poblaciones').append($('<option>', {
                    value: valor.city_friendly_name,
                    text: valor.city_name
                }));
            });
        },    
    });   
}

$('document').ready(function(){
    
	$("#verTelefono").mouseup(function(){
        var id = $("#pID").val();
		var data = "ac=GETPHONE&id="+id;
        $.ajax({
            data:data,
            type: "POST",
            url: urlROOT+"/inc/ajax.php",
            data: data,
            success:function(obj){	
				$("#verTelefono").html(obj);
				$("#verTelefono2").html(obj);
			}
		});	
	});
	
	$("#verEmail").mouseup(function(){
        var id = $("#pID").val();
		var data = "ac=GETEMAIL&id="+id;
        $.ajax({
            data:data,
            type: "POST",
            url: urlROOT+"/inc/ajax.php",
            data: data,
            success:function(obj){	
				$("#verEmail").html(obj);
				$("#verEmail2").html(obj);
			}
		});	
	});    
    
    
    $("#txtSearch404").keypress(function(event){
        if(event.which == 13){
            event.preventDefault();
            doSearchContents();
        }
    });

    if($('#pPAGE').val()=='DT'){
		
        $('.popup-gallery').magnificPopup({
            delegate: 'a',
            type: 'image',
            tLoading: 'Loading image #%curr%...',
            mainClass: 'mfp-img-mobile',
            gallery: {
                enabled: true,
                navigateByImgClick: true,
                preload: [0,1]
            },
            image: {
                tError: 'The image #%curr% could not be loaded.',
            }
        });
    }
    	
    $("#password").keypress(function(event){
        if(event.which == 13){
            event.preventDefault();
            doLogin();
        }
    });   
       
    (function(window){
    
      function extend(a, b) {
        for(var key in b) { 
          if(b.hasOwnProperty(key)) {
            a[key] = b[key];
          }
        }
        return a;
      }
    
      function each(collection, callback) {
        for (var i = 0; i < collection.length; i++) {
          var item = collection[i];
          callback(item);
        }
      }
    
      function Menu(options) {
        this.options = extend({}, this.options);
        extend(this.options, options);
        this._init();
      }

      Menu.prototype.options = {
        wrapper: '#o-wrapper',          // The content wrapper
        type: 'slide-left',             // The menu type
        menuOpenerClass: '.c-button',   // The menu opener class names (i.e. the buttons)
        maskId: '#c-mask'               // The ID of the mask
      };
    
      Menu.prototype._init = function() {
        this.body = document.body;
        this.wrapper = document.querySelector(this.options.wrapper);
        this.mask = document.querySelector(this.options.maskId);
        this.menu = document.querySelector('#c-menu--' + this.options.type);
        this.closeBtn = this.menu.querySelector('.c-menu__close');
        this.menuOpeners = document.querySelectorAll(this.options.menuOpenerClass);
        this._initEvents();
      };

      Menu.prototype._initEvents = function() {
        this.closeBtn.addEventListener('click', function(e) {
          e.preventDefault();
          this.close();
        }.bind(this));

        this.mask.addEventListener('click', function(e) {
          e.preventDefault();
          this.close();
        }.bind(this));
      };
    
      Menu.prototype.open = function() {
        this.body.classList.add('has-active-menu');
        this.wrapper.classList.add('has-' + this.options.type);
        this.menu.classList.add('is-active');
        this.mask.classList.add('is-active');
        this.disableMenuOpeners();
      };
    
      Menu.prototype.close = function() {
        this.body.classList.remove('has-active-menu');    
        this.wrapper.classList.remove('has-' + this.options.type);
        this.menu.classList.remove('is-active');
        this.mask.classList.remove('is-active');
        this.enableMenuOpeners();
      };
    
      Menu.prototype.disableMenuOpeners = function() {
        each(this.menuOpeners, function(item) {
          item.disabled = true;
        });
      };
    
      Menu.prototype.enableMenuOpeners = function() {
        each(this.menuOpeners, function(item) {
          item.disabled = false;
        });
      };

      window.Menu = Menu;
    
    })(window);

    var slideRight = new Menu({
        wrapper: '#o-wrapper',
        type: 'slide-right',
        menuOpenerClass: '.c-button',
        maskId: '#c-mask'
    });
	
    var slideRightBtn = document.querySelector('#c-button--slide-right');
    slideRightBtn.addEventListener('click', function(e) {
        e.preventDefault;
        slideRight.open();
    });  
    
    $("#txtSearch").keypress(function(event){
        if(event.which == 13){
            event.preventDefault();
            doSearchContents();
        }
    });

})