// /js/isol/isol.rotate.8.js// global functions

function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    if (arguments.length == 1) return element;
    elements.push(element);
  }
  return elements;
}

// ISOL Javascript Loader

var isol = {

	site: {

		root: '/',

		admin_root: function() {
			return this.root+'zAz/'
		},

		editkey: 'dskgjw43tjsejLv43dsmv4mf0wmw346346'
	},	

	// append script to html head, now or onload
	loadScript: function(url,delayed) {

		var delayed = delayed || false;

		if (delayed) {
			this.addEvent('load',
				function () {
					isol.loadScript(url);
				}
			);
		} else {
			var script = document.createElement("script");  
			script.src = url;
			script.type = "text/javascript";
			document.getElementsByTagName('head')[0].appendChild(script);
		}		
	},

	// load known isol module, now or onload
	loadModule: function(module,delayed) {

		var delayed = delayed || false;

		if (typeof this[module] == 'undefined')	{
			this[module] = {};
		}
		if (typeof this[module].loaded == 'undefined') {
			this[module].loaded = true;
			this.loadScript(this.site.root+'js/isol/isol.'+module+'.js',delayed);
		}			
	},

	// add event function to element
	addEvent: function(evt,fn,elm) {

		elm = $(elm) || window;

        if (elm.addEventListener) {
                elm.addEventListener(evt, fn, false);
		} else if (elm.attachEvent) {
		    elm.attachEvent('on' + evt,
				function() {
					return fn.call(elm,window.event);
				}
			);
		}
	},

	windows: {}
};

// windows object

// open windows with opener and focus
isol.windows.open = function(url,windowname,settings) {

	popupWin = window.open(url,windowname,settings);
	if (!popupWin.opener) {
		popupWin.opener=self;
		popupWin.focus();
	}
}

if (typeof isol['rotate'] == 'undefined')	{
	isol['rotate'] = {};
}
isol['rotate'].loaded = true;

isol.rotate = {

	sets: [],

	imageSet: function(image_obj,delay,fade,fadetime,randomize) {

		var that=this;
		var curImage = 0;
		var curOpacity = 100;
		var prevImage = 0;
		var imagelist = [];
		var set_index = isol.rotate.sets.length;		

		this.delay = delay*1000 || 3000;
		this.fade = fade;
		this.fadetime = fadetime || 35;
		this.opstep = (fadetime > 500) ? 5 : ((fadetime > 250) ? 11 : 24);
		this.randomize = randomize || false;

		getImages(image_obj);		

		this.rotate = function(opacity) {
			if (opacity < 100) {
				setFade(curImage,opacity);
				if (this.fade)	{					
					opacity += this.opstep;
					window.setTimeout(function(){that.rotate(opacity);},this.fadetime);
				} else {
					setFade(curImage,100);
					this.rotate(100);
				}
			} else {
				setFade(prevImage,0);
				prevImage=curImage;
				if (this.randomize) {
					while (curImage == prevImage) {
						curImage = Math.floor(Math.random() * imagelist.length);
					}
				} else {
					curImage+=1;
					if (curImage>=imagelist.length) {
						curImage=0;
					}
				}				
				imagelist[prevImage].style.zIndex = 0;
				imagelist[curImage].style.zIndex = 100;
				opacity=0;
				window.setTimeout(function(){that.rotate(opacity);},this.delay);
			}			
		};		

		function getImages(image_obj) {

			var image_obj = $(image_obj);

			var node = image_obj.firstChild;
			while (node) {
				if (node.nodeType==1) {					
					imagelist.push(node);
				}
				node = node.nextSibling;
			}
			for(i=0;i<imagelist.length;i++) {
				imagelist[i].style.position='absolute';
				imagelist[i].style.top=0;
				imagelist[i].style.zIndex=0;
				setFade(i,0);	
			}
			image_obj.style.visibility = 'visible';
			prevImage = imagelist.length-1;
			setFade(curImage,100);			
		}

		function setFade(index,opacity) {

			var img=imagelist[index];

			if (img.style.MozOpacity!=null) {  
				/* Mozilla's pre-CSS3 proprietary rule */
				img.style.MozOpacity = (opacity/100) - .001;
			} else if (img.style.opacity!=null) {
				/* CSS3 compatible */
				img.style.opacity = (opacity/100) - .001;
			} else if (img.style.filter!=null) {
				/* IE's proprietary filter */
				img.style.filter = "alpha(opacity="+opacity+")";
			}
		};
	},

	addSet: function(image_obj,delay,fade,fadetime,randomize) {

		isol.rotate.sets.push(new isol.rotate.imageSet(image_obj,delay,fade,fadetime,randomize));	
	},

	init: function() {	
		if (typeof isol.rotate.sets != 'undefined') {
			for (var i = 0; i < isol.rotate.sets.length; i++) {
				isol.rotate.sets[i].rotate(100);
			}
		}
	}
}

isol.addEvent('load',isol.rotate.init);

// WLTN property search

// apartments is checked
function checkApts() {
	if (document.psearch.elements['s_category[5]'].checked) {
		document.psearch.elements['s_category[15]'].checked = false;
		document.psearch.elements['s_category[8]'].checked = false;
		document.psearch.elements['s_category[6]'].checked = false;
		document.psearch.elements['s_category[16]'].checked = false;
		document.psearch.elements['s_category[9]'].checked = false;
		document.psearch.s_avail[0].checked = true;
		document.all('slabel').innerText='Bedrms';
	} else {
		document.all('slabel').innerText='Sq.Ft.';
	}			
}
// land is checked
function checkLand() {
	if (document.psearch.elements['s_category[9]'].checked) {
		document.psearch.elements['s_category[15]'].checked = false;
		document.psearch.elements['s_category[8]'].checked = false;
		document.psearch.elements['s_category[6]'].checked = false;
		document.psearch.elements['s_category[16]'].checked = false;
		document.psearch.elements['s_category[5]'].checked = false;
		document.all('slabel').innerText='Acres';
	}	else {
		document.all('slabel').innerText='Sq.Ft.';
	}		
}
// other is checked
function checkOther(thisCheckbox) {
	if (thisCheckbox.checked) {
		document.psearch.elements['s_category[5]'].checked = false;
		document.psearch.elements['s_category[9]'].checked = false;
		document.all('slabel').innerText='Sq.Ft.';
	}			
}

// WLTN custom flash code

// sned mouseover action to flash site plan
function space_hover(spaceid,tr) {
	window.document.ISOL_Flash.SetVariable('/ext_hover.hover_id', spaceid); 
	window.document.ISOL_Flash.TCallFrame( '/ext_hover', 1);
	prev_color=tr.bgColor;
	tr.bgColor='#aaddaa';
}
// sned mouseout action to flash site plan
function space_dehover(spaceid,tr) {
	window.document.ISOL_Flash.SetVariable('/ext_dehover.hover_id', spaceid); 
	window.document.ISOL_Flash.TCallFrame( '/ext_dehover', 1);
	tr.bgColor=prev_color;
}