function fswitcher(targ, hold, tag)
{
	if(document.getElementById(targ) && document.getElementById(hold))
	{
		var switcher = document.getElementById(targ);
		if (tag)
		{
			var switchers = switcher.getElementsByTagName(tag);
		}
		else
		{
			var switchers = switcher.getElementsByTagName('li');
		}
		var floorplan = document.getElementById(hold);
		if(switchers)
		{
			for (var i = 0; i < switchers.length; i++)
			{
				switchers[i].onclick = function()
				{
					floorplan.className = this.className;
					switcher.className = this.className;
					return false;
				}
			}
			var floorplansBlock = document.getElementById("floorplan");
			if(floorplansBlock)
			{
				var plans = document.getElementById("floorplan").getElementsByTagName('img');
				if(plans)
				{
					for (var i = 0; i < plans.length; i++)
					{
						plans[i].className += " hide";
					 }
				}
			}
			switcher.className=switchers[0].className;
			floorplan.className=switchers[0].className;
		}
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent)
		{
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function Locate(e, targ)
{
	var posx=0,posy=0;
	if(e==null) e=window.event;
	if(e.pageX || e.pageY)
	{
		posx=e.pageX;
		posy=e.pageY;
	}
	else if(e.clientX || e.clientY)
	{
		if(document.documentElement.scrollTop)
		{
			posx=e.clientX+document.documentElement.scrollLeft;
			posy=e.clientY+document.documentElement.scrollTop;
		}
		else
		{
			posx=e.clientX+document.body.scrollLeft;
			posy=e.clientY+document.body.scrollTop;
		}
	}
			
	Move(targ, posx, posy);
}

function Move (targ, pox, poy)
{
	if(document.getElementById(targ))
	{
		var coors = findPos(document.getElementById(targ));
		document.getElementById(targ).style.top=(poy+10-coors[1])+"px";
		document.getElementById(targ).style.left=(pox+20-coors[0])+"px";
	}
}

function reLocate(e)
{
	var posx=0,posy=0;
	var coors = findPos(document.getElementById("FloorPlans"));
	if(e==null) e=window.event;
	if(e.pageX || e.pageY)
	{
		posx=e.pageX;
		posy=e.pageY;
	}
	else if(e.clientX || e.clientY)
	{
		if(document.documentElement.scrollTop)
		{
			posx=e.clientX+document.documentElement.scrollLeft;
			posy=e.clientY+document.documentElement.scrollTop;
		}
		else
		{
			posx=e.clientX+document.body.scrollLeft;
			posy=e.clientY+document.body.scrollTop;
		}
	}								
	document.getElementById("tooltip").style.top = (posy-90-coors[1]) + "px";
	document.getElementById("tooltip").style.left = (posx+5-coors[0]) + "px";  
}


/*function setOpacity(el){
el.style.filter="alpha(opacity:85)";
el.style.KHTMLOpacity="0.85";
el.style.MozOpacity="0.85";
el.style.opacity="0.85";
}*/


/*Cookie stuff*/
	
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function setCookie(pid){
				 eraseCookie('high');
				 createCookie('high', pid);
}


/* /Cookie stuff */




/*
	start of selector 
*/
function ul2select(hid, sel, foo){
  var select = document.createElement('select');
  var holder = jQuery(hid);
  var ul = holder.getElementsByTagName('ul')[0];
  var az = ul.getElementsByTagName('A');
  var createOption = function (a) {
    	var opt = document.createElement('option');
	opt.innerHTML = a.innerHTML;
	opt.value = a.href;
	opt.selected = a.id == sel ? "selected" : "";
	return opt;
  }

  select.onchange = function(){
    if(this.options[this.selectedIndex].value != false) 
      location.href = this.options[this.selectedIndex].value
  };

  var deft = {innerHTML:foo, href:0, id:"x0"};
  select.appendChild(createOption(deft));

  for (var i = 0;it = az[i];i++){
	select.appendChild(createOption(it));
  }
  holder.removeChild(ul);
  holder.appendChild(select);
}
    
    function selecter(sId){
      var sHr = sId;
      var sIs = sHr.getElementsByTagName('A');
      var sNm = sHr.getElementsByTagName('STRONG')[0];
      var sNms = sHr.getElementsByTagName('SPAN')[0];
      var sUl = sHr.getElementsByTagName('UL')[0];
      sNm.onclick = function(){sHr.className == 'open' ? sHr.className = 'close' : sHr.className = 'open';}
	sUl.onmouseover = function(){sHr.className= 'open';}
	sUl.onmouseout = function(){sHr.className= 'close';}
      for (var i = 0, l = sIs.length; i < l; i++){
	sIs[i].onclick = function (){sNms.innerHTML = this.innerHTML; sHr.className = 'close'; }
      }

    }
    	
function getChecked(eid){
    if (document.getElementById(eid))
    	 return document.getElementById(eid)
    else
       return null
}

/*
	send of selector 
*/

function siteplanLoad(targ) {

var siteplanHolder = targ ? targ : "FloorPlans"; 


/*Tooltip placeholder*/
if(!document.getElementById("tooltip")){
    h=document.createElement("span");
    h.id="tooltip";
    h.setAttribute("id","tooltip");
//    h.style.position="absolute";
    document.getElementById("FloorPlans").appendChild(h);
}
/*Imagemap areas*/

    processAreas(plotData, siteplanHolder, path);
    
    
}

function processAreas(data, siteplanHolder, building){
    for (var i in data) {
		    if(data[i].area && data[i].area.parentNode.parentNode == document.getElementById(siteplanHolder)){
				    
				    /*Tooltips*/
	 			    
	 			    var classN = 'ttips';  
				    
						ttip = createEl('span', classN);
				    
				    var pname = createEl("strong", "pname");
				    pname.appendChild(document.createTextNode(data[i].plotStyleName));

						
						var pnumber = createEl("strong", "pnumber");
						if (i.charAt(0) == 'p'){
							pnumber.appendChild(document.createTextNode("Plot " + i.substring(1,i.length).replace(/-P/,' - Car Park')));
						}
				    else {
//						pnumber.appendChild(document.createTextNode(""));
						}
				    
				    //var pavail = createEl("strong", "pavail");
				    //pavail.appendChild(document.createTextNode(data[i].availability));
					
					// Create availability message
					var plotAvailability;
					if (data[i].availability)
					{
						switch(data[i].availability)
						{
							case("Available"): plotAvailability = createEl("span", "A");
								break;
							case("Sold"): plotAvailability = createEl("span", "S");
								break;
							case("Unreleased"): plotAvailability = createEl("span", "U");
								break;
							case("Reserved"): plotAvailability = createEl("span", "R");
								break;					
						}
						plotAvailability.appendChild(document.createTextNode(data[i].availability));
					}
					else
					{
						plotAvailability = null;
					}

				    
				    var pprice = createEl("strong", "pprice");
//    		    pprice.appendChild(document.createTextNode("\u00A3"));
				    pprice.appendChild(document.createTextNode(data[i].price));
				    
				    t = [pnumber, pname, plotAvailability, pprice];
						for (var y in t) 
						    ttip.appendChild(t[y]);
						    
//				    setOpacity(ttip);
				    data[i].area.ttip = ttip;
				    data[i].area.removeAttribute("title");
				    data[i].area.removeAttribute("alt");

				    /*Links*/
				    
				    
				    
				    
				    if(data[i].availability == 'Sold' || data[i].availability == ''){
								data[i].area.removeAttribute("href");
								data[i].area.style.cursor = 'default';
						}
				    
				    
				    
				    /*sitePlan spans*/
				    
				    var imageSpan = document.createElement('span');
				    imageSpan.id = data[i].area.id + '-span';
					imageSpan.className = "hovers";
				    if(data[i].availability == 'Sold'){
								imageSpan.style.background = 'url(/images/' + path + '/sold/'+ data[i].area.id +'.png)';
				    }
				    else {
								imageSpan.style.backgroundImage = 'url(/images/' + path + '/hover/' + data[i].area.id +'.png)';
								imageSpan.style.visibility = 'hidden';				    		 
						}
				    document.getElementById(siteplanHolder).appendChild(imageSpan);
				    
				    
				    
				    /*Events*/
				    
				    if(data[i].availability == 'Sold'){
								data[i].area.onmouseover=onHighSold;
            		data[i].area.onmouseout=offHighSold;
						}
						
						else{
								data[i].area.onmouseover=onHigh;
            		data[i].area.onmouseout=offHigh;						
						}
						
    				data[i].area.onmousemove=reLocate;
				}
		}
}

function createEl(t,c){
    var x=document.createElement(t);
    x.className=c;
    return(x);
}

function onHighSold(e){
    document.getElementById("tooltip").appendChild(this.ttip);
    reLocate(e);
}

function offHighSold(e){
    var d=document.getElementById("tooltip");
    if(d.childNodes.length>0) d.removeChild(d.firstChild);
    d.style.left = '-9999px';
    d.style.top = '0';
    
}


function onHigh(e){
    document.getElementById("tooltip").appendChild(this.ttip);
    reLocate(e);
    document.getElementById(this.id + '-span').style.visibility = 'visible';
}

function offHigh(e){
    var d=document.getElementById("tooltip");
    if(d.childNodes.length>0) d.removeChild(d.firstChild);
    if(window.high === undefined){
			 window.high = 'foo';
		}
    if(window.high !== this.id.toString()){
    document.getElementById(this.id + '-span').style.visibility = 'hidden';
    }
    d.style.left = '-9999px';
    d.style.top = '0';
    
}


/********************************************/

function findPos2(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent)
		{
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function Locate2(e, targ)
{
	var posx=0,posy=0;
	if(e==null) e=window.event;
	if(e.pageX || e.pageY)
	{
		posx=e.pageX;
		posy=e.pageY;
	}
	else if(e.clientX || e.clientY)
	{
		if(document.documentElement.scrollTop)
		{
			posx=e.clientX+document.documentElement.scrollLeft;
			posy=e.clientY+document.documentElement.scrollTop;
		}
		else
		{
			posx=e.clientX+document.body.scrollLeft;
			posy=e.clientY+document.body.scrollTop;
		}
	}
			
	Move2(targ, posx, posy);
}

function Move2 (targ, pox, poy)
{
	if(document.getElementById(targ))
	{
		var coors = findPos2(document.getElementById(targ));
		document.getElementById(targ).style.top=(poy+0-coors[1])+"px";
		document.getElementById(targ).style.left=(pox+0-coors[0])+"px";
	}
}

function reLocate2(e)
{
	var posx=0,posy=0;
	var coors = findPos2(document.getElementById("FloorPlans"));
	if(e==null) e=window.event;
	if(e.pageX || e.pageY)
	{
		posx=e.pageX;
		posy=e.pageY;
	}
	else if(e.clientX || e.clientY)
	{
		if(document.documentElement.scrollTop)
		{
			posx=e.clientX+document.documentElement.scrollLeft;
			posy=e.clientY+document.documentElement.scrollTop;
		}
		else
		{
			posx=e.clientX+document.body.scrollLeft;
			posy=e.clientY+document.body.scrollTop;
		}
	}								
	document.getElementById("tooltip2").style.top = (posy+30-coors[1]) + "px";
	document.getElementById("tooltip2").style.left = (posx-100-coors[0]) + "px";  
}


function getChecked2(eid){
    if (document.getElementById(eid))
    	 return document.getElementById(eid)
    else
       return null
}

function siteplanLoad2(targ) {

var siteplanHolder = targ ? targ : "FloorPlans"; 


/*Tooltip placeholder*/
if(!document.getElementById("tooltip2")){
    h=document.createElement("span");
    h.id="tooltip2";
    h.setAttribute("id","tooltip2");
//    h.style.position="absolute";
    document.getElementById("FloorPlans").appendChild(h);
}
/*Imagemap areas*/

    processAreas2(locatorData, siteplanHolder, path2);
    
    
}

function processAreas2(data, siteplanHolder, building){
    for (var i in data) {
		    if(data[i].area && data[i].area.parentNode.parentNode == document.getElementById(siteplanHolder)){
				    
				    /*Tooltips*/
	 			    
	 			    var classN = 'ttips';  
				    
						ttip = createEl2('span', classN);
				    
				    var pname = createEl2("strong", "pname");
				    pname.appendChild(document.createTextNode(data[i].plotStyleName));

						
						var pnumber = createEl2("strong", "pnumber");
						if (i.charAt(0) == 'p'){
							pnumber.appendChild(document.createTextNode("Plot " + i.substring(1,i.length).replace(/-P/,' - Car Park')));
						}
				    else {
//						pnumber.appendChild(document.createTextNode(""));
						}
				    
				    var pavail = createEl2("strong", "pavail");
				    pavail.appendChild(document.createTextNode(data[i].availability));
				    
				    var pprice = createEl2("strong", "pprice");
//    		    pprice.appendChild(document.createTextNode("\u00A3"));
				    pprice.appendChild(document.createTextNode(data[i].price));
				    
				    t = [pnumber, pname, pavail, pprice];
						for (var y in t) 
						    ttip.appendChild(t[y]);
						    
//				    setOpacity(ttip);
				    data[i].area.ttip = ttip;
				    data[i].area.removeAttribute("title");
				    data[i].area.removeAttribute("alt");

				    /*Links*/
				    
				    
				    
				    
				    if(data[i].availability == 'Sold' || data[i].availability == ''){
								data[i].area.removeAttribute("href");
								data[i].area.style.cursor = 'default';
						}
				    
				    
				    
				    /*sitePlan spans*/
				    
				    var imageSpan = document.createElement('span');
				    imageSpan.id = data[i].area.id + '-span';
					imageSpan.className = "hovers";
				    if(data[i].availability == 'Sold'){
								imageSpan.style.background = 'url(/images/' + path2 + '/sold/'+ data[i].area.id +'.png)';
				    }
				    else {
								imageSpan.style.backgroundImage = 'url(/images/' + path2 + '/hover/' + data[i].area.id +'.png)';
								imageSpan.style.visibility = 'hidden';				    		 
						}
				    document.getElementById(siteplanHolder).appendChild(imageSpan);
				    
				    
				    
				    /*Events*/
				    
				    if(data[i].availability == 'Sold'){
								data[i].area.onmouseover=onHighSold2;
            		data[i].area.onmouseout=offHighSold2;
						}
						
						else{
								data[i].area.onmouseover=onHigh2;
            		data[i].area.onmouseout=offHigh2;						
						}
						
    				data[i].area.onmousemove=reLocate2;
				}
		}
}

function createEl2(t,c){
    var x=document.createElement(t);
    x.className=c;
    return(x);
}

function onHighSold2(e){
    document.getElementById("tooltip2").appendChild(this.ttip);
    reLocate2(e);
}

function offHighSold2(e){
    var d=document.getElementById("tooltip2");
    if(d.childNodes.length>0) d.removeChild(d.firstChild);
    d.style.left = '-9999px';
    d.style.top = '0';
    
}


function onHigh2(e){
    document.getElementById("tooltip2").appendChild(this.ttip);
    reLocate2(e);
    document.getElementById(this.id + '-span').style.visibility = 'visible';
}

function offHigh2(e){
    var d=document.getElementById("tooltip2");
    if(d.childNodes.length>0) d.removeChild(d.firstChild);
    if(window.high === undefined){
			 window.high = 'foo';
		}
    if(window.high !== this.id.toString()){
    document.getElementById(this.id + '-span').style.visibility = 'hidden';
    }
    d.style.left = '-9999px';
    d.style.top = '0';
    
}

/********************************************/


function specificationSwitcher(k, num) 
{
	for (i = 1; i < num; i++)
	{
		if (i==k)
		{
			eval('document.getElementById(\'text-'+i+'\').style.display=\'block !important\'');
		}
		else
		{
			eval('document.getElementById(\'text-'+i+'\').style.display=\'none\'');
		}
	}
}
