if (!MY10) {
	var MY10 = { app: {} };
}
else if (!MY10.app) {
	MY10.app = {};
}

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 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 swfAddress path
		swfAddressPath = SWFAddress.getPath();
				
		// get url param
		shareURL = "http://www.harley-davidson.com/Content/Pages/2010_Motorcycles/en_US/";
		
		// 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];	
			shareHBX = swfAddressPath;		
		}					
		else{
			shareURL += shareURLHash["/home/NB"] + ".html";
			shareTitle = shareTitleHash["/home/NB"];
			shareDesc = shareDescHash["/home/NB"];		
			shareHBX = "/home/NB";
			shareImgUrl = "http://www.harley-davidson.com/en_US/Media/images/Apps/2010_Motorcycles/shared/";
			shareImg = shareImgUrl; 
		}				
		
		//HDSocial.hdSocialShare( target, shareUrl, title, description, thumbUrl, hbxContent, swfId, media);
		if("share_FB" == name){
			HDSocial.hdSocialShare("facebook", shareURL, shareTitle, shareDesc, "", "", "", shareHBX);				
		}
		else if("share_MS" == name){
			HDSocial.hdSocialShare("myspace", shareURL, shareTitle, shareDesc, "", "", "", shareHBX);			
		}		
		else if ("share_BL" == name) {			
			HDSocial.hdSocialShare("blogger", shareURL, shareTitle, shareDesc, "", "", "", shareHBX);
		}
		else if ("share_WP" == name) {
			HDSocial.hdSocialShare("wordpress", shareURL, shareTitle, shareDesc, "", "", "", shareHBX);
		}	
		
		
	}, // 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){
			
		}
		
		// open compare bikes
		else if("tools_CB" == name){			
			if("model" == swfResults[0])
				MY10.openCompareSpecs(swfResults[1]);
			else
				MY10.openCompareSpecs("");																
		}
		
		// estimate payments
		else if("tools_EP" == name){
			if(swfResults[1])
				MY10.openEstimatePayments(swfResults[1]);
			else
				MY10.openEstimatePayments("");
		}
		
		// 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;
			
			window.open(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 model = swfResults[1];
			var family = "";
			
			var url = "https://customizer.harley-davidson.com/GMA_customizer.jsp?";
			url += "initModelID=" + model;
			url += "&initModelYear=2010&initModelFamily=" + family;
						
			window.open(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"){
			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;
			
			window.open(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;
			}
		}
		else 
			if (localeHash[locale] == "int") {
				switch (proId) {
					case "pro1":
						window.open("http://accessories.harley-davidson.com/?locale="+locale);
						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;
					
					window.open(url,'',params);
						break;
					case "pro3":
						break;
				}
			}
		
	}, // end accessories
	
	//sidecar
	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":
			window.open ("/en_US/Content/Pages/2010_Motorcycles/cvo_history.html","cvo_history","location=0,scrollbars=0,toolbar=0,menubar=0,resizable=0,width=588,height=508");
		break;
		}
	},
	updatePromos : function(){
		var swfResults = MY10.util.getSWFAddressHash();
		proData = MY10.util.getPromos(swfResults);
		YUE.onAvailable("MY10_Promos",function(){
			if(proData[1]) {
				//YUD.get("MY10_Promos").update();
			}
		});
	}
	
};
/**
 * 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;
}
