
var INITIAL_AD_SEARCH   = '';
var INITIAL_FIR_SEARCH  = '';

function prepareADEP() {
    prepareField('adep');
}
function prepareDefaultADEP() {
    prepareADEP();
    setSearchVal(INITIAL_AD_SEARCH);
}


function prepareADES() {
    prepareField('ades');
}
function prepareDefaultADES() {
    prepareADES();
    setSearchVal(INITIAL_AD_SEARCH);
}


function prepareAD(idx) {
    prepareType('aerodrome',idx);
}
function prepareDefaultAD(idx) {
    prepareAD(idx);
    setSearchVal(INITIAL_AD_SEARCH);
}


function prepareFIR(idx) {
    prepareType('fir',idx);
}
function prepareDefaultFIR(idx) {
    prepareFIR(idx);
    setSearchVal(INITIAL_FIR_SEARCH);
}


function prepareItemAD(idx) {
    prepareType('item',idx);
}
function prepareDefaultItemAD(idx) {
    prepareItemAD(idx);
    setSearchVal(INITIAL_AD_SEARCH);
}


function prepareItemFIR(idx) {
    prepareType('item',idx);
}
function prepareDefaultItemFIR(idx) {
    prepareItemFIR(idx);
    setSearchVal(INITIAL_FIR_SEARCH);
}


function prepare(field) {
    if(field) {
        upperCase(field);
        setSearchId(field.id);
        setSearchVal(field.value);
    }
}

function prepareType(type,idx) {
    if(!idx) idx = 0;

    var id  = getSearchId();
    var pos = id.indexOf(type);

    if(pos < 0) {
        prepareField(type+'_'+idx);
    }
    /* only required if ADEP/ADES focus update is used!!!
    else {
        pos = id.lastIndexOf('_');
        if(pos > 0) {
            var fidx = parseInt(id.substr(pos+1));
            if(isFinite(fidx) && fidx < idx) prepareField(type+'_'+idx);
        }
    }
    */
}

function prepareField(fieldid) {
    var id  = document.forms.mainForm['mainForm:'+fieldid].id;
    var val = document.forms.mainForm['mainForm:'+fieldid].value;
    setSearchId(id);
    setSearchVal(val);
}

function setSearchId(id) {
    document.forms.mainForm['searchId'].value    = id;
}

function getSearchId() {
    return document.forms.mainForm['searchId'].value;
}

function setSearchVal(val) {
    document.forms.mainForm['searchVal'].value   = val;
}

function getSearchVal() {
    return document.forms.mainForm['searchVal'].value;   
}

function upperCase(field) {
    if(field) {
        field.value = field.value.toUpperCase();
    }
}

function prepareSubmit() {
}

function selectRadioButton(tableRowElem) {
	var inputElem = findFirstDescendant(tableRowElem, "input");
	if (inputElem != null)
		inputElem.checked = true;
}

function findFirstDescendant(elem, name) {
	if (name.toLowerCase() == elem.nodeName.toLowerCase())
		return elem;
	var childNodes = elem.childNodes;
	for (var i = 0; i < childNodes.length; i++) {
		var childNode = childNodes.item(i);
		if (childNode.nodeType == 1) {
			var foundElem = findFirstDescendant(childNode, name);
			if (foundElem != null)
				return foundElem;
		}
	}
	return null;
}