// Lombard Toggle

var IG = window.IG || {};
window.d = document;
window.isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; window.isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; window.isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function gE(e) {
            return d.getElementById(e);
}
function gT(e){
   return d.getElementsByTagName(e);
}
IG.namespace = function(s) {
    if(!s || !s.length) {
        return null;
    }
    var levels = s.split(".");
    var ns = IG;
    for(var i=(levels[0] == "IG") ? 1 : 0; i<levels.length; ++i) {
        ns[levels[i]] = ns[levels[i]] || {};
        ns = ns[levels[i]];
    }
    return ns;
};
IG.namespace("util");
            IG.util.Site = {
                                    Locale : (gE("locale"))?gE("locale").getAttribute("content").toLowerCase():'en_GB',
                                    SoftId : (gE("softid"))?gE("softid").getAttribute("content").toLowerCase():null,
                                    DealerPath : (gE("dealer_path"))?gE("dealer_path").getAttribute("content").toLowerCase():null,
                                    DVer : (gE("dver"))?gE("dver").getAttribute("content").toLowerCase():null,
                                    Page : window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1),
                                    convertCode : function(s) {
                                                            s = s.replace(/&#(\d{3});/g,function(r,r1) {return String.fromCharCode(r1);});
                                                            s = s.replace(/&#(\d{4});/g,function(r,r1) {return String.fromCharCode(r1);});
                                                            return s.replace(/&#(\d{5});/g,function(r,r1) {return String.fromCharCode(r1);});
                                                },
                                    environment : ((/^http:\/\/([^.\/$]*)./.test(d.location.href)) && (RegExp.$1 == "net" || RegExp.$1 == "web" || RegExp.$1 == "new" || RegExp.$1 == "www" || RegExp.$1 == "staging"))? RegExp.$1 : null,
                                    getEventTarget : function(e) {
                                                 e = e || window.event;
                                                 var targ = e.target || e.srcElement;
                                                 if (targ.nodeType == 3) { // defeat Safari bug
                                                                                    targ = targ.parentNode;
                                                }
                                                 return targ;
                                    },
                                    onload: function(){
                                                IG.util.Site.Id = gT("body")[0].id;
                                                IG.util.Site.Title = gT("title")[0].innerHTML;
                                                IG.util.Site.Body = gT("body")[0];
                                    }
            };
 
/**** ToggleLayer ****
 ** Required: dl tag with class='toggleMe'
 **                                 : dt tag to start with the id 'title_'
 **                                 : dd tag to start with the id 'description_'
 **                                                         AND to end in the same id of the corresponding dt tag (minus the 'title_')
****/                                         
IG.util.ToggleLayer = {
            byClass: function(className, tag){
                        var arrObj = new Array();
                        var tags = gT(tag);
                        for (var x=0; x<tags.length; x++){
                                    if (tags[x].className && tags[x].className == className){
                                             arrObj.push(tags[x])
                                    }
                        }
                        return arrObj;
            },
           show: function(elClicked){
                       if (elClicked.tagName && elClicked.tagName.toLowerCase()=='dl'){
                                    var x = (isIE)?0:1;
                                    elClicked = elClicked.childNodes[x];
                        }
                       var b = IG.util.Browser
                        var el = gE(elClicked.id.replace('title','description'))
                        if (elClicked.childNodes.length>0 ){
                                    elClicked.childNodes[0].className += ' hover';
                        } else {
                                    elClicked.className += ' hover';
                        }
                       el.style.display = 'block';
            },
          hide: function(elToggle){
                        var elDD = elToggle.childNodes;
                        for (var x=0; x<elDD.length; x++) {
                                    var el = elDD[x];
                                    if (el.tagName && el.tagName.toLowerCase() == 'dd') {
                                              el.style.display = 'none';
                                   } else if (el.tagName && el.tagName.toLowerCase() == 'dt' && el.childNodes) {
                                                el.childNodes[0].className = el.childNodes[0].className.replace(/hover/g,'');
                                    }
                        }
            },
           init: function(){
                        var arrToggle = this.byClass('toggleMe', 'DL');
                        for (var x = 0; x<arrToggle.length; x++){
                                    var elToggle = arrToggle[x];
                                    elToggle.className='toggleMeJS';
                                    this.hide(elToggle);
                                    this.show(elToggle);
                                    switch (elToggle.getAttribute('change')){
                                    case 'hover' :
                                                var elDT = elToggle.childNodes;
                                                for (var y=0; y<elDT.length; y++) {
                                                            if (elDT[y].tagName && elDT[y].tagName.toLowerCase() == 'dt') {
                                                                        elDT[y].onclick = function(e){
                                                                                    if (this.tagName.toLowerCase() == 'dt'){
                                                                                                IG.util.ToggleLayer.hide(elToggle);
                                                                                               IG.util.ToggleLayer.show(this);
                                                                                  }
                                                                      };
                                                            }
                                                }
                                    case 'click' :
                                    default :
                                                elToggle.onclick = function(e){
                                                            evTarget = IG.util.Site.getEventTarget(e);
                                                            if (evTarget.tagName.toLowerCase() == 'dt'){
                                                                        IG.util.ToggleLayer.hide(this);
                                                                        IG.util.ToggleLayer.show(evTarget);
                                                            } else if (evTarget.tagName.toLowerCase() == 'a'){
                                                                        IG.util.ToggleLayer.hide(this);
                                                                        IG.util.ToggleLayer.show(evTarget.parentNode);
                                                                        return false;
                                                            }
                                                };
                                    }
                        }
            }
};
IG.util.ToggleLayer.init();