// BlueSoap (c) 2011
// Settings
var enable_gmaps = true;

window.addEvent('load',function() {
//	document.id(document.body).tween('opacity', '0', '1');

	if ( document.id("page_blogwood") != null || document.id("page_reviews") != null )
	{
		(function() { 
				  
			$clear(loader); 
			aCanvas.getElement(".loading_spinner").setStyle('display', 'none');	
				
			var aWrapper = aCanvas.getElement(".wrapper");
			
			aWrapper.setStyles({position: "absolute", top: -(400)});
			
			var myEffect = new Fx.Morph(aWrapper, {
				duration: 'short',
				transition: Fx.Transitions.Back.easeInOut
			});
			
			aWrapper.setStyles({'display': 'block', 'opacity': 1});
			
			myEffect.start({
				"top": 0,
				"position": "relative"
			}).chain(function() {
				archives.month[0].getElement("a").fireEvent("click");
			});
			
			
						
		}).delay(360);
//	
	}

	gallery = $$('.gallery');
	
	gallery.each(function(canvas, i) {
						  
		list = canvas.getElements("li");

		flow = function() {
						 
			$clear(loader);
			canvas.getElement(".loading_spinner").setStyle('display', 'none');
			
			var imgFocus = canvas.getElement("ul").set('tween', {duration: 500});
			canvas.getElement("ul").setStyles({'display': 'block', 'opacity': 0});
			imgFocus.tween('opacity', 1);
		
			list.each(function(li, i) {
							   
				var img = li.getElement("img");
				
				var iw = img.getSize().x, ih = img.getSize().y;
				var w = canvas.getDimensions().x, h = canvas.getDimensions().y;
				
//				var ranVal = Math.random(0.1, 0.9);
//				var xxx = Math.floor(ranVal * (w));
//				var yyy = Math.floor(ranVal * (h));
	
				var xxx = Math.floor(Math.random() * (w));
				var yyy = Math.floor(Math.random() * (h));

/*				var minVal = [0.1*w, 0.1*h];
				var maxVal = [0.9*w, 0.9*h];
				var ranVal = Math.random(minVal, maxVal);
				var xxx = Math.floor(ranVal*ih);
				var yyy = Math.floor(ranVal*iw);*/
				
				var ml = Math.floor(iw/2);
				var mt = Math.floor(ih/2);

				if ( xxx <= ml ) xxxA = ( i%2 ) ? ml + 50 : ml;
				else if ( xxx >= ( w - ml ) ) xxxA = w - ml;
				else xxxA = xxx;
				
				if ( yyy <= mt ) yyyA = ( i%2 ) ? mt + 50 : mt;
				else if ( yyy >= ( h - mt ) ) yyyA = h - mt;
				else yyyA = yyy;

				
				var myEffect = new Fx.Morph(li, {
					duration: 'short',
					transition: ((i%2) ? Fx.Transitions.Sine.easeOut : Fx.Transitions.Circ.easeOut)
				});
				
				if ( i == 0 )
				{
					xxxA = ml;
					yyyA = mt;
//					alert("Left: " + xxx + " " + xxxA + "Left: " + yyy + " " + yyyA);
				}
				else if ( i == Math.floor(list.length/2) )
				{
					xxxA = w - ml;
					yyyA = mt;
//					alert("Left: " + xxx + " " + xxxA + "Left: " + yyy + " " + yyyA);
				}
				else if ( i == Math.floor(list.length/2) + 1 )
				{
					xxxA = w - ml;
					yyyA = h - mt;
//					alert("Left: " + xxx + " " + xxxA + "Left: " + yyy + " " + yyyA);
				}
				else if ( i == list.length - 1 )
				{
					xxxA = ml;
					yyyA = h - mt;
//					alert("Left: " + xxx + " " + xxxA + "Left: " + yyy + " " + yyyA);
				}	
				else
				{
//					xxxA = ( i%2 ) ? xxxA + mt : xxxA;
				}

				myEffect.start({
					"left": xxxA,
					"top": yyyA,
					"margin-top": -mt,
					"margin-left": -ml,
					"z-index": Math.ceil(Math.random() * 2)
				});
				
	//			alert("Left: " + xxx + " " + xxxA + "Left: " + yyy + " " + yyyA);
				
	//			li.setStyles({"top": yyyA, "left": xxxA, "margin-top": -mt, "margin-left" : -ml});
	
				
			});
		
		};
		
		if ( document.id("page_gallery") != null && !document.id("page_gallery").hasClass("notParent") )
		{
			flow.delay(2000);
		}
		else
		{
			$clear(loader);
			canvas.getElement(".loading_spinner").setStyle('display', 'none');
			
			var imgFocus = canvas.getElement("ul").set('tween', {duration: 500});
			canvas.getElement("ul").setStyles({'display': 'block', 'opacity': 0});
			imgFocus.tween('opacity', 1);
			
//			list.addClass("rotate");
			
			list.each(function(li, i) {
							   
				var myEffect = new Fx.Morph(li, {
					duration: 'short',
					transition: ((i%2) ? Fx.Transitions.Sine.easeOut : Fx.Transitions.Circ.easeOut)
				});
				
//				if ( i%2 ) li.addClass("");
				
				myEffect.start({
					"top": "0", 
					"left": "0", 
					"margin-top": "0"
				}); 
				
//				if ( i%2 ) myEffect.start('.anti');
				
//				li.setStyles({"top": "auto", "left": "auto", "margin-top": "auto", "margin-left" : "auto"});
			});
		}

		
//		Math.seedRandom(seed,true);
						  
//		holdTime = .5; //time to hold each position (seconds)
		

//		seed = Math.floor(time/holdTime);
//		seedRandom(seed,true);
		

		
	});
	
});

window.addEvent('domready',function() {
									
	var cleanUpEl = $$(".post-body img");
	
	cleanUpEl.each(function(el) {
		if ( el.getStyle("float") == "left" ) el.addClass("left");
		if ( el.getStyle("float") == "right" ) el.addClass("right");
	});
		
	// To avoid @mail snopping, let do a quick change from [at] > @
//	document.id(document.body).set('html', document.id(document.body).get('html').replace(/\[at\]/gi, "@"));
//	!window.Cufon || Cufon.refresh();

	/* Fall backs for HTML 5 attr such as placeholder & required */
	function supportsPlaceholder() {
		var i = document.createElement('input');
		return 'placeholder' in i;
	}
	
	var textFields = $$('textarea');
	var inputFields = $$('input').combine(textFields);
	
	inputFields.each(function(el) {
		if (!supportsPlaceholder()) {
			  var placeholderText = el.get('placeholder');
			  if (placeholderText) {
				  var textOverlay = new OverText(el, {
					textOverride: placeholderText
				  });
			  }
		}
	});
	
	gallery = $$('.gallery');
	
	gallery.each(function(canvas, i) {
						  
		var loading_spinner = new Element("div", { 'class': "loading_spinner" }).inject(canvas);
		
		//settings
		var duration = 50, count3 = 0, div=12, div2=24, pagi=6,index=0,m=0,prevKey=0,nextKey=0;
	
		loading = function() {
			loader = (function() {
				++count3;
				loading_spinner.setStyle('background-position', -(count3*div2) + 'px top');
			}).periodical(duration);
		};	
		
		loading();
		loading_spinner.setStyle('display', 'block');	
		
	});
	
	galBox = document.id("gdLeftBar") || null;
	
	if ( galBox != null ) 
	{
		
		if ( galBox.getStyle("opacity").toInt() == 1 ) {
			
			
			
		}
		
	}

	archives = {
		all: $$(".post-archives"), 
		year: $$(".post-archives.archive-year"),
		month: $$(".post-archives.archive-month"),
		links: $$(".post-archives.archive-permalink"),
	}
	
	if ( document.id("page_blogwood") != null || document.id("page_reviews") != null )
	{
		aCanvas = archives.all[0].getParent().getParent().getParent();
		
		var loading_spinner = new Element("div", { 'class': "loading_spinner" }).inject(aCanvas);
		
		//settings
		var duration = 50, count3 = 0, div=12, div2=24, pagi=6,index=0,m=0,prevKey=0,nextKey=0;
	
		loading = function() {
			loader = (function() {
				++count3;
				loading_spinner.setStyle('background-position', -(count3*div2) + 'px top');
			}).periodical(duration);
		};	
		
		loading();
		loading_spinner.setStyle('display', 'block');	
		
		collapsedHeight = archives.year[0].getElement("a").getSize().y;	
	
		archives.month.each(function(month, li) {
			
			var fx, animate, button = month.getElement("a"), arrow = month.getElement("a .arrow"), expandedHeight = month.getSize().y;
			
			fx = {
				month: new Fx.Morph(archives.month[li], { duration: 'short', transition: Fx.Transitions.Sine.easeOut }),
				button: new Fx.Morph(button, { duration: 'short', transition: Fx.Transitions.Sine.easeOut }),
				arrow: new Fx.Morph(arrow, { duration: 'short', transition: Fx.Transitions.Sine.easeOut })
			} 
						
			animate = function(e) {
				fx.month.start({height: expandedHeight});
				fx.arrow.start('.turnArrow');				
			}
			
			button.addEvent("click", animate);
			
//			if ( li == 0 ) button.fireEvent("click");
			
		});
		
		archives.month.setStyle("height", collapsedHeight);
//		archives.month[0].fireEvent("click");
//		archives.month[0].setStyle("height", "auto");
		
	}
  
});

if ( ( document.id("latitude") && document.id("longitude") ) && enable_gmaps ) {
	
	// Google Maps || MMap

//	google.maps || document.write('<script src="http://maps.google.com/maps/api/js?v=3&amp;sensor=false">\x3C/script>');
//	document.write('<script src="/scripts/mmap.main.js">\x3C/script>');
//	document.write('<script src="/scripts/mmap.marker.js">\x3C/script>');

	(function($){
	
		window.addEvent('domready', function(){
											 
			var stylez = [
			  {
				featureType: "all",
     			elementType: "geometry",
				stylers: [
					{ saturation: -100 },
					{ gamma: 0.16 },
					{ lightness: -50 }
				]
			  },{
				featureType: "all",
				elementType: "labels",
				stylers: [
					{ hue: "#ffcc00" }
				]
			  },
			  { 
			  	featureType: "road.local", 
				elementType: "labels", 
				stylers: [ 
					{ hue: "#ffee00" }, 
					{ visibility: "off" } 
				] 
			  },
			  { 
			  	featureType: "poi", 
				elementType: "labels", 
				stylers: [ 
					{ visibility: "off" } 
				] 
			  }
			];
											 
			var  LatLng = {
				lat : document.id("latitude") ? document.id("latitude").get("text") : 0,
				lng : document.id("longitude") ? document.id("longitude").get("text") : 0
			}
			
			var map;
			var LatLng = new google.maps.LatLng(LatLng.lat, LatLng.lng);
				
			var map = new google.maps.Map($('gmap'), {
				zoom: 15,
				center: LatLng,
				mapTypeControlOptions: {
					mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'Bloodwood']
				},
				scaleControl: true
			});
			
			var styledMapOptions = {
				name: "Bloodwood"
			}
			
			var jayzMapType = new google.maps.StyledMapType(
			stylez, styledMapOptions);
			
			map.mapTypes.set('Bloodwood', jayzMapType);
			map.setMapTypeId('Bloodwood');
			 
			var marker1 = new MMap.Marker.Image({
				map: map,
				title: 'HomeMove',
				image: '/images/icons/marker.png',
				position: LatLng
			});
		
			(function() {map.setZoom(16);}).delay(500);
			
		});
	
	}(document.id));
	
}
