jQuery.fn.addPrintButton = function() {
    return this.each(function(){
        $('<div id="printbuttoncontainer"><a href="#" class="hideonprint printbutton">Afdrukken</a></div>').click(function(){window.print();return false;}).appendTo(this);
    });
}
function toggle_state(checkbox_name, state) {
    $('input[name=' + checkbox_name + ']').each(
        function (i) {this.checked = state;}
    );
}

function confirm_batch(frm) {
    if (frm.batch_action.value == 'delete') {
        return confirm('Weet u zeker dat u alle geselecteerde records wilt verwijderen?');
    }
    return true;
}

function show_slideshow(data) {
    var result = $('#contentcenter');
    for (var i = 0; i < data.feed.entry.length; i++) {
//for (var i = 0; i <24; i++) {{ // as my picasa web album has more than 24 photos!
        var item = data.feed.entry[i];
        var title = item.title.$t;// the filename
        var imgsrc = item.content.src;//useful for downloading image
        var height = parseInt(item.gphoto$height.$t);
        var width = parseInt(item.gphoto$width.$t);
        var orientation = (height>width ? "vert" : "hor");
        var bigthumb = item.media$group.media$thumbnail[1].url;
        var description = item.media$group.media$description.$t;// Picasa Web photo caption
        result.append("<div class='float'><a href='" + imgsrc + "?imgmax=640' class='"+orientation+"'><img src='" + bigthumb + "' alt='' title=''/><br/><p>"+description+"</p></a></div>");
    }
    $('.float a').lightBox({overlayBgColor: '#2C336F', overlayOpacity: 0.9, 
            imageLoading: '/html/img/lightbox-ico-loading.gif', 
            imageBtnClose: '/html/img/lightbox-btn-close.gif', 
            imageBtnPrev: '/html/img/lightbox-btn-prev.gif', 
            imageBtnNext: '/html/img/lightbox-btn-next.gif', 
            txtImage: 'Afbeelding',
            txtOf: 'van',
            imageBlank: '/html/img/lightbox-blank.gif'
            });
}

function toggle_checkboxes(val){
    $("input[type=checkbox]").each(
        function() {
            this.checked = val;
        }
    );

}
$(function(){
    $('ul.jd_menu').jdMenu({
        onShow: loadMenu,
        onAnimate: onAnimate,
		activateDelay: 20 
    });
    $('#contentcenter').addPrintButton();  
});

function onAnimate(show) {
    if (show) {
        $(this)
        .css('visibility', 'hidden').show()
        .css('width', $(this).innerWidth())
        .hide().css('visibility', 'visible')
        .fadeIn('normal');
    } else {
        $(this).fadeOut('fast');
    }
}

var MENU_COUNTER = 1;

function loadMenu() {
    if (this.id == 'dynamicMenu') {
        $('> ul > li', this).remove();
        var ul = $('<ul></ul>');
        var t = MENU_COUNTER + 10;
        for (; MENU_COUNTER < t; MENU_COUNTER++) {
            $('> ul', this).append('<li>Item ' + MENU_COUNTER + '</li>');
        }
    }
}

function showHideLogin(){
    if(document.loginform.style.display=='block'){
        document.loginform.style.display='none';
    }else{
    document.loginform.style.display='block';
    }
    return false;
}

function showPopup(popup){
	w = 640;
	h = 640;
  	l = (screen.availWidth-10 - w) / 2;
 	t = (screen.availHeight-20 - h) / 2;
	window.open(popup, 'meerinfo', 'width=' + w + ',height=' + h + ',left=' + l + ',top=' + t + ',scrollbars=yes');	
}
	
function highlightRow(sel) {
    var tb = sel.parentNode;
    var trs = tb.getElementsByTagName('tr');
    for (i=0; i<trs.length; i++){
        var tr = trs[i];
        var inputs = tr.getElementsByTagName('input');
        for (j=0;j<inputs.length; j++) {
            var inp = inputs[j];
            if (j>0) {
                inp.disabled = true;
            }
        }
        var buttons = tr.getElementsByTagName('button');
        for (j=0;j<buttons.length; j++) {
            var btn = buttons[j];
            btn.disabled = true;
        }
        var selects = tr.getElementsByTagName('select');
        for (j=0;j<selects.length; j++) {
            var s = selects[j];
            s.disabled = true;
        }

        tr.className = '';

    }
    sel.className = 'highlight';
    var inputs = sel.getElementsByTagName('input');
    for (j=0;j<inputs.length; j++) {
        var inp = inputs[j];
        inp.disabled = false;
    }
    var buttons = sel.getElementsByTagName('button');
    for (j=0;j<buttons.length; j++) {
        var btn = buttons[j];
        btn.disabled = false;
    }
    var selects = sel.getElementsByTagName('select');
    for (j=0;j<selects.length; j++) {
        var s = selects[j];
        s.disabled = false;
    }


}
function editText(tr) {
    var radio = tr.getElementsByTagName('input')[0];
    radio.checked = true;
    radio.form.edit_text.value = 'true';
    radio.form.submit();
}

function do_unsubscribe(btn) {
    var e = btn.form.email.value;
    if (e == '') {
        alert('Ongeldig emailadres!');
        return;
    }
    btn.form.u.value='yes';
    btn.form.submit();
}

function showPopupWithScrollbars(popup){
	w = 780;
	h = 500;
  	l = (screen.availWidth-10 - w) / 2;
 	t = (screen.availHeight-20 - h) / 2;
	GLOBAL_POPUP = window.open(popup, 'help', 'width=' + w + ',height=' + h + ',left=' + l + ',top=' + t + ',scrollbars=yes,resizable=yes');	
	return false;
}
function serialize(_obj)
{
// Let Gecko browsers do this the easy way
if (typeof _obj.toSource !== 'undefined' && typeof _obj.callee === 'undefined')
{
return _obj.toSource();
}
// Other browsers must do it the hard way
switch (typeof _obj)
{
// numbers, booleans, and functions are trivial:
// just return the object itself since its default .toString()
// gives us exactly what we want
case 'number':
case 'boolean':
case 'function':
return _obj;
break;
// for JSON format, strings need to be wrapped in quotes
case 'string':
return '\'' + _obj + '\'';
break;
case 'object':
var str;
if (_obj.constructor === Array || typeof _obj.callee !== 'undefined')
{
str = '[';
var i, len = _obj.length;
for (i = 0; i < len-1; i++) { str += serialize(_obj[i]) + ','; }
str += serialize(_obj[i]) + ']';
}
else
{
str = '{';
var key;
for (key in _obj) { str += key + ':' + serialize(_obj[key]) + ','; }
str = str.replace(/\,$/, '') + '}';
}
return str;
break;
default:
return 'UNKNOWN';
break;
}
}

function reload_captcha() {
    var ts = new Date().getTime();
    $.ajax({
        url: '/modules.captcha?'+ts,
        cache: 'false',
        success: function(result) {
            captcha = JSON.parse(result)
            $('#captcha_code').attr('value',captcha.hashcode)
            $('#captcha_image').attr('src',captcha.src)
        },
        error: function() {
            alert('Lettercode kan niet worden vernieuwd')
        }
    });
}
