if((typeof console == "undefined")){
	window.console = {};
	if(window.location.href.indexOf('.dev.')){
		console.log = function(content){
			// debug(content);
		}	
	}
	else{
		console.log = function(content){
			return content;
		};
	}
}

/* *** form validation *** */
function initValidate(){
	if(!$type($(document.body).getElement('.validateform')) && !$type($('comment_form'))){
		return;
	}
	var form = $(document.body).getElement('.validateform') || $('comment_form');
	var myFormValidator = new FormValidator(form, {
	    useTitles: true
	});
}
window.addEvent('domready',initValidate);

/* *** IE6 navigation *** */
function initIE6primaryNavigation(){
	var trigger = $$('.pNavItem');
	trigger.each(function(el){
		el.addEvents({
			'mouseenter': function(e){
				e.stopPropagation();
				showIE6primaryNavigation(this);
			},
			'mouseleave': function(e){
				e.stopPropagation();
				hideIE6primaryNavigation(this);
			}
		})
	})
}
if(Browser.Engine.trident && Browser.Engine.version < 7){
	initIE6primaryNavigation();
}

function showIE6primaryNavigation(el){
	var nav = el.getElement('ul');
	nav.setStyles({
		'display':'block'
	});
}
function hideIE6primaryNavigation(el){
	var nav = el.getElement('ul');
	nav.setStyle('display','none');
}
/* *** create touts *** */
function createTouts(){
	if(typeof(toutlist) == undefined){return;}
	if(!$type('toutContainer')){return;}
	var target = $('toutContainer').getElement('.content');
	
	var touts = [];
	toutlist.touts.each(function(el, index, group){
		switch(index){
			case 0:
			tId = '_left';
			break;    
		case 1:
			tId = '_center';
			break;
		case 2:
			tId = '_right';
		}
		var tout = new Element('a',{
			'id':el.id+tId,
			'class':'basetout',
			'href':el.link
		});
		touts.push(tout)
		
	})
	loadTouts(touts, target)
};
window.addEvent('domready',createTouts);

var toutCount = 0;
function loadTouts(touts, target) {
	var addTout = function(el, index) {
		el.setStyle('opacity',0);
		el.setStyle('background','url(/admin/templates/resources/images/touts/'+el.id+'.jpg)');
		el.inject(target);
		el.fade('in');
		toutCount++;
		if(toutCount === 3){
			addMarquee();
			addPdp();
			addInspirations();
		}
	};
	var chainLoad = new Chain();
	
	function demoFunction(){
		alert('chain done')
	}
	
	touts.each(function(tout, index) {
		chainLoad.chain(addTout.pass([tout, index]))
	});
	var runChain = function() { 
		chainLoad.callChain();
	};
	var timer = runChain.periodical(150);
};


/* *** flash *** */
function addWellWish(){
	if(!$type($(document.body).getElement('.wellWishesPrimary'))){return;}
	var swiffTest = testFlashPlayerVersion(10);
	if(!$type(swiffTest)) return 0;

	var wwSwf = new Swiff('/admin/templates/resources/swf/wellwishesShell.swf', {
	    id: 'marquee',
	    width: 1014,
	    height: 580,
	    params: {
	        wmode: 'opaque',
	        allowScriptAccess: 'always',
			scale: 'noscale'
	    },
	    vars: {
	        basePath: '/admin/templates/resources/swf/wellwishes.swf'
    	}
	});
	$(document.body).getElement('.wellWishesPrimary').empty();
	$(document.body).getElement('.wellWishesPrimary').adopt(wwSwf);

};
window.addEvent('domready',addWellWish);


function addMarquee(){
	if(!$type($(document.body).getElement('.homeMarquee'))){return;}
	
	var swiffTest = testFlashPlayerVersion(9);
	if(!$type(swiffTest)) return 0;

	if(!$type(featuresDataFile)){
		featuresDataFile = '/site/homepage-features';
	}
	var marquee = new Swiff('/admin/templates/resources/swf/shell.swf', {
	    id: 'marquee',
	    width: 1014,
	    //height: 501,
	    height: 460,
	    params: {
	        wmode: 'opaque',
	        allowScriptAccess: 'always',
			scale: 'noscale'
	    },
	    vars: {
	        basePath: '/admin/templates/resources/swf/home.swf',
			featureListXML: featuresDataFile
	    	}
	});
	$(document.body).getElement('.homeMarquee').empty();
	$(document.body).getElement('.homeMarquee').adopt(marquee);

};


function testFlashPlayerVersion(versionNum){
	if (isNaN(versionNum)) versionNum = 10;
	if(Browser.Plugins.Flash.version == 0) return false;
	if(Browser.Plugins.Flash.version < versionNum && Browser.Plugins.Flash.version > 0){
		var closeOl = new Element('span',{
			id:'nothanks',
			html:'No Thanks',
			events:({
				'click': function(){/*console.log('close me')*/}
			})
		})
		var getTen = new Element('div', {
			id:'getFlashTen',
			html:'<p>This site uses Adobe\'s Flash Player Version 10 <br /> <a href="http://www.adobe.com/products/flashplayer/" target="_blank">Download Now</a> | <a href="#">No Thanks</span></p>'
		})
		getTen.getFirst().getLast().addEvent('click', function(){closeFrameOverlay($('dimemr'),getTen)})
		overlayCenterElement(getTen);
		return false;
	}
	else{
		return true;
	}
}
// pdp swf
function addPdp(){
	if(!$type($('detailimagePhoto'))){return 0;}
	var swiffTest = testFlashPlayerVersion(9);
	if(!$type(swiffTest)) return 0;
	
	if(!$type(pdpCategory)) return false;
	
	var marquee = new Swiff('/admin/templates/resources/swf/shell.swf', {
	    id: 'marquee',
	    width: 400,
	    height: 413,
	    params: {
	        wmode: 'opaque',
			allowScriptAccess: 'always',
			scale: 'noscale'
	    },
	    vars: {
	        basePath: '/admin/templates/resources/swf/pdpImage.swf',
	        backgroundPath: '/admin/templates/resources/swf/pdpBackground.swf',
	        category: pdpCategory,
	        imgPath: '/admin/templates/resources/images/productshots/detail/'+pdpImg+'.png'
			
    	}
	    
	});
	$('detailimagePhoto').empty();
	$('detailimagePhoto').adopt(marquee);
};


function addDiscover(){
	var discover = $$('#primary.discover')[0];
	if(! discover){
		return;
	}
	var swiffTest = testFlashPlayerVersion();
	if(!swiffTest) return 0;
	
	if(!$type(featuresDataFile)){
		featuresDataFile = '/site/homepage-features';
	}
	
	// var flashVars = {};
	// flashVars["basePath"] = '/admin/templates/resources/swf/discover.swf';
	// flashVars["backgroundPath"] = '/admin/templates/resources/swf/background.swf';
	// swfobject.embedSWF('/admin/templates/resources/swf/shell.swf', "discover", "1014", "623", "10.0.0", null, flashVars);
	
	
	var marquee = new Swiff('/admin/templates/resources/swf/shell.swf', {
	    id: 'marquee',
	    width: 1014,
	    height: 623,
	    params: {
	        wmode: 'opaque',
			allowScriptAccess: 'always',
			scale: 'noscale'
	    },
	    vars: {
	        basePath: '/admin/templates/resources/swf/discover.swf',
	        backgroundPath: '/admin/templates/resources/swf/background.swf',
			featureListXML: featuresDataFile,
			category: category
	    	}
	    
	});
	discover.empty();
	discover.adopt(marquee);
};
window.addEvent('domready',addDiscover);

function initButtonHover(){
	if(!$(document.body).getElement('.button')){return;}
	var button = $(document.body).getElements('.button');
	button.each(function(el){
		el.addEvents({
			'mouseenter':buttonOver.bindWithEvent(this),
			'mouseleave':buttonOut.bindWithEvent(this)
		})
	})
}
initButtonHover()

function buttonOver(x){
	x.target.fade('.7');
}
function buttonOut(x){
	x.target.fade('in');
}
function addInspirations(){
	if(!$('inspirations_swf')){
		return;
	}
	var swiffTest = testFlashPlayerVersion();
	if(!swiffTest) return 0;
	
	var inspirationId = window.location.hash;
	if(inspirationId == ""){
		inspirationId = null;
	}
	else{
		//console.log(inspirationId);
	}
	window.inspirations = new Swiff('/admin/templates/resources/swf/shell.swf', {
	    id: 'inspirations',
	    width: 1014,
	    height: 623,
	    params: {
	        wmode: 'opaque',
			allowScriptAccess: 'always',
			scale: 'noscale'
	
	    },
	    vars: {
	        basePath: '/admin/templates/resources/swf/inspirations.swf',
	         backgroundPath: '/admin/templates/resources/swf/background.swf',
			inspirationId: inspirationId
    	}
	});
	$('inspirations_swf').empty();
	$('inspirations_swf').adopt(window.inspirations);

};


function productHover(){
	var product = $$('.product');
	product.each(function(el){
		el.addEvents({
			'mouseenter':highlightProductIn.bindWithEvent(this),
			'mouseleave':highlightProductOut.bindWithEvent(this)
		})
	})
	
}
//productHover();
function highlightProductIn(el){
	var target = el.target.getElement('.marker')
	target.fade(.5) 
}
function highlightProductOut(el){
	var target = el.target.getElement('.marker')
	target.fade(1) 
}
function categoryAccordion(){
	if(!$(document.body).getElement('.trigger')){return false};
	var myAccordion = new Accordion($$('.trigger'), $$('.hidden'), {
		display:startPoint,
		duration:125,
	    alwaysHide: false,
	    onActive: function(header,section){
	    	$$('.trigger').each(function (el){el.removeClass('active'),el.removeClass('activeNext')})
	    	$$('.ender').each(function (el){el.removeClass('activeNext')})
	    	header.addClass('active');
	    	if(header.getNext()){
	    		header.getNext().addClass('activeNext');
	    		
	    	}
	    }
	});
	
}
function checkValues(e){
	e.stop();
	if(e.target.value != '' && e.target.id == 'selectww'){
		$('wellwishcreate').set('value','')
		$('wellwishcreate').set('text','')
	}else if(e.target.value != '' && e.target.id == 'wellwishcreate'){
		$('selectww').set('value','')
	}
	
}
function initSingleValue(){
	var options = ([$('selectww'), $('wellwishcreate')])
	options.each(function(el){
		el.addEvents({
			'keyup':checkValues.bindWithEvent(this),
			'change':checkValues.bindWithEvent(this)
		})
	})
}
//categoryAccordion();

function initCharCount(lim, id){
	if(!$type($(id))){return;}
	var textarea = $(id);
	var target = $('charCount').getFirst();
	var limit = lim || '200';
	textarea.addEvent('keyup', countCharacters.bindWithEvent(this, [target, limit]))
}
function countCharacters(x, target, limit){
	if(x.target.value.length < limit){
		target.set('text', x.target.value.length)
		target.setStyle('color', '#525557');
	}else{
		target.set('text', 'Limit Reached');
		var tmp = x.target.value;
		x.target.value = tmp.substr(0,limit);
		target.setStyle('color', 'red');
	}
}

function initProductReview(){
	if(!$('reviewProduct')){return false;};
	var trigger = $('review-this');
	var overlayObj = $('reviewProduct')

	overlayObj.setStyles({
		'position':'absolute',
		'top':-9999,
		'left':-9999,
		'height':350,
		'width':371,
		'padding':30,
		'z-index':9010
	});

	trigger.addEvent('click', fireProductReview.bindWithEvent(this,[overlayObj]))
}
initProductReview();

function fireProductReview(event, overlayObj){
	event.preventDefault();
	if($('ingOverlay')){
		closeIngOverlay($('ingOverlay'))
	}
	overlayCenterElement(overlayObj);
}	

function overlayCenterElement(el, id){
	newId = 'dimmer';
	var windowSize = window.getScrollSize();
	var setOpacity = 1;
	var  fBody = null;
	var dimmer = new IFrame({
	    id:newId,
	    name:newId,
	    styles: {
	        height: windowSize.y,
	        width: windowSize.x,
	        opacity:0
	    },
		'events':{
			
			//'mouseleave':closeOverlay.bindWithEvent(this, [el])//,
			//'click':closeOverlay.bindWithEvent(this, [el]),
			'click':function(el){
				el.getNext().destroy();
				el.destroy();
			},
			load: function(){
				if(!Browser.Engine.trident){
					//var iframe = new IFrame($(id));
					fBody = $(this.contentDocument.body);
				}
				else{
					fBody = $(document.frames['dimmer'].document.body);
				}
					
				fBody.addEvent('click',closeFrameOverlay.bindWithEvent(this, [el]));
				/*
				var closeDiv = new Element('div',{
					'id':'closeOverlay',	
				    styles: {
				        'height': windowSize.y,
				        'width': windowSize.x,
				        'opacity':1
				    }
				})
	           	closeDiv.inject(fBody, 'after');
				var fClose = fBody.getFirst()
				*/
	        }
		}
	});
	dimmer.inject(document.body,'bottom');
	if(el.getElement('.close')){
		el.getElement('.close').addEvent('click',function(){
			dimmer.destroy();	
			el.fade('out');	
		})
	}
	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,
		'display':'block',
		'opacity':0
	})
	
	dimmer.setStyle('opacity', .02);
	
	/*
	if(newId != 'dimmer-inspirations'){
		dimmer.fade(.5);
	}
	*/ 
	el.fade(1);
	// init character count
	initCharCount(200, 'messageText');
	initValidate();

}
function closeOverlay(dimmer, overlay){
	dimmer.target.fade('out');
	overlay.fade('out');
	var destroy = function(){
		dimmer.target.destroy();
		overlay.destroy();
	}
	destroy.delay(700);
}

function closeFrameOverlay(dimmer, overlay){
	
	var kill = $(document.body).getElement('iframe');
	kill.fade('out');
	overlay.fade('out');
	var destroy = function(){
		kill.destroy();
		//overlay.destroy();
	}
	destroy.delay(700);
}
function initNutrition(){
	if(!$('nutrition')){return false};
	var trigger = $('nutrition');
	trigger.addEvents({
		'mouseenter':requestNutrition.bindWithEvent(this)
		
	})
}
initNutrition();
function requestNutrition(x){
	x.stopPropagation();
	x.target.store('size','nutritioninfo');
	var responseElements = $('nutritionImage').clone();
	showRelatedProductOverlay(responseElements, x)
}


function initBuyNow(){
	if(!$('buy-now')){return false};
		//preload background images for overlay//
	if(Browser.Engine.trident && Browser.Engine.version < 7){
		var ext = '.gif' 
	}else{
		var ext = '.png' 
	}
	var myImages = new Asset.images(['/admin/templates/resources/images/ingredients/overlay-content-brewing'+ext, '/admin/templates/resources/images/ingredients/overlay-bottom-brewing'+ext, '/admin/templates/resources/images/ingredients/overlay-top-shop'+ext, '/admin/templates/resources/images/ingredients/overlay-top-brewing'+ext, '/admin/templates/resources/images/ingredients/overlay-top-nutrition'+ext]);
	var trigger = $('buy-now');
	trigger.addEvents({
		'mouseenter':requestBuyNow.bindWithEvent(this)
	})
}
initBuyNow();

function requestBuyNow(x){
	x.stopPropagation();
	x.target.store('size','shop');
	
	var original = $('buyNowOptions');
	var clonedElement = original.clone();
	original.getElements('.button').each(function(el,i){
		//clonedElement.getElements('.button')[i]
		clonedElement.getElements('.button')[i].cloneEvents(el);
	})
	
	

	showRelatedProductOverlay(clonedElement, x);
}



function initBrewingTips(){
	if(!$('brewing-suggestions')){return false};
	var trigger = $('brewing-suggestions');
	trigger.addEvents({
		'mouseenter':requestBrewingTips.bindWithEvent(this)
		
	})
}
initBrewingTips();

function requestBrewingTips(x){
	x.stopPropagation();
	x.target.store('size','brewing');
	var responseElements = $('brewingInstructions').clone();
	showRelatedProductOverlay(responseElements, x)
}

var enterRelProduct;
function initRelatedProducts(){
	if(!$(document.body).getElement('.ingicon')){return false};
	var trigger = $$('.ingicon');

	//preload background images for overlay//
	if(Browser.Engine.trident && Browser.Engine.version < 7){
		var ext = '.gif' 
	}else{
		var ext = '.png' 
	}
	var myImages = new Asset.images(['/admin/templates/resources/images/ingredients/overlay-content-large'+ext, '/admin/templates/resources/images/ingredients/overlay-top-large'+ext,'/admin/templates/resources/images/ingredients/overlay-bottom-large'+ext]);
	enterRelProduct = requestRelatedProducts.bindWithEvent(this);
	trigger.each(function(el){
		el.addEvents({
			'mouseenter': enterRelProduct,
			'click':function(e){e.preventDefault();}
		})
	})
}
initRelatedProducts();

function requestRelatedProducts(x){
	x.preventDefault();
	x.stopPropagation();
	//x.target.store('size','large');
	var el = x.target;
	if(el.hasClass('Teaicon')){
		var category = "4";
	}
	else{
		var category = 5;
	}
	var href = "/ingredients/related_products_ajax/"+el.get('title')+"/"+category;
	var request = new Request.HTML({url:href, method:'get', 
		onComplete:function(responseTree, responseElements, responseHTML, responseJavaScript){
					showRelatedProductOverlay(responseElements, x);
		}
	}).send();
	
}

function showRelatedProductOverlay(responseElements, x){
	
	var category = "Tea";
	
	if(x != null && x.target.hasClass('cerealicon')){
		category = 'Cereal';
	}
	
	if($type(responseElements) == 'array' && responseElements.length == 0){
		responseElements[0] = new Element('span',{
			'text': "No "+category+"'s",
			'class': 'noProducts'
		});
	}
	// if($type(responseElements) == 'array' && responseElements.length == 0 || responseElements == ''){
	// 	return;
	// }
	// 
	if(x != null && x.target.retrieve('size')){
		var setClass = x.target.retrieve('size');
	}else {	
		if(responseElements.length <=12){
			setClass = 'small'
		}else{
			setClass = 'large'
		}
	}
	var coords = x.target.getCoordinates();
	var pos = x.target.getPosition(x.target.getParent());
	var scrolled = x.target.getParent().getParent().getScroll()

	if($type($('ingOverlay'))) {$('ingOverlay').dispose();}

	var copy = new Element('p',{'class':'olP','text':x.target.retrieve('copy')});
	var ingOverlay = new Element('div',{
		'id':'ingOverlay',
		'class':setClass,
		'styles':{
			'opacity':0,
			'position':'absolute',
			'top':olTop,
			'left':olLeft,
			'z-index':9030
		}

	})
	var ingOverlayTop = new Element('div',{
		'id':'olTop'
	}).inject(ingOverlay,'bottom');
	var ingOverlayContent = new Element('div',{
		'id':'olContent'
	}).inject(ingOverlay,'bottom');
	var ingOverlayBottom = new Element('div',{
		'id':'olBottom'
	}).inject(ingOverlay,'bottom');
	
	
	if($type(responseElements) == 'array' ){
		responseElements.each(function(el){
			el.inject(ingOverlayContent,'bottom')
		}) 
	}else{
		var container = new Element('div',{'id':'olContentContainer'})
		responseElements.inject(container,'bottom')
		container.inject(ingOverlayContent,'bottom')
	}
	
	var ingClearContent = new Element('div',{
		'class':'clear'
	}).inject(ingOverlayContent,'bottom');

	if(Browser.Engine.trident && Browser.Engine.version < 7){
		olLeft = scrolled.x+olLeft;
	}
	ingOverlay.inject($(document.body),'bottom');
	var olTop = coords.top+10;
	var olToTop = coords.top - ingOverlay.getSize().y+18;
	var olLeft = coords.left - (ingOverlay.getSize().x/2);

	// adjust for button height & width //
	if(setClass != 'large'){
		olLeft = olLeft + 67;
		olToTop = olToTop+30;
	}
	if(setClass == 'small'){
		olLeft = olLeft - 54;
		olToTop = olToTop - 30;
	}


	ingOverlay.setStyles({
			'top':olTop,
			'left':olLeft
	})
	
	var fx = new Fx.Morph(ingOverlay, {transition: Fx.Transitions.Expo.easeOut,duration:200,
		onComplete:function(){
			//ingOverlay.addEvent('mouseleave',closeIngOverlay)
			ingOverlay.addEvent('mouseleave',function(e){
				ingOverlay.removeEvent('mouseenter', enterRelProduct);
				e.stopPropagation();
				closeIngOverlay(this);
			})
		}
	});
	fx.start({'opacity':1,'top':olToTop})
}
function closeIngOverlay(x){
	if($type(x)) {
		var fx = new Fx.Morph(x, {transition: Fx.Transitions.Expo.easeIn,duration:200,
			onComplete:function(){
				x.dispose();
			}
		});
		fx.start({'opacity':0,'top':x.getCoordinates().top + 100})
	}
	if($type($('dimmer'))){
		$('dimmer').dispose();
	}
}

function closeAllOverlay(){
	$('frame').addEvent('mouseenter', function(){
		if(!$type($('ingOverlay'))) {return;}
		var overlay = $('ingOverlay');
		closeIngOverlay(overlay);	
	})
}
window.addEvent('domready',closeAllOverlay);

function initiateCustomDropdown(){
	if(!$$('.dropRep')){return;}
	var replacements = $$('.dropRep')
	replacements.each(function(el){
		var rollDropDown = new dropdownselect(el.id,{'duration':'50', 'onTorpedo':fireTorpedo});
	})
};
initiateCustomDropdown();

function fireTorpedo(href){
	window.location = href;
}



/*

FROM SITE.JS

*/
function initStarRating(){
	if($('voteInput'))	$$('.ratingStar').addEvent('click',rateEntry);
}
window.addEvent('domready',initStarRating);

function rateEntry(x){
	var starValue = x.target.id.split('star')[1];
	var voteInput = $('voteInput').set('value',starValue);
	voteInput.getParent().submit();
	return false;
}

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();
		// query_dealers_results //onComplete function
		var jsonRequest = new Request.JSON({url:'/site/dealer-locator-results',method:'post',onRequest: loadingDealerResutls,onComplete: query_dealers_results}).send(data);
		
		return false;
	});
	
}
window.addEvent('domready',dealer_locator_form);

function loadingDealerResutls() {
	// dealer-locator-results-loader
	$('dealer-locator-results').empty();
	$('dealer-locator-results-loader').removeProperty('style').clone().inject($('dealer-locator-results')).setStyle('visibility','visible');
}

function query_dealers_results(json,text) {
	DEALERS = [];
	$('search-results_title').setStyle('visibility','visible');
	if(!$type(json)){
		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');
	}
	
	
	var dealers = json.dealers;
	var dealerTotal = json.dealers.length;
	
	var results_target = $('dealer-locator-results');
	results_target.scrollTo(0,0);
	results_target.empty();
	window.map.clearOverlays();
	if(dealers.length > 0){
		dealers.each(function(dealer,i){
			dealer = new Hash(dealer);
			var address = dealer.dealer_address+" "+dealer.dealer_city+", "+dealer.dealer_state+" "+dealer.dealer_postal;
			createGoogleMarker(address, dealer, results_target,i,dealerTotal);
		});
		
	}
	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');
		
	}
	
}
DEALERS = [];
function createGoogleMarker(address, dealer, results_target,i,total){
	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);
				dealerEntry.addEvent('click',function(e){
					window.map.panTo(marker.getLatLng());
					marker.openInfoWindowHtml(dealerEntry.clone());
				});
				if(i == 0){
					window.map.setCenter(marker.getLatLng(),11);
					dealerEntry.fireEvent('click');
				}
				// dealerEntry.inject(results_target,"bottom");

			}
			else{

				dealerEntry.setStyles({
					'cursor':'default',
					'opacity': .5
				});
			}
		});	
	}
	
	DEALERS.push(dealerEntry);
	if(DEALERS.length == total){
		DEALERS.each(function(el,i,group){
			el.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 = "/admin/templates/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);
	if(index >= 26){
		letter = 'default'; 
	}
  letteredIcon.image = "/admin/templates/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);
	
	if(i >= 26) letter = 'default';
	
	var dealerEntry = new Element('div',{
		'class':'dealer dealer_'+i,
		'styles':{
			'background': "url(/admin/templates/resources/images/Google_Maps_Marker_Images/" + letter + ".gif) no-repeat left top"
		}
	});
	
	var dealerName = new Element('h2',{
		'class': 'dealerName',
		'text': dealer.dealer_name
	}).inject(dealerEntry);
	
	var dealerAddress = new Element('p',{
			'class': 'dealerAddress',
			'text':dealer.dealer_address
	}).inject(dealerEntry);
		
	var dealerAddress = new Element('p',{
			'class': 'dealerCityStateZip',
			'text':dealer.dealer_city+", "+dealer.dealer_state+" "+dealer.dealer_postal
	}).inject(dealerEntry);
	
	var dealerPhone = new Element('p',{
		'class':'dealerPhone',
		'text':dealer.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.dealer_address+' '+dealer.dealer_city+', '+dealer.dealer_state+' '+dealer.dealer_postal+'&hl=en&ie=UTF8&t=h&z=10'
	}).inject(dealerEntry);
	
	return dealerEntry;
	
}


function initInspirationOverlay(){
	if($('comment_form') && $('launchOverlayDemo')){
		var overlayObj = $('comment_form');
		overlayObj.setStyles({
			'position':'absolute',
			'background-color':'#fff',
			'top':-9999,
			'left':-9999,
			'z-index':9010
		});
		var trigger = $('launchOverlayDemo');
		
		trigger.addEvent('click', fireInspirationOverlay.bindWithEvent(this,[overlayObj]));
	}
	
}
initInspirationOverlay();

function fireInspirationOverlay(event, overlayObj){
	event.preventDefault();
	overlayCenterElement(overlayObj, 'dimmer-inspirations');
}

/*
	JEREMY- ADDING 'Add Inspiration and Send to friend functionality' to INSPIRATIONS
*/

function getIframeElements(id,src) {
	var iFrameBody = null;
	if(!Browser.Engine.trident){
		var iframe = new IFrame($(id));
		iFrameBody = $(iframe.contentDocument.body);
	}
	else{
		iFrameBody = $(document.frames['addInspirationContainer'].document.body);
		head = $(document.frames['addInspirationContainer'].document.head);
	}
	iFrameBody.getElement('#closeButton').addEvent('click',closeAddInspiration);
	iFrameBody.getElement('form').addEvent('submit',closeAddInspiration);	

	// initCharCount(125);
}//window.addEvent('domready',getIframeElements);

function openAddInspiration() {
	// centerOverlay($('addInspirationContainer'));
	var iFrameBody = null;
	var closeButton = null;
	var form = null;
	if($('addInspirationContainer')) $('addInspirationContainer').destroy();
	var addInspirationContainer = new IFrame({
		'src':addInspirationFormPath,
		'id':'addInspirationContainer',
		'styles':{
			'display': 'block'
		},
		'events':{
			'load': function (){
				if(!Browser.Engine.trident){
					iFrameBody = $(this.contentDocument.body);
				}
				else{
					iFrameBody = $(document.frames['addInspirationContainer'].document.body);
					head = $(document.frames['addInspirationContainer'].document.head);
				}
				if(iFrameBody.getElement('#closeButton')) iFrameBody.getElement('#closeButton').addEvent('click',closeAddInspiration.bindWithEvent(addInspirationContainer));
				if(Browser.Engine.trident){
					if(iFrameBody.getElement('#submitProdReview')) iFrameBody.getElement('#submitProdReview').addEvent('click',function () {
						var swf = $('inspirations');
						addInspirationContainer.setStyle('display','none');
						centerOverlay($('addInspirationConfirmation'));
						var closeConfirmation = function(){
							$('addInspirationConfirmation').setStyle('display','none');
							Swiff.remote(swf, 'enableFlash');
						}
						closeConfirmation.delay(5000)
					});
				}
				if(iFrameBody.getElement('form')) iFrameBody.getElement('form').addEvent('submit',closeAddInspiration.bindWithEvent(addInspirationContainer));
			}
		}
		
	}).inject($('primary'),'bottom');
	centerOverlay($('addInspirationContainer'));
}

function closeAddInspiration(e) {
	// this.destroy();
	if(!$type(e)){
		this.destroy();
		return 0;
	}
	var swf = $('inspirations');
	if(e.type=="submit"){
		// e.stop();
		this.setStyle('display','none');
		var addForm = this;
		centerOverlay($('addInspirationConfirmation'));
		var closeConfirmation = function(){
			$('addInspirationConfirmation').setStyle('display','none');
			addForm.destroy();
			Swiff.remote(swf, 'enableFlash');
		}
		closeConfirmation.delay(5000)
	}
	else if(e.type=="click"){
		this.destroy();
		Swiff.remote(swf, 'enableFlash');
	}
}

function openShareWithFriend(id) {
	// console.log(arguments);
	// centerOverlay($('sendToFriend'));
	// getIframeElements('sendToFriend');
	
	// <iframe id="sendToFriend" src="{path="site/mantra-details"}{entry_id}"></iframe>
	var iFrameBody = null;
	var closeButton = null;
	var form = null;
	
	var shareWithFriend = new IFrame({
		'src':'/site/mantra-details/'+id,
		'id':'sendToFriend',
		'events':{
			'load': function (){
				if(!Browser.Engine.trident){
					iFrameBody = $(this.contentDocument.body);
				}
				else{
					iFrameBody = $(document.frames['sendToFriend'].document.body);
					head = $(document.frames['sendToFriend'].document.head);
				}
				iFrameBody.getElement('#closeButton').addEvent('click',closeShareWithFriend);
				if(iFrameBody.getElement('form')) iFrameBody.getElement('form').addEvent('submit',closeShareWithFriend);
			}
		}
		
	}).inject($('primary'),'bottom');
	centerOverlay(shareWithFriend);
}

function closeShareWithFriend(e) {
	
	if(!$type(e)){
		$('sendToFriend').destroy();
		return 0;
	}
	var swf = $('inspirations');
	if(e.type=="submit"){
		// $('sendToFriend').destroy();
		var closeConfirmation = function(){
			$('sendToFriend').setStyle('display','none');
			Swiff.remote(swf, 'enableFlash');
		}
		closeConfirmation.delay(5000)
	}
	else if(e.type=="click"){
		$('sendToFriend').destroy();
		Swiff.remote(swf, 'enableFlash');
	}
}

function closeOverlay() {
	if($('addInspirationContainer').getStyle('display') == 'block'){
		closeAddInspiration();
	}
	else{
		closeShareWithFriend();
	}
}

function centerOverlay(el) {
	if(!$(el)) return 0;
	var target = $(el);
	target.setStyles({
		'display': 'block',
		'visibility':'hidden'
	});
	var left = ($('primary').getSize().x - target.getStyle('width').toInt()) / 2;
	var top = (window.getSize().y - target.getStyle('height').toInt()) / 2;
	top += window.getScroll().y;

	target.setStyles({
		'left':left,
		'top':top
	});
	target.setStyle('visibility','visible');
}

/*
	form stars
*/
function initStarRating(){
	if(!$(document.body).getElement('.form-star')) return false;
	var stars = $(document.body).getElement('.form-star').getElements('span');
	if(!stars) return 0;
	
	stars.each(function(el,i,group){
		el.addEvents({
			'click': function(e){
				e.stop();
				$('rating').setProperty('value',i+1);
				group.each(function(star,m){
					if(m <= i){
						star.className = 'star-100';
					}
					else{
						star.className = 'star-0'
					}
				});
			},
			'mouseenter': function(){
			}
		})
	});
	
}

function buyNowButtons(){
	$(document.body).getElements('.buyProductNow a').addEvent('click',function(e){
		pageTracker._trackPageview("buynow/"+e.target.getParent().id);
	});
}window.addEvent('domready',buyNowButtons);


function flashPageTreker(msg){
	pageTracker._trackPageview(msg);
	//console.log("flashPageTreker: ",msg)
}
function flashEventTreker(str){
	pageTracker._trackEvent("WellWishes","SceneClick", str);
	//console.log("flashEventTreker: ","WellWishes","SceneClick", str)
}
initFormRequest = function (){
	if( ! $type($('requestSampleForm'))){return false;}
	var frm = $('freeform');
	frm.addEvent('submit',function(e){
		e.stop();
		e.preventDefault();
		//$('request_sample').setStyle('display','none');
		this.set('send', {
			onComplete:function(response){
				if(response == 'success'){
					$('tgt').set('text', 'Request successful');
					var x = {};
					x.target = $('request_sample');
					var okresponse = new Request.HTML({
						url:'/request/sample-thankyou',
						onSuccess:function(responseTree, responseElements, responseHTML, responseJavaScript){
							// google analytic tracking
							try {
								pageTracker._trackPageview('/wellwish-sent')
							} catch (e) {
								console.log('error', e)
							}
							var respObj = new Element('div',{
								id:'wwoverlay',
								html:responseHTML
							})
							console.log(respObj)
							overlayCenterElement(respObj);
						}
					}).send();
				}else{
					$('request_sample').setStyle('display','block');
					var responsecontainer = new Element('div',{
						id:'responsecontainer',
						styles: {
					        'display': 'none'
				    	},
				    	html:response
					}).inject($(document.body),'bottom')
					//responsecontainer.set('text',response).inject($(document.body),'bottom')
					if($(document.body).getElements('.error')){
						$(document.body).getElements('.error').each(function(el){
							el.dispose();
						})
					}
					var errors = $('responsecontent').getElement('ul');
					errors.addClass('error');
					errors.inject(frm,'top')
					responsecontainer.destroy();
					var scrollWindow = new Fx.Scroll($(document.body));
					scrollWindow.toTop();
				}
			}
		})
		this.send();
	})
}
window.addEvent('domready',initFormRequest);

























initFormRetrieve = function (){
	if( ! $type($('requestRetrieveForm'))){return false;}
	var frm = $('freeform');
	frm.addEvent('submit',function(e){
		e.stop();
		this.set('send', {
			onComplete:function(response){
				if(response == 'success'){
					$('tgt').set('text', 'Request successful');
					var x = {};
					x.target = $('request_sample');
					var okresponse = new Request.HTML({
						url:'/request/retrieve-thankyou',
						onSuccess:function(responseTree, responseElements, responseHTML, responseJavaScript){
							var respObj = new Element('div',{
								id:'ww-ret-overlay',
								html:responseHTML
							})
							overlayCenterElement(respObj);
						}
					}).send();
				}else{
					$('request_sample').setStyle('display','block');
					var responsecontainer = new Element('div',{
						id:'responsecontainer',
						styles: {
					        'display': 'none'
				    	},
				    	html:response
					}).inject($(document.body),'bottom')
					//responsecontainer.set('text',response).inject($(document.body),'bottom')
					if($(document.body).getElements('.error')){
						$(document.body).getElements('.error').each(function(el){
							el.dispose();
						})
					}
					var errors = $('responsecontent').getElement('ul');
					errors.addClass('error');
					errors.inject(frm,'top')
					responsecontainer.destroy();
				}
			}
		})
		this.send();
	})
}
window.addEvent('domready',initFormRetrieve);