	function $() {
		var elements = new Array();
		for (var i = 0; i < arguments.length; i++) {
			var element = arguments[i];
			if (typeof element == 'string')
				element = document.getElementById(element);
			if (arguments.length == 1)
				return element;
			elements.push(element);
		}
		return elements;
	}
	
	var toggle = {
		show : function() {
			for ( i=0; i < arguments.length; i++ ) {
				$(arguments[i]).style.display = '';
			}
		},
		hide : function() {
			for ( i=0; i < arguments.length; i++ ) {
				$(arguments[i]).style.display = 'none';
			}
		},
		fadeIn : function() {
			for ( i=0; i < arguments.length; i++ ) {
				 var mytext=$(arguments[i]);
				 
				 mytext.style.display = 'none';
				 
				 if (mytext.filters && mytext.filters.length > 0) //if filters[] collection is defined (only in IE)
				  	mytext.filters[0].apply();
				 
				 mytext.style.display = '';
				 
				 if (mytext.filters && mytext.filters.length > 0)
				  	mytext.filters[0].play();
			}
		}
	}

	function fadetext(){
		 var mytext=document.getElementById("mytext")
		 
		 mytext.style.visibility="hidden"
		 
		 if (mytext.filters && mytext.filters.length > 0) //if filters[] collection is defined (only in IE)
		  	mytext.filters[0].apply()
		 
		 mytext.style.visibility="visible"
		 
		 if (mytext.filters && mytext.filters.length > 0)
		  	mytext.filters[0].play()
	}

	function closeTab(tabName){
		toggle.hide(tabName);
	}


        function FillLookupFieldItems(FilterControls, FilterFields, FilterFieldTypes, FieldName, SourceList, DisplayField) 
        {
	    FillLookupFieldItemsFull(FilterControls, FilterFields, FilterFieldTypes, FieldName, SourceList, DisplayField, "Title", "Text", FieldName+"s");
        }


        function FillLookupFieldItemsFull(FilterControls, FilterFields, FilterFieldTypes, FieldName, SourceList, DisplayField, ReferenceField, ReferenceFieldType, ReferenceList) {
            var pSource;

	    var aFilterControls = FilterControls.split(";");
	    var aFilterFields = FilterFields.split(";");
	    var aFilterFieldTypes = FilterFieldTypes.split(";");

            var aFilterValues = new Array(aFilterControls.length);

	    for (var i=0; i < aFilterControls.length; i++)
            {
            	aFilterValues[i] = getFilterValue(aFilterControls[i], aFilterFieldTypes[i]);
            }

            var request;
            var url = window.location.toString().substring(0, window.location.toString().indexOf(window.location.pathname));
            url = url + "/WebApps/LookupFilter.aspx?SourceList=" + SourceList + "&DisplayField=" + DisplayField;
	    url = url + "&FilterFields=" + FilterFields;
	    url = url + "&FilterFieldTypes=" + FilterFieldTypes;
	    url = url + "&RefField=" + ReferenceField;
	    url = url + "&RefFieldType=" + ReferenceFieldType;
	    url = url + "&RefList=" + ReferenceList;
	    url = url + "&FilterValues=";
	    for (var i=0; i < aFilterValues.length; i++)
            {
		if (i > 0) 
		{
		   url = url + ";";
		}
            	url = url + aFilterValues[i];
            }

            if (window.XMLHttpRequest) {
                request = new XMLHttpRequest();
                request.open("GET", url, false);
                request.send(null);
            }
            else if (window.ActiveXObject) {
                request = new ActiveXObject("Microsoft.XMLHTTP");
                if (request) {
                    request.open("GET", url, false);
                    request.send();
                }
            }

            if (request) {
                var pCombo = getTagFromIdentifierAndTitle('select', 'Lookup', FieldName);
                if (pCombo == null) {
                    pCombo = getTagFromIdentifierAndTitle('input', "", FieldName);

                    ShowDropdown(pCombo.id);
                    var opt = document.getElementById(pCombo.opt);
                    pCombo = opt;
                }
                pCombo.options.length = 0;
                var none = document.createElement("OPTION");
                pCombo.options.add(none);
                none.innerText = "(None)";
                none.value = 0;

                var commands = request.responseXML.getElementsByTagName("Command");
                for (var i = 0; i < commands.length; i++) {
                    var value = commands[i].getElementsByTagName("Value")[0].firstChild.nodeValue;
                    var text = commands[i].getElementsByTagName("Text")[0].firstChild.nodeValue;
                    var opt = document.createElement("OPTION");
                    pCombo.options.add(opt);
                    opt.innerText = text;
                    opt.value = value;
                }

                setSelectedOption(pCombo, 0);
            }
        }

        function getFilterValue(filterControl, filterFieldType) {
            var pSource;

            var filterValue = null;
            switch (filterFieldType) {
                case 'Lookup':
                    pSource = getTagFromIdentifierAndTitle('select', 'Lookup', filterControl);
                    if (pSource == null) {
                        pSource = getTagFromIdentifierAndTitle('input', "", filterControl);
			if (pSource != null)
			{
                        	filterValue = pSource.value;
			}
			else
			{
				alert(filterControl + ' (Lookup) not found');
			}
                    }
                    else {
                        var selIndex = pSource.selectedIndex;
                        filterValue = pSource.options[selIndex].text;
                    }
                    break;
                case 'Choice':
                    pSource = getTagFromIdentifierAndTitle('select', 'DropDownChoice', filterControl);
                    if (pSource == null) {
                        pSource = getTagFromIdentifierAndTitle('input', "", filterControl);
			if (pSource != null)
			{
                        	filterValue = pSource.value;
			}
			else
			{
				alert(filterControl + ' (Choice) not found');
			}
                    }
                    else {
                        var selIndex = pSource.selectedIndex;
                        filterValue = pSource.options[selIndex].text;
                    }
                    break;
                case 'Input':
                    pSource = getTagFromIdentifierAndTitle('input', "", filterControl);
		    if (pSource != null)
		    {
                       	filterValue = pSource.value;
		    }
		    else
		    {
			alert(filterControl + ' (Input) not found');
	   	    }
                    break;
            }

            return filterValue;
        }

        function setSelectedOption(select, value) {
            var opts = select.options;
            var l = opts.length;

            if (select == null) return;

            for (var i = 0; i < l; i++) {
                if (opts[i].value == value) {
                    select.selectedIndex = i;
                    return true;
                }
            }

            return false;
        }

        function getTagFromIdentifierAndTitle(tagName, identifier, title) {
            var len = identifier.length;
            var tags = document.getElementsByTagName(tagName);

            for (var i = 0; i < tags.length; i++) {
                var tempString = tags[i].id;
                if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
                    return tags[i];
                }
            }

            return null;
        }

        function FillLookupFieldItems2(filterControl1, FilterField1, FilterFieldType1, filterControl2, FilterField2, FilterFieldType2, fieldName, SourceList, DisplayField) {

            var pSource;

            var filterValue1 = getFilterValue(filterControl1, FilterFieldType1);
            var filterValue2 = getFilterValue(filterControl2, FilterFieldType2);

            var request;
            var url = window.location.toString().substring(0, window.location.toString().indexOf(window.location.pathname));
            url = url + "/EN/WebApps/LookupFilter.aspx?SourceList=" + SourceList + "&DisplayField=" + DisplayField;
            url = url + "&FilterFields=" + FilterField1 + ";" + FilterField2 + "&FilterFieldTypes=" + FilterFieldType1 + ";";
            url = url + FilterFieldType2 + "&FilterValues=" + filterValue1 + ";" + filterValue2;

            if (window.XMLHttpRequest) {
                request = new XMLHttpRequest();
                request.open("GET", url, false);
                request.send(null);
            }
            else if (window.ActiveXObject) {
                request = new ActiveXObject("Microsoft.XMLHTTP");
                if (request) {
                    request.open("GET", url, false);
                    request.send();
                }
            }

            if (request) {
                var pCombo = getTagFromIdentifierAndTitle('select', 'Lookup', fieldName);
                if (pCombo == null) {
                    pCombo = getTagFromIdentifierAndTitle('input', "", fieldName);

                    ShowDropdown(pCombo.id);
                    var opt = document.getElementById(pCombo.opt);
                    pCombo = opt;
                }

                pCombo.options.length = 0;

                var none = document.createElement("OPTION");
                pCombo.options.add(none);
                none.innerText = "(None)";
                none.value = 0;

                var commands = request.responseXML.getElementsByTagName("Command");
                for (var i = 0; i < commands.length; i++) {
                    var value = commands[i].getElementsByTagName("Value")[0].firstChild.nodeValue;
                    var text = commands[i].getElementsByTagName("Text")[0].firstChild.nodeValue;
                    var opt = document.createElement("OPTION");
                    pCombo.options.add(opt);
                    opt.innerText = text;
                    opt.value = value;
                }

                setSelectedOption(pCombo, 0);
            }
        }

        function FillLookupFieldItems3(filterControl1, FilterField1, FilterFieldType1, filterControl2, FilterField2, FilterFieldType2, filterControl3, FilterField3, FilterFieldType3, fieldName, SourceList, DisplayField) {

            var pSource;

            var filterValue1 = getFilterValue(filterControl1, FilterFieldType1);
            var filterValue2 = getFilterValue(filterControl2, FilterFieldType2);
            var filterValue3 = getFilterValue(filterControl3, FilterFieldType3);

            var request;
            var url = window.location.toString().substring(0, window.location.toString().indexOf(window.location.pathname));
            url = url + "/EN/WebApps/LookupFilter.aspx?SourceList=" + SourceList + "&DisplayField=" + DisplayField;
            url = url + "&FilterFields=" + FilterField1 + ";" + FilterField2 + ";" + FilterField3 + "&FilterFieldTypes=" + FilterFieldType1 + ";";
            url = url + FilterFieldType2 + ";" + FilterFieldType3 + "&FilterValues=" + filterValue1 + ";" + filterValue2 + ";" + filterValue3;

            //alert(url);
            //window.open(url,'','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no');


            if (window.XMLHttpRequest) {
                request = new XMLHttpRequest();
                request.open("GET", url, false);
                request.send(null);
            }
            else if (window.ActiveXObject) {
                request = new ActiveXObject("Microsoft.XMLHTTP");
                if (request) {
                    request.open("GET", url, false);
                    request.send();
                }
            }

            if (request) {
                var pCombo = getTagFromIdentifierAndTitle('select', 'Lookup', fieldName);
                if (pCombo == null) {
                    pCombo = getTagFromIdentifierAndTitle('input', "", fieldName);

                    ShowDropdown(pCombo.id);
                    var opt = document.getElementById(pCombo.opt);
                    pCombo = opt;
                }

                pCombo.options.length = 0;

                var none = document.createElement("OPTION");
                pCombo.options.add(none);
                none.innerText = "(None)";
                none.value = 0;

                var commands = request.responseXML.getElementsByTagName("Command");

                //alert(request.responseText);

                for (var i = 0; i < commands.length; i++) {
                    var value = commands[i].getElementsByTagName("Value")[0].firstChild.nodeValue;
                    var text = commands[i].getElementsByTagName("Text")[0].firstChild.nodeValue;
                    var opt = document.createElement("OPTION");
                    pCombo.options.add(opt);
                    opt.innerText = text;
                    opt.value = value;
                }

                setSelectedOption(pCombo, 0);
            }
        }
        
var marquee = {
	getElementsByTagNames : function(list,obj) {
		if (!obj) var obj = document;
		var tagNames = list.split(',');
		var resultArray = new Array();
		for (var i=0;i<tagNames.length;i++) {
			var tags = obj.getElementsByTagName(tagNames[i]);
			for (var j=0;j<tags.length;j++) {
				resultArray.push(tags[j]);
			};
		};
		var testNode = resultArray[0];
		if(!testNode){
			return [];
		};
		if(testNode.sourceIndex){
			resultArray.sort(function(a,b){return a.sourceIndex - b.sourceIndex;});
		}else if(testNode.compareDocumentPosition){
			resultArray.sort(function(a,b){return 3 - (a.compareDocumentPosition(b) & 6);});
		};
		
		return resultArray;
	},
	init : function(){
		var div = document.getElementById("marquee_replacement");
		div.style.overflow = 'hidden';
		
		var ps = marquee.getElementsByTagNames('p',div);
		for(var j=0;j<ps.length;j++){
			marquee.pWidth += ps[j].offsetWidth;
		}

		var startdiv = document.getElementById("start");
		startdiv.style.width = marquee.pWidth+'px';
		div.scrollLeft = 0;
		marquee.startit();
	},
	scrollFromSide : function(){
		clearTimeout(marquee.timeout);
		var el = document.getElementById("marquee_replacement");
		if(el.scrollLeft >= marquee.pWidth-1000){
			el.scrollLeft = 0;
		};
		el.scrollLeft = el.scrollLeft + marquee.speed;
		if(marquee.go == 0){
			marquee.timeout = setTimeout("marquee.scrollFromSide()",50);
		};
	},
	stop : function(){
		marquee.go = 1;
		marquee.timeout = '';
	},
	startit : function(){
	  marquee.go = 0;
	  marquee.scrollFromSide();
	}
}
marquee.pWidth = 0;
marquee.speed = 3;
marquee.go = 0;
marquee.timeout = '';
        