﻿var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS";
},
searchString: function (data) {
for (var i=0;i<data.length;i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index == -1) return;
return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
},
dataBrowser: [
{ string: navigator.userAgent,
subString: "OmniWeb",
versionSearch: "OmniWeb/",
identity: "OmniWeb"
},
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari"
},
{
prop: window.opera,
identity: "Opera"
},
{
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
},
{
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{
string: navigator.vendor,
subString: "Camino",
identity: "Camino"
},
{ // for newer Netscapes (6+)
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
},
{
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
},
{ // for older Netscapes (4-)
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS : [
{
string: navigator.platform,
subString: "Win",
identity: "Windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "Mac"
},
{
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}
]
};
BrowserDetect.init();
function getTopNavLink(w, catName) {
if (BrowserDetect.browser == "Safari") {
var a = "<img src=/includes/privatereserveguitars/images/pixel.gif width=" + w + " height=18 border=0/></A></DIV><div class=safariTopNavDiv style='WIDTH: " + w + "px'>" + catName + "</div>";
return a;
}
else {
return catName + "</A>";
}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
if (typeof dropmenuobj!="undefined") {
hideMouseover(); 
}
}
function MM_topnavRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_preload() {
//this.MM_preloadImages('/images/header/topnavBandOrch_on.gif','/images/header/topnavPercussion_on.gif','/images/header/interstate/topnavGuitars_on.gif','/images/header/interstate/topnavBass_on.gif','/images/header/interstate/topnavKeyboards_on.gif','/images/header/interstate/topnavRecComp_on.gif','/images/header/interstate/topnavLiveSound_on.gif','/images/header/topnavDjLighting_on.gif','/images/header/topnavOutlet.gif');
}
var menuwidth='100px' //default menu width
var menubgcolor='#FFFDF1' //menu bgcolor
var appearDelay=300 //menu disappear speed onMouseout (in miliseconds)
var disappeardelay=50 //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?
var isOn = true; 
/////No further editting needed
var ie4=document.all
var ns6=document.getElementById&&!document.all
if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')
function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}
var w_isLoaded = false;
if(!ie4) {
if (navigator.userAgent.indexOf('Safari') != -1) {
w_isLoaded = true;
} else {
if (document.addEventListener) { 
document.addEventListener("DOMContentLoaded", setLoadedFlag, false);
} else {
document.onload = setLoadedFlag;
}
}
} else {
document.onreadystatechange = setLoadedFlag;
}
function setLoadedFlag() {
if( (ie4 && document.readyState=="complete") || (!ie4) ) {
w_isLoaded = true;
}
}
function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6) {
dropmenuobj.style.left=dropmenuobj.style.top=-500;
}
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover") {
showTimer = setTimeout("showNow()",appearDelay);
}
else if (e.type=="click") {
this.visibility="hidden"
}
}
function setFlag(state) {
isOn = state; 
}
function showNow() {
if(isOn) {
if(!ns6) {
drawIframe(); 
}
dropmenuobj.style.visibility="visible"
clearTimeout(showTimer);
}
}
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge") {
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset;
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) { //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) {//up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge;
}
}
}
return edgeoffset
}
function populatemenu(what){
if (ie4||ns6) {
dropmenuobj.innerHTML= "<div class=\"dropItem\">" + what.join("") + "</div>"
}
}
// If the top menu item isn't going anywhere then assign this event to the onclick of the top item (root)
function topClick(e) {
if(!e)
e = window.event;
if(ie4) {
e.cancelBubble = true;
} else {
e.stopPropagation();
}
}
function dropdownmenu(obj, e, menucontents, menuwidth, swap1, swap2, swap3){
hidemenu();
if(!w_isLoaded)
return clickreturnvalue();
isOn = true;
MM_swapImage(swap1, swap2, swap3); // executes mouseovers
if (window.event) { event.cancelBubble=true; }
else if (e.stopPropagation) { e.stopPropagation() }
clearhidemenu();
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents);
if ((ie4||ns6) && (menucontents[0] != "none")) {
if (swap1 != "topnavOutlet") {
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}
}
return clickreturnvalue();
}
function clickreturnvalue(){
if (ie4||ns6) { return false }
else return true
}
function contains_ns6(a, b) {
while (b.parentNode) {
if ((b = b.parentNode) == a) {
return true;
return false;
}
}
}
function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement)) {
delayhidemenu();
}
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) {
delayhidemenu();
}
}
// sets dropdown visibility to hidden 
function hideMouseover() {
if (dropmenuobj.style.visibility="hidden" || !isOn) {
MM_topnavRestore();
iframe = getObj('iMask');
iframe.style.visibility="hidden";
}
}
// sets dropdown div visiibility to hidden
function hidemenu(e){
if (typeof dropmenuobj!="undefined") {
hideMouseover();
if (ie4||ns6) {
dropmenuobj.style.visibility="hidden";
}
}
}
// just triggers hidemenu() with a delay
function delayhidemenu(){
if (ie4||ns6) {
if ((typeof dropmenuobj!="undefined") && (dropmenuobj.style.visibility != "visible")) {
hidemenu();
}
else {
delayhide=setTimeout("hidemenu()",disappeardelay);
}
}
}
function clearhidemenu(){
if (typeof delayhide!="undefined") {
clearTimeout(delayhide);
}
}
if (hidemenu_onclick=="yes")
document.onclick=hidemenu
function init() {
if (!document.getElementById) return
var imgOriginSrc;
var imgTemp = new Array();
var imgarr = document.getElementsByTagName('img');
for (var i = 0; i < imgarr.length; i++) {
if (imgarr[i].getAttribute('hsrc')) {
imgTemp[i] = new Image();
imgTemp[i].src = imgarr[i].getAttribute('hsrc');
imgarr[i].onmouseover = function() {
imgOriginSrc = this.getAttribute('src');
this.setAttribute('src',this.getAttribute('hsrc'))
}
imgarr[i].onmouseout = function() {
this.setAttribute('src',imgOriginSrc)
}
}
}
}
onload=init;
//return [object]
function getObj(theId) {
if (document.getElementById) {
theObj = document.getElementById(theId); 
} else if (document.all) { 
theObj = document.all[theId];
}
return theObj;
}
// create an iframe if iframe or using as backdrop
function drawIframe() {
var iframe = getObj('iMask');
var dropArea = getObj('dropmenudiv');
iframe.style.visibility = 'visible';
document.body.insertBefore(iframe);
iframe.style.zIndex = 0;
iframe.style.top = dropArea.style.top;
iframe.style.left = dropArea.style.left;
iframe.style.width = dropArea.style.width;
iframe.style.height = dropArea.offsetHeight;
iframe.style.display='';
//window.alert(dropArea.style.height);
}
