/************************************
 * MouseOver image changer, deze class observed
 * de elementen (unorder/ordered list aangeraden)
 * op een custom attribute die hier gedefinieerd word
 *
 * (c) 2009 Joey - T-Design
 ***********************************/
                       
ClubJudge.ImageChanger = Class.create();
ClubJudge.ImageChanger.prototype = {
    initialize: function(id, tag1, tag2, img, attr) {
        this.id = id;
        this.tag1 = tag1;
        this.tag2 = tag2;
        this.cImgC = img;
        this.cAttr = attr;
        
        this.defaultImg = $(this.cImgC).src;
        
        this.observe(this.id, this.tag1, this.tag2);
    },
    
    observe: function() {
        this.oId = $(this.id);
        this.oElem = this.oId.getElementsByTagName(this.tag1);
        this.rElem = this.oId.getElementsByTagName(this.tag2); 
        
        this.changeImg = this.cImage.bindAsEventListener(this);
        this.resetImg = this.rImg.bindAsEventListener(this);
        
        for(var i = 0; i < this.oElem.length; i++) {
            if(this.oElem[i].getAttribute(this.cAttr)) {
                Event.observe(this.oElem[i], 'mouseover', this.changeImg);
            }
        }
        
        for(var i = 0; i < this.rElem.length; i++) {
            Event.observe(this.rElem[i], 'mouseleave', this.resetImg);
        }       
    },
    
    cImage: function(evnt) {
        this.evnt = evnt;
        this.cImg = Event.element(evnt).getAttribute(this.cAttr);
        this.cImgArr = this.cImg.split('.');
        
        if(this.cImgArr[0] == 0) {
        	$(this.cImgC).src = 'backbase/images/content/news/' + this.cImgArr[0] +'/thumb.jpg';
        } else if(this.cImgArr[2] == 'agenda') {
        	$(this.cImgC).src = 'backbase/images/events/festival/flyers/' + this.cImgArr[0] + '-thumb.jpg';
        } else {
        	$(this.cImgC).src = 'backbase/images/content/' + ((this.cImgArr[2] == 'party-reports') ? 'reports' : this.cImgArr[2]) + '/' + this.cImgArr[0] +'/thumb.jpg';
        }
    },
    
    rImg: function(evnt) {
        this.cImg = Event.element(evnt).getAttribute(this.cAttr);
        
        // FireFox bugfix, triggered nog steeds een niets zeggende error, die niet te herlijden is..
        if(this.cImg == null) {
            this.cImg = Event.element(evnt).parentNode.getAttribute(this.cAttr);
        } else {
            if(this.cImg.match('2.')) {
                this.cImg = this.cImg.replace('2.', '1.');
            }
        }
        
        this.cImgArr = this.cImg.split('.');
        
        $(this.cImgC).src = this.defaultImg;        
    }
    
}