// JavaScript Document

function toptabs_over(tab)
{			
	var parent = tab.parentNode;
	var i,n=parent.childNodes.length;
	for(i=0;i<n;i++)
	{
		var st = parent.childNodes[i].style;
		switch (  parent.childNodes[i].className )
		{			
			case 'inactive_right':
			case 'inactive_left':
			case 'inactive_middle':				
			case 'bobruim_right':
			case 'bobruim_left':
			case 'bobruim_middle':				
			case 'extratab_right':
			case 'extratab_left':
			case 'extratab_middle':				
				st.display = 'none';
				break;
			case 'active_right':
			case 'active_left':
			case 'active_middle':				
				st.display = 'block';
				break;					
		}	
	}
}

function toptabs_out(tab)
{	
	var parent = tab.parentNode;
	var i,n=parent.childNodes.length;
	for(i=0;i<n;i++)
	{
		var st = parent.childNodes[i].style;
		switch (  parent.childNodes[i].className )
		{			
			case 'inactive_right':
			case 'inactive_left':
			case 'inactive_middle':		
			case 'bobruim_right':
			case 'bobruim_left':
			case 'bobruim_middle':	
			case 'extratab_right':
			case 'extratab_left':
			case 'extratab_middle':			
				st.display = 'block';
				break;
			case 'active_right':
			case 'active_left':
			case 'active_middle':								
				st.display = 'none';
				break;					
		}	
	}
}


function appmenu_open(id)
{
	var menuitem = document.getElementById('menuitem'+id);
	var submenu  = document.getElementById('submenu'+id);	
	submenu.style.display = 'block';
	var alldivs = menuitem.getElementsByTagName('DIV');
	var i,n=alldivs.length;	
	for (i=0;i<n;i++)
	{
		var elem = alldivs[i];		
		if ( elem.className=='icon_arrowright' )
		{
			elem.className='icon_arrowdown';
			break;
		}
	}
	
}

function appmenu_close(id)
{
	var menuitem = document.getElementById('menuitem'+id);
	var submenu  = document.getElementById('submenu'+id);	
	submenu.style.display = 'none';
	var alldivs = menuitem.getElementsByTagName('DIV');
	var i,n=alldivs.length;	
	for (i=0;i<n;i++)
	{
		var elem = alldivs[i];		
		if ( elem.className=='icon_arrowdown' )
		{
			elem.className='icon_arrowright';
			break;
		}
	}
	
}

function appmenu_click(id)
{
	var submenu = document.getElementById('submenu'+id);
	var menu = document.getElementById('linkermenu');
	if ( submenu.style.display != 'none' ) return;
	// Klap alles dicht
	var divs = menu.getElementsByTagName('DIV');
	var i,n = divs.length;	
	for (i=0;i<n;i++)
	{
		var elem = divs[i];	
		if ( 'submenu'==elem.id.substr(0,7) )
		{
			if (elem.className == 'autohide')
			{
				appmenu_close( elem.id.substr(7,elem.id.length-7) );
			}
		}
	}
	// Open submenu en bovenliggende parents
	var elem = submenu;
	while ( elem.id!='linkermenu' )
	{
		if ( 'submenu'==elem.id.substr(0,7) )
			appmenu_open( elem.id.substr(7,elem.id.length-7) );
		elem = elem.parentNode;
	}
}

function datumedit_change(id)
{	
	var dag   = document.getElementById(id+'_dag').value;
	var maand = document.getElementById(id+'_maand').value;
	var jaar  = document.getElementById(id+'_jaar').value;
	document.getElementById(id+'_datum').value = jaar+'-'+maand+'-'+dag;
}
	
function get_keynum(evt)
{
    if (!evt && window && window.event) evt = window.event;
    
    if (evt)
    {
        if (evt.which) return evt.which;
        else if ((evt.charCode || evt.charCode === 0) ? evt.charCode : evt.keyCode) return evt.charCode || evt.keyCode;
	}
	
	return null;
}

function postcode_onkeypress(evt)
{
    var keynum = get_keynum(evt);

	switch ( keynum )
	{
		case null:
		case 37: case 39: case 36: case 35:
		case 8: case 46: case 9: case 13:
			return true;
		default:
			var keychar = String.fromCharCode(keynum).toUpperCase();
			var charcheck = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
			return ( charcheck.indexOf(keychar)>=0 );
	}		
}	

function telefoon_onkeypress(evt)
{
	var keynum = get_keynum(evt);
	
	switch ( keynum )
	{
		case null:
		case 37: case 39: case 36: case 35:
		case 8: case 46: case 9: case 13:
			return true;
		default:
			var keychar = String.fromCharCode(keynum).toUpperCase();
			var charcheck = '0123456798';
			return ( charcheck.indexOf(keychar)>=0 );
	}	
}

function ellipsis(i, e)
{
    var t, w = e.offsetWidth;

    if ($('span', e).length) {
        t = decodeURIComponent($('span', e).eq(0).attr('title'));
        e = $(e).children().get(0);
    } else {
        t = e.innerHTML;
    }

    e.innerHTML = '<span title="' + encodeURIComponent(t) + '">' + t + '</span>';
    e = $(e).children().get(0);

    if (e.offsetWidth <= w) {
        return;
    }

    var half_char_count, prev_char_count = t.length * 2, prev_toobig_count = -1,
        prev_toosmall_count = -1, cur_char_count, e_orig = t, e_w,
        t = t.substr(0, t.length - 3);

    while (1) {
        cur_char_count = t.length + 3;
        if (prev_char_count == cur_char_count || (e_w = e.offsetWidth) == w)
            return;
        if (e_w > w) {
            if (-1 != prev_toobig_count && Math.abs(prev_toosmall_count - cur_char_count) <= 1) {
                e.innerHTML = e_orig.substr(0, (prev_char_count <= cur_char_count ? prev_char_count : cur_char_count) - 3) + '...';
                return;
            }
            half_char_count = cur_char_count - Math.floor(Math.abs(cur_char_count - prev_char_count) / 2);
            if (half_char_count == cur_char_count)
                half_char_count--;
            t = e_orig.substr(0, half_char_count - 3);
            e.innerHTML = t + '...';
            if (half_char_count <= 4 && prev_char_count <= 4 && prev_char_count > cur_char_count) {
                e.innerHTML = e_orig.substr(0, 1) + '...';
                return;
            }
            prev_toobig_count = cur_char_count;
            prev_toosmall_count = -1;
        } else {
            if (Math.abs(prev_toobig_count - cur_char_count) <= 1)
                return;
            half_char_count = cur_char_count + Math.ceil(Math.abs(prev_char_count - cur_char_count) / 2);
            t = e_orig.substr(0, half_char_count - 3);
            e.innerHTML = t + '...';
            prev_toosmall_count = cur_char_count;
            prev_toobig_count = -1;
        }
        prev_char_count = cur_char_count;
    }
}
	