//Defaults
var view = 'list';
var site;
window.addEvent('domready', function(){ site.domready(); });

site = {
	domready: function(){
		site.browser();
		site.footer();
		menu.init();

		if(window.location.hash){
	  		site.go(window.location.hash.replace(/#/,''));
		}//else

		var page = window.location.pathname.replace('/','');
		site.go(page);
		
		
		
		
  	},

  	browser: function(){ //Browser Fixer
		if($chk(Browser.Engine.trident)){
			new Asset.css('/css/site.ie9.css');
			//alert('IE IE IE');
   		}
  	},

	footer: function(){
		var interval = 8000;//Timer for bottom scroll
		//Subscribe Buttons
		
		$('subscribe_submit').addEvent('click', function(event){
			site.subscribe('');
		});
		$('subscribe_email').addEvent('click', function(event){
			$('subscribe_email').value = '';
		});		
		
		
		
		$$('.featured').setStyle('opacity', 0);//Set All Frames Opaque
		$$('.featured')[0].setStyle('opacity', 1);//Set first one visible
		
		var count = { counter: 0 };
		var total = Number($$('.featured').length - 1);
	
		var coight = function(){
			var i = count.counter;
			//fade out
			$$('.featured')[i].tween('opacity', 0);
			if(i == total)
				i = 0;
			else
				i ++;
			//fade in
			$$('.featured')[i].tween('opacity', 1);	
			count.counter = i;

		}
		coight.periodical(interval, count);
			
	},
	go: function(uri){
		
    	//if($chk(uri)){
	  		uri = uri.replace("/", ":");
			var a = uri.split(":");
	  		switch(a[0]){
				case "bulletin" : site.bulletin(); break;
				case "contact" 	: site.contact(); break;
				case "browse" 	: browse.init(); break;
				case "home"   	: site.home2(); break;
				case "" 	 	: site.home2(); break;	
	  		}
		//}else{
		//	site.home();
		//}
		
	},
	
	//Set up home page.
	home2: function(){
		var homesearch = new QuickForm('homeSearch');
		$('homeSearchButton').addEvent('click', function(event){
			var tmp = $$('#homeSearch .selected');
			window.location = '/browse/sale/'+tmp[0].innerHTML.capitalize().replace(/ /g,'').hyphenate()
		});		
		var homesearch = new QuickForm('rentSearch');
		$('rentSearchButton').addEvent('click', function(event){
			var tmp = $$('#rentSearch .selected');
			window.location = '/browse/rent/'+tmp[0].innerHTML.capitalize().replace(/ /g,'').hyphenate()
		});			
		
		
		$$('#mojo div').setStyle('opacity', 0);//Set All Frames Opaque
		$$('#mojo div')[0].setStyle('opacity', 1);//Set first one visible
		
		var count = { counter: 0 };
		var total = Number($$('#mojo div').length - 1);
	
		var mojo = function(){
			var i = count.counter;
			//fade out
			$$('#mojo div')[i].tween('opacity', 0);
			if(i == total)
				i = 0;
			else
				i ++;
			//fade in
			$$('#mojo div')[i].tween('opacity', 1);	
			count.counter = i;

		}
		mojo.periodical(9000, count);
		
	},	
	
	subscribe: function(){
		var error = false;
		
		if(!error){
			new Request({
				url: '/data/',
				onSuccess: function(){
					$('subscribe_box').set('html', '<p>Thankyou</p>');
				}
			}).post({
				'action' : 'subscribe',
				'email'  : $('subscribe_email').value,
			});
	
		}//End Error If
	},
	
	//Contact Form!!
	contact: function(){
		var contacter = new QuickForm('contact_form');
		$('contact_submit').addEvent('click', function(event){
			var error = false;

			
			if(!error){
				new Request({
					url: '/data/',
					onSuccess: function(){
						$('contact_form').set('html', '<p>Thankyou</p>');
					}
				}).post({
					'action'  : 'contact',
					'email'   : $('email').value,
					'name'    : $('name').value,
					'phone'   : $('phone').value,
					'subject' : $('subject').value,
					'message' : $('message').value
				});
		
			}//End Error If
		});
	},

	//Bulletin Form!!
	bulletin: function(){
		var contacter = new QuickForm('bulletin_form');
		$('bulletin_submit').addEvent('click', function(event){
			var error = false;
			
			if(!error){
				new Request({
					url: '/data/',
					onSuccess: function(){
						$('bulletin_form').set('html', '<p>Thankyou</p>');
					}
				}).post({
					'action'  : 'bulletin',
					'email'   : $('email').value,
					'name'    : $('name').value,
					'phone'   : $('phone').value
				});
		
			}//End Error If
		});
	}
	
}



menu = {
	init: function(){
		$$('#menu a').each(function (o, i){
			if($(o.name)){			
				o.addEvent('mouseover', function() {
					$$('#submenu ul').setStyle('display', 'none');
					$(o.name).setStyle('display', 'block');
				});
			}else{
				o.addEvent('mouseover', function() {
					$$('#submenu ul').setStyle('display', 'none');
				});			
			}
		});
	}
}


//var refiner;


var browse = {
	init: function(){
		browse.tabs();
		browse.display();
		var MyForm = new QuickForm('refineform');
	
	
		MyForm.formContainerId[0].addEvent('change', function(event){
			//console.log('111');
		});
		
		$('refine').addEvent('click', function(event){
			browse.refiner();
		});
		
	},
	
	tabs: function(){
		$$('#tabs a').each(function (o, i){
			o.addEvent('click', function() { 
				switch(o.innerText){
					case "LIST" : view = 'list'; browse.display(); break;
					case "GRID" : view = 'grid'; browse.display(); break;
					case "MAP"  : browse.gmap(); view = 'list'; break;
				}
			});
		});
	},
	
	refiner: function(){
			var tmp = $$('#refineform .selected');
			var refiner = {
				'suburb' : tmp[0].innerHTML,
				'beds'   : tmp[1].innerHTML.replace('+',''),
				'baths'	 : tmp[2].innerHTML.replace('+',''),
				'cars'   : tmp[3].innerHTML.replace('+',''),
				'total'  : 0
			}
			
			
   			refiner.total = 0;
			server.results.each(function (o, i){
				var display = 0;
			
				if(refiner.suburb ==  "All Suburbs" || refiner.suburb == o.suburb){
					if(Number(o.beds)  >= Number(refiner.beds)){
						if(Number(o.baths) >= Number(refiner.baths)){
							if(Number(o.cars)  >= Number(refiner.cars)){
								display = 1;
							}
						}
					}
				}
						
				if(display == true){
					refiner.total ++;
					server.results[i].display = 1;
				}else{
					server.results[i].display = 0;
				}
				
			});
			browse.display();
	},
	
	clear: function(){
		$('browse').innerHTML = '';
		$('gmap').setStyle('height', '0');	
	},
	
	display: function(){
		browse.clear();
		server.results.each(function (o, i){
			o.uri = '/property/'+o.id+'/'+o.heading.capitalize().replace(/ /g,'').hyphenate();
			if(o.display){
				if(view == "list") var el = new Element('div', {'id': 'prop:'+o.id, 'html': template.list(o)});
				if(view == "grid") var el = new Element('div', {'id': 'prop:'+o.id, 'html': template.grid(o)});
				el.addEvent('click', function(){ window.location = o.uri; });
				el.inject('browse');
				el.setStyle('opacity', 0);
				el.tween('opacity', 1);
			}
		});
	},
	
	list: function(){
		browse.clear();
		
		var count = { counter: 0};
		var total;
		server.results.each(function (o, i){
			if(o.display){
				//total++; console.log('xxxxxxxxxxxxx');
			}
		});

		
		var total = Number(server.results.length - 1);
	
		var bshow = function(){

			var o = server.results[i];

				var i = count.counter;
				
			o.uri = '/property/'+o.id+'/'+o.heading.capitalize().replace(/ /g,'').hyphenate();

			var el = new Element('div', {'id': 'prop:'+o.id, 'html': template.list(o)});
			el.addEvent('click', function(){ window.location = o.uri; });
			
			el.inject('browse');
			el.setStyle('opacity', 0);
			el.tween('opacity', 1);
			i ++;
			count.counter = i;
			if(i == total)
				clearInterval(period);	
				
			//}
		}
		period = bshow.periodical(50, count);		

	},
	
	grid: function(){
		browse.clear();
		
		
		var count = { counter: 0 };
		var total = refiner.total; //Number(server.results.length - 1);
	
		var bshow = function(){
			var i = count.counter;
			
			//create div
			var o = server.results[i];

			
			var el = new Element('div', {'id': 'prop:'+o.id, 'html': template.grid(o)});
			el.addEvent('click', function(){ window.location = o.uri; });
			el.inject('browse');
			el.setStyle('opacity', 0);
			el.tween('opacity', 1);
			i ++;
			count.counter = i;
			if(i == total)
				clearInterval(period);	
		}
		period = bshow.periodical(50, count);
				
	},
	gmap: function(){
		browse.clear();
		$('gmap').setStyle('height', '440px');

		var map = new google.maps.Map($('gmap'), {
			zoom: 14,
			center: new google.maps.LatLng(-37.968372, 145.055298),
			mapTypeId: google.maps.MapTypeId.ROADMAP
		});
    
	
		//Aitken Real Estate Home Logo
		var marker = new MMap.Marker.Images({
			map: map,
			//className: 'marker images ',
			position: new google.maps.LatLng(-37.968372, 145.055298),
			images: [{
				title: 'Aitken Real Estate',
				image: '/images/thumbnails/logo.gif'
			}]
		});


    

    
		//console.log('http://aitken.guitargod.info/images/p/'+tmpimg.getRandom()+'.jpg');
		server.results.each(function (o, i){
			var marker = new MMap.Marker.Image({
				map: map,
				position: new google.maps.LatLng(o.lat, o.lng),
				title: 'ADDRESS OF PLACE HERE', //el.heading,
				image: '/thumb/?src=/images/property/'+o.id+'/'+o.image+'&width=50&height=50',
				//image: '/images/p/'+tmpimg.getRandom()+'.jpg',
				onClick: function(event){
					o.uri = '/property/'+o.id+'/'+o.heading.capitalize().replace(/ /g,'').hyphenate();
					window.location = o.uri;
					
					//window.location = '/browse/'+tmp[0].innerHTML.capitalize().replace(/ /g,'').hyphenate()
					/*
					var contentWindow = new MMap.Window({
						className: 'window windowDefault',
						title: el.heading,
						content: el.heading
					});
					event.preventDefault();
					contentWindow.open(map, this);
					*/
				}
				//image: 'http://holyshared.github.com/MMap/images/demo/img01.jpg'
			});	  
		});			
		
		
		
					
	},
	
	pmap: function(){
		//console.log('coighter');
	}
}



template = {
	list: function(o){
		var out = '<div class="list">'
			    + ' <div class="image" style="background:url(/thumb/?src=/images/property/'+o.id+'/'+o.image+'&width=145&height=145) 50%;"></div>'
				//+ ' <img src ="/images/p/'+tmpimg.getRandom()+'.jpg" class="thumb">'
				+ ' <div class="text">'
				+ '  <div class="icon">'
	 			+ '    <p>'+o.beds+'</p><img src="/tablet/images/icons/bed.gif">'
				+ '    <p>'+o.baths+'</p><img src="/tablet/images/icons/bath.gif">'
	 			+ '    <p>'+o.cars+'</p><img src="/tablet/images/icons/car.gif">'
	 			+ '  </div>'
				+ '  <h3>'+o.heading+'</h3>';
			if(o.status == '2'){
				var monthly = o.price.replace(/,/i, "")
				var weekly = Math.round(Number(Number(monthly) * Number(12) / 52));
				out = out + '<span class="price">$'+o.price+' p.c.m / $'+weekly+' per week </span>';
			}else{
				out = out + '  <span class="price">$'+o.price+'</span>'	;
			}
			
			out = out			
				+ '  <h4>'+o.street+' '+o.suburb+'</h4>'
				+ '  <blockquote>'+o.description+'</blockquote>'
			//	+ '  <a href="'+uri+'" class="more">...Read More:'+o.id+'</a>'
				+ ' </div>'
				+ '</div>';
		return out;
	},
	grid: function(o){
		var out = '<div class="grid">'
		       // + ' <div class="inner" style="background:url(/images/01.jpg) 50%;">'
				+ ' <div class="inner" style="background:url(/thumb/?src=/images/property/'+o.id+'/'+o.image+'&width=215&height=215);">'
				+ '  <div class="top"><h3>'+o.heading+'</h3></div>'
				+ '  <div class="middle">&nbsp;</div>'
				+ '  <div class="bottom">&nbsp;</div>'
				+ '  <div class="text">'
				+ '    <div class="icon">'
	 			+ '     <p>'+o.beds+'</p><img src="/tablet/images/icons/bed.gif">'
				+ '     <p>'+o.baths+'</p><img src="/tablet/images/icons/bath.gif">'
	 			+ '     <p>'+o.cars+'</p><img src="/tablet/images/icons/car.gif">'
	 			+ '    </div>'				
				+ '    <span class="price">$'+o.price+'</span>'
				+ '   </div>'
				+ ' </div>'
				+ '</div>';
		return out;
	}	
}
