/* 
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
function showchilds(menu,start,end){
    for(var i=1;i<=end;i++){
        var childmenu=menu+"_tabs"+i;
        if(i==start){
            document.getElementById(childmenu).style.display="block";
            document.getElementById(childmenu).className="level_ tabs";
        }else{
            document.getElementById(childmenu).style.display="none";
            document.getElementById(childmenu).className="level_";
        }
    }
}
function changbg(menu,start,end){
    for(var i=1;i<=end;i++){
        var childmenu=menu+i;
        if(i==start){
            document.getElementById(childmenu).className="block";
        }else{
            document.getElementById(childmenu).className="";
        }
    }
}

//辅助函数
function $(id){
    return document.getElementById(id);
};
/**
* javascript放大镜 v1.0
* 作者: sunxing007
* email:sunxing007@tom.com
**/
var Amplifier = {
    //图片源
    source: null,
    //目的地，用来显示放大的效果
    dest: null,
    //放大的倍数,
    scale: 1,
    //初始化函数
    init: function(source, dest,scale){
        this.source = $(source);
        this.dest = $(dest);
        this.scale = scale||2;
        //跟随鼠标移动的红色的框框
        var borderBox = document.createElement("div");
        borderBox.style.height = parseInt(this.source.style.height)/scale;
        borderBox.style.width = parseInt(this.source.style.width)/scale;
        borderBox.style.border = "solid red 1px";
        borderBox.style.display="none";
        borderBox.style.position = "relative";
        borderBox.style.top = -parseInt(this.source.style.height);
        borderBox.style.left =0 //- parseInt(this.source.style.width);
        this.source.appendChild(borderBox);

        //放大后的图象
        var destImg = document.createElement('img');
        destImg.style.position = "relative";
        //destImg.height = parseInt(this.source.style.height)*scale + "px";
        //destImg.width = parseInt(this.source.style.width)*scale + "px";
        destImg.src = this.source.getElementsByTagName('img')[0].src;
        this.dest.appendChild(destImg);
        //图像的高度和宽度倍增，我发现先要执行this.dest.appendChild(destImg);
        //后再设置height，width才可以生效
        destImg.height = parseInt(this.source.style.height)*scale;
        destImg.width = parseInt(this.source.style.width)*scale;
        //对源图片添加onmousemove事件
        this.source.onmousemove = function(e){
            /**
* 在接下去读之前请先往最后看一下getEvent这个方法，是用来修复IE和firefox下不同的event模型
* 但是我发现我没有做好，在firefox下面表现的有点变态，有firefox经验的人可以修改一下这个方法，
*
* 这里需要解释一下，ie下event.offsetX，offsetY表示鼠标在触发当前事件的元素上偏移的位置,
* 通过改变borderBox.style.left和borderBox.style.top来改变红色的框框在源图中的位置，而且要
* 把红色的框框限制在源图内。
**/
            if(Amplifier.getEvent(e).offsetX>parseInt(borderBox.style.width)/2 && (parseInt(this.style.width)- Amplifier.getEvent(e).offsetX)>parseInt(borderBox.style.width)/2){
                borderBox.style.left = Amplifier.getEvent(e).offsetX - parseInt(borderBox.style.width)/2;
            }
            else if(Amplifier.getEvent(e).offsetX<parseInt(borderBox.style.width)/2){
                borderBox.style.left = 0;
            }
            else{
                borderBox.style.left = parseInt(this.style.width) - parseInt(borderBox.style.width);
            }
            //
            if(Amplifier.getEvent(e).offsetY>parseInt(borderBox.style.height)/2 && (parseInt(this.style.height)- Amplifier.getEvent(e).offsetY)>parseInt(borderBox.style.height)/2){
                borderBox.style.top = -parseInt(this.style.height) + Amplifier.getEvent(e).offsetY - parseInt(borderBox.style.height)/2;
            }
            else if(Amplifier.getEvent(e).offsetY<parseInt(borderBox.style.height)/2){
                borderBox.style.top = -parseInt(this.style.height);
            }
            else{
                borderBox.style.top = -parseInt(borderBox.style.height);
            }
            //改变图片的style.left,style.top就可以精确控制被放大的部分。
            destImg.style.left = -Math.abs(parseInt(borderBox.style.left)*scale);
            destImg.style.top = -( parseInt(this.style.height) - Math.abs(parseInt(borderBox.style.top)) )*scale;
        };
    },
    //辅助函数，用来修复ie和ff不同的event模型
    getEvent: function(e){
        if (typeof e == 'undefined'){
            e = window.event;
        }
        //alert(e.x?e.x : e.layerX);
        if(typeof e.x == 'undefined'){
            ee.offsetX = e.layerX;
        }
        if(typeof e.y == 'undefined'){
            ee.offsetX = e.layerY;
        }
        return e;
    }

};

/*导航*/
function fmainnav() {
    var getItem = document.getElementById("mainnav").getElementsByTagName("div");
    for (var i=0; i<getItem.length; i++) {
        getItem[i].onmouseover=function() {
            for(var j=0;j<getItem.length;j++){
                if (getItem[j].className=="levelIe"){
                    getItem[j].className='level';
                }
            }
            if(this.className=="level"){
                this.className="levelIe";
            }
        }
        /*
        getItem[i].onmouseout=function() {
            if(this.className=="levelIe"){
                this.className="level";
            }
        }
        */
    }
}
window.onload=fmainnav;


