/**
 * JAVASCRIPT FUNCTIONS
 *	written by: Daantje (daantje.nl) & MightyMax
 *	(c)2002 Pictura-DP.nl - Heiloo, the Netherlands
 *
 *	Here are all common javascripts I use for Geschiedenisbank-NH
 *
 *	first written:  Fri Dec 13 16:13:43 CET 2002
 *	last updated:   Fri Dec 13 16:13:47 CET 2002
 */


//make a popupwindow in the center of the screen...
//	mypage 	: some URL
//	w	: width of the popup
//	h	: height of the popup
function popWindow(mypage,w,h){
        LeftPosition=(screen.width)?(screen.width-w)/2:100;
        TopPosition=(screen.height)?(screen.height-h)/2:100;
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars=yes,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
        popWin=window.open(mypage,'popWin',settings);
		popWin.focus()
}


var browser=navigator.appName;
var version=navigator.appVersion;
var innerWidth = top.window.innerWidth;
var innerHeight = top.window.innerHeight;

// Load page according to browser
function browserDetect() {
   // find which browser it is
	var old_browser_msg = 'U gebruikt een oude versie van uw browser, waardoorhet mogelijk is dat bepaalde elementen niet goed worden weergegeven op uw scherm. \nWij raden u aan een meer recente versie van uw browser te downloaden.';
	var small_screen_msg = 'Deze site komt het best tot zijn recht met een schermformaat van minimaal 800x600 pixels. \nUw schermformaat is momenteel kleiner, nl. ';
	var oldBrowser = 0;
	var smallScreen = 0;

	if (browser.indexOf("Netscape") >= 0) {
		// find which version
		if (version.indexOf("3.") >= 0 || version.indexOf("4.1") >= 0 || version.indexOf("4.2") >= 0 || version.indexOf("4.3") >= 0) 
			oldBrowser = 1
	}

	if (browser.indexOf("Microsoft") >= 0) {
		// find which version
		if (version.indexOf("MSIE 3.") >= 0 || version.indexOf("MSIE 4.") >= 0)
			oldBrowser = 1;
   }

	if (innerWidth < 800 || innerHeight <600)
   		var smallScreen = 2
	
	switch (eval(oldBrowser + smallScreen)) {
		case 1:
			alert(old_browser_msg+'\nUw browser: '+browser+' v. '+version)
			break
		case 2:
			alert(small_screen_msg+innerWidth+'x'+innerHeight+' pixels')
			break
		case 3:
			alert(old_browser_msg+'\nUw browser: '+browser+' v. '+version+'\n\n'+small_screen_msg+innerWidth+'x'+innerHeight+' pixels')
			break
	}


}

function matchThis(val1, val2) {
    if(val1 == val2) return true;
            else return false;
}

// fill form with data-array provided by the fromBuilder::buildJavascriptArray funtion
function fillForm(formID) {
    var theForm=document.forms[formID]
    for (var i = 0; i < theForm.elements.length; i++) {
        var fieldName = theForm.elements[i].name;
        var fieldType = theForm.elements[i].type;
        
        // Combine some fields who share the same properties
        if( fieldType =='password' || fieldType == 'textarea' || fieldType == 'hidden' )
            fieldType='text';
        if( fieldType =='select-one')
            fieldType='select';
        if( fieldType =='submit' || fieldType=='reset')
            fieldType='button';


         if(dataArray[fieldName])  {
            switch(fieldType) {
            case 'text':
                theForm.elements[i].value=dataArray[fieldName];
                break;
            case 'radio':
                theForm.elements[i].checked=matchThis(theForm.elements[i].value, dataArray[fieldName]);
                break;
            case 'checkbox':
                if(dataArray[fieldName].length > 0 && !matchThis(theForm.elements[i].value, dataArray[fieldName])) {
                    var errMsg= 'Waarschuwing:\n Het veld ' +  fieldName + ' van het huidige record heeft de volgende waarde:\n' + '\"' + dataArray[fieldName] + '\"'
                    errMsg+='\nHet aankruisvakje is echter gedefiniëerd met een andere waarde:\n\"' + theForm.elements[i].value + '\"'
                    errMsg+='\nAls u dit record opslaat met het aankruisvakje aan, \ndan zal het veld ' + fieldName + ' deze waarde aannemen!'
                    errMsg+='\nAls u dit record opslaat met het aankruisvakje uit, dan zal het veld geen waarde bevatten.'
                    alert(errMsg)
                } else {
                    theForm.elements[i].checked=matchThis(theForm.elements[i].value, dataArray[fieldName]);
                }
                break;
            case 'select':
                for (var iSelect = 0; iSelect < theForm[fieldName].options.length; iSelect++) {
                     if(matchThis(theForm[fieldName].options[iSelect].value, dataArray[fieldName])) {
                        theForm.elements[i].selectedIndex=iSelect;
                        break;
                    }
                }
                break;
            case 'button':
                break;
            case 'perms':
                break;
            default: alert('Het veld '+ fieldName + ' kon niet verwerkt worden, omdat het van een onbekend type is:\n' + 'fieldType = ' + fieldType);
            }

        }
    }
}



