<!--

/*
Image w/ description tooltip- By Dynamic Web Coding (www.dyn-web.com)
Copyright 2002 by Sharon Paine
Visit http://www.dynamicdrive.com for this script
*/

/* IMPORTANT: Put script after tooltip div or 
	 put tooltip div just before </BODY>. */

var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

// resize fix for ns4
var origWidth, origHeight;
if (ns4) {
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

// 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= 200;
var offX= 10;	// how far from mouse to show tip
var offY= 20; 
var tipFontFamily= "arial, helvetica, sans-serif";
var tipFontSize= "8pt";
// 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= "#000000";
var tipBgColor= "#DDECFF"; 
var tipBorderColor= "#B7B7B7";
var tipBorderWidth= 1;
var tipBorderStyle= "ridge";
var tipPadding= 4;

// tooltip content goes here (image, description, optional bgColor, optional textcolor)
var messages = new Array();
// multi-dimensional arrays containing: 
// image and text for tooltip
// optional: bgColor and color to be sent to tooltip
messages[0] = new Array('images/tileadhesive2s.jpg','<strong>TILE ADHESIVE</strong> is a cement-based adhesive designed for bonding ceramic wall and floor tiles, natural stones, and marble over concrete bases. ABC Tile Adhesive is particularly distinctive by virtue of its high-tensile strength, non-sag property and universal applicability. ABC Tile Adhesive prevents the cracks, bonding failure and efflorescence.',"#FFFFFF");
messages[1] = new Array('images/tilegrout2s.jpg','<strong>TILE GROUT</strong> formulated to be used in conjunction with ABC Tile Adhesive. ABC Tile Grout will ensure a professional finish to any tiling work. ABC Tile Grout is available in 21 colors; non-fading; crack-free; mold-resistant; and easy to mix and apply. Only the highest quality cement, pigments, marble sands and chemical additives are used to make ABC Tile Grout ideal joint filler.',"#FFFFFF");
messages[2] = new Array('images/groutwaterproof2s.jpg','<strong>ABC GROUT WATERPROOFING</strong> is an acrylic based additive. It is pre-dosed for direct mixing with ABC Tile Grout.',"#FFFFFF");
messages[3] = new Array('images/groutsealer2s.jpg','<strong>ABC GROUT SEALER</strong> is a colorless silicone based ready-to-use penetrating formula that protects grout joints from stains, dirt, grease, mildew growth and other contaminants. It makes the cementitious tile grout water resistant for easy maintenance.',"#FFFFFF");
messages[4] = new Array('images/aquashield2s.jpg','<strong>AQUASHIELD</strong> is a cement-based, rigid-type waterproofing compound specifically formulated for use over concrete and mortar surfaces. Aquashield is used to seal, damp-proof and protect cast-in-place concrete, floor slabs above and below ground. CHB walls, water tanks, swimming pools and firewalls. Aquashield enables walls to breathe thus preventing moisture en trapment. Available in gray and white, it also serves as a finishing render.',"#FFFFFF");
messages[5] = new Array('images/aquaplug2s.jpg','<strong>AQUAPLUG</strong> is a cement-based rapid-setting hydraulic compound for stopping running water or sealing leaks/seepages through concrete or masonny walls and floors. Aquaplug sets, expands, and bonds tenaciously to seal off active water in less than 2 minutes.',"#FFFFFF");
messages[6] = new Array('images/zemgrout2s.jpg','<strong>ZEMGROUT</strong> ABC Zemgrout is a ready-to-use non-shrink flowable cementitious grout intended for high strength and load-bearing applications, for external and internal use. Zemgrout is non-metallic and contains no chloride. Pre-mixed and selectively graded materials result in a dense homogenous mix, yielding higher strengths and dimensional stability, and its unique formula eliminates staining, rusting, bleeding or corrosion.',"#FFFFFF");
messages[7] = new Array('images/gypsumcompound2s.jpg','<strong>GYPSUM COMPOUND</strong> is a non-asbestos product designed for filling gaps in-between gypsum wall-boards, and for embedding reinforcing tape, fasteners, corner beads and dry walltrims. ABC Gypsum Compound is also used for minor levelling works and as a finishing coat over concrete and similar substrates for interior applications.',"#FFFFFF");
messages[8] = new Array('images/multibond2s.jpg','<strong>MULTIBOND</strong> is a high-quality, acrylic resin-based adhesive designed for boding PVC tiles and parquet to concrete, wood and gypsum boards. ABC Multibond is waterproof, contains no harmful solvents and very easy to apply.',"#FFFFFF");
messages[9] = new Array('images/sealantneutral2s.jpg','<strong>CONSTRUCTION GRADE SILICONE SEALANT</strong> is a room temperature vulcaizing (RTV), neutral (oxime) cure with low modulus properties. It is made of 100% silicone. It has outstanding adhesive strength, as well as universal applicability for a wide range of building materials such as concrete, metal, glass, PVC, plastic, wood and polycarbonates.',"#FFFFFF");
messages[10] = new Array('images/redifix2s.jpg','<strong>REDIFIX</strong> is formulated for heavy-duty tile fixing as an additive to ABC TILE ADHESIVE for tile installations on existing floors, walls and non-concrete substrates. REDIFIX is also suitable as plaster aid. It increases tensile, compressive and flexural strengths of cement mortar for industrial concrete topping, plastering and other masonry works.',"#FFFFFF");
messages[11] = new Array('images/sealantpolyurethane2s.jpg','<strong>POLYURETHANE CONSTRUCTION JOINT SEALANT</strong> is a one component, low modulus, elastomeric, 100% polyurethane sealant for sealing joints in architecture and construction.',"#FFFFFF");
messages[12] = new Array('images/floorhardener2s.jpg','<strong>FLOOR HARDENER</strong> is produced from graded copper slags/quarts aggregates and special chemical additives to provide rextreme abrasion resistant surfaces. It also protects the surface from gas, air and chemical attack and provides non-skid, anti-slip properties.',"#FFFFFF");
messages[13] = new Array('images/zemcoat2s.jpg','<strong>ZEMCOAT</strong> is a specially formulated skimcoat for thin plastering applications varying from 2-5 mm in thickness. It covers pinholes and other imperfections, corrects surface unevenness of raw concrete and plastered surfaces on walls, columns, beams and ceilings. ZEMCOAT has high bonding strength and is resistant to cracks.',"#FFFFFF");
messages[17] = new Array('images/tileadheavyduty2s.jpg','<strong>TILE ADHESIVE-HEAVY DUTY</strong> is a polymer modified adhesive, primarily designed for outdoor application and tile-over-tile installation. ABC TILE ADHESIVE HEAVY DUTY is a variation of ABC&#8217;s standard TILE ADHESIVE with the addition of advanced acrylic polymer modifiers to ensure a flexible adhesive bed and an even higher bonding strength.',"#FFFFFF");
messages[18] = new Array('images/sealantglazing_2s.jpg','<strong>GLAZING GRADE SILICONE SEALANT</strong> is a room temperature vulcanizing (RTV) acetic acid cure silicone sealant with outstanding adhesive strength. It is suitable for universal indoor/outdoor applications such as glass to aluminum and other non-corrosive materials.',"#FFFFFF");
messages[19] = new Array('images/sealantacrylic2s.jpg','<strong>ACRYLIC SEALANT</strong> is a flexible gap filler for indoor and covered outdoor areas prior to painting.',"#FFFFFF");
messages[20] = new Array('images/sealantsanitary_2s.jpg','<strong>SANITARY GRADE SILICONE SEALANT</strong> is a room temperature vulcanizing (RTV) acetic acid cure sealant with outstanding adhesive strength. Its formulation with bio-tech system makes it resistant to mold and mildew. It is suitable for universal application in bathroom and kitchen areas.',"#FFFFFF");
messages[21] = new Array('images/zembond2s.jpg','<strong>ZEMBOND</strong> is a high quality emulsion formulated to give plaster mortar or concrete topping increased adhesion on existing substrates. It will help reduce cracks and improve the workability of the mortar.',"#FFFFFF");
messages[22] = new Array('images/gypsumputty2s.jpg','<strong>GYPSUM PUTTY</strong> is a ready-to-use, multi-purpose filler. It is suitable for a wide range of interior applications such as non-structural filling, leveling, patching and repair jobs on wood, concrete, fiber cement and gypsum boards.',"#FFFFFF");
messages[23] = new Array('images/ThermoshieldGoGreen2s.jpg','<strong>THERMOSHIELD</strong> is a a high quality heat insulating mortar designed for interior and exterior applications over concrete substrates. It insulates walss, roof decks, ceiling slabs, fire walls, cool rooms, as well as under floors.',"#FFFFFF");
messages[24] = new Array('images/selflevelingmortar2s.jpg','<strong>SELF-LEVELING MORTAR</strong> is a ready-to-use floor overlayment system designed to level, smoothen and/or correct the slopes of existing concrete floors prior to the application of decorative floor coverings such as coatings (epoxy paint), carpets, vinyl tiles, parquet or ceramic tiles.',"#FFFFFF");
messages[25] = new Array ('images/tilinggroup.jpg')
messages[26] = new Array ('images/waterproofinggroup.jpg')
messages[27] = new Array ('images/sealantsgroup.jpg')
messages[28] = new Array ('images/constructiongroup.jpg')
messages[29] = new Array ('images/finishinggroup.jpg')

// start map onmouseover effect
messages[14] = new Array('images/abc_luzon.jpg','<li type="square">Head Office, Filinvest Corp. City, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alabang, Muntinlupa City</li><li type="square">May-iba, Teresa, Rizal</li><li type="square">Brgy. Dolores, Magalang, Pampanga</li><li type="square">Rafael, Sto. Tomas,Batangas</li>',"#FFFFFF");
messages[15] = new Array('images/abc_visayas.jpg','<li type="square">New Mandaue Reclamation Area, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cebu City</li><li type="square">Arevalo, Iloilo City</li>',"#FFFFFF");
messages[16] = new Array('images/abc_mindanao.jpg','<li type="square">Consolacion, Cagayan De Oro City</li><li type="square">Bago Aplaya, Davao City</li>',"#FFFFFF");

////////////////////  END OF CUSTOMIZATION AREA  ///////////////////

// preload images that are to appear in tooltip
// from arrays above
if (document.images) {
	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 width="' + tipWidth + '"><tr><td valign="top" align="left"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top"><div align="justify">';
var endStr = '</div></td></tr></table>';

////////////////////////////////////////////////////////////
//  initTip	- initialization for tooltip.
//		Global variables for tooltip. 
//		Set styles for all but ns4. 
//		Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltip, tipcss;
function initTip() {
	if (nodyn) return;
	tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
	tipcss = (ns4)? document.tipDiv: 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) {
		if (ns4) document.captureEvents(Event.MOUSEMOVE);
		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 (ns4) {
		var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + curBgColor + '" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>';
		tooltip.write(tip);
		tooltip.close();
	} else 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;
	}
	if (!tipFollowMouse) positionTip(evt);
	else t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
	mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
	mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.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) {
		mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
		mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
	}
	// tooltip width and height
	var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
	var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
	// document area in view (subtract scrollbar width for ns)
	var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;
	var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;
	// check mouse position against tip and window dimensions
	// and position the tooltip 
	if ((mouseX+offX+tpWd)>winWd) 
		tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";
	else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px";
	if ((mouseY+offY+tpHt)>winHt) 
		tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px";
	else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px";
	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
}

function hideTip() {
	if (!tooltip) return;
	t2=setTimeout("tipcss.visibility='hidden'",100);
	tipOn = false;
}



///////////////////////
//                  //
//  menu mouseover  //
//                  //
//////////////////////
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;
}

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];}
}

///////////////////////////
//                       //
//  end-menu mouseover   //
//                       //
///////////////////////////


//-->