// JavaScript Document
<!--

/*
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= 20;	// how far from mouse to show tip
var offY= 12; 
var tipFontFamily= "Verdana, 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= "#000080";
var tipBorderWidth= 3;
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('siteCatalogue/thumbnails/Coolcashback.jpg','<b>Coolcashback.com</b> is an affiliate links publishing site with Cash back for the users',"#ffffff");
messages[1] = new Array('siteCatalogue/thumbnails/Radiophone.jpg','<b>Everything2way.com</b> is a full fledged ecommerce store that deals with Mobile and Mobile accessories. It has all the features as required for an ecommerce store. That includes Authorize.net Integration, UPS integration, Tax rates module, inventory control etc.',"#ffffff");
messages[2] = new Array('siteCatalogue/thumbnails/Newyhouloan.jpg','<b>Newyouloans.com</b> is an Internet based comprehensive vertical marketplace and information exchange site for patients. It deals elective health care procedures like Plastic Surgery, Dermatology etc.', "#ffffff");
messages[3] = new Array('siteCatalogue/thumbnails/Impactdrilling.jpg','<b>Impactdnb.com</b> is the corporate site for Impact Drilling and Blasting. It also has a custom CMS to manage the content for the site', "#ffffff");
messages[4] = new Array('siteCatalogue/thumbnails/greatoutdoorrental.jpg','<b>Greatoutdoorrentals.com</b> is a vaccation rentals site offering rental cabins, homes and chalets located in the smoky mountains of Tennessee', "#ffffff");
messages[5] = new Array('siteCatalogue/thumbnails/smsfAcademy.jpg','<b>SMSFAcademy.com</B> is Membership based site offering online training and examination for it\'s Members. It includes 6 level membership plan, complete CMS to manage training material and examinations and full fledged online shopping cart available only to registered members.', "#ffffff");
messages[6] = new Array('siteCatalogue/thumbnails/deedCentral.jpg','<b>Deedcentral.com.au</b> enables users to create new or upgrade Self Managed Superannuation Funds (SMSF). The application is designed to be customized for different trustees which are controlled from the admin.', "#ffffff");
messages[7] = new Array('siteCatalogue/thumbnails/clubtv.jpg','<b>Clubtv.com.au</b> helps streamline the process for producing the content material for in-house advertising display system. Using the Club TV site allows clients to review, comment on, and approve all their new and existing content material online.', "#ffffff");
messages[8] = new Array('siteCatalogue/thumbnails/SolutkionGuid.jpg','<b>Solutionsguide.com.au</b> is an online Training directory for Australia. It also has provides information about workplace solutions', "#ffffff");
messages[9] = new Array('siteCatalogue/thumbnails/chiro.jpg','<b>Chiro101.com</b> is an Autoresponder system tailor made for Chiropractors', "#ffffff");
messages[10] = new Array('siteCatalogue/thumbnails/MessageAdministrator.jpg','<b>MessageAdministrator.com</b> is a complete Email Marketing suite. It has all the features as are required for any email marketing suite including templates, auto responders, import/export of subscribers, statistics and email tracking, merge fields, subscriber form generation etc. The application is divided into two modules - web and desktop based modules with an option for complete two way synchronization of data.', "#ffffff");
messages[11] = new Array('siteCatalogue/thumbnails/injuryparalegal.jpg','http://www.injuryparalegal.com', "#ffffff");
messages[12] = new Array('siteCatalogue/thumbnails/petloans.jpg','http://www.petloans.com', "#ffffff");
messages[13] = new Array('siteCatalogue/thumbnails/Tradopes.jpg','<b>Tradeoperations.net</b> is a part of BDC suite which covers all the operations of a company dealing in home building right from setting up appointment between the designer and the homeowner to setting up various scenarios, generation of purchase orders, Installation of the products, generation of the work orders, after sales service like QA etc. The entire process is covered in 3 different applications to make it easier for the users. ', "#ffffff");
messages[14] = new Array('siteCatalogue/thumbnails/brtseonline.jpg','http://brtseonline.teckfusionsystems.com', "#ffffff");
messages[15] = new Array('siteCatalogue/thumbnails/Dcops.jpg','<b>Dcoperations.net</b> is a part of BDC suite which covers all the operations of a company dealing in home building right from setting up appointment between the designer and the homeowner to setting up various scenarios, generation of purchase orders, Installation of the products, generation of the work orders, after sales service like QA etc. The entire process is covered in 3 different applications to make it easier for the users.',"#ffffff");
messages[16] = new Array('siteCatalogue/thumbnails/Santapresents.jpg','<b>Santaspresents.com</b> is an affiliate links publishing site with full fledged admin section to manage the site content', "#ffffff");
messages[17] = new Array('siteCatalogue/thumbnails/CharityChang.jpg','<b>CharityChange.com</b> is an affiliate links publishing site with an option for the users to donate the cash back earned by them to a charity of their choice.', "#ffffff");
messages[18] = new Array('siteCatalogue/thumbnails/CSM.jpg','http://csm.teckfusionsystems.com/', "#ffffff");
messages[19] = new Array('siteCatalogue/thumbnails/myweboffice.jpg','<b>Myweboffice.com</b> is an online collobration suite for small businesses. It has all the features of a groupware like IM, Email, Contact Management, Calendar, Tasks, To do list, Document Manager etc.', "#ffffff");
messages[20] = new Array('siteCatalogue/thumbnails/HarmoneyResorts.jpg','<b>Harmonyresorts.com</b> offers complete online application for managing bookings of a Ski Club. It is a full fledged application with all the features as required for a Ski club and its agents to manage their bookings', "#ffffff");
messages[21] = new Array('siteCatalogue/thumbnails/RomanticGetways.jpg','<b>Romanticgetaways.com.au</b> is a vaccation rentals site offering luxury couples accommodation for holidays in all states of Australia.', "#ffffff");
messages[22] = new Array('siteCatalogue/thumbnails/xshore.jpg','<b>Xshore.com.au</b> is a Mambo based site for Cross Shore Kiteboarding. It also has a full fleged ecommerce module', "#ffffff");
messages[23] = new Array('siteCatalogue/thumbnails/RatetheCar.jpg','http://ratethatcar.com', "#ffffff");
messages[24] = new Array('siteCatalogue/thumbnails/woohatsilver.jpg','<b>Woodhatsilver.com</b> offers various hedge fund related information to investors. It has three level membership offering different set of information at each level.', "#ffffff");
messages[25] = new Array('siteCatalogue/thumbnails/Naijamail.jpg','http://www.naijamall.com</b>', "#ffffff");
messages[26] = new Array('siteCatalogue/thumbnails/isiekenesi Community.jpg','http://www.naijamall.com/isiekenesi/', "#ffffff");
messages[27] = new Array('siteCatalogue/thumbnails/Naesaa.jpg','<b>Naesaa.com</b> is a Membership site for National Association of Executive Secretaries & Administrative Assistants.', "#ffffff");
messages[28] = new Array('siteCatalogue/thumbnails/Craftmailbox.jpg','<b>Craftmailbox.com.au</b> is a complete ecommerce store dealing with Quilting, Patchwork, Crochet, Knitting, Cross Stitch and other craft hobby products.', "#ffffff");
messages[29] = new Array('siteCatalogue/thumbnails/FindmySuper.jpg','http://FindMySuper.com ', "#ffffff");
messages[30] = new Array('siteCatalogue/thumbnails/Africanbag.jpg','<b>Africabug.com</b> is a full fledged hostel booking application. It has all the features required for hostel booking.', "#ffffff");
messages[31] = new Array('siteCatalogue/thumbnails/where2go.jpg','<b>Where2go2.com</b> is a full fledged vaccation rentals site with all the features as required for a vaccation rentals site.', "#ffffff");
messages[32] = new Array('siteCatalogue/thumbnails/underground.jpg','<b>Undergroundcolocation.com</b> offers managed or unmanaged colocation services in one of the most advanced and secure facilities in the world. The site has a custom CMS for managing the contents of the site.', "#ffffff");
messages[33] = new Array('siteCatalogue/thumbnails/chamadv.jpg','<b>Chaamadvisors.com</b> is the corporate site for Cha-Am Advisors Limited with a custom CMS to manage the contents of the site.', "#ffffff");
messages[34] = new Array('siteCatalogue/thumbnails/nswkba.jpg','<b>Nswkba.com.au</b> is a Mambo based site for New South Wales Kite Boarding Association.', "#ffffff");
messages[35] = new Array('siteCatalogue/thumbnails/scaredaeon.jpg','<b>SacredAeon.com</b> is a Mambo based site offering information about sacred living. It has a custom coded component / module for Partnership program.', "#ffffff");
messages[36] = new Array('siteCatalogue/thumbnails/mywedbook.jpg','<b>MyWedbook.com</b> is the easy way to share your wedding ideas, plans and memories online. Here you can adjust photographs, create your photo and...', "#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 align="center" width="100%"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top">';
var endStr = '</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() {
	MM_preloadImages('images/btnservices_up.gif','images/BtnCompany_up.gif','images/Methodology_up.gif','images/clients_up.gif','images/Portfolio_up.gif','images/careers_up.gif','images/teckvantage_up.gif','images/reqquote_up.gif');	
	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;
}

//-->