/* common js functions for fpdsavills.com paul.crabtree@oyster.com */

// browser redirection code for -4 browsers.
var bT = navigator.appName
var uA = navigator.userAgent
var b;
if (bT=="Netscape") b = "ns"
else if (bT=="Microsoft Internet Explorer") b = "ie"
else b=bT
var version = navigator.appVersion
var v = parseInt(version)
var ns = b=="ns" && v>=4
var ns4 = b=="ns" && v==4
if (parseFloat(navigator.appVersion) < 4 || (ns4 && parseFloat(navigator.appVersion)<4.06) ) location.href="/browser.html"
if(!document.layers && !navigator.cookieEnabled) location.href="/browser.html";

//pre-loading images for navbar
if(document.images)
{

	var navabouton = new Image();
		navabouton.src = "/images/navbar/about_ro.gif";
	var navaboutoff = new Image();
		navaboutoff.src = "/images/navbar/about.gif";
	var navpropertysearchon = new Image();
		navpropertysearchon.src = "/images/navbar/property_search_ro.gif";
	var navpropertysearchoff = new Image();
		navpropertysearchoff.src = "/images/navbar/property_search.gif";				
	var navserviceson = new Image();
		navserviceson.src = "/images/navbar/services_ro.gif";
	var navservicesoff = new Image();
		navservicesoff.src = "/images/navbar/services.gif";
	var navresearchon = new Image();
		navresearchon.src = "/images/navbar/research_ro.gif";
	var navresearchoff = new Image();
		navresearchoff.src = "/images/navbar/research.gif";
	var navinvestoron = new Image();
		navinvestoron.src = "/images/navbar/investor_ro.gif";
	var navinvestoroff = new Image();
		navinvestoroff.src = "/images/navbar/investor.gif";
	var navnewson = new Image();
		navnewson.src = "/images/navbar/news_ro.gif";
	var navnewsoff = new Image();
		navnewsoff.src = "/images/navbar/news.gif";
	var navofficedirectoryon = new Image();
		navofficedirectoryon.src = "/images/navbar/office_directory_ro.gif";
	var navofficedirectoryoff = new Image();
		navofficedirectoryoff.src = "/images/navbar/office_directory.gif";
	var navrecruitmenton = new Image();
		navrecruitmenton.src = "/images/navbar/recruitment_ro.gif";
	var navrecruitmentoff = new Image();
		navrecruitmentoff.src = "/images/navbar/recruitment.gif";
	var navpublicationson = new Image();
		navpublicationson.src = "/images/navbar/publications_ro.gif";
	var navpublicationsoff = new Image();
		navpublicationsoff.src = "/images/navbar/publications.gif";
	
	//pre-loading button images for mainpage
	var printon = new Image();
		printon.src = "/images/buttons/print_ro.gif";
	var printoff = new Image();
		printoff.src = "/images/buttons/print.gif";		
	var downloadon = new Image();
		downloadon.src = "/images/buttons/download-report_ro.gif";
	var downloadoff = new Image();
		downloadoff.src = "/images/buttons/download-report.gif";		
	var hardcopyon = new Image();
		hardcopyon.src = "/images/buttons/request-hardcopy_ro.gif";
	var hardcopyoff = new Image();
		hardcopyoff.src = "/images/buttons/request-hardcopy.gif";		
	var sharepriceon = new Image();
		sharepriceon.src = "/images/buttons/share-price_ro.gif";
	var sharepriceoff = new Image();
		sharepriceoff.src = "/images/buttons/share-price.gif";				
		}

	var printofficeon = new Image();
		printofficeon.src = "/images/buttons/print_office_ro.gif";
	var printofficeoff = new Image();
		printofficeoff.src = "/images/buttons/print_office.gif";

/**
 * onmouseover rollover function including nestref param for netscape.
 */
 function imgOn(imgName,newImg,nestref)
 {
	if(!newImg) newImg = imgName;
	if (document.images[imgName]||nestref)
	{
		if (document.layers && nestref)
		{
			eval(nestref+'.'+'document.images[imgName].src='+ newImg + "on.src")
		}
		else
		{
			document.images[imgName].src = eval(newImg + "on.src") 
		}
	}
 }
/**
 * onmouseout rollover function including nestref param for netscape.
 */
 function imgOff(imgName,newImg,nestref)
 {
	if(!newImg) newImg = imgName;
	if (document.images[imgName]||nestref)
	{
		if (document.layers && nestref) { eval(nestref+'.'+'document.images[imgName].src='+ newImg + "off.src") }
    	else { document.images[imgName].src = eval(newImg + "off.src") }
	}
 }
 
 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;
		}
		queryStr.length-=1;
	
		var page="/registration/new_research_reports.asp?"+queryStr;
		
		newWin = openWin(page,"regWin")
		setTimeout("focusWin(newWin)",20)

	}
}
//for opening up pdf's in a new window
//----------------------------------------------------------------------------------------------
//for opening up pdf's in a new window
	var blnRegistering = false

	function getPdf(formName,pdfName){
		var sFromPage = document.location.href
		var queryStr="";
		var formObj=document[formName];
		if (pdfName != null){
			//got to replace '520' with space as ns6 doesn't manage this itself
			formObj.pdf.value = pdfName.replace(/%20/g," ");
			
		}
		if (formObj){
				if (formObj.from){
					formObj.from.value = sFromPage
				}
		
			// generate querystring from hidden form
			for(i=0;i<formObj.elements.length;i++){
				queryStr+="&"+formObj.elements[i].name+"="+urlEncode(formObj.elements[i].value);
			}
	
			var winWidth = 500
			var winHeight = 600
			if (screen.width==800||screen.height==600){
			winHeight = 550
			}
			else{
			winHeight = 630
			}

			var page;
			var newWin;
	/*		var page;
			if (acrobat.ver5)
			{
				page="/pdfstream.asp?regSite=uk"+queryStr+"&dummy=.pdf";
				newWin = openWin(page,"newWin",winWidth,winHeight)
			}
			else
			{
				page="/AcrobatDownload.htm";
				newWin = window.open(page,"newWin")
			}
	*/	
			page="/pdfstream.asp?regSite=uk"+queryStr+"&dummy=.pdf";
			newWin = openWin(page,"newWin",winWidth,winHeight)
			setTimeout("focusWin(newWin)",20)

		}



	}

	function urlEncode(strString){
	
		return escape(strString).replace(/\+/g,"%2B");
	}
	
	
	function registering(){
		blnRegistering = true
	}
	
	
		
	function focusWin(oWin){
		if (oWin){
			oWin.focus()
		}
	}


//reg for hard copy - open up the form
	function hardCopy(formName){
		
		newWin = openWin("/registration/request_hard_copy.asp?loading=true&regSite=com","hardCopyWin")
		document[formName].action = "/registration/request_hard_copy.asp?regSite=com"
		document[formName].submit()
		setTimeout("focusWin(newWin)",20)
	}
	

	
//---------------------------------------------------------------------------------------------
function openWin(filename, winname, width, height) {
	if(!winname) winname = ""
	if(!width) width = 500
	if(!height) height = 600
	return window.open(filename, winname, "width="+width+",height="+height+",scrollbars=yes,resizable=yes")
}
//-------------------------------------------------------------------------------------------
//for the 'printer friendly' and 'contact savills' button on news
function doForm(sFormName, sContentType){
	var iWidth = 600
	var iHeight = 500

	if (sFormName=="printerFriendly" && sContentType=="investor_relations_share"){
		iWidth = 700
		iHeight = 200
	}

	if (document[sFormName]){
		if(document[sFormName].target=="newPrintWin"){
			newWin = window.open("", "newPrintWin", "width="+iWidth+",height="+iHeight+",scrollbars=yes,resizable=yes,toolbar=yes,menubar=yes")
		}
		document[sFormName].submit()
		setTimeout("focusWin(newWin)",20)
	}
}
//----------------------------------------------------------------------------------------------

function goContact(sEmail, sName){
	var sPageName
	var newWin
	sPageName = document.location.href

	
	newWin = openWin("http://www.savills.co.uk/ContactForm.aspx?toName="+escape(sName)+"&toEmail="+escape(sEmail)+"&popupWin=true")
	if (newWin){
		newWin.focus()	
	}
		
}

//----------------------------------------------------------------------------------------------

function goLink(sLink, sContactName,sSpecial){

	var slinkPage
	var sFromPage = document.location.href
	
	/*
	var ukDom=/http:\/\/www\.fpdsavills\.co\.uk/;

	if (ukDom.test(sLink)){
		sLink=sLink.replace(ukDom,"");
		window.open(sLink)
	}
	*/
	

	var email_yes_regExp = /@.*\./

	// all contact emails in popups now
	if (email_yes_regExp.test(sLink)){
		goContact(sLink, sContactName);
	}else{

	
		if (sLink.substr(0,7)=="http://" && sLink.indexOf(getserverName())==-1){
			window.open(sLink)
		}else{
			slinkPage = "/link.asp?from="+escape(sFromPage)+"&content="+escape(sLink)
			if (sContactName){
				slinkPage += "&contactName="+sContactName
			}
			if (sSpecial){
				slinkPage += "&sp="+sSpecial
			}
			document.location.href = slinkPage
		}
	}
}

//----------------------------------------------------------------------------------------------
//dummy init() routine for pages with none.

function init(){}


// to re-direct to other international sites
function goNewSite(elem)
{
	if(elem.selectedIndex != 0)
	{
	newPage = elem.options[elem.selectedIndex].value;
	window.open(newPage,'newWindow','toolbar=yes,location=yes,personalbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes');
	}
}
function z(){//do nothing
}

function getserverName(){
	return document.location.protocol+"//"+document.location.host
}

var newWin

function getpopUp(page, name, details) {
newWin=window.open(page, name, details);
newWin.focus();
return false;
}






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;
		default : 
			str+= "width=400,height=338,"
			newSrc = src
		;
	}

	var newWindow = 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(val) {
	val = unescape(location.search);
	var tempArray = val.split(".htm");
	var path = tempArray[0].split("\\");
	var pageId = path[path.length-1]
	return pageId;
}
