
	function searchListingsSubmit()
	{
		document.getElementById('searchListingsForm').submit();
	}

	function contactusSubmit()
	{
		if($('contactName').value == '' || $('contactEmail').value == '' || isCheckboxEmpty())
		{
			if($('warningMessage').innerHTML == '')
			{
				$('warningMessage').style.display = 'block';
				$('warningMessage').innerHTML = "Your form has empty fields.";
				messagesOpacity.toggle();
			}
		}
		else
		{
			$('contactusForm').submit();
		}
	}

	function isCheckboxEmpty()
	{
		var isEmpty = true;
		var inputs = document.getElementsByTagName('input');
		for(var i =0, size = inputs.length; i < size; i++)
			if(inputs[i].type == 'radio' && inputs[i].checked)
				isEmpty = false;
	
		return isEmpty;
	}

	function contactusReset()
	{
		var inputs = document.getElementsByTagName('input');
		for(var i =0, size = inputs.length; i < size; i++)
			if(inputs[i].type == 'text')
				inputs[i].value = '';
			else if(inputs[i].type == 'radio')
				inputs[i].checked = false;

	}

	var messagesOpacity;


	function openPhoto(el, imgName)
	{
		var newPhoto = new Array();
		newPhoto = el.src.split('/');
		newPhoto = newPhoto[newPhoto.length-1];

		$('listingMainImage').src = SysUrl + 'content/images/listings/' + newPhoto;
		$('mainImageLink').href = SysUrl + 'content/images/listings/full/' + newPhoto;
	}

	function morePhotos(el)
	{
		$('moreThumbs').style.display = 'block';
		el.style.display = 'none';
	}

	function viewMoreFeatures(mls)
	{
		if($('moreFeaturesList').innerHMTL != '' && $('moreFeaturesLink').innerHTML == '(hide more features)')
		{
	//		alert('a');
			$('moreFeaturesList').innerHTML = '';
			$('moreFeaturesLink').innerHTML = '(view more features)';
			return;
		}
	
		var url = SysUrl + 'ajax/ajax.php';
		var pars = 'ajaxAction=viewMoreFeatures&mls=' + mls;
	
		var myAjax = new Ajax.Request( 
									  url, 
									  { method: 'get', 
									  parameters: pars, 
									  onComplete: showMoreFeatures
									  });
	}

	function showMoreFeatures(originalRequest)
	{
		$('moreFeaturesList').innerHTML = originalRequest.responseText;

		if($('moreFeaturesList').innerHMTL != '')
			$('moreFeaturesLink').innerHTML = '(hide more features)';
	
	}

	function init()
	{
		if($('warningMessage'))
		{
			messagesOpacity = new fx.Opacity($('warningMessage') , {duration: 700});
			messagesOpacity.hide();
		}
	}
	
	function formatThousands(el)
	{
		var value = el.value;
		value = value.replace(/,/g,'');
		if(parseFloat(value))
			el.value = format_money(value);
	}
	
	function format_money(amount)
	{
		return formatNumber(amount,0,',','','','','','');
	}

	/* Taken from here http://javascript.about.com/library/blnumfmt.htm */
	function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) {
		var x = Math.round(num * Math.pow(10,dec));
		if (x >= 0) 
			n1=n2='';
		
		var y = (''+Math.abs(x)).split('');
		var z = y.length - dec; 
		if (z<0) z--; for(var i = z; i < 0; i++)
		 	y.unshift('0'); 

		if (z<0) 
			z = 1; 
		
		y.splice(z, 0, pnt); 
		
		if(y[0] == pnt) 
			y.unshift('0'); 
		
		while (z > 3) 
		{
			z-=3;
			y.splice(z,0,thou);
		}
		
		var r = curr1+n1+y.join('')+n2+curr2;
		
		return r;
	}
	
	var Slideshow = Class.create();

	Slideshow.prototype = {
		initialize: function() {
			this.currentSlide        = 0;
			this.transitionsDuration = 1;
			this.timeInSlide         = 4; 

			this.isInTransition      = false;
			var self = this;
		},

		/*
		 * The ID of the slide images must follow the format classOfSlideImages-{number of slide} (starting with zero)
		 */
		start: function(classOfSlideImages, classOfNavItems) {
			var self = this;
			this.classOfSlideImages = classOfSlideImages;
			this.classOfNavItems    = classOfNavItems;

			document.observe("dom:loaded", function() {
				self.maxSlides = $$('.'+self.classOfSlideImages).size()-1;
			});

			window.onload = function()
			{
				if($(classOfSlideImages+'-1'))
					self.periodicalExecuter  = new PeriodicalExecuter(self.next.bindAsEventListener(self),self.timeInSlide);
			}
		},
		
		next: function(el) {
			if(this.isInTransition) return;
			if(typeof(el.tagName) != 'undefined' && typeof(this.periodicalExecuter) != 'undefined') this.periodicalExecuter.stop();

			var nextSlideNumber = this.currentSlide+1;
			if(nextSlideNumber>this.maxSlides) nextSlideNumber=0;
			this.goTo(this.currentSlide, nextSlideNumber);
			this.currentSlide = nextSlideNumber;
		},
		
		previous: function(el) {
			if(this.isInTransition) return;
			if(typeof(el.tagName) != 'undefined' && typeof(this.periodicalExecuter) != 'undefined') this.periodicalExecuter.stop();

			var prevSlideNumber = this.currentSlide-1;
			if(prevSlideNumber==0) prevSlideNumber=this.maxSlides;
			this.goTo(this.currentSlide, prevSlideNumber);
			this.currentSlide = prevSlideNumber;
		},
		
		goTo: function(oldOne, newOne) {
			this.isInTransition = true;
			var self = this;

			if($(this.classOfNavItems))
			{
				$(this.classOfNavItems+'-'+oldOne).removeClassName('active');
				$(this.classOfNavItems+'-'+newOne).addClassName('active');
			}

			new Effect.Fade(this.classOfSlideImages+'-'+oldOne,{duration:this.transitionsDuration,fps:30,afterFinish:function(){self.isInTransition=false;}});
			new Effect.Appear(this.classOfSlideImages+'-'+newOne,{duration:this.transitionsDuration,fps:30});
		},
		
		goToNumber: function(number) {
			var el = $(this.classOfSlideImages+'-'+number);

			if(el.visible())
				return;
			else
			{
				var oldOne = $$('#'+this.classOfNavItems+' a.active')[0];

				if(oldOne)
				{
					var oldOneStr = oldOne.id.split(this.classOfNavItems+'-')[1];
					this.currentSlide = number;
					this.goTo(oldOneStr,number);
				}
			}
		}
	};

	var slideshow = new Slideshow();
	

