function gettext(msgid) {
//  var value = catalog[msgid];
//  if (typeof(value) == 'undefined') {
    return msgid;
//  } else {
//    return (typeof(value) == 'string') ? value : value[0];
//  }
}


function collapse(elemId, collapse){
    itemelem = document.getElementById(elemId + 'Item');
    button = document.getElementById(elemId + 'Button');
    input = document.getElementById(elemId + 'Input');
    if(collapse==undefined){
        if(button.innerHTML == '▼') collapse=true;
        else collapse = false;
    }
    if(collapse){
        button.innerHTML = '&#9658;';
        itemelem.style.display = 'none';   
        if(input) input.value='False';
    }else{
        button.innerHTML = '&#9660;';
        itemelem.style.display = 'block';   
        if(input) input.value='True';
    }
}

function collapseallresults(){
    collapseall(!expand, 'searchResults');
    if(expand){
        document.getElementById('expButton').innerHTML = 'collapse all';
    }else{
        document.getElementById('expButton').innerHTML = 'expand all';
    }
    expand = !expand;
}

function collapseall(c, collapseId){
    elem = document.getElementById(collapseId);
//    if(elem.getElementsByClassName){
    items = getElementsByClassName('collapsable', false, elem);
    for(i=0; i < items.length;i++){
        collapse(items[i].id, c);
    }
//    }else{*/
//	collapseChildren(c, elem);
//}
}


//function collapseChildren(c, elem){
//    alert("elem " + elem);
//    alert(elem.childNodes);
//    alert(elem.id)
//    if(elem.className != undefined){
//        if(elem.className == 'collapsable'){
//        alert(elem);
//        collapse(elem.id, c);
//    }}
//    if(elem.childNodes){
//       children = elem.childNodes;
//       alert("children" + children);
//       for(i=0; i < children.length; i++){
//            collapseChildren(c, children[i]);
//       }
//    }
//}


function selectall(){
    boxes = document.getElementsByTagName('input');
    for(i=0;i<boxes.length;i++){
        if(boxes[i].id.lastIndexOf('check') != -1) boxes[i].checked=select;
    }
    if(select){
        document.getElementById('selButton').innerHTML = 'deselect all';
    }else{
        document.getElementById('selButton').innerHTML = 'select all';
    }
    select = !select;
}

function selectTracks(sessionId){
    elem = document.getElementById(sessionId+'Item');
    checkbox = document.getElementById(sessionId + 'check');
    inputs = elem.getElementsByTagName('input');
    for(i=0; i < inputs.length;i++){
        if(inputs[i].type == 'checkbox') inputs[i].checked = checkbox.checked;
    } 
}

function selectSession(checkbox, sessionId){
    elem = document.getElementById(sessionId+'check');
    if(checkbox.checked) elem.checked = true;
}

function initCalendars(){
    var mediaPrefix = '';
    var scripts = document.getElementsByTagName('script');
    for (var i=0; i<scripts.length; i++) {
        if (scripts[i].src.match(/mediadb/)) {
            var idx = scripts[i].src.indexOf('js/mediadb');
            mediaPrefix = scripts[i].src.substring(0, idx);
            break;
        }
    }
    
    var inputs = document.getElementsByTagName('input');
    for (i=0; i<inputs.length; i++) {
        var inp = inputs[i];
        if (inp.getAttribute('type') == 'text' && inp.className.match(/vDateField/)) {
            addCalendar(inp, mediaPrefix);
        }
    }
}

function addCalendar(elem, mediaPrefix){
    cal = new CalendarPopup('calDiv');
    cal.offsetY = -70;
    cal.showYearNavigation();
    cal.showYearNavigationInput();
    num = calendars.length;
    calendars[num] = cal;
    var calLink = document.createElement('a');
    calLink.setAttribute('href', 'javascript:openCalendar(' + num + ',"' + elem.id + '");');
    calLink.className = 'calendar';
    calLink.id = 'anchor' + num;
    calLink.name = 'anchor' + num;
    var imgLink = document.createElement('img');
    imgLink.setAttribute('src', mediaPrefix + '/images/calendar.gif');
    calLink.appendChild(imgLink);
    elem.parentNode.insertBefore(calLink, elem);
}

function openCalendar(num, elemId){
    elem = document.getElementById(elemId)
    calendars[num].select(elem,'anchor' + num, 'yyyy-dd-MM');

}
var calendars = [];
window.onload = initCalendars;
var expand = true;
var select = true;

function checkSelected(){
    formelems = document.getElementById('queryForm').elements;
    sel = ''
    for(i=0; i < formelems.length; i++){
        if(formelems[i].checked){
            sel = sel + formelems[i].name + ',';
        } 
    }
    document.getElementById('selected').value = sel;
}


/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

