var ns4;
var op5;
var op6;
var agt;
var mac;
var ie;
var mac_ie;
window.name= "USB007_MAIN";
today=new Date();
y0=today.getFullYear();

function sniffBrowsers() {
	ns4 = document.layers;
	op5 = (navigator.userAgent.indexOf("Opera 5")!=-1) ||(navigator.userAgent.indexOf("Opera/5")!=-1);
	op6 = (navigator.userAgent.indexOf("Opera 6")!=-1) ||(navigator.userAgent.indexOf("Opera/6")!=-1);
	agt=navigator.userAgent.toLowerCase();
	mac = (agt.indexOf("mac")!=-1);
	ie = (agt.indexOf("msie") != -1);
	mac_ie = mac && ie;
	dom = document.getElementById;
}

function swapInfoBox(divID, which)
{

  // Turn off the current one first
  // And reset the current
  if (which == 'prodImg')
  {
    changeDisplayStyle(currentProdImg, 'none');
    currentProdImg = divID;
  }
  else if (which == 'prodTxt')
  {
    changeDisplayStyle(currentProdTxt, 'none');
    currentProdTxt = divID;
  }

  // Turn on the desired info
  changeDisplayStyle(divID, '');

}


function changeDisplay(objectid,Object){
// set all display to none

	toggleMenu();
	/*
	if (objectid=="productspecfull"){
	  changeDisplayStyle("productspecimg", "none");

	}else{

		if(objectid=="productspecdesc"){
			var p = document.getElementById("productspecimgsrc");
			if(p != null){
				p.src = p.getAttribute("productspecimgsrc");
			}
		}else if(objectid=="productspecbranding"){
			var p = document.getElementById("productspecimgsrc");
			if(p != null){
				p.src = p.getAttribute("productspecbrandingsrc");
			}
		}


		changeDisplayStyle("productspecimg", "block");


	}
	*/
	if (objectid=="productspecfull"){
	  changeDisplayStyle("productspecfull", "block");
	  changeDisplayStyle("productspecdesc", "none");
	  changeDisplayStyle("productspecbranding", "none");

	}else if(objectid=="productspecdesc"){
	  changeDisplayStyle("productspecfull", "none");
	  changeDisplayStyle("productspecdesc", "block");
	  changeDisplayStyle("productspecbranding", "none");
	}else if(objectid=="productspecbranding"){
	  changeDisplayStyle("productspecfull", "none");
	  changeDisplayStyle("productspecdesc", "none");
	  changeDisplayStyle("productspecbranding", "block");
	}


	//changeDisplayStyle(objectid, "block");
	if (Object){
		Object.src= Object.src.replace(/off/i,"on");
	}else{
		var m = null;
		if(objectid == "productspecdesc"){
			m = document.getElementById("orderinginformationmenu");
			m.src= m.src.replace(/off/i,"on");
			menuUp(m);
		}else if (objectid == "productspecfull"){
			m = document.getElementById("specificationmenu");
			m.src= m.src.replace(/off/i,"on");
			menuUp(m);
		}else if (objectid == "productspecbranding"){
			m = document.getElementById("brandingoptionmenu");
			m.src= m.src.replace(/off/i,"on");
			menuUp(m);
		}

		if(m == null){
			changeDisplayStyle("productspecdesc", "block");
			m = document.getElementById("orderinginformationmenu");
			m.src= m.src.replace(/off/i,"on");
			menuUp(m);
		}

	}
}

function popWebstore(page){
page = page || '';

//alert(screen.height);

// THE HEIGHT SHOULD BE OBTAINED BEFORE THE WINDOW.OPEN()

var winheight  = eval(screen.height);
winheight = winheight * 0.9;

  var w = window.open('http://www.usb007.com/webstore/'+page,'USB007_WEBSTORE','toolbar=0 ,menubar=0, location=0, status=1, scrollbars=1, resizable=1, left=30, top=30, width=800, height='+winheight);
w.focus();
}
function toggleMenu(){
  changeDisplayStyle("productspecdesc", "none");
  changeDisplayStyle("productspecbranding", "none");
  changeDisplayStyle("productspecfull", "none");
  document.getElementById("orderinginformationmenu").src = "images/orderinginformationoff.png"
  document.getElementById("specificationmenu").src = "images/specificationoff.png"
  document.getElementById("brandingoptionmenu").src = "images/brandingoptionoff.png"

  menuDown(document.getElementById("orderinginformationmenu"));
  menuDown(document.getElementById("specificationmenu"));
  menuDown(document.getElementById("brandingoptionmenu"));
}

function menuUp(object){
	if(object){
		if(object.src.search(/off/i) == object.src.lastIndexOf(".") - 3){
			object.style.top = "6px";
		}
	}
}

function menuDown(object){
	if(object){
		if(object.src.search(/off/i) == object.src.lastIndexOf(".") - 3){
			object.style.top = "12px";
		}
	}
}

function getStyleObject(objectId, doc) {
    if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
    } else {
	return false;
    }
}

function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId, document);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
}

function changeDisplayStyle(objectId, newStyle){
	var styleObject = getStyleObject(objectId, document);
	if(styleObject){
	   	styleObject.display = newStyle;
	   	return true;
	} else {
	   	return false;
	}
}

function findImage(name, doc) {
	var i, img;
	for (i = 0; i < doc.images.length; i++) {
    	if (doc.images[i].name == name) {
			return doc.images[i];
		}
	}
	for (i = 0; i < doc.layers.length; i++) {
    	if ((img = findImage(name, doc.layers[i].document)) != null) {
			img.container = doc.layers[i];
			return img;
    	}
	}
	return null;
}

function getImage(name) {
	if (document.layers) {
    	return findImage(name, document);
	}
	return null;
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

function getElementHeight(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;
	}
}

function getElementWidth(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}

function getElementLeft(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageX;
	} else {
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		xPos = elem.offsetLeft;
		tempEl = elem.offsetParent;
  		while (tempEl != null) {
  			xPos += tempEl.offsetLeft;
	  		tempEl = tempEl.offsetParent;
  		}
		return xPos;
	}
}


function getElementTop(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.pageY;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all) {
			var elem = document.all[Elem];
		}
		yPos = elem.offsetTop;
		tempEl = elem.offsetParent;
		while (tempEl != null) {
  			yPos += tempEl.offsetTop;
	  		tempEl = tempEl.offsetParent;
  		}
		return yPos;
	}
}


function getImageLeft(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
    	if (img.container != null)
			return img.container.pageX + img.x;
		else
			return img.x;
  	} else {
		return getElementLeft(myImage);
	}
	return -1;
}

function getImageTop(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		if (img.container != null)
			return img.container.pageY + img.y;
		else
			return img.y;
	} else {
		return getElementTop(myImage);
	}
	return -1;
}

function getImageWidth(myImage) {
	var x, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.width;
	} else {
		return getElementWidth(myImage);
	}
	return -1;
}



function getImageHeight(myImage) {
	var y, obj;
	if (document.layers) {
		var img = getImage(myImage);
		return img.height;
	} else {
		return getElementHeight(myImage);
	}
	return -1;
}

function moveXY(myObject, x, y) {
	obj = getStyleObject(myObject)
	if (ns4) {
		obj.top = y;
 		obj.left = x;
	} else {
		if (op5) {
			obj.pixelTop = y;
 			obj.pixelLeft = x;
		} else {
			obj.top = y + 'px';
 			obj.left = x + 'px';
		}
	}
}

function changeClass(Elem, myClass) {
	var elem;
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	}
	if (op5 || op6) elem.style.className = myClass;
	else elem.className = myClass;
}

function changeBGColour(myObject, colour) {
	if (ns4) {
		var obj = getObjNN4(document, myObject);
		obj.bgColor=colour;
	} else {
		var obj = getStyleObject(myObject);
		if (op5) {
			obj.background = colour;
		} else {
			obj.backgroundColor = colour;
		}
	}
}

function changeImage(target, source) {
	var imageObj;

	if (ns4) {
		imageObj = getImage(target);
		if (imageObj) imageObj.src = eval(source).src;
	} else {
		imageObj = eval('document.images.' + target);
		if (imageObj) imageObj.src = eval(source).src;
	}
}

// get the true offset of anything on NS4, IE4/5 & NS6, even if it's in a table!
function getAbsX(elt) { return (elt.x) ? elt.x : getAbsPos(elt,"Left"); }
function getAbsY(elt) { return (elt.y) ? elt.y : getAbsPos(elt,"Top"); }
function getAbsPos(elt,which) {
 iPos = 0;
 while (elt != null) {
  iPos += elt["offset" + which];
  elt = elt.offsetParent;
 }
 return iPos;
}

function setPosition(elt,positionername,isPlacedUnder) {
 var positioner;
 if (ie) {
  positioner = document.all[positionername];
 } else {
  if (dom) {
    positioner = document.getElementById(positionername);
  } else {
    // not IE, not DOM (probably NS4)
    // if the positioner is inside a netscape4 layer this will *not* find it.
    // I should write a finder function which will recurse through all layers
    // until it finds the named image...
    positioner = document.images[positionername];
  }
 }
 elt.left = getAbsX(positioner);
 elt.top = getAbsY(positioner) + (isPlacedUnder ? positioner.height : 0);
}


