function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf("Opera 5")>-1
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie7=(this.ver.indexOf("MSIE 7")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6||this.ie7
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}

var bw=new lib_bwcheck()

		//Capturing mousemove
			var descx = 0
			var descy = 0
			function popmousemove(e){descx=bw.ns4||bw.ns6?e.pageX:event.x; descy=bw.ns4||bw.ns6?e.pageY:event.y}

			var oDesc;
			var helpMessages = { };
			
			helpMessages["First Name"] = "";
			helpMessages["Last Name"] = "";
			helpMessages["Title"] = "";
			helpMessages["House Number"] = "Please enter your house number and a valid postcode and we will find your full address";
			helpMessages["Post Code"] = "";

			helpMessages["Date of Birth"] = "";
			helpMessages["Marital Status"] = "";
			helpMessages["Occupation"] = "Please enter your primary occupation. If you have more than one, you will be given the opportunity to enter details after we have provided an initial quote. We need details of all occupations in order to rate your policy correctly.";
			helpMessages["Industry"] = "Please enter the industry, trade or profession that is the closest description to the industry in which you work";
			helpMessages["Employment Status"] = "Please enter either Full, Part, Retired.";
			helpMessages["Cover Date"] = "";
			helpMessages["Cover"] = "Buildings - the structural part of your property including outbuildings, swimming pools, tennis courts and permanently fixed items e.g. - fitted kitchen/bathroom etc. Contents - any furniture/belongings that can be removed from the home";

			helpMessages["Property Type"] = "";
			helpMessages["Number Of Floors"] = "";
			helpMessages["Number of Bedrooms"] = "Please complete all rooms originally built as a bedroom, even if now used for other purposes";
			helpMessages["Property Interest"] = "Please complete the ownership status of your property";
			helpMessages["Number of Adults"] = "";
			helpMessages["Number of Children"] = "";
			helpMessages["Year Built"] = "This may impact on the premium quoted. Please enter as accurately as possible";
			helpMessages["Construction Material"] = "";
			helpMessages["Roof Material"] = "";
			helpMessages["Security System"] = "Selected security systems can resulted in a discounted premium";

			helpMessages["Contents Held"] = "";
			helpMessages["Contents Expiry"] = "";
			helpMessages["Contents NCB"] = "Details of no claims bonus in respect of home contents insurance will be detailed on your existing policy renewal documents";
			helpMessages["Contents Value"] = "The contents sum insured should be sufficient to replace all items inside your home (excluding permanent fixtures such as kitchens and bathrooms). This should be calculated on current purchase prices.";
			helpMessages["Freezer Cover"] = "Do you require cover for the food in your freezer and/or cover for items temporarily removed from the home e.g.. Jewellery, cameras etc ";

			helpMessages["Buildings Held"] = "";
			helpMessages["Buildings Expiry"] = "";
			helpMessages["Buildings NCB"] = "Details of no claims bonus in respect of home buildings insurance will be detailed on your existing policy renewal documents";
			helpMessages["Buildings Value"] = "Please confirm the total rebuilding cost of your property (including costs for site clearance and professional fees) and not the current market value. You may find this on your current renewal document, or a recent survey/mortgage valuation report.";
			helpMessages["Contact Number"] = "Please enter the phone number where we are most likely to be able to get in touch with you if required";
			helpMessages["Email Address"] = "";
			
			helpMessages["Amount Unspecified"] = "Please specify the amount of cover you will require for items temporarily removed from your home at any one time.";
			helpMessages["Max Unspecified"] = "";
			helpMessages["Photo Items Value"] = "Please specify the amount of cover you will require for items temporarily removed from your home at any one time.";
			helpMessages["Photo Items Max"] = "";
			helpMessages["Sports Items Value"] = "Please specify the amount of cover you will require for items temporarily removed from your home at any one time.";
			helpMessages["Sports Items Max"] = "";
			helpMessages["Money Cover"] = "";
			helpMessages["Credit Card Cover"] = "";
			helpMessages["Freezer Cover Amount"] = "This is for the food in the freezer not the freezer itself";
			helpMessages["Oldest Freezer"] = "";
			helpMessages["Specified Items"] = "";
			helpMessages["Bike Cover"] = "";

			
			//Shows the messages
			function popup(title, text)
			{
				var body;
				
				if(text == "")
				{
					body = helpMessages[title];
				}
				
				if(body == undefined)
				{
					body= "";
				}
				
				var message = '<div class="clCaption"><b> Help</b></div><br><b>' + title +
							':</b><br>' + body + '</div>'

				if(oDesc){
					oDesc.writeIt('<div class="clDescription">'+message+'</div>');
					var popuptop = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
					if(bw.ie5||bw.ie6||bw.ie7) descy = descy+popuptop;
				
					oDesc.css.left = (descx+fromX)+px;
					oDesc.css.top = (descy+fromY)+px;
				
					oDesc.css.visibility = "visible";
			
    				}
				
			}
			//Hides it
			function popout(){
				if(oDesc) oDesc.css.visibility = "hidden"
			}
			
			fromX = 15 //How much from the actual mouse X should the description box appear?
			fromY = -20 //How much from the actual mouse Y should the description box appear?</pre>

			function makeObj(obj)
			{
   				this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj]:0;
				if(!this.evnt) return false;
				this.css=bw.dom||bw.ie4?this.evnt.style:bw.ns4?this.evnt:0;
   				this.wref=bw.dom||bw.ie4?this.evnt:bw.ns4?this.css.document:0;
				this.writeIt=b_writeIt
				return this;
			}
			
			var px = bw.ns4||window.opera?"":"px";

			function b_writeIt(text){
				if (bw.ns4){this.wref.write(text);this.wref.close()}
				else this.wref.innerHTML = text
			}

			function setPopup(){
   				if(bw.ns4)document.captureEvents(Event.MOUSEMOVE)
				document.onmousemove = popmousemove;
				oDesc = new makeObj('divDescription')
			}
