function fixPNG(element)
{
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
		var src;

		if (element.tagName=='IMG') {
			if (/\.png$/.test(element.src)) {
				src = element.src;
				element.src = "/img/blank.gif";
			}
		} else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src) {
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
		}
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
}

labeledInput = Class.create({
	initialize: function() {
		var labelSelector = arguments[0] || 'label';
		$$(labelSelector).findAll(function(l) {return (l.readAttribute('for') !== null)}).each(function(l){
		    l.hide();
			$(l.readAttribute('for'))._value = l.innerHTML;
			if ($(l.readAttribute('for')).value.empty()) {
                $(l.readAttribute('for')).value = $(l.readAttribute('for'))._value
            }
			$(l.readAttribute('for')).observe('blur',function(e){if(Event.element(e).value == '') Event.element(e).value = Event.element(e)._value;});
			$(l.readAttribute('for')).observe('focus',function(e){if(Event.element(e).value == Event.element(e)._value) Event.element(e).value = '';});
		});
	}
});

function flashMessage( options )
{
	this.options = {
	    id:null,
	    'class':null,
	    msg:null,
	    timeout:2000
	};
	
	Object.extend(this.options,options || {});
    
    id = $(this.options.id);
    
    id.update(this.options.msg);
    id.className= this.options['class'];
    id.show();
    
    if ( this.options.timeout ) {
        setTimeout('id.hide();', this.options.timeout);
        setTimeout('id.update();id.className=null', this.options.timeout+200);
    }
}

function setCheck(state, form)
{
    var form = form ? form : 'mainForm';
    $(form).select('input.checkbox').each(function(i){
        i.checked = state;
    })
}

buildCalendar=function()
{
    new CalendarDateSelect( $('date'), { time:true, year_range:10, format:'db' } );
}

function ajaxUpload( url, sendData, callback )
{
    var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            switch( typeof callback )
            {
                case 'function':
                    callback( req );
                    break;

                default:
                    eval( callback + '(req)' );
                    break;
            }
        }
    }
    req.open(null, url, true);
    req.send( {'ajaxData' : sendData} );

}