var skipWatermark;

var launchPartsMate;

var partsMateKit;

var pngFix;;

var cCs = new Array("categories","brands");

var wMarks = new Array("tool","finishing","glow","radio","boat","car","airplane","helicopter","radio2","glue");
var wMarkPageTitles = new Array("Tools/Books/Videos","Finishing Supplies","Glow/Gas Engines/Parts","Radio Systems and Parts","Boats","Cars/Trucks and Parts","Airplanes","Helicopters");
function init() {
  if (launchPartsMate) {
    if (partsMateKit) {
      togglePF(partsMateKit);
    } else {
      togglePF();
    }
  }
  preloadImages();
  // pick appropriate content watermark
  if (!skipWatermark) {
    var wmark;
    var title = document.title + "";
    while (title.indexOf("  ") > -1) {
      title = title.replace("  "," ");
    }
    for (var i=0;i<wMarks.length;i++) {
      if (wMarkPageTitles[i] && title.indexOf(wMarkPageTitles[i]) > -1) {
        wmark = wMarks[i];
      }
    }
    if (!wmark) {
      wmark = wMarks[Math.floor(Math.random() * wMarks.length)];
    }
    var cCellStyle = document.getElementById("contentCell").style;
    cCellStyle.backgroundPosition="100% 30px";
    cCellStyle.backgroundRepeat="no-repeat";
    cCellStyle.backgroundImage="url(/graphics/wmarks/"+wmark+".gif)";
  }
  if (container = document.getElementById("scrollerContainer")) {
    container.innerHTML = swfQuickHTML('scroller',445,56);
  }
  if (pngFix) {
    pngFix();
  }
  if (iframe = document.getElementById("brandsIFrame")) {
    iframe.src = "home_brands.html";
  }
}

function takeAdvantageFlash() {
  document.write(swfQuickHTML('take_advantage',260,74));
}

function gigastorePromo() {
  document.write(swfQuickHTML('24giga_store',200,85));
}

function swfQuickHTML(name,width,height) {
  return '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+width+'" height="'+height+'" id="'+name+'" align="middle">' +
  '<param name="allowScriptAccess" value="sameDomain" />' +
  '<param name="movie" value="swf/'+name+'.swf" />' +
  '<param name="quality" value="high" />' +
  '<param name="bgcolor" value="#ffffff" />' +
  '<param name="wmode" value="transparent" />' +
  '<embed wmode="transparent" src="swf/'+name+'.swf" quality="high" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+name+'" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />' +
  '</object>'
}

function pleaseLoginDealer() {
  alert("Dealers must log in to access product information and pricing");
}

var pfIsOpen = false;

function togglePF(kitId,kitPlanId,sku) {
  var pf = document.getElementById("partsFinder");
  if (pfIsOpen) {
    pfIsOpen = false;
    pf.style.left = this.closedX;
    pfMask(0);
    document.getElementById('pfIFrame').src='parts_finder/';
  } else {
    this.closedX = findPosX(pf);
    pf.style.left = (document.getElementById("mainTable").offsetWidth - 567) / 2;
    pfIsOpen = true;
    var url = "parts_finder/?loaded=true";
    if (kitId) {
      url += "&KitID="+kitId;
      if (kitPlanId) {
        url += "&KitPlanID="+kitPlanId;  
        if (sku) {
          url += "&SKU="+sku;  
        }
      }
    }
    pfMask(1);
    document.getElementById('pfIFrame').src=url;
  }
}

function pfMask(toggle) {
  pMask(toggle);
}

function pMask(toggle) {
  var hide = new Array("takeAdvantage","testimonials","videoNavigator","videoWindow","brandsIFrame");
  for (var i=0;i<hide.length;i++) {
    if (e = document.getElementById(hide[i])) {
      e.style.visibility = toggle ? "hidden" : "visible";
    }
  }
  var pageMask = document.getElementById("pageMask");
  pageMask.style.height = document.body.offsetHeight;
  pageMask.style.width = document.body.offsetWidth;
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    pageMask.style.backgroundImage= "url(/graphics/blacktrans60back.png)";
    pageMask.style.backgroundRepeat="repeat";
  } else {
    pageMask.style.backgroundColor = "#000000";
    pageMask.style.MozOpacity = .60;
    pageMask.style.opacity = .60;
    pageMask.style.filter = "alpha(opacity=60)";
  }
  pageMask.style.display = toggle ? "block" : "none";
}


function toggleRegisterQuick(toggle) {
  pMask(toggle);
  var regPopUp = document.getElementById("registerPopUp");
  if (toggle) {
    regPopUp.style.left = (document.getElementById("mainTable").offsetWidth - 400) / 2;
    regPopUp.style.display="block";
    document.getElementById("regIFrame").src="register_quick.php";
  } else {
    regPopUp.style.display="none";
  }
}

var mNavCats = [{
8:"AIRPLANES",
1:"HELICOPTERS",
9:"CARS/TRUCKS/ROBOTS",
10:"BOATS",
2:"RADIOS",
346:"ENGINES"
},{
347:"FIELD EQUIP.",
11:"MOTORS",
12:"BATTERIES",
348:"FINISHING",
349:"TOOLS/BOOKS",
350:"SIMULATORS"
}];

var mNavCatsCur = 0;

function mNavOver(link) {
  var cells = mNavCells(link);
  cells.left.style.backgroundImage="url(graphics/middle_nav_btn_left_over.gif)";
  cells.middle.style.backgroundImage="url(graphics/middle_nav_btn_back_over.gif)";
  cells.right.style.backgroundImage="url(graphics/middle_nav_btn_right_over.gif)";  
}
function mNavOff(link) {
  var cells = mNavCells(link);
  cells.left.style.backgroundImage="url(graphics/middle_nav_btn_left.gif)";
  cells.middle.style.backgroundImage="url(graphics/middle_nav_btn_back.gif)";
  cells.right.style.backgroundImage="url(graphics/middle_nav_btn_right.gif)";  
}
function mNavCells(link) {
  var cells = new Object;
  cells.middle = link.parentNode;
  var row = cells.middle.parentNode;
  var tds = row.getElementsByTagName("TD");
  for (i=0;i<tds.length;i++) {
    if (tds[i] == cells.middle) {
      cells.left = tds[i-1];
      cells.right = tds[i+1];
    }
  }
  return cells;
}
function mNavMore(link) {
  var row = link.parentNode.parentNode;
  var tds = row.getElementsByTagName("TD");
  var j = 0;
  var cats = mNavCats[mNavCatsCur?0:1];
  for (i=0;i<tds.length;i++) {
    if (tds[i].className == "mNavBtnCenter") {
      j++;
      var k=0;
      for (cat in cats) {
        k++;
        if (k==j) {
          var link = tds[i].getElementsByTagName("A")[0];
          link.innerHTML = cats[cat];
          link.href="./?cat="+cat;
        }
      }
    }
  }
  mNavCatsCur = mNavCatsCur?0:1;
}

function lNavChange(to) {
  var toUc = to == "categories" ? "Categories" : "Brands";
  var from = to == "categories" ? "brands" : "categories";
  var fromUc = from == "categories" ? "Categories" : "Brands";
  document.getElementById("lNav"+fromUc).style.display = "none";
  document.getElementById("lNav"+toUc).style.display = "block";
  document.getElementById("lNav"+fromUc+"Btn").src="graphics/left_nav_"+from+".gif";
  document.getElementById("lNavMiddleBtn").src="graphics/left_nav_middle-"+to+"_active.gif";
  document.getElementById("lNav"+toUc+"Btn").src="graphics/left_nav_"+to+"-active.gif";
  document.cookie="lNavActive="+to+"; path=/;";
}
function lNavAutoChange() {
  var lastActive = "categories";
  var cookie = document.cookie;
  for (var i=0;i<cCs.length;i++) {
    if (cookie.indexOf("lNavActive="+cCs[i]) > -1) {
      lastActive = cCs[i];
    }
  }
  lNavChange(lastActive);
}
function ovrM(e,menu) {
  e.cancelBubble = true;
  var parent = menu.parentNode;
  parent.style.backgroundImage = "url(graphics/left_nav_over_back.gif)";
  parent.style.backgroundRepeat = "repeat-x";
  parent.style.cursor = "pointer";
}
function offM(e,menu) {
  e.cancelBubble = true;
  var parent = menu.parentNode;
  parent.style.backgroundImage = "";
}

var clubPriceWindow;
function clubPrice(msrp,price) {
  var url = "club_price.php?msrp="+msrp+"&price="+price;
  if (!clubPriceWindow || clubPriceWindow.closed) {
    clubPriceWindow = window.open(url,'clubPriceWindow','width=250,height=325,scrollbar=no,toolbar=no,status=no,location=no');
    clubPriceWindow.focus();
  } else {
    clubPriceWindow.document.location = url;
    clubPriceWindow.focus();
  }
}

function quickSearch() {
  var form = quickSearchForm;
  var substring = form["posted_data[substring]"].value;
  var manufacturerid = form["posted_data[manufacturers][]"].options[form["posted_data[manufacturers][]"].selectedIndex].value;
  if (!substring && manufacturerid) {
    document.location='manufacturers.php?manufacturerid='+manufacturerid;
    return false;
  }
  return true;
}

function brandSearch() {
  document.getElementById("brandSearchGo").src='graphics/please_wait.gif';
  return true;
}

function categorySearch() {
  document.getElementById("catSearchGo").src='graphics/please_wait.gif';
  return true;
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		please_wait = newImage("graphics/please_wait.gif");
		middle_nav_btn_left_over = newImage("graphics/middle_nav_btn_left_over.gif");
		middle_nav_btn_middle_over = newImage("graphics/middle_nav_btn_back_over.gif");
		middle_nav_btn_right_over = newImage("graphics/middle_nav_btn_right.gif");
		left_nav_categories = newImage("graphics/left_nav_categories.gif");
		left_nav_categories_active = newImage("graphics/left_nav_categories-active.gif");
		left_nav_middle_brands_active = newImage("graphics/left_nav_middle-brands_active.gif");
		left_nav_brands = newImage("graphics/left_nav_brands.gif");
		left_nav_brands_active = newImage("graphics/left_nav_brands-active.gif");
		preloadFlag = true;
	}
}

function findPosX(obj) {
  var curleft = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curleft += obj.offsetLeft
      obj = obj.offsetParent;
    }
  } else if (obj.x)
    curleft += obj.x;
  return curleft;
  
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
    curtop += obj.y;
    return curtop;
}
