// JavaScript Document


/***********************************************
* Image w/ description tooltip- By Dynamic Web Coding (www.dyn-web.com)
* Copyright 2002-2007 by Sharon Paine
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/* IMPORTANT: Put script after tooltip div or 
	 put tooltip div just before </BODY>. */

var dom = (document.getElementById) ? true : false;
var ns5 = (!document.all && dom || window.opera) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ie4 && !ie5 && !dom) ? true : false;

var origWidth, origHeight;

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

///////////////////////  CUSTOMIZE HERE   ////////////////////
// settings for tooltip 
// Do you want tip to move when mouse moves over link?
var tipFollowMouse= true;	
// Be sure to set tipWidth wide enough for widest image
var tipWidth= 250;
var offX= 20;	// how far from mouse to show tip
var offY= -40; 
var tipFontFamily= "arial, helvetica, sans-serif";
var tipFontSize= "11px";
// set default text color and background color for tooltip here
// individual tooltips can have their own (set in messages arrays)
// but don't have to
var tipFontColor= "#313131";
var tipBgColor= "#ffffff"; 
var tipBorderColor= "#cdcdcd";
var tipBorderWidth= 4;
var tipBorderStyle= "solid";
var tipPadding= 12;

// tooltip content goes here (image, description, optional bgColor, optional textcolor)
// multi-dimensional arrays containing: 
// image and text for tooltip
// optional: bgColor and color to be sent to tooltip
/*
var messages = new Array();
messages[0] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/avengerlogo_hover.jpg','Extensive range of lighting grip equipment specially designed for the film and broadcasters, for studio or location shooting. Range includes lighting stands, crank up stands, clamps and accessories required by professional.','#FFFFFF');
messages[1] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/crocketco_hover.jpg','DVDs that teach how to Shoot Smarter by demonstrating exactly what professionals and serious amateurs need to help fine-tune their skills and take their digital photography to new levels.','#FFFFFF');
messages[2] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/elinchrom_hover.jpg','Studio and Portable Lighting Systems known throughout the world for their superb quality of light. Affordable lightweight, compact systems that are ready to go anywhere!','#FFFFFF');
messages[3] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/formatt_hover.jpg','Wide range of filters, each produced from Schott B270 Crown Optical Glass to the highest technical standards for optical excellence unmatched anywhere else.','#FFFFFF');
messages[4] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/gitzo_hover.jpg','Innovator of camera tripods for over 90 years and the first to introduce carbon fiber and basalt tripods plus the first magnesium heads for photographers. Gitzo, the professional choice world wide.','#FFFFFF');
messages[5] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/gossen_hover.gif','Comprehensive range of light, lux and luminance meters which comply fully to the demands of professional photographers, lighting engineers, and advanced amateurs. Gossen meters offer easy handling for the user while maintaining high sophistication, precision, and quality.','#FFFFFF');
messages[6] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/iff_hover.jpg','The sky Track System is a comphrensive range of lighting suspension for studios of all sizes. IFF also makes a wide-range of Robotic Rigging solutions.','#FFFFFF');
messages[7] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/kata_hover.jpg','Protective bags and backpacks which are tough, durable, stylish, ergonomically designed, and remarkably lightweight. Stylish carrying solutions for your photo, video, broadcast, lighting and electronic gear.','#FFFFFF');
messages[8] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/lastolite_hover.jpg','Leading manufacturer of light modifiers in Europe and the original collapsible reflector, with innovative products like the award-winning Tri Grip reflectors, Cubelite shooting environments, and Ezybalance to insure best color rendition. Many products designed specifically to get the best quality digital images.','#FFFFFF');
messages[9] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/manfrotto_hover.gif','The most respected brand in camera tripods, lighting stands and grip equipment in the world. Offering a comprehensive range of aluminum, and carbon fiber tripods, plus heads and a wide range of accessories.','#FFFFFF');
messages[10] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/metz_hover.jpg','Flash units for every situation and any camera, from the latest digital to film. Add power and control unachievable with built-in flash. From handy compact units to the powerful handle-mount flashguns. Engineered in Germany to the highest quality standards.','#FFFFFF');
messages[11] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/ng_hover.jpg','National Geographic brings a world of experience to photographic accessories. They have teamed up with Manfrotto to produce an innovative line of photo and video supports and protective bags with an explorer look.','#FFFFFF');
messages[12] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/reflecmedia_hover.gif','Makes chroma key production in any controlled lighting environment in or out of the studio fast & easy with never before seen results.','#FFFFFF');
messages[13] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/rotatrim_hover.jpg','The finest paper cutters and the first choice by photographers and industrial users for quality, durability and precision.','#FFFFFF');
messages[14] = new Array('/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/pod_hover.jpg','The advantages of a bean bag support with the security of a camera mount. Versatile soft camera supports. Extremely affordable, lightweight and portable.','#FFFFFF');
*/

////////////////////  END OF CUSTOMIZATION AREA  ///////////////////

// preload images that are to appear in tooltip
// from arrays above
if (document.images && document.messages) {
	var theImgs = new Array();
	for (var i=0; i<messages.length; i++) {
  	theImgs[i] = new Image();
		theImgs[i].src = messages[i][0];
  }
}

// to layout image and text, 2-row table, image centered in top cell
// these go in var tip in doTooltip function
// startStr goes before image, midStr goes between image and text
//var startStr = '<table style="background-image:url(/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/brand_detail_grad.gif); background-repeat:repeat-x;" cellpadding="5" width="' + tipWidth + '"><tr><td style="height:8px;"></td></tr><tr><td align="left" width="100%"><img src="';
//var midStr = '" border="0"></td></tr><tr><td valign="top">';
//var endStr = '</td></tr><tr><td style="background-image:url(/jsp/jahia/templates/bius/corporate_portal_templates/custom/images/brand_detail_grad_up.gif); background-repeat:repeat-x; height:14px;"></td></tr></table>';
/*perche' con ie6 non funzionano le <table> ?????*/

var startStr = '<div style="height:10px;z-index:101;background-image:url(/jsp/jahia/common/bogen_restyling/custom/images/brand_detail_grad.gif); background-repeat:repeat-x;"></div><div style="min-height:100px;padding:10px"><img src="';
var midStr = '"/><br><br>';
var endStr = '</div><div style="height:10px;z-index:101;background-image:url(/jsp/jahia/common/bogen_restyling/custom/images/brand_detail_grad_up.gif); background-repeat:repeat-x;"></div></div>';



////////////////////////////////////////////////////////////
//  initTip	- initialization for tooltip.
//		Global variables for tooltip. 
//		Set styles
//		Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltip, tipcss;
function initTip() {
	if (nodyn) return;
	tooltip = (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
	tipcss = tooltip.style;
	if (ie4||ie5||ns5) {	// ns4 would lose all this on rewrites
		tipcss.width = tipWidth+"px";
		tipcss.fontFamily = tipFontFamily;
		tipcss.fontSize = tipFontSize;
		tipcss.color = tipFontColor;
		tipcss.backgroundColor = tipBgColor;
		tipcss.borderColor = tipBorderColor;
		tipcss.borderWidth = tipBorderWidth+"px";
		tipcss.padding = tipPadding+"px";
		tipcss.borderStyle = tipBorderStyle;
	}
	if (tooltip&&tipFollowMouse) {
		document.onmousemove = trackMouse;
	}
}

window.onload = initTip;

/////////////////////////////////////////////////
//  doTooltip function
//			Assembles content for tooltip and writes 
//			it to tipDiv
/////////////////////////////////////////////////
var t1,t2;	// for setTimeouts
var tipOn = false;	// check if over tooltip link
function doTooltip(evt,num) {
	if (!tooltip) return;
	if (t1) clearTimeout(t1);	if (t2) clearTimeout(t2);
	tipOn = true;
	// set colors if included in messages array
	if (messages[num][2])	var curBgColor = messages[num][2];
	else curBgColor = tipBgColor;
	if (messages[num][3])	var curFontColor = messages[num][3];
	else curFontColor = tipFontColor;
	if (ie4||ie5||ns5) {
		var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;
		tipcss.backgroundColor = curBgColor;
	 	tooltip.innerHTML = tip;
	 	//window.document.write(tip);
	}
	if (!tipFollowMouse) positionTip(evt);
	else t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
	standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
	mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
	mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
	if (tipOn) positionTip(evt);
}

/////////////////////////////////////////////////////////////
//  positionTip function
//		If tipFollowMouse set false, so trackMouse function
//		not being used, get position of mouseover event.
//		Calculations use mouseover event position, 
//		offset amounts and tooltip width to position
//		tooltip within window.
/////////////////////////////////////////////////////////////
function positionTip(evt) {
	if (!tipFollowMouse) {
		standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
		mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;
		mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;
	}
	// tooltip width and height
	var tpWd = (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
	var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
	// document area in view (subtract scrollbar width for ns)
	var winWd = (ns5)? window.innerWidth-20+window.pageXOffset: standardbody.clientWidth+standardbody.scrollLeft;
	var winHt = (ns5)? window.innerHeight-20+window.pageYOffset: standardbody.clientHeight+standardbody.scrollTop;
	// check mouse position against tip and window dimensions
	// and position the tooltip 
	if ((mouseX+offX+tpWd)>winWd) 
		tipcss.left = mouseX-(tpWd+offX)+"px";
	else tipcss.left = mouseX+offX+"px";
	if ((mouseY+offY+tpHt)>winHt) 
		tipcss.top = winHt-(tpHt+offY)+"px";
	else tipcss.top = mouseY+offY+"px";
	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",500);
}

function hideTip() {
	if (!tooltip) return;
	t2=setTimeout("tipcss.visibility='hidden'",500);
	tipOn = false;
}

document.write('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100;padding:120px;text-align:left;width:'+tipWidth+'"></div>');
