﻿// HANDLE SERVICES POPUP ----------------------------------------------------

addOnLoad('premises_init_ServicePopup()');

var premises_overSI = 0;
var premises_I;
var labels = new Array();

function premises_init_ServicePopup() {
	if( document.getElementById('search_premises_result') ) {
		var TR_services = document.getElementById('search_premises_result').getElementsByTagName('TR');
		j = 1;
		for( i = 1 ; i < TR_services.length ; ++i ) {
			
			TD_services = TR_services[i].getElementsByTagName('TD');			
			var cn = TR_services[i].className;
			var isAP = cn.substr(cn.length - 2) == "ap";
			
			var pLink = TD_services[1].getElementsByTagName("A")[0];
			var sLinks = TD_services[TD_services.length - 1].getElementsByTagName("A");
			var sLink = pLink;
			if(sLinks.length > 0)
			    sLink = sLinks[0];
			
			for(k = 0; k < TD_services.length; k++)
			{
			    TD_services[k].link = pLink;
			    if(isAP && k == TD_services.length - 1)
			        TD_services[k].link = sLink;
			        
			    if( navigator.appVersion.indexOf('MSIE') >= 0 ) {
			        TD_services[k].onclick = function () { this.link.click() };
			    } else {
  			        TD_services[k].onclick = function () { window.location.href = this.link.href };
			    }
			}
			if(!isAP)			
			{
			    TD_services[TD_services.length-1].onmouseover	= premises_showServices;
			    TD_services[TD_services.length-1].onmouseout 	= premises_hideServices2;
			    TD_services[TD_services.length-1].place = j; 
			}
			++j;
		}
	}
}

function premises_showServices() {
	//if( this.className.indexOf('over') == -1 ) { this.className += ' over' }
	if( premises_overSI != this.place ) {
		premises_overSI = -1;
		premises_hideServices();
	}
	premises_overSI = this.place;	
	var container = document.getElementById('search_premises_result');
	if( !document.getElementById('premises_service_info') ) {
		premises_createServiceInfo(this.place);
	}
	var serviceInfo = document.getElementById("premises_service_info");
	var serviceInfoBG = document.getElementById("premises_service_info_bg");
			serviceInfo.style.top = ( this.parentNode.getElementsByTagName('P')[0].offsetTop + 15 ) + 'px';
			serviceInfo.style.left = '465px';
			serviceInfoBG.style.top = ( this.parentNode.getElementsByTagName('P')[0].offsetTop + 15 ) + 'px';
			serviceInfoBG.style.left = '465px';			
			premises_buildServices(this.place);
			serviceInfo.style.display = 'block';
			serviceInfoBG.style.display = 'block';			
			premises_I = setTimeout("premises_hideServices()", 400);
}

function premises_hideServices() {
	if( premises_overSI == -1 ) {
		if( document.getElementById('premises_service_info') ) {
			document.getElementById('premises_service_info').style.display = 'none';
			document.getElementById('premises_service_info_bg').style.display = 'none';
		}
	}
	premises_I = setTimeout("premises_hideServices()", 400);
}

function premises_hideServices2() {
	premises_overSI = -1;
		//originalCN = this.className.split(' ');
		//this.className = originalCN[0];		
}

function premises_buildServices(TR_num) {
	var serviceInfo = document.getElementById("premises_service_info");
	var serviceList = document.getElementById('search_premises_result').getElementsByTagName('TR')[TR_num].getElementsByTagName('A');
	var serviceObject = new Array();
	serviceInfo.innerHTML = '';
	mainDiv = document.createElement('DIV');
	serviceInfo.appendChild(mainDiv);
	
	// Sort the services
	serviceListSorted = new Array();
	for( i = 0 ; i < serviceList.length ; ++i ) {
		if( serviceList[i].className.indexOf('tenants_service') != -1 ) {
			serviceListSorted[0] = serviceList[i];
		} else if( serviceList[i].className.indexOf('telemarketing') != -1 ) {
			serviceListSorted[1] = serviceList[i];
		} else if( serviceList[i].className.indexOf('services') != -1 ) {
			serviceListSorted[2] = serviceList[i];
		} else if( serviceList[i].className.indexOf('restaurant') != -1 ) {
			serviceListSorted[3] = serviceList[i];			
		} else if( serviceList[i].className.indexOf('phone') != -1 ) {
			serviceListSorted[4] = serviceList[i];
		} else if( serviceList[i].className.indexOf('reception') != -1 ) {
			serviceListSorted[5] = serviceList[i];			
		} else if( serviceList[i].className.indexOf('conference') != -1 ) {
			serviceListSorted[6] = serviceList[i];
		}
	}
	
	// Append the services
	for( i = 0 ; i < serviceListSorted.length ; ++i ) {
		serviceObject[i] = document.createElement('A');
		serviceObject[i].className 	= serviceListSorted[i].className;
		serviceObject[i].href 			= serviceListSorted[i].href;
		serviceObject[i].innerHTML = serviceListSorted[i].innerHTML;
		mainDiv.appendChild(serviceObject[i]);
	}		
}

function premises_createServiceInfo(place) {
	var search_premises_result = document.getElementById('wrapper');
	var serviceInfo = document.createElement('DIV');
			serviceInfo.id = 'premises_service_info';
			serviceInfo.onmouseover = function () { premises_overSI = place };
			serviceInfo.onmouseout = function () { premises_overSI = -1 };			
	search_premises_result.appendChild(serviceInfo);
			
	// Add the drop-shadow
	var serviceInfoBG = document.createElement('DIV');
			serviceInfoBG.id = 'premises_service_info_bg';
			
			serviceInfoBGLeft = document.createElement('DIV');
			serviceInfoBGLeft.id = 'premises_service_info_bg_left';
			serviceInfoBG.appendChild(serviceInfoBGLeft);
			
			serviceInfoBGRight = document.createElement('DIV');
			serviceInfoBGRight.id = 'premises_service_info_bg_right';
			serviceInfoBG.appendChild(serviceInfoBGRight);			
			
			
	search_premises_result.appendChild(serviceInfoBG);			
}


// HANDLE TABLE-ROW LINKS ---------------------------------------------------

var premises_TRI;
var premises_TR_on = 0;

//addOnLoad('premises_init_TableRowLinking()');

function premises_init_TableRowLinking() {
	if( document.getElementById('search_premises_result') ) {
		var TRs = document.getElementById('search_premises_result').getElementsByTagName('TR');
		for( i = 0 ; i < TRs.length; ++i ) {
			TRs[i].onclick 			= function () { window.location.href = this.getElementsByTagName("A")[0].href };
			TRs[i].onmouseover	= premises_TableRowOver;
			TRs[i].onmouseout		= premises_TableRowOut;
		}
	}
}

function premises_TableRowOver() {
	if( this.className.indexOf('over') == -1 ) { this.className += ' over' }
}

function premises_TableRowOut() {
	originalCN = this.className.split(' ');
	this.className = originalCN[0];
}

