//global
var siteMode = 'dev';

if((typeof console == "undefined")/* || (siteMode == 'live') */){
	window.console = {};
	if(window.location.href.indexOf('.dev.')){
		console.log = function(content){
			// debug(content);
		}
	}
	else{
		console.log = function(content){
			return content;
		};
	}
}

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent && window.location.href.indexOf('utility.locator') == -1) {
	document.writeln('<style type="text/css">img { visibility:hidden; } </style>');
	window.attachEvent("onload", mooPnger);
}

function mooPnger() {
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var itsAllGood = (rslt != null && Number(rslt[1]) < 7);
	var img = $(document.body).getElements('img');
	img.each(convertPng.bind(this));
	function convertPng(el){

		if (itsAllGood && el.src.contains('.png')) {
			var src = el.src;
			var pngContainer = new Element('div',{
				//'class':'pngContainer',
				'styles':{
					'float':'right',
					'filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')",
					'height':el.getSize().y,
					'width':el.getSize().x
				}
			});
			pngContainer.replaces(el);
			el.setStyle('visibility','visible');
		}else{
			el.setStyle('visibility','visible');
		}
	}
}

function toutFadeIn(){
	var touts = $(document.body).getElements('.tout');
	touts.each(animateTout.bind(this));
}
window.addEvent('domready',toutFadeIn)

function animateTout(el){
	el.setStyles({
		'opacity':0,
		'visibility':'visible'
	})
	el.fade('in');
}
/* *** flash *** */
function addTips(){
	if(!$type($('dailyTip'))){return;}
	var tip = new Swiff('./resources/swf/dailyTips.swf', {
	    id: 'dailyTips',
	    width: 184,
	    height: 200,
	    params: {
	        wmode: 'opaque'
	    }
	});
	$('dailyTip').empty();
	$('dailyTip').adopt(tip);

}Onload.add(addTips);

function addTestimonials(){
	if(!$type($('testimonials'))){return;}
	var tip = new Swiff('./resources/swf/testimonials.swf', {
	    id: 'testimonials',
	    width: 184,
	    height: 300,
	    params: {
	        wmode: 'opaque'
	    }
	});
	$('testimonials').empty();
	$('testimonials').adopt(tip);

}Onload.add(addTestimonials);

function addTried(){
	if(!$type($('haveYouTried'))){return;}
	var tip = new Swiff('./resources/swf/haveTried.swf', {
	    id: 'dailyTips',
	    width: 184,
	    height: 300,
	    params: {
	        wmode: 'opaque'
	    }
	});
	$('haveYouTried').empty();
	$('haveYouTried').adopt(tip);

}Onload.add(addTried);


function homeFlash(){
	if(!$type($('home'))){return;}
	var flash = new Swiff('./resources/swf/homeMarquee.swf',{
		id:'homeMarquee',
		/*width: 1011,
		height: 430,*/
		width: 644,
		height: 415,
		vars: {
		},
		params:{
			wmode: 'transparent',
			scale: 'noscale'
		}
	});
	$('homeMarqueeReplace').empty();
	$('homeMarqueeReplace').adopt(flash);
}Onload.add(homeFlash);
homeFlash.delay(200);

function closeIngOverlayFromTab(x){
	x.dispose();
}
function closeIngOverlay(x){
	if($type(x)&& $type(x.target)) {
		var fx = new Fx.Morph(x.target, {transition: Fx.Transitions.Expo.easeIn,duration:200,
			onComplete:function(){
				x.target.dispose();
			}
		});
		fx.start({'opacity':0,'top':x.target.getCoordinates().top + 100})
	}
}

function initIngredients(){
	if(!$type($('ingredients'))){return;}
	var back	= $('back');
	var forward	= $('forward');
	disableFB();
	enable('forward');
	var imgTitleArray = []
	var contentScroll = $('contentScroll')
	var imgPath = "resources/images/ingredients/";
	ingredientList.list.each(function(el){
		var breaker = new Element('div',{'class':'ingBreak'});
		imgTitleArray.push(imgPath+el.titleImg);
		var thumb = new Asset.image(imgPath+el.thumb,{'class':'ing'});
		var titleImage = new Asset.image(imgPath+el.titleImg);
		thumb.store('titleImage',imgPath+el.titleImg)
		thumb.store('copy',el.copy)
		thumb.inject(contentScroll, 'bottom')
		breaker.inject(thumb, 'after')
	})
	var preloadTitles = new Asset.images(imgPath+imgTitleArray);



	var ing =  contentScroll.getElements('.ing');

	ing.each(function(el){
		el.addEvent('mouseenter', showIngOverlay);
		//el.store('demo','this would be text from JSON');
	})
	hWidth = ing.length*202;
	contentScroll.setStyle('width',hWidth)
	//console.log(hWidth)
	if(ing.length > 3){
		forward.fade('in');
		forward.addEvents({
			'mouseenter':control.bind(this),
			'mouseleave':control.bindWithEvent(this, true),
			'click':ingredientScroll

		})
		forward.store('direction','forward');
		forward.store('total',ing.length);
		back.addEvents({
			'mouseenter':control.bind(this),
			'mouseleave':control.bindWithEvent(this, true),
			'click':ingredientScroll
		})
		back.store('direction','backward');
		back.store('total',ing.length);
	}
}Onload.add(initIngredients);

function showIngOverlay(x){
	var coords = x.target.getCoordinates();
	var pos = x.target.getPosition(x.target.getParent());
	var scrolled = x.target.getParent().getParent().getScroll()

	var olTop = coords.top+10;
	var olToTop = coords.top - 140;
	var olLeft = coords.left - 60;

	if(Browser.Engine.trident && Browser.Engine.version < 7){
		olLeft = scrolled.x+olLeft;
	}

	if($type($('ingOverlay'))) {$('ingOverlay').dispose();}
	var titleImage = new Asset.image(x.target.retrieve('titleImage'))


	var copy = new Element('p',{'class':'olP','text':x.target.retrieve('copy')});
	var ingOverlay = new Element('div',{
		'id':'ingOverlay',
		'styles':{
			'opacity':0,
			'position':'absolute',
			'top':olTop,
			'left':olLeft,
			'z-index':200
		},
		'events':{
			'mousemove':function(e){
				var zeroLeft = e.client.x - $('frame').getCoordinates().left;
				var zeroTop = e.client.y+window.getScroll().y;
				if((zeroLeft < 288 && zeroTop > 665)||(zeroLeft > 920 && zeroTop > 665)){
					closeIngOverlay(e);
				}
				var configPosition = x.target.getPosition().x - x.target.getParent().getScroll().x
			}
		}

	})
	ingOverlay.adopt([titleImage, copy])

	ingOverlay.inject($(document.body),'bottom');
	var fx = new Fx.Morph(ingOverlay, {transition: Fx.Transitions.Expo.easeOut,duration:200,
		onComplete:function(){
			//ingOverlay.addEvent('mouseleave',closeIngOverlay)
		}
	});
	fx.start({'opacity':1,'top':olToTop})
}
function control(x, y){
	option = {};
	if(x.target == $('back')){
		option.direction = 'margin-left';
		option.set = 0;
	}else{
		option.direction = 'margin-right';
		option.set = 0;
	}
	if($type(y)){option.set = 2;}

	var fx = new Fx.Tween(x.target, {transition: Fx.Transitions.Expo.easeInOut,duration:80});
	fx.start(option.direction,option.set);
}



function ingredientScroll(x){
	var ingEl = $('contentScroll').getElements('.ing');
	closeIngOverlay();
	direction = x.target.retrieve('direction');
	if(Browser.Engine.trident){
		if(direction === 'forward'){
			if(scrollToPos + 3 < ingEl.length){
				scrollToPos = scrollToPos + 3;
			}else{
				scrollToPos = ingEl.length;
			}
		}else{
			if(scrollToPos - 3 >= 0){
				scrollToPos = scrollToPos - 3;
			}
		}
	}else{
		if(direction === 'forward'){
			if(scrollToPos + 3 < ingEl.length){
				scrollToPos = scrollToPos + 3;
			}else{
				scrollToPos = ingEl.length;
			}
		}else{
			if(scrollToPos - 1 >= 0){
				scrollToPos = scrollToPos - 3;
			}
		}
	}
	forwarBack(x);
	scrolly(x);
}
function disableFB(){
	$('forward').fade(.1);
	$('back').fade(.1);

}
function enable(m){
	$(m).fade('in');
}
function forwarBack(x){
	var ingEl = $('contentScroll').getElements('.ing');
	disableFB()
	if(scrollToPos + 3 < ingEl.length){
		enable('forward')
	}
	if(scrollToPos - 3 >= 0){
		enable('back')
	}

}
var scrollToPos = 0;

function scrolly(x){
	var ingEl = $('contentScroll').getElements('.ing');
	var container	  = $('ingredientContainerMask')
	var scrollFx = new Fx.Scroll(container, {transition: Fx.Transitions.Elastic.easeOut,duration:1100,
		onStart:function(){
			x.target.removeEvent('click',ingredientScroll)
		},
		onComplete:function(){
			x.target.addEvent('click',ingredientScroll)
		}
	});
	console.log(scrollToPos);
	console.log(ingEl[scrollToPos].getProperty('src'));
	scrollFx.toElement(ingEl[scrollToPos])


}
function initOverlay(){
	if(!$type($(document.body).getElement('.overlay'))){return;}
	var overlayButtons = $(document.body).getElements('.overlay');
	overlayButtons.each(function(x){
		x.addEvent('click', getOverlay.bind(this))
	});
}Onload.add(initOverlay);

function getOverlay(el){
	el.preventDefault();
	var href = el.target.href.split('utility')[1];
	href = 'overlay'+href;
	var request = new Request.HTML({url:'/?event='+href, method:'get', onComplete:showOverlay.bind(this)}).send();
}
function showOverlay(responseTree, responseElements, responseHTML, responseJavaScript){
	console.log(responseTree, responseElements, responseHTML, responseJavaScript);
	var c = new Element('div',{'id':'overlay'})
	//responseTree.inject(c);
	c.set('html', responseHTML)
	overlayCenterElement(c);
}
function initLoginOverlay(){
	if(!$type($(document.body).getElement('.loginoverlay'))){return;}
	var overlayButtons = $(document.body).getElements('.loginoverlay');
	overlayButtons.each(function(x){
		x.addEvent('click', getLoginOverlay.bind(this))
	});
}Onload.add(initLoginOverlay);

function getLoginOverlay(el){
	el.preventDefault();
	var href = el.target.href.split('utility')[1];
	href = 'overlay'+href;
	var request = new Request.HTML({url:'/?event='+href, method:'get', onComplete:showLoginOverlay.bind(this)}).send();
}
function showLoginOverlay(responseTree, responseElements, responseHTML, responseJavaScript){
	console.log(responseTree, responseElements, responseHTML, responseJavaScript);
	var c = new Element('div',{'id':'overlay-login'})
	//responseTree.inject(c);
	c.set('html', responseHTML)
	overlayCenterElement(c);
}
function overlayCenterElement(el){
	var windowSize = window.getScrollSize();
	var dimmer = new Element('div',{
		'id':'dimmer',
		'events':{'click':closeOverlay.bindWithEvent(this,[el])}
	})
	dimmer.setStyles({
		'height':windowSize.y,
		'width':windowSize.x,
		'opacity':0
	})
	dimmer.inject(document.body,'bottom');
	el.inject(document.body,'bottom');
	var elTop = ((window.getCoordinates().height * .5) - (el.getCoordinates().height * .5) + window.getScroll().y).toInt();
	var elLeft = (windowSize.x * .5) - (el.getCoordinates().width * .5).toInt();
	el.setStyles({
		'top':elTop,
		'left':elLeft,
		'opacity':0
	})

	dimmer.fade(.5);
	el.fade(1);

}
function closeOverlay(dimmer, overlay){
	dimmer.target.fade('out');
	overlay.fade('out');
	var destroy = function(){
		dimmer.target.destroy();
		overlay.destroy();
	}
	destroy.delay(700);
}




function initProdRollover(){
	if(!$type($('productsContainerTarget'))){return;}

	// try //
	//$('productsContainerTarget').load('/?event=request.products');

	if(Browser.Engine.trident && Browser.Engine.version < 7){
		var request = new Request.HTML({url:'/?event=request.productsIE', onComplete:loadIEProductRollover.bind(this)}).send();
	}else{
		var request = new Request.HTML({url:'/?event=request.products', onComplete:loadProductRollover.bind(this)}).send();
	}

}Onload.add(initProdRollover);


function loadIEProductRollover(responseTree, responseElements, responseHTML, responseJavaScript){
	$('productsContainerTarget').set('html',responseHTML);
	var trigger = $('productsContainerIE').getElements('.prodRoll');
	trigger.each(function(el, index){
		el.getNext().fade('out');
		el.addEvents({
			'mouseenter':prodIERollover.bindWithEvent(this),
			'mouseleave':prodIERollout.bindWithEvent(this)
		})
	})
}
function prodIERollout(x){
	x.target.getNext().fade('out')
}
function prodIERollover(x){
	x.target.getNext().fade('in')
}
function loadProductRollover(responseTree, responseElements, responseHTML, responseJavaScript){
	var tmp = $('productsContainerTarget');
	tmp.setStyle('opacity',1);
	$('productsContainerTarget').set('html',responseHTML);

	var controls = $('productsControl').getChildren();
	var target = $('productsViewContainer');
	//tmp.fade('in');
	controls.each(function(el, index){
		el.addEvents({
			'mouseenter':prodRollover.bindWithEvent(this,[index, target])
		})
	})
	$('productsContainer').addEvent('mouseleave', prodRollover.bindWithEvent(this,[4, target]))
	prodRollover(this,0,target);
}


function prodRollover(x, i, target){
	var display = target.getFirst().getChildren();

	var zero = display.length - 1;
	var fx = new Fx.Scroll(target, {duration: 180, transition: Fx.Transitions.Quad.easeIn, onComplete:function(){
		fy.toElement(display[i]);
	}});
	var fy = new Fx.Scroll(target, {duration: 180, transition: Fx.Transitions.Quad.easeOut, onComplete:function(){
		//console.log(i);

	}});
	fx.toElement(display[3]);
}

function messageOverlay(m){
	var html = m || 'Submitted... Please stand by';
	var overlay = new Element('div',{
		'id':'messageOverlay',
		'html':'<span>'+html+'</span>'
	})
	overlay.inject(document.body, 'bottom')
	overlayCenterElement(overlay);
	//overlay.addEvent('click',closePreview);
	overlay.addEvent('click',closeOverlay.bindWithEvent(this,[$('dimmer')]));
};




/* message handler */
function msgHandler(){
	if (window.msgControl.message === 'none') return;
	req = window.msgControl;


	function addNotice(str){
			var setClass = window.msgControl.message == 'notice' ? 'notice' : 'error';
			messageOb = new Element('span',{
				'class':setClass,
				'styles': {
			        'display': 'inline',
			        'margin-right':8
			    },
				'html':str
			});
			if(!$('genericNotice')) {
				var generic = new Element('div',{'id':'genericNotice'});
				var errorTarget = $('frame').getElement('.alpha')
				generic.inject(errorTarget, 'top');
			}
			messageOb.inject($('genericNotice'), 'bottom');
	}

	if(req.message == 'valid'){
		console.log('VALID-VALID-VALID-VALID');
		if($('e_'+req.collection.id)) {
			$('e_'+req.collection.id).dispose();
		}
	}
	if(req.message == 'notice'){
		console.log('NOTICE-NOTICE-NOTICE-NOTICE');
		// notice ONLY has one message in collection//
		// we're going to use an overlay for notice messages this time//
		/* addNotice(req.collection.msg);*/
		// init overlay
		messageOverlay(req.collection.msg)

		/*for(var i=0; i<req.collection.length; i++) {
			console.log(req.collection[i].msg)
			addNotice(req.collection[i].msg);
		}*/
	}else if(req.message == 'error'){
		console.log('ERROR-ERROR-ERROR-ERROR');
		if(typeof req.collection.length == 'undefined') addNotice(req.collection.msg);

		for(var i=0; i<req.collection.length; i++) {
			if($(req.collection[i].id)){
				var target = $(req.collection[i].id);
				var last = target.getParent().getLast();

				// if error already there, stop
				if(!$('e_'+req.collection[i].id)) {
					var msg = new Element('span', {'id':'e_'+req.collection[i].id, 'class':'error','html':req.collection[i].msg});
					
					/* have to switch injection locations due to form constraints */
					console.log(target.getParent())
					if(target.getParent().id == 'newsletterForm' || target.getParent().id == 'commentInfo')	{
						//footer form
						msg.inject(last, 'bottom');
					}else{
						//login form
						msg.inject(target, 'before');
					}				
					
					
					
					
					var scrollToError = new Fx.Scroll(window);
					//scrollToError.toElement(last)
					scrollToError.toBottom()

				};
			}else{
				addNotice(req.collection[i].msg);
			}
		}
	}
}Onload.add(msgHandler);


// tabs //
function initiateTabSystem(){
	//var tabSystem = new TabSystem({'_parent':'listTab'});
	var tabs = $(document.body).getElements('.listTab');
	tabs.each(function(el){
		new TabSystem({'_parent':el});
	})
}Onload.add(initiateTabSystem);


//////////////////////////////////////
// STORE LOCATOR                            //
//////////////////////////////////////
function dealer_locator_form(){
	var form = $('dealer-locator-search-form');
	if(! form) return false;

	var action = form.get('action');
	form.addEvent('submit',function (e) {
		if($type(e)) e.stop();
		var data = form.toQueryString();
		var jsonRequest = new Request.JSON({url:action,method:'get',onComplete: query_dealers_results}).send(data);

		return false;
	});

}
window.addEvent('domready',dealer_locator_form);

function mapsLoaded() {
	window.map = new google.maps.Map2(document.getElementById("map_canvas"));
	window.map.setUIToDefault();
	window.geocoder = new GClientGeocoder();
	window.markerCollection = [];
	var map = window.map;
	GEvent.addListener(map, "click", function(overlay,latLng){
		geocoder.getLocations(latLng, function(response){
			if(response && response.Status.code == 200){
				place = response.Placemark[0];
				if(place.address.test('[0-9]{5}')){
					RE = new RegExp("[0-9]{5}");
					var zip = RE.exec(place.address)[0];
					$('zip_code').set('value',zip);

					$('dealer-locator-search-form').fireEvent('submit');
				}
			}
		});
	});
	if (google.loader.ClientLocation){
		map.setCenter(new google.maps.LatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude), 11);
	}
	else{
		window.geocoder.getLatLng('514 3rd Street Davis, CA 95616, United States',function(point){
			if(!point) {
				return false
			}
			map.setCenter(point, 7);
		});
	}
}

function loadMaps() {
	if(!$('map_canvas')) return false;
	google.load("maps", "2", {"callback" : mapsLoaded});
}

function query_dealers_results(json,text) {
	$('searchResults').setStyle('visibility','visible');

	var results_target = $('dealer-locator-results');
	results_target.empty();
	if(!$type(json) || json.recordcount == 0){
		var dealer_entry = new Element('div',{
			'class':'dealer-entry',
			'id':'no_dealer'
		}).inject(results_target,'bottom');

		var line_item = new Element('p',{
			'class':'no-results'
		}).inject(dealer_entry);
		line_item.appendText('No Results');
		return false;
	}

	else{
		var dealers = [];
		for ( var i = 0; i < json.recordcount; i++) {
			var dealer = {};
			dealer.index = i + 1;
			dealer.dealerName = json.data.DEALERNAME[i];
			dealer.address = json.data.ADDRESS[i];
			dealer.city = json.data.CITY[i];
			dealer.stateProvince = json.data.STATEPROVINCE[i];
			dealer.postalCode = json.data.POSTALCODE[i];
			dealer.phone = json.data.PHONE[i];
			dealer.website = json.data.WEBSITE[i];
			dealer.latitude = json.data.LATITUDE[i];
			dealer.longitude = json.data.LONGITUDE[i];
			dealers.push(dealer);
		}
		var results_target = $('dealer-locator-results');

		results_target.empty();
		window.map.clearOverlays();
		if(dealers.length > 0){
			dealers.each(function(dealer,i){
				dealer = new Hash(dealer);
				var address = dealer.address+" "+dealer.city+", "+dealer.stateProvince+" "+dealer.postalCode;
				createGoogleMarker(address, dealer, results_target,i);
			});

		}
		else{
			var dealer_entry = new Element('div',{
				'class':'dealer',
				'id':'no_dealer'
			}).inject(results_target,'bottom');

			var line_item = new Element('h2',{
				'class':'no-results'
			}).inject(dealer_entry);

			line_item.appendText('No Results');

		}
	}
}

function createGoogleMarker(address, dealer, results_target,i){
	var marker = null;
	var dealerEntry = createDealerEntry(dealer,i);
	if(window.geocoder){
		window.geocoder.getLatLng(address,function(point){
			if(point){
				// marker = new GMarker(point);
				marker = createMarker(point,i,dealerEntry);
				window.map.addOverlay(marker);
				if(i == 0){
					window.map.setCenter(marker.getLatLng(),9);
				}
				dealerEntry.addEvent('click',function(e){
					window.map.panTo(marker.getLatLng());
					marker.openInfoWindowHtml(dealerEntry.clone());
				});
				dealerEntry.inject(results_target,"bottom");
			}
		});
	}

}

// Creates a marker whose info window displays the letter corresponding
// to the given index.
// Create a base icon for all of our markers that specifies the
// shadow, icon dimensions, etc.

function createMarker(point, index, dealerEntry) {
	var baseIcon = new GIcon(G_DEFAULT_ICON);
	baseIcon.shadow = "/resources/images/Google_Maps_Marker_Images/shadow50.png";
	baseIcon.iconSize = new GSize(20, 31);
	baseIcon.shadowSize = new GSize(37, 34);
	baseIcon.iconAnchor = new GPoint(9, 34);
	baseIcon.infoWindowAnchor = new GPoint(9, 2);

  // Create a lettered icon for this point using our icon class
  var letter = String.fromCharCode("A".charCodeAt(0) + index);
  var letteredIcon = new GIcon(baseIcon);
  letteredIcon.image = "/resources/images/Google_Maps_Marker_Images/" + letter + ".png";

  // Set up our GMarkerOptions object
  markerOptions = { icon:letteredIcon };
  var marker = new GMarker(point, markerOptions);

  GEvent.addListener(marker, "click", function() {
  	marker.openInfoWindowHtml(dealerEntry.clone());
  });

  return marker;
}

function createDealerEntry(dealer,i) {
	var letter = String.fromCharCode("A".charCodeAt(0) + i);

	var dealerEntry = new Element('div',{
		'class':'dealer dealer_'+i,
		'styles':{
			'background': "url(/resources/images/Google_Maps_Marker_Images/" + letter + ".gif) no-repeat left top"
		}
	});

	var dealerName = new Element('h2',{
		'class': 'dealerName',
		'text': dealer.dealerName
	}).inject(dealerEntry);

	var dealerAddress = new Element('p',{
			'class': 'dealerAddress',
			'text':dealer.address
	}).inject(dealerEntry);

	var dealerAddress = new Element('p',{
			'class': 'dealerCityStateZip',
			'text':dealer.city+", "+dealer.stateProvince+" "+dealer.postalCode
	}).inject(dealerEntry);

	var dealerPhone = new Element('p',{
		'class':'dealerPhone',
		'text':dealer.phone
	}).inject(dealerEntry);

	var dealerDirections = new Element('a',{
		'class':'dealerDirections',
		'text':'Get Directions',
		'target':'_blank',
		'href':'http://maps.google.com/maps?f=d&source=s_d&daddr='+dealer.address+' '+dealer.city+', '+dealer.stateProvince+' '+dealer.postalCode+'&hl=en&ie=UTF8&t=h&z=10'
	}).inject(dealerEntry);

	return dealerEntry;

}

window.onload = loadMaps;

//////////////////////////////////////
// DEBUG                            //
//////////////////////////////////////

function debug(txt) {
		var frame = $('frame');
		if(!$('debug')){
			var newEl = new Element('div', {
			    'styles': {
					'position':'absolute',
					'top':200,
					'left':0,
					'font-size':10,
					'width':250,
					'min-height':300,
					'z-index':9999,
					'display':'block',
					'background-color':'#fff',
					'border':'1px solid red'
			    },
			    'id': 'debug'
			});
			newEl.injectInside(frame);
			var dragger = new Drag(newEl);
			newEl.innerHTML += '<span id="clearDebug" style="text-decoration:underline;cursor:pointer;">Clear:</span><br />';
		}
	var debug = $('debug');
	debug.innerHTML += '<br />' + txt;
	var debugClear = $('clearDebug');

	debugClear.addEvent('click',function(){
		debug.innerHTML = '<span id="clearDebug" style="text-decoration:underline;cursor:pointer;">Clear:</span><br />';
	})

}


//Compare Form 

//Vars
/*
	var fat = $('compareForm_fat').get('value');
	var carb = $('compareForm_carbo').get('value');
	var sugar = $('compareForm_sugar').get('value');
	var protein = $('compareForm_protein').get('value');			
	var empty = '';
*/
	

//Hide Require Texts

// e is the event
//function formCheck(e, form){
//	// stop event
//	e.stop();
//	
//	//get array of inputs or just create a variable for each input and test agains a value
//	var inputs =  form.getElements('input');
//	//loop through all inputs, call function to log the input's value
//	inputs.each(function(el){
//		console.log(el.value)
//	})
//}
//
//firstRun = true;
//isValid = false;
//
//function initCompareForm(){
//	// if form does not exist exit
//	if( ! $('compareForm')){return false;}
//	var form = $('compareForm');
//	var inputs = $('compareForm').getElements('input[type=text]');
//	formCheck(false,form,inputs);
//	
//	//call function on submit action and pass the event as this, as well as a refrence to the form
//	form.addEvent('submit', formCheck.bindWithEvent(this, [form,inputs])) 
//} 
//
//
////Check Values
//function formCheck (event,form,inputs) {
// 	//Prevent Submit Event
// 	console.log(arguments);
// 	if(event && !isValid){
//	 	new Event(event).stop();
//	 	firstRun = false;
//	}
//	
//	isValid = true;
// 	inputs.each(function(el,i,group){
// 	
// 		if(el.value.trim() == ""){
// 			if(!firstRun) el.getNext().setStyle('display','block');
// 			isValid = false;
// 			el.addEvent('keyup',function(){
// 				if(this.value.trim() != ""){
// 					this.getNext().setStyle('display','none');
// 					this.toggleClass('invalid');
// 				}
// 				else{
// 					this.getNext().setStyle('display','block');
// 					this.toggleClass('invalid');
// 				}
//			});
// 		}
//	})
//	if(isValid){
//		form.submit();
//	}	
// 	
//}	



/*function compareProducts (event, form) {
	var ss_snacks = [{"ss_products:" ["Fat" : "1",	"Carbohydrates" : "1", "Sugar" : "1", "Protein" : "1"]}
	var worse = [{"worse_products:" ["Fat" : "10",	"Carbohydrates" : "10", "Sugar" : "10", "Protein" : "10"]}

}*/



// run initCompareForm on dom load
//window.addEvent('domready',initCompareForm);
function compareProducts(e, trigger, target){
	e.stop();
	// flag determines if input should be less or greater for positive response(0 is more, 1 is less)
	var data = {"ss":[
					{id:'compareForm_protein', flag:1, val:7, response:"g more protein than your snack with a total of 7g of protein. That\'s more protein with just half the fat of a serving of almonds! The protein in Somersaults comes from our toasted sunflower seeds which are also a good source of vitamin E."},
					{id:'compareForm_fat', flag:0, val:8, response:"g less fat than your snack.  The fat in Somersaults comes from our sunflower seeds and are one of the main sources of polyunsaturated oil, one of the \"healthy fats\"."},
					{id:'compareForm_sugar', flag:0, val:1, response:"g less sugar than your snack.  With just 1g of sugar in three of our flavors, that is 95% less sugar than an energy bar (chez cocoa has just 6g of sugar!)."},
					{id:'compareForm_fiber', flag:1, val:3, response:"g more fiber than your snack.  As recommended by the FDA, Somersaults are a good source of fiber in your daily diet! "},
					{id:'compareForm_carbo', flag:0, val:14, response:"g fewer carbohydrates than your snack.  Somersaults provide a great, well-balanced and nourishing snack with just 1/3 the carbs of an energy bar."}
				]}
	if($type($('compareMySnack')) == 'element'){
		$('compareMySnack').dispose();
	}
	var response = new Element('div',{'id':'compareMySnack'})
	var tmp = '';
	var diff = '';
	var txt = '';
	trigger.each(function(el, index){
		if(el.id == data.ss[index].id){
			if(data.ss[index].flag == 0 && el.value > data.ss[index].val && el.value != ''){
				diff = el.value - data.ss[index].val;
				txt = 'Somersaults has ' + diff + data.ss[index].response;
				new Element('h2',{'id':el.id + '_title','class':'title','text':el.id}).inject(response);
				new Element('p',{'text':txt}).inject(response);
			}else if(data.ss[index].flag == 1 && el.value < data.ss[index].val && el.value != ''){
				diff = data.ss[index].val - el.value;
				new Element('h2',{'id':el.id + '_title','class':'title','text':el.id}).inject(response);
				txt = 'Somersaults has ' + diff + data.ss[index].response;
				new Element('p',{'text':txt}).inject(response);
			}else if(el.value == ''){
				// null
			}
		}
	})
	new Element('h2',{'id':'healthySnacks_title','class':'title','text':'Healthy Snacks'}).inject(response, 'bottom');
	new Element('p',{'html':'To experience a moment of Mindful Munching, how about giving <a href=\"/?event=shop.products\">Somersaults</a> a try with free shipping on your first order? Enter <strong><em>yeehaw</em></strong> at checkout'}).inject(response, 'bottom');
	response.inject(target.getParent(), 'after').fade('in');
	
}
function checkInputValue(e){
	var target = e.target;
	if(target.value != '' && target.value >= 0){
		target.setStyle('border','1px solid green');
	}else{
		target.setStyle('border','1px solid red');
	}
}
function initForm(){
	if ( ! $('compareForm')) {return false;}
    var target = $('compareForm');
	// probably don't need validation, if they put nan it just fails.
    var trigger = target.getElements('input[type="text"]');
	/*
	trigger.each(function(el){
		el.addEvent('keyup', checkInputValue.bindWithEvent(this));
	})
	*/    
	target.addEvent('submit', compareProducts.bindWithEvent(this,[trigger, target]))
}
window.addEvent('domready',initForm);



/** Accordion for live.getoutsdie **/


window.addEvent('domready', function () {
	$each($$('.view_activities'), function (x) 
	{
		x.addEvent('click', function(event) 
		{
			event.preventDefault();
		});
	});
	var myAccordion = new Fx.Accordion($$('.view_activities'), $$('.list'), 
	{
		display:-1,
		alwaysHide: true
		
	});

});


/*function accordionMenu () {
	var myAccordion = new Fx.Accordion($$('.view_spots'), $$('.list'), {
		display:2,
		alwaysHide: true
	
	});
}*/
//window.addEvent('domready', accordionMenu);


/*
(if no results)- Great news!  You\'ve got another healthy snack on your hands.  Since you enjoy healthy snacking, how about giving Somersaults a try with 20% off on your first order?  Enter \"yeehaw\" at checkout.
*/


function initTabs(){
	if( ! $type($('fbSt'))){return false}
	new Tabs({
		tabs: $('tabs'),
		content: $('tabContent')
	});
}
window.addEvent('domready',initTabs);
