var prev_error_src = "";
var prev_linkobj;
var prev_backgr;
var highlight_obj = NullObject;
var fixed_yn = false;
var background_set = false;

function init_document(def_fixed) {
    var tfix = find_get(page_gets, 'fixed');
    if (tfix != null) {
        if (tfix == 'off') {
 	   fixed_yn = false;
        }
        else {
 	   fixed_yn = true;
        }
    }
    else {
        if (def_fixed && def_fixed == 'off') {
            fixed_yn = false;
        }
        else {
            fixed_yn = true;
        }
    }
    perform_dhtml_test();
    window_resized(get_window_info());
    init_resize_detection(true,true,true,true);
}

function clear_image_error() {
     prev_error_src = "";
}

function window_resized(winfo) {

    debug_msg('browser info : ' + browser_info.debug_str);

    var min_height = 250;
	      
    // Can't use jan_top and jan_bottom because Konqueror returns
    // the height of the contents of de cell instead of the cell itself.
    var border_height = get_object_height('t_bheight') +
			get_object_height('b_bheight');
    var objref = get_object('inhoud');
    var i_height = get_object_height(objref);
    var cjan_size = get_object_size('jan_center')
    var c_height = cjan_size.height;
    if (winfo && objref && border_height) {
        var new_height = winfo.Hincl - border_height;
	if (c_height >= i_height) {
	    new_height -= (c_height - i_height);
	}
	else {
	    new_height -= 2; // default value, just a guess :-)
	}
	if (new_height <= min_height) {
	    new_height = min_height;
	}

        if (!fixed_yn) {
 	    new_height = c_height; // works in mozilla :-?
        }

  	debug_msg('Hincl = ' + winfo.Hincl + '\n' +
	          'border = ' + border_height + '\n' +
		  'c_height = ' + c_height + '\n' +
		  'i_height = ' + i_height + '\n' +
		  'new = ' + new_height);

	/* inhoud div has a 1 pixel top and bottom padding to prevent margins of
	   elements creeping out in IE */
	var corr_height = 0;
	if (!browser_info.style_incl_padding) {
	    corr_height = 2;
	}
	objref.style.height = (new_height - corr_height) + 'px';
	if (!browser_info.verified) {
	    var r_height = get_object_height(objref);
	    if (r_height != new_height) {
		debug_msg("real height = " + r_height + "\n" +
			  "should be   = " + new_height);
		if (new_height - r_height == corr_height) {
//		    browser_info.style_incl_padding = true;
		    objref.style.height = new_height + 'px';
		}		    
	    }
        }
    }

/*
    if (browser_info.IEalphapng && winfo) {
	var objref = get_object('iesucks');
	var cjanpos = get_object_pos('jan_center');
	if (objref && cjanpos) {
	    objref.style.top    = cjanpos.top + 'px';
	    objref.style.left   = cjanpos.left + 'px';
	    objref.style.width  = cjanpos.size.width + 'px';
	    objref.style.height = (winfo.Hexcl - cjanpos.top) + 'px';
	}
    }
*/

    // Mozilla 1.7 has a problem with floats in overflow=auto divs or something
    // It results in the html element being too large.
    // Shrinking only works the first time, growing works even with window resize.
    if (document.getElementsByTagName && document.body.style) {
        var htmlobj = document.getElementsByTagName('html')[0];
        var body_height = get_object_height(document.body);
        var html_height = get_object_height(htmlobj);
        debug_msg("window height = " + winfo.Hincl + "\n" +
                  "body height = " + body_height + "\n" +
                  "html height = " + html_height);
	/*
        if (body_height != winfo.Hincl) {
            bodyobj.style.height = winfo.Hincl + 'px';
        }
	*/
        if (html_height != winfo.Hincl) {
            htmlobj.style.height = winfo.Hincl + 'px';
        }
    }

    var rjanobj = get_object('jan_right');
    var bodyobj = document.getElementsByTagName('body')[0];
    if (winfo && cjan_size && rjanobj && bodyobj) {
	var w_big = winfo.Wincl - (cjan_size.width + 70) - 330;
	var h_big = winfo.Hincl - 630;
	var b_old_size = "big_back";
	var b_new_size = "small_back";
	if (w_big > 0 || h_big > 0) {
    	    b_old_size = "small_back";
	    b_new_size = "big_back";
    	}
	var t_old_size = "big_back";
	var t_new_size = "small_back";
	if (w_big > 70) {
    	    t_old_size = "small_back";
	    t_new_size = "big_back";
    	}
    	if (background_set) {
	    new_str = bodyobj.className.replace(b_old_size, b_new_size);
	    if (new_str != bodyobj.className) {
	        bodyobj.className = new_str;
	    }
	    new_str = rjanobj.className.replace(t_old_size, t_new_size);
	    if (new_str != rjanobj.className) {
	    	rjanobj.className = new_str;
	    }
        }
	else {
    	    background_set = true;
	    bodyobj.className = bodyobj.className + " " + b_new_size;
	    rjanobj.className = rjanobj.className + " " + t_new_size;
	}
    }
}


function write_start_layout() {


    var classstr = ' class="transp"';
    if (browser_info.IEalphapng) {
	classstr = '';
	document.write('<div id="iesucks"> &nbsp;</div>\n');
	document.write('<div id="iesucks2">\n');
    }
    write_dhtml_test();
    document.write('<table id="oudejan" cellspacing="0"><tbody><tr>');
//    document.write('<td id="jan_top" colspan="3">');
    document.write('<td>&nbsp;</td><td id="jan_top">');
    write_logo('jan');
    document.write('</td><td>&nbsp;');
    document.write('</td></tr><tr><td id="jan_left" rowspan="2">&nbsp;</td>');
    document.write('<td id="jan_center"' + classstr + '>');
    document.write('<div id="inhoud">\n');
}

function write_end_layout() {
    var classstr = ' class="transp"';
    if (browser_info.IEalphapng) {
	classstr = '';
    }
    document.write('</div>');
    document.write('</td><td id="jan_right" rowspan="2">&nbsp;</td></tr><tr><td id="jan_bottom"' + classstr + '>');
    write_navigation(true);

    document.write('</td></tr></tbody></table>\n');
    if (browser_info.IEalphapng) {
	document.write('</div>\n');
    }
}
