// $Id: sam.js 183 2008-12-03 21:28:58Z maj $
window.onload = fssmSetup;

function fssmSetup () {
    samImgLoad();
    var expOptsBox = document.getElementById('exp_opts_box');
    expOptsBox.onchange = activateContainerOnCheck;
    var flipBtns = document.getElementsByName('flipBtn');
    var helpBtns = new Array();
    for (var i=0; i<flipBtns.length; i++) {
	flipBtns[i].onmousedown=pushMe;
	flipBtns[i].onmouseout=pushMe;
	flipBtns[i].onmouseup=pushMe;
	if (/lock[0-9]/.test(flipBtns[i].id)) {
	    flipBtns[i].onclick=flipCellLock;
	}
	if (/help/.test(flipBtns[i].id)) {
	    var basename = flipBtns[i].id.match(/_([^_]+)_/)[1];
	    flipBtns[i].onclick = function (nsEvent) { 
		// displayHelp(basename);
		displayFSSMHelp(basename);
	    }
	}
    }
}

function samImgLoad () {
    imgUpTri = new Image();
    imgUpTri.src = '/sam/blue_tri_up.png';
    imgDnTri = new Image();
    imgDnTri.src = '/sam/blue_tri_dn.png';
    imgQUp = new Image();
    imgQUp.src = '/sam/help_up.png';
    imgQDn = new Image();
    imgQDn.src = '/sam/help_dn.png';
}    
function pushMe(nsEvent) {
    var evt = nsEvent ? nsEvent : window.event;
    var tgt = evt.target ? evt.target : evt.srcElement;
    var toggle = tgt.getAttribute('toggle');
     if (/mousedown/.test(evt.type)) {
	if (/_up/.test(tgt.src)) {
	    tgt.src = tgt.src.replace(/_up/,'_dn');
	    return false;
	}
	if (toggle) {
	    if (/_dn/.test(tgt.src)) {
		tgt.src = tgt.src.replace(/_dn/,'_up');
		return false;
	    }
	}
    }
     else if (!toggle & (/mouseout/.test(evt.type) || /mouseup/.test(evt.type))) {
	if (/_dn/.test(tgt.src)) {
	    tgt.src = tgt.src.replace(/_dn/,'_up');
	    return false;
	}
     }

    return false;
}

function displayHelp( basename ) {
    open('/sam/html/'+basename+'.html','SAM Help','width=460,scrollbars=yes,menubar=false');
    return false;
}

function displayFSSMHelp( basename ) {
    open('/fssm/html/'+basename+'.html','FSSM Help','width=460,scrollbars=yes,menubar=false');
    return false;
}

function doVendor () {
    var vend = document.getElementById('vendor_div');
    if (document.getElementById('commerc').checked) {
	vend.setAttribute('style','display:inline');
    }
    else {
	document.getElementById('vend_nm').value = "";
	vend.setAttribute('style','display:none');
    }
}
function doNotes () {
    var notes = document.getElementById('notes_row');
    var notesTri = document.getElementById('notesTri');
    if (/display: ?table-row/.test(notes.getAttribute('style'))) {
	notes.setAttribute('style','display:none');
	notesTri.src = imgUpTri.src;
    }
    else {
	notes.setAttribute('style','display:table-row');
	notesTri.src = imgDnTri.src;
    }
}
function doNames () {
    var names = document.getElementById('names_row');
    var namesTri = document.getElementById('namesTri');
    if (/display: ?table-row/.test(names.getAttribute('style'))) {
	names.setAttribute('style','display:none');
	namesTri.src = imgUpTri.src;
    }
    else if (/display: ?none/.test(names.getAttribute('style'))) {
	names.setAttribute('style','display:table-row');
	namesTri.src = imgDnTri.src;
    }
}

function activateContainerOnCheck (nsEvent) {
    // activate/deactivate all input elements (apart from 
    // checkbox) in the container of the checkbox
    var evt = nsEvent ? nsEvent : window.event;
    var tgt = evt.target ? evt.target : evt.srcElement;
    var theContainer = tgt.parentNode.parentNode; // HACK
    var inputs = theContainer.getElementsByTagName('input');
    var inputsLessTgt = new Array();
    for (var i=0; i<inputs.length; i++) {
	if (inputs[i] != tgt) {
	    inputsLessTgt.push(inputs[i]);
	}
    }
    for (var i=0; i<inputsLessTgt.length; i++) {
	if (tgt.checked) {
	    inputsLessTgt[i].disabled = 0;
	}
	else {
	    inputsLessTgt[i].disabled = 1;
	}
    }
    return false;
}
function statusVanish () {
    var stat = document.getElementById('status_div');
    stat.parentNode.removeChild(stat);
    return false;
}
