var GN_DOM=document.getElementById?true:false;
var GN_OPERA=(window.opera)?true:false;
var GN_IE=(document.all && !GN_OPERA)?true:false;
var GN_LastCR=null;
var GN_TimeoutID=null;
var GN_Timeout=100;

var GN_IM=[];

//write browser-specific styles
if(GN_IE) document.write('<link rel="stylesheet" type="text/css" href="ie-only.css" />');
else document.write('<link rel="stylesheet" type="text/css" href="non-ie.css" />');

function GN_fnImgPreload(strImg, strImg2)
{
        this.norm=new Image();
        this.over=new Image();

        if(strImg2==null)
        {
                var ar=strImg.split(".");
                this.norm.src=strImg;
                this.over.src=ar[0]+"_a."+ar[1];
        }
        else
        {
                this.norm.src=strImg;
                this.over.src=strImg2;
        }
        return this;
}


function GN_fnGetElement(strName)
{
        if(GN_DOM)
        {
                return document.getElementById(strName);
        }
        else
        {
                //alert("Your browser doesn\'t support DOM!");
                return false;
        }
}

function GN_fnHideRow(numRow)
{
        if(!numRow) return;
        var objTR=GN_fnGetElement('tTR'+numRow);
        objTR.className="vendor";
        var chld;
        if(GN_DOM && (chld=objTR.firstChild.firstChild) && GN_VND['v'+numRow])
                chld.src=GN_VND['v'+numRow].norm.src;
}

function GN_fnHideCol(numCol)
{
        if(!numCol) return;
        var objTH=GN_fnGetElement('tTH'+numCol);
        var objTHPic=GN_fnGetElement('TPIC'+numCol);
        var objSha1=GN_fnGetElement('tSha'+numCol);
        var objSha2=GN_fnGetElement('tOfs'+numCol);

        objTH.className="";
        if(GN_PIC['v'+numCol]) objTHPic.style.backgroundImage="url("+GN_PIC['v'+numCol].norm.src+")";
        if(GN_HDR['v'+numCol]) document.images['hdp'+numCol].src=GN_HDR['v'+numCol].norm.src;
        objSha1.style.visibility="hidden";
        objSha2.style.visibility="hidden";
}

function GN_fnShowRow(numRow)
{
        if(!numRow) return;

        var numLastRow=0;

        if(GN_LastCR!=null)
        {
                numLastRow=GN_LastCR.row;
                GN_LastCR.row=0;
        }
        else
        {
                GN_LastCR={col: 0, row: 0};
        }

        if(numLastRow!=numRow) GN_fnHideRow(numLastRow);
        else return;

        var objTR=GN_fnGetElement('tTR'+numRow);
        objTR.className="vendorsel";
        var chld;
        if(GN_DOM && (chld=objTR.firstChild.firstChild) && GN_VND['v'+numRow])
                chld.src=GN_VND['v'+numRow].over.src;

        if(GN_LastCR!=null)
                GN_LastCR.row=0;
        else
                GN_LastCR={col: 0, row: 0};
}

function GN_fnShowCol(numCol)
{
        if(!numCol) return;

        var numLastCol=0;

        if(GN_LastCR!=null)
        {
                numLastCol=GN_LastCR.col;
                GN_LastCR.col=0;
        }
        else
        {
                GN_LastCR={col: 0, row: 0};
        }

        if(numLastCol!=numCol) GN_fnHideCol(numLastCol);
        else return;

        var objTH=GN_fnGetElement('tTH'+numCol);
        var objTHPic=GN_fnGetElement('TPIC'+numCol);
        var objSha1=GN_fnGetElement('tSha'+numCol);
        var objSha2=GN_fnGetElement('tOfs'+numCol);

        objTH.className="sel";

        if(GN_PIC['v'+numCol]) objTHPic.style.backgroundImage="url("+GN_PIC['v'+numCol].over.src+")";
        if(GN_HDR['v'+numCol]) document.images['hdp'+numCol].src=GN_HDR['v'+numCol].over.src;
        objSha1.style.visibility="visible";
        objSha2.style.visibility="visible";
}

function GN_fnGetRowCol(strID)
{
        strID=strID.substr(1);
        var arCR=strID.split("_");
        return {row: arCR[0], col: arCR[1]};
}

function GN_fnHideAll()
{
        GN_fnHideRow(GN_LastCR.row);
        GN_fnHideCol(GN_LastCR.col);
        GN_LastCR=null;
}

function GN_OV(objRef)
{
        var CR=GN_fnGetRowCol(objRef.id);
        clearTimeout(GN_TimeoutID);
        /*if(GN_LastCR!=null)
        {
                if(CR.row!=GN_LastCR.row)
                {
                        GN_fnHideRow(GN_LastCR.row);
                        GN_fnShowRow(CR.row);
                }
                if(CR.col!=GN_LastCR.col)
                {
                        GN_fnHideCol(GN_LastCR.col);
                        GN_fnShowCol(CR.col);
                }
        }
        else
        {
                GN_fnShowCol(CR.col);
                GN_fnShowRow(CR.row);
        }*/
        GN_fnShowCol(CR.col);
        GN_fnShowRow(CR.row);
        objRef.offsetParent.className="sel";
}

function GN_OU(objRef)
{
        var CR=GN_fnGetRowCol(objRef.id);
        objRef.offsetParent.className="cross";
        GN_TimeoutID=setTimeout('GN_fnHideAll()', GN_Timeout);
        GN_LastCR=CR;
}

function GN_HI(objRef)
{
        if(GN_IE)
                objRef.firstChild.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src='images/hilite.png';

        if(GN_DOM)
        {
                objRef.firstChild.src=GN_IM[objRef.firstChild.id].over.src;
        }
}

function GN_LO(objRef)
{
        if(GN_IE)
                objRef.firstChild.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src='images/dot.png';

        if(GN_DOM)
        {
                objRef.firstChild.src=GN_IM[objRef.firstChild.id].norm.src;
        }
}

function nw(oFile,wWidth,wHeight,noReturn)
{
        var cWidth=window.screen.width;
        var cHeight=window.screen.height;
        var scrollbars='no';

        if(wWidth>cWidth || wHeight>cHeight){
                if(wWidth>cWidth) wWidth=cWidth;
                if(wHeight>cHeight) {wHeight=cHeight-200; wWidth=parseInt(wWidth); wWidth+=20;}
                scrollbars='yes';
        }

        if(cHeight && cWidth){
                var leftOffset=Math.ceil((cWidth-wWidth)/2);
                var topOffset=Math.ceil((cHeight-wHeight)/2)-20;
                var a=window.open(oFile, set_name(oFile), 'width='+wWidth+',height='+wHeight+',top='+topOffset+',left=' + leftOffset + ',scrollbars=' + scrollbars);
                a.focus();
        }
        if(noReturn==null) return false;
}

function set_name(str)
{
        var new_str='';
        var my_char='';
        for(var i=0;i<str.length;i++)
        {
                my_char=str.substr(i,1);
                if(my_char!='/' && my_char!='.' && my_char!='?' && my_char!='=') new_str+=my_char;
        }
        return new_str;
}
