  function bw_HandleError(msg, url, linenumber){
		alert('Content Error (b):\n'+msg+'\nURL= '+url+'\nLine Number= '+linenumber);
		return true;
	}
//	onerror= bw_HandleError;

	if (window.addEventListener){
		var Mozilla=true;
	}else{
		var Mozilla=false;
	}

	var MouseX ;
	var MouseY ;

	function bw_ShowPopUp(e){
		if(document.body.scrollTop || document.body.scrollLeft){
			Scroll_Top = document.body.scrollTop -150;
			Scroll_Left = document.body.scrollLeft;
		}else if(document.documentElement.scrollTop || document.documentElement.scrollLeft){
//			Scroll_Top = document.documentElement.scrollTop -150;
			Scroll_Top = document.documentElement.scrollTop - 60;
//			Scroll_Left = document.documentElement.scrollLeft  - document.getElementById("boxWrapper").offsetLeft;
			Scroll_Left = 0;
		}else{
			Scroll_Top = 0 - 150;
//			Scroll_Left = document.documentElement.scrollLeft - document.getElementById("boxWrapper").offsetLeft;
			Scroll_Left = 0;
		}

		if(Mozilla){
			MouseX = e.clientX+Scroll_Left;
			MouseY = e.clientY+Scroll_Top;
		}else{
			MouseX = event.clientX+Scroll_Left;
			MouseY = event.clientY+Scroll_Top;
		}

		var PopUp_Left = (MouseX-60)+"px";
		var PopUp_Top = (MouseY+23)+"px";
		document.getElementById("PopUpDiv").style.left=PopUp_Left;
		document.getElementById("PopUpDiv").style.top=PopUp_Top;
		document.getElementById("PopUpDiv").style.display="block";
	}

	function bw_MovePopUp(e){
		if(document.body.scrollTop || document.body.scrollLeft){
			Scroll_Top = document.body.scrollTop;
			Scroll_Left = document.body.scrollLeft;
		}else if(document.documentElement.scrollTop || document.documentElement.scrollLeft){
			Scroll_Top = document.documentElement.scrollTop
			Scroll_Left = document.documentElement.scrollLeft ;
		}else{
			Scroll_Top = document.documentElement.scrollTop;
			Scroll_Left = document.documentElement.scrollLeft ;
		}

		if(Mozilla){
			MouseX = e.clientX+Scroll_Left;
			MouseY = e.clientY+Scroll_Top;
		}else{
			MouseX = event.clientX+Scroll_Left;
			MouseY = event.clientY+Scroll_Top;
		}

		var PopUp_Left = (MouseX-40)+"px";
		var PopUp_Top = (MouseY-50)+"px";
		document.getElementById("PopUpDiv").style.left=PopUp_Left;
		document.getElementById("PopUpDiv").style.top=PopUp_Top;
	}

	function bw_HidePopUp(){
		document.getElementById("PopUpDiv").style.display="none";
		document.getElementById("PopUpDiv").style.left=-100;
		document.getElementById("PopUpDiv").style.top=-100;
	}

	function bw_getElementsByClassName(strClass, strTag, objContElm) {
		strTag = strTag || "*";
		objContElm = objContElm || document;    
		var objColl = objContElm.getElementsByTagName(strTag);
		if (!objColl.length &&  strTag == "*" &&  objContElm.all){
			objColl = objContElm.all;
		}
		var arr = new Array();                              
		var delim = strClass.indexOf('|') != -1  ? '|' : ' ';   
		var arrClass = strClass.split(delim);    
		for (var i = 0, j = objColl.length; i < j; i++) {                         
			var arrObjClass = objColl[i].className.split(' ');   
			if (delim == ' ' && arrClass.length > arrObjClass.length){
				continue;
			}
			var c = 0;
			comparisonLoop:
			for (var k = 0, l = arrObjClass.length; k < l; k++) {
				for (var m = 0, n = arrClass.length; m < n; m++) {
					if (arrClass[m] == arrObjClass[k]){
						c++;
					}
					if ((delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
						arr.push(objColl[i]); 
						break comparisonLoop;
					}
				}
			}
		}
		return arr; 
	}

	function bw_Initialize_Ad_Images(){
		var myObjColl = bw_getElementsByClassName('thumbnail_image');
		for (var i = 0, j = myObjColl.length; i < j; i++) {
			if (Mozilla){
				myObjColl[i].addEventListener("mouseover", bw_ShowPopUp, false);
				myObjColl[i].addEventListener("mousemove", bw_MovePopUp, false);
				myObjColl[i].addEventListener("mouseout", bw_HidePopUp, false);
			}else{
				myObjColl[i].attachEvent("onmouseover", bw_ShowPopUp);
				myObjColl[i].attachEvent("onmousemove", bw_MovePopUp);
				myObjColl[i].attachEvent("onmouseout", bw_HidePopUp);
			}
		}
	}

///////////////////MODAL WINDOW SCRIPT///////////////////////////////////////////

	function bw_showPrintPage(ad_ID){
		alert('For high quality printing we are loading the printable page with high-resolution images.\nPlease be patient. Thank you.');
//		window.open('/1_bluewater/main.php?ToDo=print_ad&de='+ ad_ID,'nillij','width=720, height=400, menubar=no, scrollbars=yes, toolbar=no');
		window.location="/1_bluewater/main.php?ToDo=print_ad&de="+ ad_ID;
/*
		Title_String="Loading high-resolution printable images, please be patient...";
		imageWin = bw_dhtmlmodal.open('popDetails', 'div', 'modalalertdiv', Title_String, 'border=0px,width=750px,height=500px,top=0px,left=0px,resize=0,scrolling=0,center=1');
		document.getElementById('contentFrame').setAttribute("scrolling", "yes");
		var vURL ="/1_bluewater/main.php?ToDo=print_ad&de="+ ad_ID;
		document.getElementById('contentFrame').src = vURL;
*/
	}

	function bw_showRequestInfo(urlParam, Business_Name){
		Title_String="Contact "+decodeURI(Business_Name)+"  for more information:";
		imageWin = bw_dhtmlmodal.open('popDetails', 'div', 'modalalertdiv', Title_String , 'border=0px,width=700px,height=458px,top=0px,left=0px,resize=0,scrolling=0,center=1');
		var vURL = urlParam;
		document.getElementById('contentFrame').src = vURL;
	}

	function bw_showImages(urlParam,MakeModel){
		Title_String=decodeURI(MakeModel);
		imageWin = bw_dhtmlmodal.open('popDetails', 'div', 'modalalertdiv', Title_String , 'border=0px,width=700px,height=500px,top=0px,left=0px,resize=0,scrolling=0,center=1');
		var vURL = urlParam;
		document.getElementById('contentFrame').src = vURL;
	}

	function bw_closeWindow(){
		bw_dhtmlmodal.close(document.getElementById('popDetails'));
	}

/////////////////// ENQUIRY FORM SCRIPT ///////////////////////////////////////////

	function bw_trim(s){
		if((s==null) || (typeof(s)!='string') || !s.length){
			return "";
		}else{
			return s.replace(/^\s+/,'').replace(/\s+$/,'');
		}
	}

	function bw_TrimFormFields(){
		for (FormNumber=0;FormNumber<document.forms.length;FormNumber++){
			Form_Obj=document.forms[FormNumber];
			for (FieldNumber=0;FieldNumber<Form_Obj.length;FieldNumber++){
				FieldType=Form_Obj.elements[FieldNumber].type;
				if(FieldType=="text" || FieldType=="textarea"){
					Form_Obj.elements[FieldNumber].value=bw_trim(Form_Obj.elements[FieldNumber].value);
				}
			}
		}
	}
	
	function IsNumeric(sText){
	   var ValidChars = "0123456789+";
	   var IsNumber=true;
	   var Char;	 
	   for (i = 0; i < sText.length && IsNumber == true; i++) 
		  { 
		  Char = sText.charAt(i); 
		  if (ValidChars.indexOf(Char) == -1) 
			 {
			 IsNumber = false;
			 }
		  }
	   return IsNumber;	   
	 }

	function bw_checkForm(){
		bw_TrimFormFields();
		var Message="";
		var Form_Obj=document.bw_Enquiry_Form;
		if (!Form_Obj.name.value){
			Message="Please insert your name";
		}else if ((Form_Obj.email.value.indexOf('@')==-1 || Form_Obj.email.value.indexOf('.')==-1) && Form_Obj.email.value.length > 0) {
			Message="Your email address is incorrect";		
		}else if ((Form_Obj.phone.value.length < 8 && Form_Obj.phone.value.length > 0) || (!IsNumeric(Form_Obj.phone.value))) {						
			Message="Your phone number is incomplete and must be numeric";			
		}else if (!Form_Obj.email.value && !Form_Obj.phone.value) {
			Message="Please insert your email address or phone number";
		}else if (Form_Obj.enquiry.value.length < 10) {
			Message="You haven\'t entered a message or the message is too short to make sense";
		}

		for (FieldNumber=0;FieldNumber<Form_Obj.length;FieldNumber++){
			FieldType=Form_Obj.elements[FieldNumber].type;
			if(FieldType=="text" || FieldType=="textarea"){
				SpamTestString=Form_Obj.elements[FieldNumber].value;
				if(SpamTestString.indexOf("<")!=-1 && SpamTestString.indexOf(">")!=-1 && SpamTestString.indexOf("href")!=-1 || SpamTestString.indexOf(".jpg")!=-1 || SpamTestString.indexOf(".png")!=-1|| SpamTestString.indexOf(".gif")!=-1|| SpamTestString.indexOf("http:")!=-1){
					Message="Please do not use HTML markup in this form";
					break;
				}
			}
		}

		if(Message){
			alert(Message);
			return false;
		}else{
			return true;
		}
	}
