﻿// JScript File

LanguageText=function(){
  this.arInternal = new Array();
}

LanguageText.prototype.addItem=function(sKey, sValue, sTagId, sTagAttribute){
    if (sKey)
        if (typeof(sKey)=='string')
        {
            var sUpperKey = sKey.toUpperCase();
            var i=-1;
            if (this.arInternal.length > 0)
                for (i=0; i<this.arInternal.length; i++)
                    if (this.arInternal[i][0]==sUpperKey)
                        break;
                        
            if ((i>-1) && (i < this.arInternal.length))
                this.arInternal[i]=new Array(sUpperKey, sValue, sTagId, sTagAttribute);
            else
                this.arInternal.push(new Array(sUpperKey, sValue, sTagId, sTagAttribute));
       }
}

LanguageText.prototype.getItem=function(sKey){
    var oReturn=null;
    if (sKey)
        if (typeof(sKey)=='string')
        {
            var sUpperKey = sKey.toUpperCase();
            var i=-1;
            if (this.arInternal.length > 0)
                for (i=0; i<this.arInternal.length; i++)
                    if (this.arInternal[i][0]==sUpperKey)
                    {
                        oReturn=this.arInternal[i];
                        break;
                    }
        }
        
    return oReturn;   
}

LanguageText.prototype.getItemValue=function(sKey, nNumber){
    var sReturn='';
    var oTemp = this.getItem(sKey);
    if ((oTemp) && (nNumber))
        if ((nNumber < oTemp.length) && (nNumber > -1))
            sReturn = oTemp[nNumber];
        
    return sReturn;   
}

LanguageText.prototype.applyData=function(){
    if (this.arInternal.length > 0)
        for (i=0; i<this.arInternal.length; i++)
            if (this.arInternal[i][2])
            {
                var oElement = document.getElementById(this.arInternal[i][2]);
                if (oElement)
                    if (this.arInternal[i][3])
                    {
                        var sText = this.arInternal[i][1];
                        if (sText)
                            sText=sText.replace(/ /g, '&nbsp;');
                        oElement[this.arInternal[i][3]]="'" + sText + "'";
                    }
                    else
                    {
                        var sText = this.arInternal[i][1];
                        if (sText)
                            sText=sText.replace(/ /g, '&nbsp;');
                            
                        switch(oElement.tagName)
                        {
                        case 'DIV':
                        case 'H1':
                        case 'P':
                        case 'SPAN':
                            oElement.innerHTML=sText;
                            break;
                        default:
                            GLog.write('Unknown element tag "' + oElement.tagName + '" for "' + this.arInternal[i][0] + '".');
                            break;
                        }
                    }
            }
}

LanguageText.prototype.parseXml=function(oXml){
    this.clear();
    this.appendXml(oXml);
}

LanguageText.prototype.appendXml=function(oXml){
    if (oXml)
        //if (oXml.length > 0)
        {
            var i;
            var oItems = oXml.documentElement.getElementsByTagName("Item");
            for (i=0; i < oItems.length; i++)
            {
                this.addItem(oItems[i].getAttribute("id"), oItems[i].getAttribute("text"), oItems[i].getAttribute("tagId"), oItems[i].getAttribute("tagAttr"));
            }
        }
}

LanguageText.prototype.clear=function(){
    this.arInternal.length=0;
}