JSVer = 0;
MSIE = 0;

JSVer = (navigator.userAgent.indexOf ("Mozilla") != -1 ? parseInt(navigator.appVersion.substring(0,1)) : 0);
// JSVer setted for both Netscape && MS
MSIE = (navigator.userAgent.indexOf ("MSIE") != -1);
// MSIE != 0 for MSIE

function bkm() {
	if (navigator.appName=='Microsoft Internet Explorer') {
		url = window.location.href;
		window.external.AddFavorite(url, "Richard Wagner - Der Ring des Nibelungen");
	} else if (navigator.appName=='Netscape')
		alert("First push OK and then hit CTRL+D to add a bookmark of this site.");
}

function tops(url, w, h) {
    if (JSVer < 3) {
        return true;
    }
    var r_w = w, r_h = h, s = '', s_scroll = 'no';
    if (JSVer >= 3) {
        if (JSVer == 3) {
            r_w += 32; r_h += 32;
        }
        s = 'status=no,scrollbars=' + s_scroll + ',width=' + r_w + ',height=' + r_h;
        //alert(s);
        window.open(url, "SecondWindow",s)

        return false;
    }
    return true;
}

function ops(img_url, w, h, img_title) {
    if (JSVer < 3) {
        return true;
    }
    var r_w = w, r_h = h, s = '', s_scroll = 'no';
    if (JSVer >= 3) {
        if (JSVer == 3) {
            r_w += 32; r_h += 32;
        }
        if (img_title)  r_h += 18;
        if (screen) {
            //alert(screen.availWidth + ' ' + screen.availHeight);
            if (screen.availWidth < r_w) {
                s_scroll = 'yes';
                r_w = screen.availWidth;
            }
            if (screen.availHeight < r_h) {
                s_scroll = 'yes';
                r_h = screen.availHeight;
            }
        } else
            s_scroll = 'yes';
        s = 'status=no,scrollbars=' + s_scroll + ',width=' + r_w + ',height=' + r_h;
        //alert(s);
        var secWnd = window.open('', 'SecondWnd', s);
        with (secWnd) {
			document.write("<head><title>ЛаньЧ</title></head>");
            document.write("<BODY MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0 BGCOLOR='White'>");
            if (JSVer >= 4 || MSIE) {
                document.write("<DIV STYLE='left:0px;top:0px;margin:0px 0px 0px 0px;'>");
            }
            document.write("<IMG SRC=\""+img_url+"\" WIDTH="+ w +" HEIGHT=" + h + " BORDER=0>");
            if (img_title != null) {
                if (JSVer >= 4)
                    document.write("<SPAN STYLE='font-size:8pt;font-family:Tahoma,Arial Cyr,Arial,Helv;'><BR><CENTER>");
                else
                    document.write("<BR><CENTER><FONT SIZE=1 FACE=\"Tahoma,Arial Cyr,Arial,Helv\">");
                document.writeln(img_title);
                if (JSVer >= 4)
                    document.write("</CENTER></SPAN>");
                else
                    document.writeln("</FONT></CENTER>");
            }
            if (JSVer >= 4 || MSIE) {
                document.write("</DIV>");
            }
            document.writeln("</BODY>\n</HTML>");
            document.close();
        }
        return false;
    }
    return true;
}

function bCh(n_port) {
  var s_loc = window.location, s_prot = s_loc.protocol,
            s_host = s_loc.host,
            s_port = s_loc.port, s_path = s_loc.pathname,
            s_hash = s_loc.hash, s_search = s_loc.search,
            s_new_loc, n_idx;

    n_port = 0+n_port;  
    if (n_port==(0+s_port)) return (false); // same port
    if (s_port=="" && n_port==80) return (false);
    s_host = (n_idx = s_host.indexOf(":")) != -1 ? s_host.substring(0, n_idx) : s_host;
    s_new_loc= "" + s_prot + "//" + s_host + ":" + n_port + s_path + s_hash + s_search;
    window.location.href = s_new_loc;
    return (false);
}

// make array of objects 
function makeArray(n) {
   this.length = n;
   for (var i = 1; i <= n; i++) { 
     this[i] = 0 
   }
   return this
}

im_index = 0;
imOn = new makeArray(11);
imOff = new makeArray(11);
imPick = new makeArray(11);

picked = "";
selected = "";

// for future modifications
function document_images() {
    return (document.images);
}

function _loadImage(name, width, height, im_off, im_on, im_pick) {
    if (JSVer >= 3) {
         imOn["" + name] = new Image(eval(width),eval(height));
         imOn["" + name].src = (im_on != null) ? ("" + im_on) : ("" + im_off);
         //alert("" + imOn["" + name].src);
         imOff["" + name] = new Image(eval(width),eval(height));
         imOff["" + name].src = "" + im_off;
         //alert("" + imOff["" + name].src);
         imPick["" + name] = new Image(eval(width),eval(height));
         imPick["" + name].src = (im_pick != null) ? ("" + im_pick) : ("" + im_on);
         //alert("" + imPick["" + name].src);
    }
}

// Взято из Глобальского скрипта

var name2layer = null;      // hash array for name to layer translation
                            // Netscape 4 only (now at least)
function document_images(name) {
    var layer = !!name2layer && document.layers && name2layer['' + name] ? document.layers[ name2layer['' + name] ] : null; 
    var doc = layer ? layer.document : document;
    return (doc.images['' + name]);
}

function bOn(name) {
    //alert(name + "on!"); alert(imOn["" + name].src);alert(imOn["" + name].src);
    selected = name;
    if (document.images)
        document_images(name).src=(picked==name)?imPick["" + name].src :imOn["" + name].src;
}

function bPick(name) {
    //alert(name + "on!"); alert(imOn["" + name].src);alert(imOn["" + name].src);
    if (picked == name) return;
    /// pick off
    if ((JSVer >= 3) && (picked != "")) {
        document_images()["" + picked].src=imOff["" + picked].src;
        if (selected != picked)
            document_images()["" + selected].src=imOff["" + selected].src;
    }
    picked = name;
    // pick on
    if ((JSVer >= 3) && (picked != ""))
        document_images()["" + picked].src=imPick["" + picked].src;
}

function bOff(name) {
    //alert(name + "off!"); alert(imOn["" + name].src);
    if (document.images)
        document_images(name).src=(picked==name)?imPick["" + name].src : imOff["" + name].src;
}

function IChange(name, new_name) {
    if (JSVer < 3) return;
    //alert(name + new_name);
    // We suppose imOff[some name] always exist...
    //alert(imOff["" + new_name].src);
    document_images()["" + name].src = imOff["" + new_name].src;
}

// bToggle(...) need for multiple images toggling
// variable length arguments 
function bToggle() {
    if (JSVer < 3) return;
    for (var i=0; i < arguments.length-1; i += 2) {
        //alert(typeof(arguments[i+1]));
        if (typeof(arguments[i+1]) == "string") {
            IChange(arguments[i], arguments[i+1]);
        } else {
            arguments[i+1] ? bOn(arguments[i]) : bOff(arguments[i]);
        }
    }
}

function bLoad() {
    if (JSVer < 3) return;
        bPick(!MSIE && typeof(pick) == "undefined" ? "" : pick);
}
