var rollover_pattern = '_hover';

// depends on Yahoo UI library
// events.js

function rollover_register(selector, pattern, over, out){
	
	if (YAHOO.util.Event){
		if (isNaN(over)) over='rollover_over_handler';
		if (isNaN(out)) out='rollover_out_handler';
		//elems=YAHOO.util.Dom.getElementsByClassName(selector); // can't use yahoo as we use complex selectors
		elems=cssQuery(selector);
		//window.status=selector + " " + elems.length;
        for (var i=0;i<elems.length;i++){
			if (!elems[i].rolloverSelector){
				elems[i].rolloverSelector=selector;
				YAHOO.util.Event.addListener(elems[i],'mouseover',eval(over));
				YAHOO.util.Event.addListener(elems[i],'mouseout',eval(out));
			}
        }
	}
}

function rollover_over_handler(e)
{
		//var tempSrc;
        // get the source element in a cross-browser way
        if (window.event) {
                img=window.event.srcElement;
        } else if (e.target) {
                img=e.target;
        } else {
                return;
        }
		if (img.realSrc){  // play nice with IE png hack
			img.src=img.realSrc.replace(/(\.[a-z]+)$/i,rollover_pattern+'$1');
		}else{
			img.src=img.src.replace(/(\.[a-z]+)$/i,rollover_pattern+'$1');
		}
}

function rollover_out_handler(e)
{
		//var tempSrc;
        // get the source element in a cross-browser way
        if (window.event) {
                img=window.event.srcElement;
        } else if (e.target) {
                img=e.target;
        } else {
                return;
        }
		
        re=new RegExp(rollover_pattern.replace('.', '\.')+'(\\.[a-z]+)$', 'i');
		
		if (img.realSrc){ // play nice with IE png hack
			img.src=img.realSrc.replace(re,'$1');
		}else{
			img.src=img.src.replace(re,'$1');
		}

        
}
