/**************************************
* 파일명: lib.rollover.js
* 기능: 이미지 롤오버 자동화 라이브러리
* 작성일: 2002-11-05
* 작성자: 거친마루
* 수정 : lainTT(2003-03-11)
***************************************/

var imgBuff = new Array();				// 롤오버 이미지를 저장하기 위한 버퍼

/**
* String _makeTempID()
* 이미지의 임시 아이디로 쓰일 난수 이름을 발생시켜줌
*
* @return String
*/
function _makeTempID() {
	return "IMG" + Math.ceil(Math.random() * 10000000);
}

/**
* void doOver()
* 이미지에 롤오버될때의 이벤트 핸들러
*/
function doOver() {
    var id_temp = this.id;
    this.src = imgBuff[id_temp]["over"].src;
}

/**
* void doOut()
* 이미지에서 롤아웃될때의 이벤트 핸들러
*/
function doOut() {
    var id_temp = this.id;
    this.src = imgBuff[id_temp]["origin"].src;
}

/**
* void doClick()
* 이미지를 클릭할때의 이벤트 핸들러
*/
function doClick() {
    var id_temp = this.id;
    if(!imgBuff[id_temp]["select"]) return;

    if(this.getAttribute("toggle") != null) {
        if(this.onmouseover){
            this.onmouseover = '';
            this.onmouseout  = '';
            this.src = imgBuff[id_temp]["select"].src;
        } else {
            this.onmouseover = doOver;
            this.onmouseout  = doOut;
            this.src = imgBuff[id_temp]["over"].src;
        }
    } else if(this.getAttribute("group") != null) {
        var same = this.getAttribute("group");
        var imgs = document.getElementsByTagName("img");
        for(var i=0; i<imgs.length; i++) {
            if(imgs[i].getAttribute("group") == same) {
                imgs[i].onmouseover = doOver;
                imgs[i].onmouseout = doOut;
                imgs[i].src = imgBuff[imgs[i].id]["origin"].src;
            }
        }
        this.onmouseover = '';
        this.onmouseout  = '';
        this.src = imgBuff[id_temp]["select"].src;
    } else {
        this.onmouseover = '';
        this.onmouseout  = '';
        this.src = imgBuff[id_temp]["select"].src;
    }
}

/**
* void init_rollover()
* 이미지 롤오버를 위한 준비
*/
function init_rollover() {
    var img;
    var imgs = document.getElementsByTagName("img");
    for (var i=0; i<imgs.length; i++) {
        if (!imgs[i].id) imgs[i].id = _makeTempID();
        if (imgs[i].getAttribute("default") != null && imgs[i].getAttribute("oversrc"))  {
            imgBuff[imgs[i].id] = new Array();
            imgBuff[imgs[i].id]["origin"] = new Image();
            imgBuff[imgs[i].id]["origin"].src = imgs[i].src;
            imgBuff[imgs[i].id]["over"] = new Image();
            imgBuff[imgs[i].id]["over"].src = imgs[i].getAttribute("oversrc");
            imgBuff[imgs[i].id]["select"] = new Image();
            imgBuff[imgs[i].id]["select"].src = imgs[i].getAttribute("selsrc");
            imgs[i].src = imgs[i].getAttribute("selsrc");

            imgs[i].onmouseover = '';
            imgs[i].onmouseout  = '';
            imgs[i].onclick = doClick;
        } else if (imgs[i].getAttribute("oversrc")) {
            imgBuff[imgs[i].id] = new Array();
            imgBuff[imgs[i].id]["origin"] = new Image();
            imgBuff[imgs[i].id]["origin"].src = imgs[i].src;
            imgBuff[imgs[i].id]["over"] = new Image();
            imgBuff[imgs[i].id]["over"].src = imgs[i].getAttribute("oversrc");
            if(imgs[i].getAttribute("selsrc")) {
                imgBuff[imgs[i].id]["select"] = new Image();
                imgBuff[imgs[i].id]["select"].src = imgs[i].getAttribute("selsrc");
            }

            imgs[i].onmouseover = doOver;
            imgs[i].onmouseout = doOut;
            if(imgs[i].getAttribute("selsrc")) imgs[i].onclick = doClick;
        }
    }
    var imgs = document.getElementsByTagName("input");
    for (var i=0; i<imgs.length; i++) {
        if (!imgs[i].id) imgs[i].id = _makeTempID();
        if (imgs[i].getAttribute("default") != null && imgs[i].getAttribute("oversrc"))  {
            imgBuff[imgs[i].id] = new Array();
            imgBuff[imgs[i].id]["origin"] = new Image();
            imgBuff[imgs[i].id]["origin"].src = imgs[i].src;
            imgBuff[imgs[i].id]["over"] = new Image();
            imgBuff[imgs[i].id]["over"].src = imgs[i].getAttribute("oversrc");
            imgBuff[imgs[i].id]["select"] = new Image();
            imgBuff[imgs[i].id]["select"].src = imgs[i].getAttribute("selsrc");
            imgs[i].src = imgs[i].getAttribute("selsrc");

            imgs[i].onmouseover = '';
            imgs[i].onmouseout  = '';
            imgs[i].onclick = doClick;
        } else if (imgs[i].getAttribute("oversrc")) {
            if (!imgs[i].id) imgs[i].id = _makeTempID();
            imgBuff[imgs[i].id] = new Array();
            imgBuff[imgs[i].id]["origin"] = new Image();
            imgBuff[imgs[i].id]["origin"].src = imgs[i].src;
            imgBuff[imgs[i].id]["over"] = new Image();
            imgBuff[imgs[i].id]["over"].src = imgs[i].getAttribute("oversrc");
            if(imgs[i].getAttribute("selsrc")) {
                imgBuff[imgs[i].id]["select"] = new Image();
                imgBuff[imgs[i].id]["select"].src = imgs[i].getAttribute("selsrc");
            }

            imgs[i].onmouseover = doOver;
            imgs[i].onmouseout = doOut;
            if(imgs[i].getAttribute("selsrc")) imgs[i].onclick = doClick;
        }
    }
}
