/***********************************************
* Bookmark site script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

/* Modified to support Opera */
function bookmarksite(title,url){
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}
// ==============================================
// Random Quotation
// Copyright 2004 by CodeLifter.com
// Free for all; but please leave in this header.
// ==============================================

var Quotation=new Array() // do not change this!

// Set up the quotations to be shown, below.
// To add more quotations, continue with the
// pattern, adding to the array.  Remember
// to increment the Quotation[x] index!

Quotation[0] = "Reach prospects";
Quotation[1] = "Increase market share";
Quotation[2] = "Lower operating costs";
Quotation[3] = "Enhance customer service";
Quotation[4] = "Increase sales";
Quotation[5] = "Promote a wider product range";
Quotation[6] = "Improve lead generation";
Quotation[7] = "Provide a source of corporate data";
Quotation[8] = "Collect Marketing data";
Quotation[9] = "Increase brand awareness";


var Q = Quotation.length;
var whichQuotation=Math.round(Math.random()*(Q-1));
function showQuotation(){
document.write ("<i>");document.write(Quotation[whichQuotation]);document.write("</i>");
}

// ==============================================
// Drop Down Menu Navigation
// Free for all; but please leave in this header.
// ==============================================

function land(ref, target) 

{ lowtarget=target.toLowerCase();
if (lowtarget=="_self") {window.location=loc;} 
else {if (lowtarget=="_top") {top.location=loc;} 
else {if (lowtarget=="_blank") {window.open(loc);} 
else {if (lowtarget=="_parent") {parent.location=loc;} 
else {parent.frames[target].location=loc;}; 
}}} 
} 

function jump(menu) 
{ ref=menu.choice.options[menu.choice.selectedIndex].value; splitc=ref.lastIndexOf("&"); 
target=""; 
if (splitc!=-1)
{loc=ref.substring(0,splitc); target=ref.substring(splitc+1,1000);}
else {loc=ref; target="_self";}; 
if (ref != "") {land(loc,target);} 
}

var javascript_version = 1.0;
function launchwin(winurl,winname,winfeatures)
{
	newwin = window.open(winurl,winname,winfeatures);
	if(javascript_version > 1.0)
	{
 		setTimeout('newwin.focus();',250);
	}
}

// ==============================================
// Creativyst(R) Ballistic Scroller:
//
//      (C) Copyright 2004 Creativyst, Inc.
//            ALL RIGHTS RESERVED
//
// Use of this software in running applications, with
// or without modification, is permitted provided
// that the conditions published at:
// www.creativyst.com/Prod/18/ClientEG/bsCP.htm 
// are met.
//
//    This software may not be redistributed
//
//     - This comment may not be removed -
// ==============================================


/* Configurations:
 *  bsWidth         The width of the scroller
 *  bsHeight        The height of the scroller
 *  bsMoveIncr      How far to move on each frame
 *  bsFrameRate     How often (in miliseconds) to move the frame
 *  bsPauseDelay    How long to pause (in milisecs) between each message
 *  bsUseBalistics  1 to slow down near end of scoll.
 *
 *  See below for how to add static and/or dynamic content for display
 *
*/
var bsWidth=178;
var bsHeight=110;
var bsMoveIncr=10;
var bsFrameRate = 40;       // was 40
var bsPauseDelay = 9000;
var bsUseBallistics = 1;    // 0 for linear movers

var bsContent=new Array();  // don't change

/* Static Content:
 *  Fill elements of the bsContent[] array with static messages you'd like
 *  to display on the scroller.  You can use the ballistic scroller to
 *  display only these static messages, or you can include a static
 *  message or two to be displayed along with dynamic JSMsg feed data (see below).
 *
 *  Delete or comment out these array lines (but not the above declaration)
 *  if you don't want to display static messages.
 *
*/
bsContent[0] = '&quot;Less than one month online and we are beginning to get business coming in via the web site, which is excellent. Thank you so much for your attention.&quot;<br> <i>CC-B, Adr Training SE Ltd.</i>';
bsContent[1] = '&quot;Congratulations on completing a very good job...It is very exciting and professional.&quot;<br><i>GM, Country Cures (Pest Control) Ltd.</i>';
bsContent[2] = '&quot;Just a quick note to say how delighted I am with the web site. Three enquiries already, one from which we got a sale...&quot;<br> <i>JL, Contract Services Southern.</i>';
bsContent[3] = '&quot;The typeface, colour tone and style are very much to our taste. We are extremely pleased with your efforts.&quot;<br><i>AK, A House in Normandy.</i>';
bsContent[4] = '&quot;One week online and I have had my first enquiry from the new site. Overall I am very pleased with the web site and would be happy to act as a reference.&quot;<br><i>JG, Accommodation4U.</i>';
bsContent[5] ='Thanks for all your efforts with the web site - I have had 5 orders in the course of 4 days. I think you have done a fantastic job!<br><i>KH, Equitatus Ltd.</i>';
bsContent[6] = '&quot;We needed a facelift for our web site. Web Works2 were able to dedicate appropriate resource quickly and we are happy with the results.&quot; <br><i>RL, Siracom Ltd.</i>';
bsContent[7] = '&quot;The website seems to be working well already. We have had a few enquiries via the website. Our feedback is that people like the site.&quot; <br><i>AW, Wardle Drilling and Geotechnical Ltd.</i>';
bsContent[8] = '&quot;We have already seen a marked improvement on the amount of telephone calls etc. So, a big thank you for coming up with such a good image.&quot; <br><i>ML, MyAlloys.</i>';



/* Dynamic Content (JSMsg feeds):
 *  JSMsgNS     
 *      Namespace of the JSMsg feed who's messages you'd
 *      like to display.  You must include the JSMsg
 *      link in a JavaScript <SCRIPT> tag ABOVE this
 *      script.
 *
 *      You may display messages from multiple JSMsg feeds
 *      by listing multiple namespaces in the JSMsgNS variable.
 *      e.g.  
 *
 *          JSMsgNS = "ciq cvtnew"; 
 *
 *      Leave this set to JSMsgNS = ""; if you only need
 *      to display static messages from the above arrays.
 *
 *  JSMsgSeq
 *      Messages from muliple newsfeeds are normally interleaved
 *      but they can be sequential by setting the JSMsgSeq variable
 *      to 1
 *
*/ 
var JSMsgNS = "";
var JSMsgSeq = 0;


/* ==========================================================================
 * End of user configurable variables
 * ==========================================================================
*/



var bsOrgArray = new Array(); bsOrgArray[0] = ""; var Cur_i = 0; var DOMObj; var IEObj; var NS4xObj; var BalIncr = bsMoveIncr; var beenHere; var MousePaused = 0; var MessagePaused = 0; var MsgPauseNow = bsPauseDelay; var bsISRWaiting = 0; var bsOrgArray = new Array(); function bsInitialize()
{ var divobj, cpyi; for(cpyi = 0;cpyi < bsContent.length;cpyi++) { bsOrgArray[cpyi] = bsContent[cpyi];}
bsContent = JSMsgIf(bsContent, JSMsgNS, JSMsgSeq); if(document.getElementById) { divobj = document.getElementById('ScrollerFrame'); divobj.style.width = bsWidth + 'px'; divobj.style.height = bsHeight + 'px'; divobj = document.getElementById('bsWindow'); divobj.style.width = bsWidth + 'px'; divobj.style.height = bsHeight + 'px'; divobj = document.getElementById('bsMover'); divobj.style.width = bsWidth + 'px'; divobj.style.height = bsHeight + 'px'; DOMObj=eval( document.getElementById('bsMover') ); DOMObj.innerHTML = bsContent[Cur_i]; DOMObj.style.top=bsHeight + 'px'; moverDOM();}
else if(document.all) { ScrollerFrame.style.width = bsWidth; IEObj=eval(MoverWin); IEObj.innerHTML=bsContent[Cur_i]; IEObj.style.pixelTop=bsHeight; sizeup=IEObj.offsetHeight; moverIE();}
else if(document.layers) { if(!beenHere) { beenHere = 1; setTimeout("bsInitialize()", 1000);}
NS4xObj=document.SlideWindow.document.SlideMover; NS4xObj.document.write(bsContent[Cur_i]); NS4xObj.document.close(); moverNS4x();}
}
function moverDOM()
{ var reducer; var myTop = parseInt(DOMObj.style.top); BallisticsProc(myTop); reducer = (myTop-BalIncr); if(myTop>(BalIncr)) { DOMObj.style.top=reducer + 'px'; if(!MousePaused && !MessagePaused) { bsISRWaiting++; setTimeout("moverDOM()",bsFrameRate);}
}
else{ PauseTop();}
}
function moverIE()
{ var myTop = parseInt(IEObj.style.pixelTop); BallisticsProc(myTop); if (IEObj.style.pixelTop>=bsMoveIncr) { IEObj.style.pixelTop-=BalIncr; if(!MousePaused && !MessagePaused) { bsISRWaiting++; setTimeout("moverIE()",bsFrameRate);}
}
else{ PauseTop();}
}
function moverNS4x()
{ BallisticsProc(NS4xObj.top); if(NS4xObj.top>=bsMoveIncr) { NS4xObj.top-=BalIncr; if(!MousePaused && !MessagePaused) { bsISRWaiting++; setTimeout("moverNS4x()",bsFrameRate);}
}
else{ PauseTop();}
}
function BallisticsProc(ThisTop)
{ if(bsUseBallistics &&
BalIncr > 2 ) { if(ThisTop < (bsHeight/7)) { BalIncr = bsMoveIncr - 1;}
if(ThisTop < (bsHeight/8) ) { BalIncr = bsMoveIncr - 3;}
if(ThisTop < (bsHeight/10) ) { BalIncr = bsMoveIncr - 7;}
if(ThisTop < 8) { BalIncr = 1;}
BalIncr = (BalIncr < 1 ? 1 : BalIncr);}
}
function PauseTop()
{ MessagePaused = 1; setTimeout("ChangeContent()", MsgPauseNow);}
function ChangeContent()
{ MessagePaused = 0; MsgPauseNow = bsPauseDelay; if(!MousePaused) { Cur_i++; if(Cur_i >= bsContent.length) { Cur_i = 0;}
if(document.getElementById) { DOMObj.innerHTML=bsContent[Cur_i]; DOMObj.style.top=bsHeight + 'px'; BalIncr = bsMoveIncr; moverDOM();}
else if(document.all) { IEObj.style.pixelTop=bsHeight
IEObj.innerHTML=bsContent[Cur_i]
BalIncr = bsMoveIncr; moverIE();}
else { NS4xObj.document.write(bsContent[Cur_i]); NS4xObj.document.close(); NS4xObj.top=bsHeight; BalIncr = bsMoveIncr; moverNS4x();}
}
else { MsgPauseNow = bsFrameRate;}
}
function MousePause()
{ MousePaused = 1;}
function MouseStart()
{ MousePaused = 0; if(!MessagePaused) { if(document.getElementById) { moverDOM();}
else if(document.all) { moverIE();}
else { moverNS4x();}
}
}
function RunScroller()
{ var msg; msg = ''; msg += '<DIV ID="ScrollerFrame" CLASS="ScrollerFrame">'; if(!document.getElementById && !document.all) { msg += '<ilayer name="SlideWindow" width="' + bsWidth + '"; height="' + bsHeight + '";>\n'; msg += '<layer name="SlideMover" width="' + bsWidth + '"; onMouseover="MousePause();" onMouseout="MouseStart();">'; msg += '<\/layer>'; msg += '<\/ilayer>';}
document.write(msg); if (document.getElementById || document.all) { document.write('<div id="bsWindow" class="bsWindow" style="position:relative;overflow:hidden;width:' +bsWidth+ ';height:' +bsHeight+ ';clip:rect(0 ' +bsWidth+ ' ' +bsHeight+ ' 0);" onMouseover="MousePause();" onMouseout="MouseStart();">'); document.write('<div id="bsMover" class="bsMover" style="position:relative;width:'+bsWidth+';">'); document.write('<\/div><\/div>');}
document.write('<\/DIV>'); bsInitialize();}
function JSMsgIf(msgAr, myNs, mySeq)
{ var TotNS,LongestNS; var NSAr = new Array(); var i,j,k,o; if(!myNs) { myNs = "";}
if(!mySeq) { mySeq = 0;}
o = msgAr.length; if(myNs) { NSAr = myNs.split(" "); TotNS = NSAr.length; LongestNS = 0; j = 0; for(i = 0;i < TotNS;i++) { j = jsmMetaMsg(NSAr[i], "MetaCount"); if(j > LongestNS) { LongestNS = j;}
}
if(!j) { return(msgAr);}
k = o; if(mySeq) { for(j = 0;j < TotNS;j++) { for(i = 0;i < LongestNS;i++) { if(jsmMetaMsg(NSAr[j],"MetaCount") <= i) { continue;}
msgAr[k] = jsmGetN(NSAr[j], "LinkTitle", i); if(!msgAr[k]) { msgAr[k] = jsmGetN(NSAr[j], "Body", i); msgAr[k] += "<BR>   -"; t = jsmGetN(NSAr[j], "Attrib",i); if(t.length > 17) { t = t.substr(0,14); t += "...";}
msgAr[k] += t;}
k++;}
}
}
else { for(j = 0;j < LongestNS;j++) { for(i = 0;i < TotNS;i++) { if(jsmMetaMsg(NSAr[i],"MetaCount") <= j) { continue;}
msgAr[k] = jsmGetN(NSAr[i], "LinkTitle", j); if(!msgAr[k]) { msgAr[k] = jsmGetN(NSAr[i], "Body", j); msgAr[k] += "<BR>   -"; t = jsmGetN(NSAr[i], "Attrib",j); if(t.length > 17) { t = t.substr(0,14); t += "...";}
msgAr[k] += t;}
k++;}
}
}
}
return(msgAr);}
function jsmGetN(ns,MsgPart,number)
{ var rv, c, er; c = "rv = " + ns + ".GetN('" + MsgPart + "'," + number + ");"; er = eval(c); return(rv);}
function jsmGet(ns,MsgPart,offset)
{ var rv, c, er; c = "rv = " + ns + ".Get('" + MsgPart + "'," + offset + ");"; er = eval(c); return(rv);}
function jsmGetDay(ns,MsgPart)
{ var rv, c, er; c = "rv = " + ns + ".GetDay('" + MsgPart + "');"; er = eval(c); return(rv);}
function jsmMetaMsg(ns,MsgPart)
{ var rv, c, er; c = "rv = " + ns + ".MetaMsg('" + MsgPart + "');"; er = eval(c); return(rv);}

