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 initRollover()
 */
function initRollover() {
    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;
        }
    }
}