var galleryList = new Array();
var galleryOptsList = new Array();
var overlayOptsList= new Array();
var demoOverlayList = new Array();
var demoGalleryList = new Array();
function showGallery(gal) {
	$A($("tabs").getElementsByTagName("li")).each(function(tab){ tab.removeClassName("selected"); });
	for (i=0;i<galleryList.length;i++) {
		if (galleryList[i].id != gal+"accessories"){
			galleryList[i].hide();
		} else {
			$(gal+"accessories").show();
			$("tab_" + gal).addClassName("selected");
		}					
	}				
}

TMSSite.loadLibrary("gallery");
var demoOverlay = null;
var demoGallery = null;
var demoOverlayExt = null;
var demoGalleryExt = null;
var demoOverlayInt = null;
var demoGalleryInt = null;
var galleryOpts = {
	container: "content-main",
	parentSel: "div.thumbnail",
	contentLinkSel: "a",
	hoverStatusSel: "div.imgmask img",
	hoverOnSrc: "/img/global/gallery_img_mask.gif",
	hoverOffSrc: "/img/global/blank.gif",
	ajax: true,
	buttonSelectors: {
		next: ".model-layer-next a",
		prev: ".model-layer-prev a",
		close: ".model-layer-close a"
	}
};

var overlayOpts = {
	width: 420,
	modal: true,
	//hide: function(el) { new Effect.Fade(el, { duration: .5, queue: "end" }) } ,
	//show: function(el) { new Effect.Appear(el, { duration: .5, queue: "end" }) } ,
	position: { x: "center", y: 150 },
	ajax: {
		selector: ".model-layer-ajax"
	}
};

Event.onDOMReady(function() {
	/* because we're using the actual HTML as our template, we can't access the code until the DOM is loaded
	 * replace escaped paranthesis for Firefox bug
	 */
	galleryList = document.getElementsByClassName("photoGallery");
	for (i=0;i<galleryList.length;i++) {
		galleryOptsList[i] = Object.clone(galleryOpts);
		galleryOptsList[i].container = galleryList[i].id;
		overlayOptsList[i] = Object.clone(overlayOpts);
		var idName = galleryList[i].id.replace(/gallery/g, "")
		var tempHTML = $("overlayTemplate").innerHTML.bracketReplace();
		var tempOverlay = tempHTML.replace(/overlayDiv/g, "overlayDiv"+i);
		var overlayDiv  = new Insertion.Bottom("overlayDivs",tempOverlay);
		overlayOptsList[i].template = tempOverlay;
		demoOverlayList[i] = new TMSSite.overlay($("overlayDiv"+i), overlayOptsList[i]);
		demoGalleryList[i] = new TMSSite.gallery(demoOverlayList[i], galleryOptsList[i]);
	}
	
	/*********** OMNITURE ***********/
	var Market = ( ( TMSSite.lang == 'en' ) ? 'GM' : 'Espanol' );
	var location = ( ( TMSSite.lang == 'en' ) ? 'tcom' : 'esp' );
    /* capture eBrochure links for Omniture */
	$$("#legend_top a[href*=brochure]").each(function(link){
		
		Event.observe(link, "click", function(e){
			var oEvent = {
				events: 'event4,event17',
				linkTrackVars: 'events,prop7,prop46,eVar3,eVar15,eVar25',
				linkTrackEvents: 'event4,event17',
				linkTrackType: 'o',
				linkTrackName:  location+'_'+pageVars.pageName.toLowerCase()+'_ebro_' + pageVars.vehicleDisplayName.toLowerCase().replace(' ','_'),
				properties: {
					'7':	TMSSite.getZip(),
					'46':	Market +':' + pageVars.vehicleDisplayName+':'+pageVars.pageName+':Brochure'
				},
				eventVars: 	{
						'3':	location +'_'+pageVars.pageName.toLowerCase()+'_ebro_' + pageVars.vehicleDisplayName.toLowerCase().replace(' ','_'),
						'15':	TMSSite.getZip(),
						'25':	Market +':' + pageVars.vehicleDisplayName
				}
			}
			console.log('sending omniture');
			// Sends event
			TMSSite.analytics.sendTrackingLink( oEvent );
		}); 
	});
	
	/* capture "Print Page" links for Omniture */
	$$("#legend_top a.print_page").each(function(link){
		
		Event.observe(link, "click", function(e){
			var oEvent = {
				events: 'event4,event17',
				linkTrackVars: 'events,prop7,prop46,eVar3,eVar15,eVar25',
				linkTrackEvents: 'event4,event17',
				linkTrackType: 'o',
				linkTrackName: location +'_'+pageVars.pageName.toLowerCase()+'_printpage_' + pageVars.vehicleDisplayName.toLowerCase().replace(' ','_'),
				properties: {
					'7':	TMSSite.getZip(),
					'46':	Market +':' + pageVars.vehicleDisplayName+':'+pageVars.pageName+':Print Page'
				},
				eventVars: 	{
						'3':	location +'_'+pageVars.pageName.toLowerCase()+'_printpage_' + pageVars.vehicleDisplayName.toLowerCase().replace(' ','_'),
						'15':	TMSSite.getZip(),
						'25':	Market +':' + pageVars.vehicleDisplayName
				}
			}
			console.log('sending omniture');
			// Sends event
			TMSSite.analytics.sendTrackingLink( oEvent );
		}); 
	});
	
	/* Clear form elements of default value when clicked */
	$$(".findAccesoriesForm input[type=text]").each(function(formEl) {
		var options = {};
		formEl.blur(); 
		options.maxlength = 5;
		if (formEl.hasClassName("dealer_zip_code")) {
			formEl.value = TMSSite.getZip();
			var zipform = formEl.up("form");
			if (zipform) {
				Event.observe(zipform, "submit", function(e, zip){
					if (!(/^\d{5}$/.test($F(zip)))) {
						Event.stop(e);
						TMSSite.disclaimerHotlink(TMSSite.i18n[TMSSite.lang].rootPath + "/includes/global/invalidzip.incl");
					} else if (TMSSite.lang == "es" && zipform.action.include("/byt/pub/init.do")) {
						Event.stop(e);
						TMSSite.extlink.display(zipform.action + "?" + zipform.serialize(),TMSSite.i18n[TMSSite.lang].enWarningBody,TMSSite.i18n[TMSSite.lang].enWarningTitle,"_self");
					} else {
						TMSSite.setZip($F(zip));
					}
					var oEvent = {
						events: 'event4',
						linkTrackVars: 'prop7,eVar3,events',
						linkTrackEvents: 'event4',
						linkTrackType: 'o',
						linkTrackName: 'tcom_accessories_dlraccesories_' + pageVars.vehicleDisplayName.toLowerCase().replace(' ','_'),
						properties: {
							'7':	TMSSite.getZip()
						},
						eventVars: 	{
								'3':	'tcom_accessories_dlraccesories_' + pageVars.vehicleDisplayName.toLowerCase().replace(' ','_')
						}
					}
					console.log('sending omniture dlrlcte',pageVars.vehicleDisplayName.toLowerCase().replace(' ','_'));
					// Sends event
					TMSSite.analytics.sendTrackingLink( oEvent );
				}.bindAsEventListener(zipform, formEl));
			}
		}
		TMSSite.clickClean(formEl, false, options);
	});

});
