function PrintThisPage(PageName) 
{ 
   var sOption="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
       sOption+="scrollbars=yes,resizable=yes,width=750,height=600,left=100,top=25"; 
   var sWinHTML = document.getElementById(PageName).innerHTML; 
   
   var winprint=window.open("","",sOption); 
       winprint.document.open(); 
       winprint.document.write('<html><script type="text/javascript">function PrintThisPage(divName){window.print();}</script><style>body {background-color:#ffffff;font-family:arial,helvetica,sans-serif; font-size:11px;} h2 {padding-left: 0px ! important; margin-left: 0px ! important}div {font-family: arial ! important; font-size:11px ! important}div font {font-size:11px ! important; padding-left: 0px ! important; margin-left: 0px ! important}div a{font-size:11px ! important; padding-left: 0px ! important; margin-left: 0px ! important;} Div.NewsContact{padding-left:0px;}Div.NewsDownloadPDF{position:relative;margin-left:0px; padding-left:10px; padding-top:10px; padding-right:10px;border:1px solid #c3c3c3; width:240px; height: 66px;} div.InternationalLink{display:none;} </style><body>'); 
       
       //Here we want to strip out any uncessary html information from sWinHTML
       
       var printImgRegEx = new RegExp('(<DIV class=PrintImage [a-zA-Z0-9 =\u0029\u0022\u0028\u0027\u003C.\u003E:\u005C;\u002F?-]*)</DIV>', 'im');
       var atopImgRegEx = new RegExp('(<A name=top [a-zA-Z0-9 =\u0029\u0022\u0028\u0027\u003C.:\u005C;\u002F?-]*)>', 'm');
       var hrImgRegEx = new RegExp('(<HR [a-zA-Z0-9 _,\u0023=\u0029\u0022\u0028\u0027\u003C.:\u005C;\u002F?-]*)>', 'gim');
       var pdfRegEx = new RegExp('<DIV style="BORDER-RIGHT.+?</DIV>', 'gim');
       var aagain = new RegExp('<A onfocus.+?</A>', 'gim');
       var strong = new RegExp('<STRONG.+?</STRONG>', 'gim');
       var news = new RegExp('(Visit.+?news)(.+?news)', 'gim');
       
       var strippedString = sWinHTML.replace(printImgRegEx, '<br/><br/>');
       var strippedString1 = strippedString.replace(atopImgRegEx, '<br/>');
       var strippedString2 = strippedString1.replace(pdfRegEx, '');
       var strippedString3 = strippedString2.replace(hrImgRegEx, '');
       strippedString3 = strippedString3.replace(aagain, '');
       strippedString3 = strippedString3.replace(strong, '');
       strippedString3 = strippedString3.replace(news, '');
       winprint.document.write(strippedString3);          
       winprint.document.write('</body></html>'); 
       winprint.document.close(); 
       winprint.focus(); 
}

function PrintThisPage2(PageName) 
{ 
   var sOption="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
       sOption+="scrollbars=yes,resizable=yes,width=750,height=600,left=100,top=25"; 
   var sWinHTML = document.getElementById(PageName).innerHTML; 
   
   var winprint=window.open("","",sOption); 
       winprint.document.open(); 
       winprint.document.write('<html><LINK href=css/Print.css rel=Stylesheet><script type="text/javascript">function PrintThisPage2(divName){window.print();}</script><style>body {background-color:#ffffff;} table{font-family:arial,helvetica,sans-serif; font-size:11px;}Div.InnerResearch{ margin-left:0px;}table.TeamList{width:95%;}</style><body>'); 
       winprint.document.write(sWinHTML);          
       winprint.document.write('</body></html>'); 
       winprint.document.close(); 
       winprint.focus(); 
}

// code for menu rollovers
var hideMenuEvent;
var displayMenu="";

function showMenu(id)
{
	if (displayMenu!="" && displayMenu!=id) hideMenu(0)
	displayMenu = id;
	var obj = document.getElementById(id);
	obj.getElementsByTagName("ul")[0].style.left="1em"
}
function hideMenu(timeout)
{
	clearTimeout(hideMenuEvent);
	hideMenuEvent=window.setTimeout('document.getElementById("' + displayMenu + '").getElementsByTagName("ul")[0].style.left="-999px"', timeout);
}
function cancelHideMenu()
{
	clearTimeout(hideMenuEvent);
}
sfHover = function() {
	if (document.getElementById("nav"))
	{
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
}

sfHover2 = function() {
	if (document.getElementById("leftMenuBar"))
	{
		var sfEls = document.getElementById("leftMenuBar").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover2";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover2\\b"), "");
			}
		}
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);
if (window.attachEvent) window.attachEvent("onload", sfHover2);	


// browser redirection code

//if (parseFloat(navigator.appVersion) < 4 || (document.layers && parseFloat(navigator.appVersion)<4.06) //){location.href="/browser.html";}
//if(!document.layers && !navigator.cookieEnabled) location.href="/browser.html";
//----------------------------------------------------------------------------------------------
//for the 'go' button on keyword search
function keyWdSearch(){
	if (document.keywordSearch){
		document.keywordSearch.submit()
	}
	else if(document.layers){
			document.textareaDiv.document.keywordSearch.submit()
	}
}
//----------------------------------------------------------------------------------------------
//for the 'printer friendly' and 'contact savills' button on news

function doForm(sFormName){
	if (document[sFormName]){
		if(document[sFormName].target=="newPrintWin"){

			var queryStr="";
			var formObj=document[sFormName];
		
			// generate querystring from hidden form
			for(i=0;i<formObj.elements.length;i++){
				queryStr+="&"+formObj.elements[i].name+"="+formObj.elements[i].value;
			}
			queryStr = queryStr.substr(1);
	
			var page=formObj.action+"?"+queryStr;

			newWin = window.open(page, "newPrintWin", "width=600,height=500,scrollbars=yes,resizable=yes,toolbar=yes,menubar=yes")

			setTimeout("focusWin(newWin)",20)
		}
//		document[sFormName].submit()
	}
}

function openPrinterFriendly(id)
{
	window.open('PrintContent.aspx?id=' + id)
}
//----------------------------------------------------------------------------------------------
/* old function - popped up in same page

function goReg(){
	document.preReg.submit()
}
*/

 function goReg(){
	if(document.preReg){
		var queryStr="";
		var formObj=document.preReg;
		
		// generate querystring from hidden form
		for(i=0;i<formObj.elements.length;i++){
			queryStr+="&"+formObj.elements[i].name+"="+formObj.elements[i].value;
		}
		var objRegExp = / /g;
		queryStr = queryStr.substr(1).replace(objRegExp,'');
	
		var page="/registration/new_research_reports.asp?"+queryStr;
		
		newWin = openWin(page,"regWin")
		setTimeout("focusWin(newWin)",20)

	}
}
//----------------------------------------------------------------------------------------------


function goContact(sEmail, sName, width, height,propertyId, sExtraMessage){
	var sPageName
	var newWin
	var thisWidth = "500"
	var thisHeight="600"
	if (propertyId==null) propertyId=""
	
	if(width) thisWidth=width
	if(height) thisHeight=height
	
	if(!sExtraMessage) sExtraMessage = ""
	//sEmail="gojones@savills.com"
	sPageName = document.location.href
	//get the page filename
	if(sPageName.lastIndexOf("/") != -1){
		sPageName = sPageName.substr(sPageName.lastIndexOf("/")+1)
		if (sPageName.indexOf("?") != -1){
			sPageName = sPageName.substr(0,sPageName.indexOf("?"))
		}
		if (sPageName.indexOf("#") != -1){
			sPageName = sPageName.substr(0,sPageName.indexOf("#"))
		}
	}
		newWin = window.open("/ContactForm.aspx?toName="+escape(sName)+"&toEmail="+escape(sEmail)+"&popupWin=true&propertyId="+propertyId+"&extramsg="+escape(sExtraMessage),"newWin","width=" + thisWidth + ",height=" + thisHeight)
		if (newWin){
			newWin.focus()	
		}
}


function doLinks()
{
	if(!linksState)
	{
		if(window.otherLinks) otherLinks.hide();
		//infoLinks.hide();
	}
	return;
}

//----------------------------------------------------------------------------------------------

function goLink(sLink, sContactName,sSpecial){
	var slinkPage
	var sFromPage = document.location.href
	var sContent = sLink.indexOf("/")==-1 ? sLink : escape(sLink)
	
	//workaround for netscape 4.08's pathetic attemps to pre-escape js
	if (sContent.indexOf(":")!=-1) sContent = sContent.replace(/:/g, "%3A")
	
	slinkPage = "/link.asp?from="+escape(sFromPage)+"&content="+sContent

	var email_yes_regExp = /@.*\./

	// all contact emails in popups now
	if (email_yes_regExp.test(sLink)){
		goContact(sLink, sContactName);
	}else{

		if (sContactName)
		{
			slinkPage += "&contactName="+escape(sContactName)
		}
		if (sSpecial)
		{
			slinkPage += "&sp="+sSpecial
		}
		if((sLink.indexOf('http://')!=-1 || sLink.indexOf('http:%2F%2F')!=-1 || sLink.indexOf('http%3A%2F%2F')!=-1)  && sLink.indexOf(getserverName())==-1)
		{
			window.open(slinkPage)
		}
		else
		{
			document.location.href = slinkPage
		}
	}	
}
//----------------------------------------------------------------------------------------------

	function goLet(sLet){
		var	sCurrentURL = document.location.href
		var sToURL
		var sExtraQuerystring
		
		sLet = sLet.toUpperCase()

		if (g_sServDirSection != sLet){
		//hack to clear the content
			sToURL = appendToQuerystring(sCurrentURL, "content", "")
			sToURL = appendToQuerystring(sToURL, "section", sLet)
			document.location.href = sToURL
		}
	}
//----------------------------------------------------------------------------------------------
	function appendToQuerystring(sCurrentURL, sKey, sVal){
		var sToURL, sExtraQuerystringItem, iPos
		sExtraQuerystringItem = sKey+"="

			if(sCurrentURL.indexOf("?") != -1){
				if (sCurrentURL.indexOf(sExtraQuerystringItem) != -1){
					iPos = sCurrentURL.indexOf(sExtraQuerystringItem)
					sToURL = sCurrentURL.substring(0, iPos)
					sToURL += sExtraQuerystringItem+sVal
					
					if (sCurrentURL.indexOf("&",iPos) != -1){
						sToURL += sCurrentURL.substr(sCurrentURL.indexOf("&",iPos))
					}
				}else{
					sToURL = sCurrentURL + "&"+sExtraQuerystringItem+sVal
				}
			}else{
				sToURL = sCurrentURL + "?"+sExtraQuerystringItem+sVal
			}
	
		return sToURL
	
	}
//----------------------------------------------------------------------------------------------
	var newWin
	function focusWin(oWin){
		if (oWin){
			oWin.focus()
		}
	}
	
function getserverName(){
	return document.location.protocol+"//"+document.location.host
}	


function getpopUp(page, name, details) {
newWin=window.open(page, name, details);
newWin.focus();
return false;
}

//Netscape 4 reload on resize
/*
if(document.layers)
{	
	var currHeight = window.innerHeight;
	var currWidth = window.innerWidth;
	window.onresize = function()
	{
		if((window.innerHeight!=currHeight)||(window.innerWidth!=currWidth)) location.reload(); 	
	}
}
*/



function popup(src,type){

	var newSrc = "";
	var str = "top=20;left=20,toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=1,"

	switch (type){
		case "sample" :
			str+= "scrollbars=0,toolbar=0,menubar=0,width=400,height=338"
			newSrc = ""+ src;
		break;
		case "print" :
			str+= "scrollbars=1,toolbar=1,menubar=1,width=590,height=580"
			newSrc = location +"?print=true&page="+ src;
		break;
		case "printAppendLoc" :
			str+= "scrollbars=1,toolbar=1,menubar=1,width=590,height=580"
			newSrc = location +"&print=true";
		break;
		default : 
			str+= "width=400,height=338,"
			newSrc = src
		;
	}

	var newWin = window.open(newSrc,"",str)
}

function viewCart(){
	// this will link to the cart url when we know what it is.
	var cartURL;
	cartURL = "http://kryton.clickandbuild.com/cnb/shop/savills?op=basket-view-null&return=";
	location = cartURL;
}

function getBasket(reportId,type){
	switch (type){
		case "report" :
		handlelink("http://kryton.clickandbuild.com/cnb/shop/savills?op-catalogue-search-null&search="+getReportId())
		break;
		default : 
		viewCart();
	}
}

function handlelink(url){
	location = url;
}

function getReportId() {
	// contentId is populated in look and feel functions, it's taken from the path of the source content HTML (which contains the contentId)
	pageId=contentId;
	return pageId;
}

// -----------------------------------------------------------------CUT HERE----------------------------------------------------------------------
var firstClick = false;
var displayedDropDown;
								
function showDropDown(dropDownId) {
	if (displayedDropDown) {
		hideDropDown(displayedDropDown)
	}
	displayedDropDown= dropDownId;
	getObj(dropDownId).style.display="block";
}

function hideDropDown(){
	if (displayedDropDown) {
		if (firstClick) {
			getObj(displayedDropDown).style.display = "none";
			displayedDropDown = null;
			firstClick = false;
		} else {
			firstClick = true;
		}
	}
}

function getObj(id) {
	if (id != "") {
		return document.getElementById(id);
	}
}

function openNewsPdf(url)
{

	var winWidth = 465
	var winHeight = 582
		
	if (screen.width==800||screen.height==600){
		winHeight = 582
		}
	else if (screen.width<=1024||screen.height<=768){
		winHeight = 582
		}			
		
	page="PdfStream.aspx?type=news&url=" + url + "&related_service_link=" + url;
	newWin = window.open(page,"newWin","width=" + winWidth + ",height=" + winHeight + ",scrollbars=1")
	setTimeout("focusWin(newWin)",20)
}

function openPrinterFriendly(id)
{
	window.open('PrinterFriendly.aspx?id=' + id)
}

function printWindow()
{
	window.print();
}
