/* **************************************************

* script.js

* Main JavaScript module for siliconswitches.com

* Last updated: 2008-12-04

*****************************************************/



var IE4 = (document.all)?1:0;

var NS4 = (document.layers)?1:0;

var NS6 = (document.getElementById&&!document.all)?1:0;



var gImageList = [];

var gSubMenuList = [];



var App = {

    LoadedState: 0,

    ReadyState: 0

};



addEvent(window,"load",init);



document.oncontextmenu = function(){  return false; };



var showall_flag = 0;





function init(){


    App.LoadedState = 1;

    App.ReadyState = 1;

    

    BTN_TIM = setTimeout("showButtonGroup()",0);

}


var gCurGroup = 0;

var BTN_OPAC = 0;

var BTN_TIM;

function showButtonGroup(){

    clearTimeout(BTN_TIM);

    BTN_OPAC = 0;

	opac_value = 0;
	
    showButtonTrans();

}

function showButtonTrans(){

    var curPanel = "";

    var nxtPanel = "";

    var nxtGroup = 0;

    

    switch(gCurGroup){

	case 0:

            curPanel = "panel_groupD";

            nxtPanel = "panel_groupA";

            nxtGroup = 1;

            break;


        case 1:

            curPanel = "panel_groupA";

            nxtPanel = "panel_groupB";

            nxtGroup = 2;

            break;

        case 2:

            curPanel = "panel_groupB";

            nxtPanel = "panel_groupC";

            nxtGroup = 3;

            break;

        default:

            curPanel = "panel_groupC";

            nxtPanel = "panel_groupA";

            nxtGroup = 1;

    }

    BTN_OPAC++;

    var opac_value;

    if(BTN_OPAC<50){

        opac_value = 100-(2*BTN_OPAC);

        changeOpac(opac_value,curPanel);

        setTimeout("showButtonTrans()",00);

    } else if(BTN_OPAC>=50&&BTN_OPAC<100){

        var cur = document.getElementById(curPanel);

        var nxt = document.getElementById(nxtPanel);

        cur.style.visibility="hidden";

        nxt.style.visibility="visible";

        opac_value = (BTN_OPAC-50)*2;

        changeOpac(opac_value,nxtPanel);

        setTimeout("showButtonTrans()",20);

    } else{

        changeOpac(100,nxtPanel);

        gCurGroup = nxtGroup;

        BTN_TIM = setTimeout("showButtonGroup()",6000);

    }

}





var TIMA1, TIMB2, TIMC3;

var gMenuState = [];

gMenuState["design"] = 0;

gMenuState["quick"] = 0;

gMenuState["about"] = 0;

var gCurrentMenu = "";

var j = 0;

var k = 0;



function delayHide(e){

    var mnu_obj = getObject(e);

    var key = gSubMenuList[mnu_obj.id];

    mnu_obj.tag = 0;

    switch(key){

        case "design":

            TIMA1 = setTimeout("hideSubMenu('"+key+"')",1000);

            break;

        case "quick":

            TIMB2 = setTimeout("hideSubMenu('"+key+"')",1000);

            break;

        case "about":

            TIMC3 = setTimeout("hideSubMenu('"+key+"')",1000);

            break;

        default:

            

    }

    gMenuState[key] = 1;

}



function checkMenuState(key){

    switch(key){

        case "design":

            clearTimeout(TIMA1);

            break;

        case "quick":

            clearTimeout(TIMB2);

            break;

        case "about":

            clearTimeout(TIMC3);

            break;

        default:

            

    }

    gMenuState[key] = 0;

}



function resetMenuState(key){

    switch(key){

        case "design":

            TIMA1 = setTimeout("hideSubMenu('"+key+"')",1000);

            break;

        case "quick":

            TIMB2 = setTimeout("hideSubMenu('"+key+"')",1000);

            break;

        case "about":

            TIMC3 = setTimeout("hideSubMenu('"+key+"')",1000);

            break;

        default:

            

    }

    gMenuState[key] = 1;

}






















/////

function rect(){

    this.src = "";

    this.width = 0;

    this.height = 0;

    return this;

}
var PREV_IMAGES = [];

PREV_IMAGES[1] = new rect();

PREV_IMAGES[1].src = "images/prod_pic_01b.jpg";

PREV_IMAGES[1].width = 400;

PREV_IMAGES[1].height = 402;



PREV_IMAGES[2] = new rect();

PREV_IMAGES[2].src = "images/prod_pic_02b.jpg";

PREV_IMAGES[2].width = 400;

PREV_IMAGES[2].height = 402;



PREV_IMAGES[3] = new rect();

PREV_IMAGES[3].src = "images/prod_pic_03b.jpg";

PREV_IMAGES[3].width = 400;

PREV_IMAGES[3].height = 402;



PREV_IMAGES[4] = new rect();

PREV_IMAGES[4].src = "images/prod_pic_04b.jpg";

PREV_IMAGES[4].width = 400;

PREV_IMAGES[4].height = 402;



PREV_IMAGES[5] = new rect();

PREV_IMAGES[5].src = "images/prod_pic_05b.jpg";

PREV_IMAGES[5].width = 513;

PREV_IMAGES[5].height = 402;



PREV_IMAGES[6] = new rect();

PREV_IMAGES[6].src = "images/prod_pic_06b.jpg";

PREV_IMAGES[6].width = 400;

PREV_IMAGES[6].height = 402;



PREV_IMAGES[7] = new rect();

PREV_IMAGES[7].src = "images/prod_pic_07b.jpg";

PREV_IMAGES[7].width = 400;

PREV_IMAGES[7].height = 402;



PREV_IMAGES[8] = new rect();

PREV_IMAGES[8].src = "images/prod_pic_08b.jpg";

PREV_IMAGES[8].width = 400;

PREV_IMAGES[8].height = 402;





var PREV_INC;

var PREV_INDEX = 0;

function showPreview(key){

    var preview = document.getElementById("preview-panel");

    preview.style.display="block";

    

    var previmage = document.getElementById("preview-image");

    var prevshadow = document.getElementById("preview-back");

    

    var width = (IE4)?document.body.offsetWidth:window.innerWidth;

    var height = (IE4)?document.body.offsetHeight:window.innerHeight;

    

    var dx = width - 403;

    if(dx<0) dx = 0;

    dx = dx/2;

    

    dx = 335;

    

    var dy = height - 405;

    if(dy<0) dy = 0;

    dy = dy/2;

    

    dy = 335;

    

    PREV_INDEX = key;

    previmage.src=PREV_IMAGES[key].src; //"images/prod_pic_0"+key+"b.jpg";

    

    //var sx = getScrollX();

    //var sy = getScrollY();

    //dx = dx+sx;

    //dy = dy+sy;

    

    previmage.style.left=dx+"px";

    previmage.style.top=dy+"px";

    

    width=PREV_IMAGES[key].width;

    height=PREV_IMAGES[key].height;

    

    width=width/100;

    height=height/100;

    

    previmage.style.width=width+"px";

    previmage.style.height=height+"px";

    

    dx = dx + 4;

    dy = dy + 4;

    prevshadow.style.left=dx+"px";

    prevshadow.style.top=dy+"px";

    

    prevshadow.style.width=width+"px";

    prevshadow.style.height=height+"px";

    

    PREV_INC = 1;

    setTimeout("animatePreview()",10);

    //window.status=key+","+width+","+height;

}



function showPreview2(key){

    var preview = document.getElementById("preview-panel");

    preview.style.display="block";

    

    var previmage = document.getElementById("preview-image");

    var prevshadow = document.getElementById("preview-back");

    

    var width = (IE4)?document.body.offsetWidth:window.innerWidth;

    var height = (IE4)?document.body.offsetHeight:window.innerHeight;

    

    PREV_INDEX = key;

    previmage.src=PREV_IMAGES[key].src; //"images/prod_pic_0"+key+"b.jpg";

    var width2=PREV_IMAGES[key].width;

    var height2=PREV_IMAGES[key].height;

    

    var dx = width - width2;

    if(dx<0) dx = 0;

    dx = dx/2;

    

    dx = 285;

    

    var dy = height - height2;

    if(dy<0) dy = 0;

    

    window.status=dy+","+getScrollY();

    

    dy = dy/2;

    

    //dy = 356 + getScrollY();

    

    var sx = getScrollX();

    var sy = getScrollY();

    //dx = dx+sx;

    dy = dy+sy;

    if(dy<285) dy = 285;

    if(dy>1000) dy = 1000;

    

    previmage.style.left=dx+"px";

    previmage.style.top=dy+"px";

    

    width=PREV_IMAGES[key].width;

    height=PREV_IMAGES[key].height;

    

    width=width/100;

    height=height/100;

    

    previmage.style.width=width+"px";

    previmage.style.height=height+"px";

    

    dx = dx + 4;

    dy = dy + 4;

    prevshadow.style.left=dx+"px";

    prevshadow.style.top=dy+"px";

    

    prevshadow.style.width=width+"px";

    prevshadow.style.height=height+"px";

    

    PREV_INC = 1;

    setTimeout("animatePreview()",10);

    //window.status=key+","+width+","+height;

}



function animatePreview(){

    var previmage = document.getElementById("preview-image");

    var prevshadow = document.getElementById("preview-back");

    PREV_INC=PREV_INC+2;

    

    var width=PREV_IMAGES[PREV_INDEX].width;

    var height=PREV_IMAGES[PREV_INDEX].height;

    

    var dx = width/100;

    var dy = height/100;

    

    //var dx = 3+(PREV_INC*8);

    //var dy = 5+(PREV_INC*8);

    dx = dx*PREV_INC;

    dy = dy*PREV_INC;

    previmage.style.width=dx+"px";

    previmage.style.height=dy+"px";

    

    prevshadow.style.width=dx+"px";

    prevshadow.style.height=dy+"px";

    

    //if(PREV_INC<50) setTimeout("animatePreview()",10);

    if(PREV_INC<99) {

        setTimeout("animatePreview()",10);

    } else {

        previmage.style.width=width+"px";

        previmage.style.height=height+"px";

        

        prevshadow.style.width=width+"px";

        prevshadow.style.height=height+"px";

        

        //window.status=width+","+height;

    }

}



function hidePreview(){

    var preview = document.getElementById("preview-panel");

    preview.style.display="none";

    

    var previmage = document.getElementById("preview-image");

    previmage.style.width=3+"px";

    previmage.style.height=5+"px";

    

    var prevshadow = document.getElementById("preview-back");

    prevshadow.style.width=3+"px";

    prevshadow.style.height=5+"px";

    //window.status=width+","+height;

    

    PREV_INDEX = 0;

}



function addEvent(obj,event,handler){

    if(document.addEventListener){        

        obj.addEventListener (event,handler,false);

    } else if(document.attachEvent){

        obj.attachEvent ("on"+event,handler);

    } else if(document.captureEvents){

        eval("obj.captureEvents(Event."+event.toUpper()+")");

        eval("obj.on"+event+" = "+handler);

    } else {

        eval("obj.on"+event+"= "+handler);

    }

}



function getObject(e){

    var elem = "";

    e = (e) ? e : ((window.event) ? window.event : "")

    if(e) {

        elem = (e.target) ? e.target : e.srcElement;

    }

    return elem;

}



function getScrollX() {

    var scrOfX = 0;

    if( typeof( window.pageYOffset ) == 'number' ) {

        //Netscape compliant

        scrOfX = window.pageXOffset;

    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {

        //DOM compliant

        scrOfX = document.body.scrollLeft;

    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {

        //IE6 standards compliant mode

        scrOfX = document.documentElement.scrollLeft;

    }

    return scrOfX;

}



function getScrollY() {

    var scrOfY = 0;

    if( typeof( window.pageYOffset ) == 'number' ) {

        //Netscape compliant

        scrOfY = window.pageYOffset;

    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {

        //DOM compliant

        scrOfY = document.body.scrollTop;

    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {

        //IE6 standards compliant mode

        scrOfY = document.documentElement.scrollTop;

    }

    return scrOfY;

}



function changeOpac(opacity, id) {

    var object = document.getElementById(id).style;

    object.opacity = (opacity / 100);

    object.MozOpacity = (opacity / 100);

    object.KhtmlOpacity = (opacity / 100);

    object.filter = "alpha(opacity=" + opacity + ")";

} 