﻿$(document).ready(function() {

    equalHeight($(".sys_contentbox_equal_height .sys_contentbox"));
    equalHeight($(".btn-equal-height"));

    cookieBar();
    getAlertMessageXML();
    getAlertMessageXML2();
    getNotificationBannerXML(); 
    document.getElementById("alert-close").addEventListener("click", function(){ 
        setAlertCookie(); 
    }, false);
    
    document.querySelector("#form1").addEventListener("keypress", function(event) {
        var code = event.keyCode || event.which;
        if(code == 13 || event.key == "Enter" || event.code == "NumpadEnter" ){
            event.preventDefault();
        }
    });

    var cookieBanner = document.getElementsByClassName('can_gdpr_banner_container')[0];
    if (cookieBanner != null){
        var AdvertisingPushPaddingTotal = screen.width <= 768 ? 20 : 60;
        var TotalHeight = AdvertisingPushPaddingTotal + cookieBanner.offsetHeight;
        document.getElementById('Advertising-push').style.height = TotalHeight + "px";
        document.getElementsByClassName('can_gdpr_consent_accept')[0].addEventListener('click', function (event) {
            document.getElementById('Advertising-push').style.height = 0;
        });
    } 

    /*----------------------------------------------------------*/
    /*ACCORDION  JS */
    /*----------------------------------------------------------*/
    $('.accordion-item').each(function (i) {
        var item = $(this);
        item.find('.accordion-content').slideUp(0);
        item.find('.accordion-switch').attr('tabIndex', 0);
        item.find('.accordion-switch').keypress(function(event) {
            if (event.which === 13) {
                $(this).click();
            }
        });
        item.find('.accordion-switch').click(function () {
            var displ = item.find('.accordion-content').css('display');
            item.closest('ul').find('.accordion-switch').each(function () {
                var li = $(this).closest('li');
                li.find('.accordion-content').slideUp(300);
                $(this).parent().removeClass("selected");
            });
            if (displ == "block") {
                item.find('.accordion-content').slideUp(300)
                item.removeClass("selected");
            } else {
                item.find('.accordion-content').slideDown(300)
                item.addClass("selected");
            }
        });
    });
    $('.accordion').css("visibility", "visible");

    /*----------------------------------------------------------*/
    /*GOOGLE ANALYTICS EVENT CLICKS JS */
    /*----------------------------------------------------------*/
    var filetypes = /\.(zip|exe|dmg|pdf|doc.*|xls.*|ppt.*|mp3|txt|rar|wma|mov|avi|wmv|flv|wav)$/i;
    var baseHref = '';
    if (jQuery('base').attr('href') != undefined) baseHref = jQuery('base').attr('href');
    jQuery('a').on('click', function (event) {
        var el = jQuery(this);
        var track = true;
        var href = (typeof (el.attr('href')) != 'undefined') ? el.attr('href') : "";
        var isThisDomain = href.match(document.domain.split('.').reverse()[2] + '.' + document.domain.split('.').reverse()[1] + '.' + document.domain.split('.').reverse()[0]);
        if (!href.match(/^javascript:/i)) {
            var elEv = []; elEv.value = 0, elEv.non_i = false;
            if (href.match(/^mailto\:/i)) {
                elEv.category = "email";
                elEv.action = "click";
                elEv.label = href.replace(/^mailto\:/i, '');
                elEv.loc = href;
            }
            else if (href.match(filetypes)) {
                var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
                elEv.category = "download";
                elEv.action = "click-" + extension[0];
                elEv.label = href.replace(/ /g, "-");
                elEv.loc = baseHref + href;
            }
            else if (!href.match(/www/) && !href.match(/test.internet/) && isThisDomain) {
                elEv.category = "SubDomain";
                elEv.action = "click";
                elEv.label = href.replace(/^https?\:\/\//i, '');
                elEv.non_i = true;
                elEv.loc = href;
            }
            else if (href.match(/^https?\:/i) && !isThisDomain) {
                elEv.category = "external";
                elEv.action = "click";
                elEv.label = href.replace(/^https?\:\/\//i, '');
                elEv.non_i = true;
                elEv.loc = href;
            }
            else if (href.match(/^tel\:/i)) {
                elEv.category = "telephone";
                elEv.action = "click";
                elEv.label = href.replace(/^tel\:/i, '');
                elEv.loc = href;
            }
            else track = false;
            if (track) {
                ga('send', 'event', elEv.category.toLowerCase(), elEv.action.toLowerCase(), elEv.label.toLowerCase(), elEv.value, elEv.non_i);
                if (el.attr('target') == undefined || el.attr('target').toLowerCase() != '_blank') {
                    setTimeout(function () { location.href = elEv.loc; }, 400);
                    return false;
                }
            }
        }
    });
});

function equalHeight(group) {
    tallest = 0;
    group.each(function () {
        thisHeight = $(this).height();
        if (thisHeight > tallest) {
            tallest = thisHeight;
        }
    });
    group.height(tallest);
}

function EncodeURLString(URL) {
    return URL.replace(/&amp;/g, "&").replace(/%2f/g, "/");
}

function MyValeSearch_EntrBtn(e,lang){
    var code = e.keyCode || e.which;
    if(code == 13 || e.key == "Enter" || e.code == "NumpadEnter" ){
        e.preventDefault();
        MyValeSearch(lang);
    }
}
function MyValeSearch(lang){
    if(document.getElementById("MyVale_txt").value){
        try{
            ga('send', 'event', 'MyVale', 'search', 'MyVale postcode search');
        } catch(err){                
        }
        var Language = lang == 1 ? "myvale" : "fybromorgannwg";
        window.location.href = "https://" + Language + ".valeofglamorgan.gov.uk/myCouncil.aspx?atTxtStreet=" + document.getElementById("MyVale_txt").value;
    }
}
function SiteSearch_EntrBtn(e,device,lang){
    var code = e.keyCode || e.which;
    if(code == 13 || e.key == "Enter" || e.code == "NumpadEnter" ){
        e.preventDefault();
        SiteSearch(device,lang);
    }
}
function SiteSearch(device,lang){
    var SiteSearch_txt = "SiteSearch_txt_" + device;
    var keywords = document.getElementById(SiteSearch_txt).value;
    if(keywords){
        var Language = lang == 1 ? "en" : "cy";
        window.location.href = "/" + Language + "/search.aspx?search_keywords=" + keywords;
    }
}
function MinutesSearch_EntrBtn(e,lang){
    var code = e.keyCode || e.which;
    if(code == 13 || e.key == "Enter" || e.code == "NumpadEnter" ){
        e.preventDefault();
        MinutesSearch(lang);
    }
}
function MinutesSearch(lang){
    var MinutesSearch_txt = "MinutesSearch_txt"; 
    var keywords = document.getElementById(MinutesSearch_txt).value;
    if(keywords){
        var Language = lang == 1 ? "en" : "cy";
        window.location.href = "/" + Language + "/our_council/Council-Structure/minutes,_agendas_and_reports/Minutes-agendas-and-reports-search.aspx?search_keywords=" + keywords;
    }
}
function ValeConnect_EntrBtn(e){
    var code = e.keyCode || e.which;
    if(code == 13 || e.key == "Enter" || e.code == "NumpadEnter" ){
        e.preventDefault();
        ValeConnect();
    }
}
function ValeConnect(lang){
    var email = document.getElementById("ValeConnect_txt").value;
    if(email){      
        window.location.href = "https://public.govdelivery.com/accounts/UKGLAMORGAN/subscribers/qualify?email=" + email;
    }
}

function setAlertCookie(cname) {
    document.cookie = "alertMessageCookie=" + document.getElementById("alert-message").innerHTML + ";secure" ;
    console.log(getCookie("alertMessageCookie"));
}
function checkAlertCookie() {
    var AlertCookie = getCookie("alertMessageCookie");
    var AlertMessage = document.getElementById("alert-message").innerHTML;     
        if(AlertCookie != "" && AlertMessage == AlertCookie){
            existsAlertCookie = true;  
        } else {          
            existsAlertCookie = false;   
    }         
    return existsAlertCookie; 
}
function getAlertMessageXML(){
    var xml_url = document.URL.toString().indexOf("/en/") > -1 ? "/SharedContent/Alert-Message-En.xml?Time=" : '/SharedContent/Alert-Message-Cy.xml?Time='
    xml_url = xml_url + new Date().getTime();
    $.ajax({
        type: "GET",
        url: xml_url,
        dataType: "xml",
        success:function(data){   
          populateAlertMessage(data);
        }
    });
}
function populateAlertMessage(data){
    $(data).find('AlertMessage').each(function(){   
        if($(this).find('Active').text() == "true" || $(this).find('Active').text() == "True"){
            document.getElementById("alert-title").innerHTML = $(this).find('Title').text();
            document.getElementById("alert-message").innerHTML = $(this).find('Message').text();
            document.getElementById("alert-message").href = $(this).find('PageLink').text();
            document.getElementById("alert-container").className += " alert-" + $(this).find('Colour').text().trim(); 
                document.getElementById("alert-container").style.display = "block";
             } else {
            document.getElementById("alert-container").style.display = "none";
        }
    });
}
function getAlertMessageXML2(){
    var xml_url = document.URL.toString().indexOf("/en/") > -1 ? "/SharedContent/Alert-Message-En2.xml?Time=" : '/SharedContent/Alert-Message-Cy2.xml?Time='
    xml_url = xml_url + new Date().getTime();
    $.ajax({
        type: "GET",
        url: xml_url,
        dataType: "xml",
        success:function(data){   
          populateAlertMessage2(data);
        }
    });
}
function populateAlertMessage2(data){
    $(data).find('AlertMessage').each(function(){   
        if($(this).find('Active').text() == "true" || $(this).find('Active').text() == "True"){
            document.getElementById("alert-title2").innerHTML = $(this).find('Title').text();
            document.getElementById("alert-message2").href = $(this).find('PageLink').text();
            document.getElementById("alert-message2").innerHTML = $(this).find('Message').text();
            document.getElementById("alert-container2").className += " alert-" + $(this).find('Colour').text().trim(); 
                document.getElementById("alert-container2").style.display = "block";
             } else {
            document.getElementById("alert-container2").style.display = "none";
        }
    });
}

function ToggleMenu(id){
  var dropdownItemsId = document.getElementById(id).getAttribute("data-toggle");
  var dropdownItemsElement = document.getElementById(dropdownItemsId);
  if (dropdownItemsElement.style.display === "none") {
    dropdownItemsElement.style.display = "block";
  } else {
    dropdownItemsElement.style.display = "none";
  }
}

function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

function subscribeToTopic(input,topic_id){
    var email = document.getElementById(input).value;
    window.location = "https://public.govdelivery.com/accounts/UKGLAMORGAN/subscriber/qualify?email=" + email + "&topic_id=" + topic_id.toUpperCase();
}

// function cookieBar(){
//     document.getElementById("vog-cookie-bar").style.display = !checkCookie("CookiePreference") ? "block" : "none";
//     //document.getElementById("vog-cookie-bar").style.display = !checkCookie("CookiePreference") ? "block" : "block";
// }

// function checkCookie(cname) {
//     var cookieExists = getCookie(cname) != "" ? true : false;  
//     return cookieExists; 
// }

// function setCookiePreference(source){
//     document.cookie = "CookiePreference=" + source + ";Path=/;secure" ;
//     document.getElementById("vog-cookie-bar").style.display = "none";   
// }

// function allowStatistics(){
//     var cookieExists = getCookie("CookiePreference") != "" ? true : false;  
//     if(cookieExists){
//       if(getCookie("CookiePreference") == "all"){
//         return true;
//       }
//     }
//     return false;
// }

function cookieBar(){
    if(document.getElementById("vog-cookie-bar")){
        document.getElementById("vog-cookie-bar").style.display = !checkCookie("CookiePreference") ? "block" : "none";  
    }
}

function checkCookie(cname) {
    var cookieExists = getCookie(cname) != "" ? true : false;  
    return cookieExists; 
}

function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}

function setCookiePreference(source){
    var now = new Date();
    now.setMonth( now.getMonth() + 2 );
    if(source == "all" || document.getElementById("cookie-statistics").checked){
      document.cookie = "CookiePreference=all;Path=/;secure;expires=" + now.toUTCString() + ";";
    } else {   
      document.cookie = "CookiePreference=necessary;Path=/;secure;expires=" + now.toUTCString() + ";";
    }
     document.getElementById("vog-cookie-bar").style.display = "none";    
}

function allowStatistics(){
    var cookieExists = getCookie("CookiePreference") != "" ? true : false;  
    if(cookieExists){
      if(getCookie("CookiePreference") == "all"){
        return true;
      }
    }
    return false;
}

/*----------------------------------------------------------*/
/* Notification Banner */
/*----------------------------------------------------------*/
function getNotificationBannerXML() {
    var xml_url = document.URL.toString().indexOf("/en/") > -1 ? "/SharedContent/Notice-Banner.xml?Time=" : '/SharedContent/Notice-Banner-Cy.xml?Time='
    xml_url = xml_url + new Date().getTime();
    $.ajax({
        type: "GET",
        url: xml_url,
        dataType: "xml",
        success:function(data){   
          populateNotificationBanner(data);
        }
    });
}

function populateNotificationBanner(data) {
    $(data).find('NoticeBanner').each(function() {   
        if($(this).find('Enabled').text() == "true" || $(this).find('Enabled').text() == "True") {
            //alex changes start here
            document.getElementById("banner-title").innerHTML = $(this).find('BannerTitle').text();
            document.getElementById("first-item-icon").src = $(this).find('IconTwo').text();
            document.getElementById("first-item-icon").src = $(this).find('IconOne').text();
            document.getElementById("first-item-link").innerHTML = $(this).find('FirstLinkTitle').text();
            document.getElementById("first-item-link").href = $(this).find('FirstLink').text();
            document.getElementById("first-item-body").innerHTML = $(this).find('FirstLinkBody').text();

        } else {
            document.getElementById("notice-banner-home").style.display = "none";
        }
    });
}