
var ieversion = 10;
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x;
    var ieversion = new Number(RegExp.$1)
}

function popupTellAFriend(url) {
    var win = window.open(url, '', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=460,height=535');
    return false;
}

// Function to clear textbox fields:
function clear_field(e, baseclass) {
    var newclass = "" + baseclass + " black";
    $(e).removeClass().addClass(newclass);
    // fixes call to function when clicking it again:
    $(e).attr('onclick', '');
}

// go to page
function redir(url) {
    window.location = url;
    return false;
}

// set imgs on input fields with javascript
function setTbxCss() {
    $('#search_input').addClass('bg');
    $('#tbx_name').addClass('name');
    $('#tbx_email').addClass('email');
    if ($('#waste_pc').length > 0)
        $('#waste_pc').addClass('pc_bg');

    if ($('#search_kamer').length > 0)
        $('#search_kamer').addClass('bg');
}

// external links
function add_external_links() {
    var img = '&nbsp;<img src="/assets/stadskanaal/images/newwindow.png" alt="externe website" title="deze link verwijst naar een externe website" />';

    $('a.external_url').each(function (i) {
        $(this).attr('title', function () {
            return "deze link verwijst naar een externe website"; 
        });
        $(this).removeClass('external_url');
        $(this).html($(this).html() + img);
    });
}
function handleContactCompleted(xhr) {
    $('#canvas').append(xhr);
    
    $('a#close_popupcontact_init').bind('click', function() {
        return popupContact(false);
    });

    $('#contact_info').removeClass('hidden').addClass('show');
}
function popupContact(open) {
    if (open) {
        $('#contact_info').removeClass('hidden').addClass('show');
        return false;
        if ($('#contact_info').length == 0) {
            $.ajax({
                type: "GET",
                url: "/Menu/contactinfo.htm",
                //data: $.toJSON(param),
                contentType: "text/html",
                dataType: "html",
                success: handleContactCompleted,
                error: errorHandling
            });
        } else {
            $('#contact_info').removeClass('hidden').addClass('show');
        }
    }
    else
        $('#contact_info').removeClass('show').addClass('hidden');
    return false;
}

/*menu popup functions*/

var timer;
function popupMenu(category) {
    clearTimeout(timer);
    var left = "";
    switch (category) {
        case "actueel":
            left = " ll";
            break;
        case "regelen":
            left = " lm";
            break;
        case "politiek":
            break;
        case "gemeente":
            left = " rm";
            break;
        case "werken":
            left = " rr";
            break;
    }
    $('#menu_popup_' + category).removeClass('offview').addClass(left);
    $('#menu_item_' + category).removeClass('hidden').addClass('open');
    $('#bg_faded').removeClass('offview').addClass('open');
    $('#hdr_' + category).removeClass('offview').addClass('open');
    return false;
}

function stopTimer() {
    clearTimeout(timer);
}

// do pretty fade stuff? wait before applying class?
function fadeOutMenu() {
    timer = window.setTimeout(resetMenuCss, 400);
}
function resetMenuCss() {
    $('#bg_faded').removeClass('open').addClass('offview');
    $('.menu_popup').removeClass('open').addClass('offview');
    $('.menu_popup_header').removeClass('open').addClass('offview');
    $('.menu_item').removeClass('open');
}

function show(el) {
    var classname = $(el).parent().attr('class').replace('popup_wrap p_', '');
    $(el).removeClass('faded').addClass('selected').addClass(classname);

    var img = $('a img.js_header', $(el)).first();

    var src = img.attr('src').replace('_off.', '_on.');
    img.attr('src', function () {
        return src;
    });

    $('div.item', 'div.popup_wrap').first().addClass('first');
}

function fade(el) {
    var classname = $(el).parent().attr('class').replace('popup_wrap p_', '');
    $(el).removeClass('selected').removeClass(classname).addClass('faded');

    var img = $('a img.js_header', $(el)).first();
    var src = img.attr('src').replace('_on.', '_off.');
    img.attr('src', function () {
        return src;
    });
    $('div', $(el)).first().addClass('not_selected');
    $('div.item', 'div.popup_wrap').first().addClass('first');
}

function select(el) {
    $(el).addClass("selected");
}
function deselect(el) {
    $(el).removeClass("selected");
}

/*rating*/
function fill_stars(id) {
    for (i = 1; i <= 5; i++) {
        if (id >= i) {
            $('#star' + i).attr("src", "/assets/stadskanaal/images/star_filled.jpg");
        }
    }
}
function empty_stars(id) {
    for (i = 5; i >= 1; i--) {
        if (id <= i) {
            $('#star' + i).attr("src", "/assets/stadskanaal/images/star_empty.jpg");
        }
    }
}

function deselect_stars() {
    $('.star_img').attr("src", "/assets/stadskanaal/images/star_empty.jpg");
}

/*datepicker*/
function initDatePicker(id, field) {
    //  Get Preselected date for DatePicker:
    //  Init. DatePicker:
    if($('#' + id).length > 0){
        $('#' + id).datepicker({
            inline: true,
            showOtherMonths: true,
            selectOtherMonths: true,
            changeMonth: true
        });
        $.datepicker.regional["nl"];
    }
}

// resolution check

function checkResolution() {
    var res = GetCookie('resolution');
    
    if (res == null) {
        w = screen.width; // -> gaat mis met 2 monitoren en 1tje op high en de andere op low 

        if (window.innerWidth) {
            w = window.innerWidth;
        } else {
            if (!(document.documentElement.clientWidth == 0)) { //strict mode
                w = document.documentElement.clientWidth;
            } else { //quirks mode
                w = document.body.clientWidth;
            }
        }

        actual_res = 1024; //default
        if (w > 1024) actual_res = 1280;


        //alert(w);
        SetCookie('resolution', actual_res);

        if (w <= 1024 && navigator.cookieEnabled)
            location.href = location.href; // dit gaat mis zonder cookies
    }
}

function GetCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
            return getCookieVal(j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}


function SetCookie(name, value) {
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    var path = (argc > 3) ? argv[3] : null;
    var domain = (argc > 4) ? argv[4] : null;
    var secure = (argc > 5) ? argv[5] : false;

    document.cookie = name + "=" + escape(value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");    
}


function DeleteCookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = GetCookie(name);
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}


function getCookieVal(offset) {
    var endstr = document.cookie.indexOf(";", offset);
    if (endstr == -1)
        endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

if (window.addEventListener) {
    window.addEventListener("load", checkResolution, false);
} else if (window.attachEvent) {
    window.attachEvent("onload", checkResolution);
}


// eformulier css for error box (temp)
function error_box() {
    $('#error_box').removeClass('offview');
    $('#field_error_example').addClass('error');
}
function outErrorBox() {
    timer = window.setTimeout(resetErrorBox, 5000);
}
function resetErrorBox() {
    $('#error_box').addClass('offview');
    $('#field_error_example').removeClass('error');

}

//  FAQ List scripts:
function toggleFaqDescription_Dropdown(elm) {
    $("div.faq_description_dropdown").each(function() {
        $(this).hide();
    });
    toggleFaqDescription(elm);
}
function toggleFaqDescription(elm) {
    $('#' + elm).toggle();   
}

// Activity/Risbis/Politiek Calendar Popup functions
var active = false;
function popupActivity(el) {
    var openedIsClicked = false;

    //  Hide all active popups:
    $('div.activity_popup').each(function () {
        if (!($(this, $(el).parent()).first().hasClass('offview')))
            if ($('div.activity_popup', $(el).parent()).first().attr('id') == $(this, $(el).parent()).first().attr('id')) {
                openedIsClicked = true;
            }
        $(this, $(el).parent()).first().addClass('offview');
    });

    if (openedIsClicked == false) {
        $('div.activity_popup', $(el).parent()).first().removeClass('offview');
        if (ieversion == 7) {
            $('div.activity_popup', $(el).parent()).first().css('margin-left', '-164px');
            $('div.activity_popup', $(el).parent()).first().css('margin-top', '-' + $('div.activity_popup', $(el).parent()).first().height() + 'px');
        }
        else {
            $('div.activity_popup', $(el).parent()).first().css('margin-left', '-137px');
            $('div.activity_popup', $(el).parent()).first().css('margin-top', '-' + ($('div.activity_popup', $(el).parent()).first().height() + 20) + 'px');
        }
    }
    //  
    return false;
}

var dropped = false;
function showMonths() {
    if (dropped) {
        $('#month_selector').addClass('hidden');
        dropped = false;
    }
    else {
        $('#month_selector').removeClass('hidden');
        dropped = true;
    }
    return false;
}

var partymember_id = 0;
// Fractie popup functions
function popupPartyInfo(el) {
    var openedIsClicked = false;
    //  Hide all active popups:
    $('div.board_popup').each(function () {
        if (!($(this, $(el).parent()).first().hasClass('offview')))
            if ($('div.board_popup', $(el).parent()).first().attr('id') == $(this, $(el).parent()).first().attr('id')) {
                openedIsClicked = true;
            }
        $(this, $(el).parent()).first().addClass('offview');
    });

    if (openedIsClicked == false)
    {
        $('div.board_popup', $(el).parent()).first().removeClass('offview');
    }
    //  
    return false;
}

//  Code to execute when the DOM is fully loaded (ie. on document.ready)
$(document).ready(function () {
    //  
    setTbxCss();
    //  
    initDatePicker('search_date_start', 'start');
    initDatePicker('search_date_end', 'end');
    
    //  
    if ($('.has-js').length > 0) {
        $('.has-js').removeClass("offview");
        $('.nohas-js').addClass("offview");
    }
    if ($('.faq_description').length > 0) {
        $('.faq_description').addClass('hidden');
    }
    if ($('.faq_ddl_section').length > 0) {
        $('.faq_ddl_section').removeClass('hidden');
        var first = true;
        var displaystyle;
        $('.faq_description_dropdown').each(function () {
            displaystyle = first ? "block" : "hidden";
            $(this).addClass(displaystyle);
            first = false;
        })
    }
    add_external_links();
});

function changeFlashBannerImage2(pagetype) {
    //_PAGETYPE = pagetype;
    var maxItemId = $('ul.flash_links li').size();
    var prevItemId = (activeItemId == 1) ? maxItemId : activeItemId - 1;
    var currentItemId = activeItemId;
    var nextItemId = (activeItemId == maxItemId) ? 1 : activeItemId + 1;

    var prevItem = $('ul.flash_links li#item_' + prevItemId);
    // Hide previous active image (only if cssClass active is set):
    if (prevItem.hasClass('active')) {
        prevItem.removeClass('active').addClass('inactive');
        $('ul.flash_links li#item_' + prevItemId + ' a span').show();
    }
    // Position new active pop-up:
    var o1, o2, dx, dy, distance, marginLeft, backgroundLeft;
    if (counter < 3) {
        if (currentItemId == 2) {
            o1 = $('ul.flash_links').offset();
            o2 = $('ul.flash_links li#item_' + currentItemId + ' div.flash_popup a').offset();
            dx = o1.left - o2.left;
            dy = o1.top - o2.top;
            distance = Math.sqrt(dx * dx + dy * dy);
            marginLeft = (distance - $('ul.flash_links li#item_' + currentItemId + ' div.flash_popup').width() - 1500);
            backgroundLeft = 197;
            $('ul.flash_links li#item_' + currentItemId + ' div.flash_popup').css('marginLeft', '-' + marginLeft + 'px');
            $('ul.flash_links li#item_' + currentItemId + ' div.flash_popup a').css('background', 'transparent url(/assets/stadskanaal/images/highlighted_items_bubble_wide.png) no-repeat -' + backgroundLeft + 'px bottom');
            counter++;
        }
        if (currentItemId == 3) {
            o1 = $('ul.flash_links').offset();
            o2 = $('ul.flash_links li#item_' + currentItemId + ' div.flash_popup a').offset();
            dx = o1.left - o2.left;
            dy = o1.top - o2.top;
            distance = Math.sqrt(dx * dx + dy * dy);
            marginLeft = (distance - $('ul.flash_links li#item_' + currentItemId + ' div.flash_popup').width() - 1500);
            backgroundLeft = 47;
            $('ul.flash_links li#item_' + currentItemId + ' div.flash_popup').css('marginLeft', '-' + marginLeft + 'px');
            $('ul.flash_links li#item_' + currentItemId + ' div.flash_popup a').css('background', 'transparent url(/assets/stadskanaal/images/highlighted_items_bubble_wide.png) no-repeat -' + backgroundLeft + 'px bottom');
            counter++;
        }
    }
    //
    var imgSrc = $('ul.flash_links li#item_' + currentItemId + ' img').attr('src');
    $('div.box_flash').css('background', 'transparent url("' + imgSrc + '") no-repeat top left');
    // Show new active image:
    var currentItem = $('ul.flash_links li#item_' + currentItemId);
    currentItem.removeClass('inactive').addClass('active');
    $('ul.flash_links li#item_' + currentItemId + ' a span').hide();
    //  Init. next banner change (delay):
    activeItemId = nextItemId;
}


/*collegebesluiten*/
function openBesluit(el) {
    var current = $('div.collegebesluit > div#' + $(el).attr('name')); // id of item div = name of href

    if (current.hasClass('hidden')) { // werkt alleen met display: hidden/block
        current.slideDown(300, function () {
            $(this).removeClass('hidden').focus().removeAttr('style'); // geen inline style op html elementen
        });
    }
    else {
        current.slideUp(300, function () {
            $(this).addClass('hidden').focus().removeAttr('style'); // geen inline style op html elementen
        });
    }

    return false;
}

/*raadsvergaderingen (ander js?)*/

function openShare(shareId) {
    $('#' + shareId).removeClass('hidden');
    $('#' + shareId + ' > a.sharethis').removeClass('hidden');
    return false;
}

function closeShare(shareId) {
    $('#' + shareId).addClass('hidden');
    $('#' + shareId + ' > a.sharethis').addClass('hidden');
    return false;
}

