if (!MY10) {
	var MY10 = { app: {} };
}
else if (!MY10.app) {
	MY10.app = {};
}
if (!HDSocial) {
	var HDSocial = { };
}
//fix bkg image for STAF for IE6
if(YAHOO.env.ua.ie > 0){
	if(YAHOO.env.ua.ie < 7){
		YUS('STAFtemp').set("#" + "hdStafOverlay_c", {
		    background: "transparent url(/en_US/Media/images/Apps/2010_Motorcycles/shared/my10_staf_bkg.jpg) no-repeat"
		});
	}
	else {
		YUS('STAFtemp').set("#" + "hdStafOverlay_c", {
	    background: "transparent url(/en_US/Media/images/Apps/2010_Motorcycles/shared/my10_staf_bkg.png) no-repeat"
		});
	}
}
else{
	YUS('STAFtemp').set("#" + "hdStafOverlay_c", {
	    background: "transparent url(/en_US/Media/images/Apps/2010_Motorcycles/shared/my10_staf_bkg.png) no-repeat"
	});
}

var hashCheck = {};
//FAMILIES
	hashCheck['NB'] = 'family';		
	hashCheck['SP'] = 'family';
	hashCheck['DY'] = 'family';
	hashCheck['SO'] = 'family';
	hashCheck['VR'] = 'family';
	hashCheck['TO'] = 'family';
	hashCheck['TR'] = 'family';
	hashCheck['CV'] = 'family';
//SPORTSTER
	hashCheck['XL883L'] = 'model';
	hashCheck['XL883N'] = 'model';
	hashCheck['XL1200N'] = 'model';
	hashCheck['XL1200L'] = 'model';
	hashCheck['XL1200C'] = 'model';
	hashCheck['XR1200'] = 'model';
	hashCheck['XR1200X'] = 'model';
///// DYNA
	hashCheck['FXD'] = 'model';
	hashCheck['FXDC'] = 'model';
	hashCheck['FXDB'] = 'model';
	hashCheck['FXDL'] = 'model';
	hashCheck['FXDF'] = 'model';
	hashCheck['FXDWG'] = 'model';
///// SOFTAIL
	hashCheck['FXST'] = 'model';
	hashCheck['FXSTC'] = 'model';
	hashCheck['FLSTF'] = 'model';
	hashCheck['FLSTN'] = 'model';
	hashCheck['FLSTC'] = 'model';
	hashCheck['FXCWC'] = 'model';
	hashCheck['FLSTSB'] = 'model';
	hashCheck['FLSTFB'] = 'model';
///// VRSC
	hashCheck['VRSCAW'] = 'model';
	hashCheck['VRSCDX'] = 'model';
	hashCheck['VRSCF'] = 'model';
///// TOURING
	hashCheck['FLHR'] = 'model';
	hashCheck['FLHRC'] = 'model';
	hashCheck['FLHX'] = 'model';
	hashCheck['FLTRX'] = 'model';
	hashCheck['FLHT'] = 'model';
	hashCheck['FLHTC'] = 'model';
	hashCheck['FLHTCU'] = 'model';
	hashCheck['FLHTK'] = 'model';
///// TRIKE
	hashCheck['FLHTCUTG'] = 'model';
	hashCheck['FLHXXX'] = 'model';
///// CVO
	hashCheck['FXDFSE2'] = 'model';
	hashCheck['FLSTSE'] = 'model';
	hashCheck['FLHXSE'] = 'model';
	hashCheck['FLHTCUSE5'] = 'model';

MY10.app = {
		
	/**
	 * This method will make a call to the community share API
	 * depending on which type of share was clicked
	 * 
	 * @method share
	 * @param  {String} name  name of the share widget to open	 
	 */
	share : function (name,family,model) {		
		
		var swfAddressPath = "";
		var shareURL = "";
		var shareTitle = "";
		var shareDesc = "";
		var shareStaf = "";
		var shareHBX = "";
		var shareImg = "";
		var imgFam = {};
		
		imgFam["CV"] = "cvo";
		imgFam["DY"] = "dyna";
		imgFam["SO"] = "softail";
		imgFam["SP"] = "sportster";
		imgFam["TR"] = "trike";
		imgFam["TO"] = "touring";
		imgFam["VR"] = "vrsc";		
				
		// get url param
		shareURL = "http://www.harley-davidson.com/en_US/Content/Pages/2010_Motorcycles/";
		shareImgUrl = "http://www.harley-davidson.com/en_US/Media/images/Apps/2010_Motorcycles/shared/";			
		
		// get swfAddress path		
		var swfAddressPathSplit = MY10.util.getSWFAddressHash();
		if(typeof swfAddressPathSplit[1] == "undefined" || !swfAddressPathSplit[1] || swfAddressPathSplit[1] == ""){
			swfAddressPathSplit = ['home','NB'];
		}
		swfAddressPath = "/" + swfAddressPathSplit[0] + "/" + swfAddressPathSplit[1];		
		
		// Make sure all the hash values are valid, if not we will use the default case
		if(shareURLHash[swfAddressPath] && shareTitleHash[swfAddressPath] && shareDescHash[swfAddressPath]){			
			shareURL += shareURLHash[swfAddressPath] + ".html";
			shareTitle = shareTitleHash[swfAddressPath];
			shareDesc = shareDescHash[swfAddressPath];
			shareStaf = shareStafHash[swfAddressPath];
			shareHBX = swfAddressPath;	
			
			if((selectedFamily != "" && selectedFamily != "nb") && selectedModel != "")			
				shareImg = shareImgUrl + "shr_" + selectedFamily + selectedModel + "_dom_us.jpg"; 			
			else if ((selectedFamily != "" && selectedFamily != "nb"))
				shareImg = shareImgUrl + "shr_" + familyNameHash[selectedFamily] + "_dom_us.jpg";					
			else
				shareImg = shareImgUrl + "shr_my10_dom_us.jpg";				
					
		}					
		else{			
			shareURL += shareURLHash["/home/NB"] + ".html";
			shareTitle = shareTitleHash["/home/NB"];
			shareDesc = shareDescHash["/home/NB"];
			shareStaf = shareStafHash["/home/NB"];		
			shareHBX = "/home/NB";			
			shareImg = shareImgUrl + "shr_my10_dom_us.jpg"; 
		}
		
		//hdSocialShare: function ( target, shareUrl, title, description, thumbUrl, hbxContent, swfId, campId, opt1, opt1Val, opt2, opt2Val, opt3, opt3Val );
		if("share_FB" == name){
			HDSocial.hdSocialShare("facebook", shareURL, shareTitle, shareDesc, shareImg, shareHBX, swfId);				
		}
		else if("share_MS" == name){			
			//remove "discover" and "explore" from title
			shareTitle = shareTitle.replace(/Discover /, "");
			shareTitle = shareTitle.replace(/Explore the /, "");			
			HDSocial.hdSocialShare("myspace", shareURL, shareTitle, shareDesc, shareImg, shareHBX, swfId);			
		}		
		else if ("share_BL" == name) {	
			shareTitle = shareTitle.replace(/Discover /, "");
			shareTitle = shareTitle.replace(/Explore the /, "");		
			HDSocial.hdSocialShare("blogger", shareURL, shareTitle, shareDesc, shareImg, shareHBX, swfId);
		}
		else if ("share_WP" == name) {
			shareTitle = shareTitle.replace(/Discover /, "");
			shareTitle = shareTitle.replace(/Explore the /, "");
			HDSocial.hdSocialShare("wordpress", shareURL, shareTitle, shareDesc, shareImg, shareHBX, swfId);
		}
		else if ("share_STAF" == name) {
			
			var dynText = "";
			
			dynText += "Your friend will receive an email with a link to the following page:<br/>";
			dynText += "<span style=\"font-weight: bold\">";
			dynText += shareStaf;
			dynText += "</span>";
			
			var formCopy = {
				title: "&nbsp;",
				description: " ",
				dynamic: dynText
			};
			var hbxString = '/Motorcycles/2010_Motorcycles/STAF';
			
			var meta = {
				campaignId : "hdm.656",
				param1 : "viewID",
				param1Value : swfAddressPathSplit[1],
				param2 : "msgID",
				param2Value : Math.floor(Math.random()*10000000001)
			};	
			var overlaySize = {
				h: 310,
				w: 484
			}
			var isDefault = false;
			
			HDSTAF.showForm(formCopy,hbxString,meta,overlaySize,isDefault);
		}
		
		
	}, // end share
	
	/**
	 * This method will be called by the flash tools menu
	 * 
	 * @method tools
	 * @param  {String} name  name of the tool	 
	 */
	tools : function (name, args) {
				
		// get the SWF address hash value
		var swfResults = MY10.util.getSWFAddressHash();
		
		// download brochure
		if("tools_DB" == name){
			
		}
		// plan your budget
		else if("tools_PYB" == name){		
			var params = "";
			params += "width=616,";
			params += "height=500,";
			params += "scrollbars=yes,";
			params += "resizable=yes,";
			params += "toolbar=no,";
			params += "location=no,";
			params += "menubar=no,";
			params += "directories=no,";
			params += "status=no";		
						
			var url = "http://www.harley-davidson.com/PR/MOT/NUMS/en/budgetplanner.asp?locale=" + locale + "&bmLocale=" + locale;			
			
			MY10.util.pageLink(url, '', params);				
		}
		
		// customize your own
		else if("tools_CYO" == name){
			var params = "";
			params += "width=738,";
			params += "height=546,";
			params += "scrollbars=no,";
			params += "resizable=no,";
			params += "toolbar=no,";
			params += "location=no,";
			params += "menubar=no,";
			params += "directories=no,";
			params += "status=no";
			
			var swfResults = MY10.util.getSWFAddressHash();
			
			var aFamily = new Array();
			aFamily = [{code:'SP', name:'Sportster'},
			{code:'DY', name:'Dyna'},
			{code:'SO', name:'Softail'},
			{code:'VR', name:'VRSC'},
			{code:'TO', name:'Touring'},
			{code:'TR', name:'Trike'},
			{code:'CV', name:'CVO'}]
			
			var aModelFamily = new Array();
			aModelFamily = [{model:'flhr', family:'Touring'},
			{model:'flhrc', family:'Touring'},
			{model:'flhx', family:'Touring'},
			{model:'fltrx', family:'Touring'},
			{model:'flhtc', family:'Touring'},
			{model:'flhtcu', family:'Touring'},
			{model:'flhtcuse5', family:'Touring'},
			{model:'flhtk', family:'Touring'},
			{model:'flhtcutg', family:'Touring'},
			{model:'flhxxx', family:'Touring'},
			{model:'flhxse', family:'Touring'},
			{model:'flhtcuse', family:'Touring'},
			{model:'vrscaw', family:'VRSC'},
			{model:'vrscdx', family:'VRSC'},
			{model:'vrscf', family:'VRSC'},
			{model:'fxstc', family:'Softail'},
			{model:'flstf', family:'Softail'},
			{model:'flstn', family:'Softail'},
			{model:'flstc', family:'Softail'},
			{model:'flstse', family:'Softail'},
			{model:'fxcwc', family:'Softail'},
			{model:'flstsb', family:'Softail'},
			{model:'flstfb', family:'Softail'},
			{model:'fxd', family:'Dyna'},
			{model:'fxdc', family:'Dyna'},
			{model:'fxdb', family:'Dyna'},
			{model:'fxdf', family:'Dyna'},
			{model:'fxdfse', family:'Dyna'},
			{model:'fxdfse2', family:'Dyna'},
			{model:'fxdwg', family:'Dyna'},
			{model:'xl883l', family:'Sportster'},
			{model:'xl883n', family:'Sportster'},
			{model:'xl1200n', family:'Sportster'},
			{model:'xl1200l', family:'Sportster'},
			{model:'xl1200c', family:'Sportster'},
			{model:'xr1200', family:'Sportster'}];
			
			var aNotInCustomizer = new Array();
			aNotInCustomizer = ['fxdfse', 'flstse', 'flhxse', 'flhtcuse', 'flhxxx', 'flstfb', 'fxdwg'];
			
			var fm = "";
			var md = "";
			var family = "";
			var model = "";
			var bNotInCustomizer = false;
			
			if(swfResults[0] == 'family'){fm = swfResults[1]};
			
			for(var a = 0; a < aFamily.length; a++){
				if(fm == aFamily[a].code){
					family = aFamily[a].name;
					MY10.selectedFamily = family;
					MY10.selectedModel = "";
				}
			}
			
			if(swfResults[0] == 'model'){
				md = swfResults[1];
				for(var d = 0; d < aNotInCustomizer.length; d++){
					if(aNotInCustomizer[d] == md){
						model = MY10.selectedModel = "";
						bNotInCustomizer = true;
					}
					else
						model = MY10.selectedModel = md;
				}
				for(var c = 0; c < aModelFamily.length; c++){
					if(aModelFamily[c].model == md){
						MY10.selectedFamily = family = aModelFamily[c].family;
					}
				}
			}
			if((MY10.selectedModel == undefined) || (MY10.selectedModel == null) || (MY10.selectedModel == "") || (bNotInCustomizer))
				MY10.selectedModel = "";
			if((MY10.selectedFamily == undefined) || (MY10.selectedFamily == null) || (MY10.selectedFamily == ""))
				MY10.selectedFamily = "";
			
			var url = "https://customizer.harley-davidson.com/GMA_customizer.jsp?";
			url += "initModelID=" + MY10.selectedModel;
			url += "&initModelYear=2010&initModelFamily=" + MY10.selectedFamily;
			
			MY10.util.pageLink(url, '', params);				
		}
		
		// learn to ride
		else if("tools_LTR" == name){			
			window.location = "/wcm/Content/Pages/Get_On_A_Bike/Learn_To_Ride/learn_to_ride.jsp?locale=" + locale;
		}
			
		// open printable specs
		else if("tools_PRT" == name){
			if(swfResults[1] && language && market && market_type)
				MY10.openPrintableSpecs(swfResults[1], language, market, market_type);				
		}
		else if("pro_customSeat" == name){
			var params = "";
			params += "width=880,";
			params += "height=580,";
			params += "scrollbars=no,";
			params += "resizable=no,";
			params += "toolbar=no,";
			params += "location=no,";
			params += "menubar=no,";
			params += "directories=no,";
			params += "status=no";
			
			var url = "http://www.harley-davidson.com/wcm/Content/Pages/External/HD/Accessories_and_Apparel/custom_seat_Popup_app.jsp?locale=" + locale;
			
			MY10.util.pageLink(url, '', params);			
		}
		// brochure links
		else if("tools_BRO" == name){		
			var params = "";
			params += "scrollbars=yes,";
			params += "resizable=yes,";
			params += "toolbar=no,";
			params += "location=no,";
			params += "menubar=no,";
			params += "directories=no,";
			params += "status=no";		
			
			var filename = "tls_" + MY10.util.getSWFAddressHash()[1] + "_def_dom_bro.pdf";
			
			var url = "/en_US/Media/images/Apps/2010_Motorcycles/pdf/brochure/" + filename +  "?locale=" + locale + "&bmLocale=" + locale;			
			
			MY10.util.pageLink(url, '', params);				
		}
		
	},// end tools
	
		
	/**
	 * accessories opens links out of the accessories section
	 * @method
	 * @param proid {String} Id of the promo to open
	 */
	accessories: function(proId){
		
		var swfResults = MY10.util.getSWFAddressHash();
		var browseCat = "http://www.harley-davidson.com/browse/browse_categories.jsp? ";

		//links for GMA for each model hash
		var gmaLink = new Object();
		gmaLink["FLHR"] = "asst=fitment/fitment/4219_FLHR_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHTC"] = "asst=fitment/fitment/4220_FLHTC_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHTCU"] = "asst=fitment/fitment/4221_FLHTCU_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHX"] = "asst=fitment/fitment/4216_FLHX_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLSTC"] = "asst=fitment/fitment/4226_FLSTC_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLSTF"] = "asst=fitment/fitment/4227_FLSTF_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLSTN"] = "asst=fitment/fitment/4228_FLSTN_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FXD"] = "asst=fitment/fitment/4217_FXD_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FXDB"] = "asst=fitment/fitment/4218_FXDB_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FXDC"] = "asst=fitment/fitment/4213_FXDC_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FXDWG"] = "asst=fitment/fitment/4214_FXDWG_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FXSTC"] = "asst=fitment/fitment/4223_FXSTC_2010&locale=en_US&bmLocale=en_US";
		gmaLink["XL1200C"] = "asst=fitment/fitment/4200_XL1200C_2010&locale=en_US&bmLocale=en_US";
		gmaLink["XL883L"] = "asst=fitment/fitment/4204_XL883L_2010&locale=en_US&bmLocale=en_US";
		gmaLink["XL1200L"] = "asst=fitment/fitment/4199_XL1200L_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHRC"] = "asst=fitment/fitment/4215_FLHRC_2010&locale=en_US&bmLocale=en_US";
		gmaLink["VRSCAW"] = "asst=fitment/fitment/4205_VRSCAW_2010&locale=en_US&bmLocale=en_US";
		gmaLink["VRSCDX"] = "asst=fitment/fitment/4206_VRSCDX_2010&locale=en_US&bmLocale=en_US";
		gmaLink["XL1200N"] = "asst=fitment/fitment/4201_XL1200N_2010&locale=en_US&bmLocale=en_US";
		gmaLink["XL1200N"] = "asst=fitment/fitment/4201_XL1200N_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FXDF"] = "asst=fitment/fitment/4210_FXDF_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FXCWC"] = "asst=fitment/fitment/4224_FXCWC_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLSTSB"] = "asst=fitment/fitment/4225_FLSTSB_2010&locale=en_US&bmLocale=en_US";
		gmaLink["VRSCF"] = "asst=fitment/fitment/4207_VRSCF_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHTCUTG"] = "asst=fitment/fitment/4208_FLHTCUTG_2010&locale=en_US&bmLocale=en_US";
		gmaLink["XR1200"] = "asst=fitment/fitment/4202_XR1200_2010&locale=en_US&bmLocale=en_US";
		gmaLink["XL883N"] = "asst=fitment/fitment/4203_XL883N_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLSTSE"] = "asst=fitment/fitment/4232_FLSTSE_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLSTFB"] = "asst=fitment/fitment/4222_FLSTFB_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLTRX"] = "asst=fitment/fitment/4211_FLTRX_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHTK"] = "asst=fitment/fitment/4212_FLHTK_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHXSE"] = "asst=fitment/fitment/4229_FLHXSE_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHXXX"] = "asst=fitment/fitment/4209_FLHXXX_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FXDFSE2"] = "asst=fitment/fitment/4230_FXDFSE2_2010&locale=en_US&bmLocale=en_US";
		gmaLink["FLHTCUSE5"] = "asst=fitment/fitment/4231_FLHTCUSE5_2010&locale=en_US&bmLocale=en_US";
		
		//check market, then switch per pro passed
		if (localeHash[locale] == "dom") {
			switch (proId) {
				case "pro1":
					MY10.app.tools("tools_CYO");
					break;
				case "pro2":
					if ("model" == swfResults[0]) {
						model = swfResults[1].toUpperCase();
						url = browseCat += gmaLink[model];
						document.location.href = url;
					}
					break;
					
				case "pro3":
					document.location.href = "http://www.harley-davidson.com/wcm/Content/Pages/Genuine_Motor_Accessories/Customize_Fit_Landing.jsp?locale=en_US&locale=en_US&bmLocale=en_US ";
					break;
				case "pro4":
					document.location.href = "http://www.harley-davidson.com/wcm/Content/Pages/Racing/screamin_eagle_parts.jsp?locale=en_US&bmLocale=en_US";
					break;
			}
		}
		else 
			if (localeHash[locale] == "int") {
				switch (proId) {
					case "pro1":						
						var url = "http://accessories.harley-davidson.com/?locale=" + locale;
						MY10.util.pageLink(url);
						break;
					case "pro2":
					var params = "";
					params += "width=880,";
					params += "height=580,";
					params += "scrollbars=no,";
					params += "resizable=no,";
					params += "toolbar=no,";
					params += "location=no,";
					params += "menubar=no,";
					params += "directories=no,";
					params += "status=no";
					
					var url = "http://www.harley-davidson.com/wcm/Content/Pages/External/HD/Accessories_and_Apparel/custom_seat_Popup_app.jsp?locale=" + locale;					
					MY10.util.pageLink(url,'',params);					
						break;
					case "pro3":
						break;
				}
			}
		
	}, // end accessories
	
	/**
	 * This method will open the the wallpaper html file and pass the appropriate
	 * url parameters to it.
	 * 
	 * @param wallType - which type of wallpaper (photo gallery = "pg") (paint/wheels = "pnw")
	 * @param wallFamily - model family (ex: sp)
	 * @param wallModel â€“ model (ex: xl883)
	 * @param pgOption - which kind of photo gallery (angle back = "ab") (right = "r") (beauty still = "bs") (gma = "gma")
	 * @param pnwColor - paint and wheel color (ex: c01)
	 * @param pnwWheel - paint and wheel wheel option (ex: w01)
	 * @param size - wallpaper size ("w1024") or ("w1280")
	 */	
	wallpaper: function(wallType, wallFamily, wallModel, pgOption, pnwColor, pnwWheel, size, mrkGroup){		
			
		// create window params
		var params = "";
		params += "width=800,";
		params += "height=600,";
		params += "scrollbars=yes,";
		params += "resizable=yes,";
		params += "toolbar=no,";
		params += "location=no,";
		params += "menubar=no,";
		params += "directories=no,";
		params += "status=no"; 
		
		
		// create the url + url params
		var url = "/en_US/Media/data/Apps/2010_Motorcycles/html/wallpaper/2010_wallpaper.htm?";		
		var urlParams = "";
		urlParams += "locale=" + locale;	
		urlParams += "&marketGroup=" + mrkGroup;
		urlParams += "&type=" + wallType;
		urlParams += "&family=" + wallFamily;
		urlParams += "&model=" + wallModel;
		urlParams += "&pgOption=" + pgOption;
		urlParams += "&pnwColor=" + pnwColor;
		urlParams += "&pnwWheel=" + pnwWheel;
		urlParams += "&size=" + size;		
		
		// add the url params to the url		
		url += urlParams;
	
		// open the window
		MY10.util.pageLink(url, '', params);	
		
		// HBX
		HD.util.Analytics.track(MY10.hbx.track.wallpaper(wallType, wallFamily, wallModel, pgOption, pnwColor, pnwWheel, size));
	},
	
	//sidecar METHOD DEPRACATED IN FAVOR OF handleStateChange
	sidecar: function(sidecarID){
		switch (sidecarID) {
			case "f98":
				MY10.openSideCar("tle");
				break;
			case "f99":
				MY10.openSideCar();
				break;
		}  
	},
	
	link : function (p1,p2,p3){
		switch(p1){
		case "lnk_cvoHist":		
			MY10.util.pageLink("/en_US/Content/Pages/2010_Motorcycles/cvo_history.html", "", "location=0,scrollbars=0,toolbar=0,menubar=0,resizable=0,width=588,height=508");
		break;
		}
	},
	get : function (el) {
		if (YAHOO.env.ua.ie > 0) {
				var origText = document.getElementById(el).innerHTML;
				var exp = /(\w+[a-zA-Z]+=[^'"><\s]+)/mg;
				
				try{
					result = origText.replace(exp,function(e){
						var newStr = e.split('=');
						//console.log(newStr);
						var strAttribute = newStr[0] + '="' + newStr[1] + '"';
						return strAttribute;
					});
					var exp2 = /(<\w*[^\s])/mig;
					result2 = result.replace(exp2,function(e){
						var le = e.toLowerCase();
						return le;						
					});
					
					var exp3 = /(<\/\w+>)/mig;
					result3 = result2.replace(exp3,function(e){
						var le = e.toLowerCase();
						return le;						
					});
					
					 var exp4 = /<img[^<]+?>/mig;
					 result4 = result3.replace( exp4, "$&</img>" );										
				}
				catch(e){
					//console.log(e);
				}
				return result4;
		}
		else if(YAHOO.env.ua.opera > 0){
			//lower case tags for opera
					var origTextb = document.getElementById(el).innerHTML;
					
					//lower case open tags
					var expb = /(<\w*[^\s])/mig;
					resultb = origTextb.replace(expb,function(e){
						var le = e.toLowerCase();
						return le;						
					});
					
					//lower case close tags
					var exp2b = /(<\/\w+>)/mig;
					result2b = resultb.replace(exp2b,function(e){
						var le = e.toLowerCase();
						return le;						
					});
					var exp3b = /<img[^<]+?>/mig;
					result3b = result2b.replace( exp3b, "$&</img>" );
				
					return result3b;
			
		}
		else {
			
			var origTextc = document.getElementById(el).innerHTML;
			var exp4c = /<img[^<]+?>/mig;
			resultc = origTextc.replace( exp4c, "$&</img>" );
			return resultc;
		}
	},
	
	getLink : function (index,view,xPos,yPos){
		
		var name = linkArray[index].name;
		var href = linkArray[index].href;
		var onclick = linkArray[index].onclick;
		var target = linkArray[index].target;

		var pageName;
		var arrPathname = location.pathname.split(/\//); 
		pageName = arrPathname[arrPathname.length-1].replace(/\.html/, "");				

		var eSpotComponent; 
		eSpotComponent = linkArray[index].section;

		var linkString = name;		
		
		var strTracking = pageName + "|" + eSpotComponent + "|" + linkString + "|" + index + "|isFlash=" + isFlashActive;
		_hbLink(strTracking); 

		script = /javascript/;
		tgt = /_blank/;
		
		switch(script.test(href)){
			case true:
				onclick();
			break;
			
			case false:
				switch(tgt.test(target)){
					case true:
						window.open(href);
					break;
					case false:
						document.location = href;
					break;
				}
			break;
		}
		
	},
	
	updatePromos : function(){
		var swfResults = MY10.util.getSWFAddressHash();
		proData = MY10.util.getPromos(swfResults);
		YUE.onAvailable("MY10_Promos",function(){
			if(proData[1]) {
				try {
					swfobject.getObjectById("MY10_Promos").update();
				}
				catch(e){
					
				}
			}
		});
	},
	
	varSet : function(family, model){				
		selectedFamily = family;
		selectedModel  = model;		
	},
	handleStateChange : function(){
		var curPath = SWFAddress.getPathNames();
		//console.log(curPath);
		var swfView;
		var swfId;
		var swfMeta;
		
		//set up variables to correspond to internal flash semantics
		if(typeof curPath[0] == 'undefined'){
			swfView = "";
		}
		else{
			swfView = curPath[0].toLowerCase();
		}
		
		if(typeof curPath[1] == 'undefined'){
			swfId = "";
		}
		else{
			swfId = curPath[1].toLowerCase();
		}
		
		if(typeof curPath[2] == 'undefined'){
			swfMeta = "";
		}
		else{
			swfMeta = curPath[2].toLowerCase();
		}
		
		//redisplay main MY10 swf
		var initMy10 = function (){
			
			var redisplay = function(){
				YUD.setStyle('my10_wrapper','display','block');
				YUD.get(my10Wrapper).innerHTML = "<div id=\"" + my10Container + "\"></div>";
				MY10.initFlash(my10Container, locale);
				SWFAddress.setId(idMy10);
				pageView = "MY10-main";
			}
			
			switch(pageView){
				case "MY10-main":
				break;
				case "MY10-finder":
					SWFAddress.removeId(idFinder);
					swfobject.removeSWF(idFinder);
					redisplay();
					YUD.get(finderWrapper).innerHTML = "<div id=\"" + finderContainer + "\"></div>";
				break;
				case "MY10-compare":
					MY10.closeCompareSpecs();
					redisplay();
				break;
				case "MY10-estimate":
					MY10.closeEstimatePayments();
					redisplay();
				break;
				case "MY10-sidecar":
					MY10.closeSideCar();
					redisplay();
				break;
			}
		}
		
		//removes the MY10 swfobject
		var removeMy10 = function (){
			YUD.setStyle('my10_wrapper','display','none');
			SWFAddress.removeId(idMy10);
			swfobject.removeSWF(idMy10);
		}
		
		//respond to different view states
		switch(swfView){
			
			case "mydreamharley":
				/**
				//test for launch path
				if(swfMeta == "launch"){
					switch(pageView){
						case "MY10-main":
							removeMy10();
							MY10.initFinder();
						break;
						case "MY10-finder":
							//reset hash to the first page of the finder					
							SWFAddress.setValue('/riding');
						break;
					}
				}
				//if no launch path, redisplay the my10 app. assumes landing page is desired location
				else if (pageView != "MY10-main"){
					initMy10();
				}*/
				if (pageView != "MY10-main") {
					initMy10();
				}
			break;
			case "tools":
				//test 1st position param for tool type
				switch(swfId){
					case "tools_cb":
						//test to see if a valid model ID is being passed in the 2nd position
						if (hashCheck[swfMeta.toUpperCase()] == 'model') {
							removeMy10();
							MY10.openCompareSpecs(swfMeta);
						}
						else{
							removeMy10();
							MY10.openCompareSpecs('');
						}
						//set page view to compare specs
						pageView = "MY10-compare";
					break;
					case "tools_ep":
						//test to see if a valid model ID is being passed in the 2nd position
						if (hashCheck[swfMeta.toUpperCase()] == 'model') {
							removeMy10();
							MY10.openEstimatePayments(swfMeta);
						}
						else{
							removeMy10();
							MY10.openEstimatePayments('');
						}
						//set page view to estimate payments
						pageView = "MY10-estimate";
					break;
					case "sidecar":
						//test 2nd position for which sidecar to display
						switch (swfMeta) {
							case "f98":
								removeMy10();
								MY10.openSideCar("tle");
								break;
							case "f99":
								removeMy10();
								MY10.openSideCar();
								break;
						}
						//set page view to sidecar
						pageView = "MY10-sidecar";
					break;
				}
			break;
			//catch home view deep link
			case "home":
				initMy10();
			break;
			//catch model view deep link
			case "model":
				initMy10();
			break;
			//catch family view deep link
			case "family":
				initMy10();
			break;
			//reinit if no hash is present
			case "":
				initMy10();
			break;
			
			//catch bike finder params in position 0 when finder isn't visible (kills bad deep links)
			case "riding":
				if (pageView != "MY10-finder") {
					removeMy10();
					MY10.initFinder();
				}
			break;
			case "looking":
				if (pageView != "MY10-finder") {
					removeMy10();
					MY10.initFinder();
				}
			break;
			case "experience":
				if (pageView != "MY10-finder") {
					removeMy10();
					MY10.initFinder();
				}
			break;
			case "helmet":
				if (pageView != "MY10-finder") {
					removeMy10();
					MY10.initFinder();
				}
			break;
			case "height":
				if (pageView != "MY10-finder") {
					removeMy10();
					MY10.initFinder();
				}
			break;
			case "position":
				if (pageView != "MY10-finder") {
					removeMy10();
					MY10.initFinder();
				}
			break;
			case "budget":
				if (pageView != "MY10-finder") {
					removeMy10();
					MY10.initFinder();
				}
			break;
			//deep link to results view if finder isn't visible
			case "results":
				if (pageView != "MY10-finder") {
					removeMy10();
					MY10.initFinder();
				}
			break;									
		}
		//update the promo filmstrip
		MY10.app.updatePromos();
	}
};
/**
 * This method responds to in-page promo flash request for promo information. 
 * @method getPromos
 * @return {Object}
 */
function getPromos(){
	var swfResults = MY10.util.getSWFAddressHash();
	
	var proData;
	var promos;
	
	proData = MY10.util.getPromos(swfResults);
			
	promos = proData[0];
	
	return promos;
}


/** Community overwrites for social share **/
HDSocial.hdBlogShare = function( shareUrl, title, description, thumbUrl, hbxContent, swfId, target, media ){
	var bor ='0';
	var ref = shareUrl;
	var tar ='_blank';
	var s = '8';
	var alt = title.replace(/['"]/g,'');
	var a = 'left';
	var p = thumbUrl;
	var U = '';
	var T =  title;

	var i = '<div id="HDSocialBlogPost">';
	i += '<div class="dblRuleBtm">';
	i += '  <div class="head">POST TO YOUR BLOG</div>';
	i += '</div>';
	i += '<div class="hdwcMedPadBtm">';
	i += '<div id="hdwcInstructions">Copy and paste the embed code below and post it to your blog:</div>';
	i += '</div>';
	i += '<div id="hdwcBody" class="wrap">';
	i += '<div class="htmlEmbedCode hdwcSmlPadBtm">';
	i += '<h2>Embed Code</h2>';
	i += '<textarea name="copyText" id="copyText" >';
	i += '<a href="'+ref+'" target="'+tar+'"><img src="'+p+'" align="'+a+'" alt="'+alt+'" hspace="'+s+'" border="'+bor+'"/></a>';
	i += description + '<br/>Check it out at <a href="' + ref + '" target="' + tar + '">' + T + '</a>';
	i += '</textarea>';
	i += '</div>';
	i += '<div class="btnOrange"><a href="javascript: void(0);" id="hdSocial-closebtn">Close</a></div>';
	i += '</div>';
	i += '</div>';		

	HDSocial.showOverlay( i, T, 586, 254, false);
	
	//hbx
	if (this.hasAnalytics()) {
		if (target == 'wordpress') {
			HD.util.Analytics.track(this.analyticsWordpressString(media));
		}
		else if (target == 'blogger') {
			HD.util.Analytics.track(this.analyticsBloggerString(media));
		}	
	}
	else {
		_hbPageView(target || 'Blog', hbxContent);
	}	
};

HDSocial.pageLink = function(pageUrl, windowName, winProperties, swfId) {
	MY10.util.pageLink(pageUrl,windowName,winProperties);
};

/**
 * ELEVATION UTILITY FUNCTIONS
 */

/* these functions are in use and have been modified */
function navToModelPage(id) {
	//console.log('navToModelPage ::',id);
	SWFAddress.removeId(idFinder);
	strPath = '/model/' + id;
	SWFAddress.setValue(strPath);
}
function navToAllModelPage() {
	//alert( "navToAllModelPage" );
	//console.log('::navToAllModelPage');
	SWFAddress.removeId(idFinder);
	SWFAddress.setValue('/home/NB');
}
function navToClose() {
	//alert("close");
	//console.log('::navToClose');
	SWFAddress.removeId(idFinder);
	SWFAddress.setValue('/home/NB');
}

/*below methods are for reference or to prevent app requests failing. These are not verified in-use */
function toggleVisible(obj, bolWhich) {
	var el = document.getElementById(obj);
	el.style.visibility = (!bolWhich ? 'hidden' : 'visible' );
}
function toggleVisibleDisplay(obj, bolWhich) {
	var el = document.getElementById(obj);
	el.style.display = (!bolWhich ? 'none' : '' );
}
	
var isBikeFinderActive = false;

function toggleBikeFinderApp(){
	isBikeFinderActive = !isBikeFinderActive;
	toggleVisible("flash_BikeFinderAppWrapper", isBikeFinderActive);
	var flashdivWrapper = document.getElementById("flash_BikeFinderAppWrapper");
	
	var appWrapper = document.getElementById("flash_BikeFinderApp_outer");
	if (isBikeFinderActive){
		if (appWrapper){
			flashdivWrapper.removeChild(appWrapper);
		}
		var newdiv_outer = document.createElement("div");
		newdiv_outer.setAttribute('id',"flash_BikeFinderApp_outer");
		newdiv_outer.innerHTML = "";
		
		
		var newdiv2 = document.createElement("div");
		newdiv2.setAttribute('id',"flash_BikeFinderApp");
		newdiv2.innerHTML = "";
		newdiv_outer.appendChild(newdiv2);
		flashdivWrapper.appendChild(newdiv_outer);
		embedBikeFinder();
	}else{
		appWrapper = document.getElementById("flash_BikeFinderApp_outer");
		appWrapper.innerHTML = "";
		cleanWindowLocation();
	}
}

function thisMovie(movieName) {
     if (navigator.appName.indexOf("Microsoft") != -1) {
         return window[movieName];
     } else {
         return document[movieName];
     }
 }

function cleanWindowLocation(){
	var cur = window.location.href.toString();
	var index = cur.indexOf("#");
	if (index > -1){
		cur = cur.substring(0, index+1)
		window.location.href = cur;
	}
}

function navToQuiz(){
	alert("go to quiz");
	//window.location = "quiz.html";
}
function navToIntro(){
	alert("go to index.html");
}
function trackTest( arg1, arg2, arg3){
	var mesg = arg1 + "\n" + arg2 + "\n" + arg3;
	alert( "trackTest:\n" + mesg );
}
function killview(){
	var flashmovie = document.getElementById("flashcontent");
	flashmovie.fadeOutView();
}