求大神用通俗语言解析下这个javascript代码以及JS中原型的具体作用。

window.onload=function ()
{
var oTab=new TabSwitch('div1');
};

function TabSwitch(id)
{
var oDiv=document.getElementById(id);
this.aBtn=oDiv.getElementsByTagName('input');
this.aDiv=oDiv.getElementsByTagName('div');
var i=0;

var _this=this;

for(i=0;i<this.aBtn.length;i++)
{
    this.aBtn[i].index=i;
    this.aBtn[i].onclick=function ()
    {
        _this.tab(this);
    };
}

}

TabSwitch.prototype.tab=function (oBtn)
{
for(i=0;i<this.aBtn.length;i++)
{
this.aBtn[i].className='';
this.aDiv[i].style.display='none';
}
oBtn.className='active';
this.aDiv[oBtn.index].style.display='block';
};

至诚感谢。

这段代码的作用是动态产生类似选项卡的界面(类似浏览器的多标签页)
原型的用处是产生动态的对象和事件处理
最后那段代码是切换页面,隐藏别的面板。