/**
 * API contains set of functions used by fitorfat.aspx page
 * @author shant.adam@mxcgi.com
 */
var fitOrFatBmiJsAPI = function()
{
	/* -------------------- PRIVATE METHODS AND VARIABLES -------------------- */ 
	

	// --------------------------- Globals -----------------------------// 
	
	var ALTERNATIVE_CONTENT_STR = '<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>' 
									+ '<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>';
	var rootPath = "../";
	var rootContext = "";
	var commonAssetsDirectoryName = "fitorfat_bmi_page_assets";
	var COMMON_ASSETS_PATH_STR = rootPath + rootContext + commonAssetsDirectoryName;
	
	var swfMovieStr;
	var swfIdStr;
	var swfIdStr;
	var swfExpressinstallStr;
	var swfWidthStr;
	var swfHeightStr;
	var swfVersionStr;
	var swfAllowScriptAccessStr;
	var swfAllowNetworking;
	var swfWModeStr;
	var swfQualityStr;
	var swfFlashVarsStr='';

	var swfFlashVarsObj;
	var paramsObj;
	var attributesObj;
	
	// Major version of Flash Player
	var requiredMajorVersion = 9;
	// Minor version of Flash Player
	var requiredMinorVersion = 0;
	// Revision of Flash Player
	var requiredBuild = 115;
	// Build of Flash Player
	var requiredRevision = 0;
	
	var hasRightVersion;
	
	function generateSwfObj_swfObject(swfMovieStr, swfDivIdStr, swfWidthStr, swfHeightStr, swfVersionStr, swfExpressinstallStr, swfFlashVarsObj, paramsObj, attributesObj, hasRightVersion)
	{
		if(hasRightVersion) 
		{  
			swfobject.embedSWF((swfMovieStr), swfDivIdStr, swfWidthStr, swfHeightStr, swfVersionStr, swfExpressinstallStr, swfFlashVarsObj, paramsObj, attributesObj);
		} 
		else 
		{  
			// flash is too old or we can't detect the plugin
			document.write(ALTERNATIVE_CONTENT_STR); 
		}
	}
	
	function generateSwfObj_ACRunActiveContent(swfIdStr, swfMovieStr, swfWidthStr, swfHeightStr, swfWModeStr, swfAllowScriptAccessStr, swfAllowNetworking, swfFlashVarsObj, hasRightVersion)
	{
		if(hasRightVersion) 
		{  
			// serialize flashVars object to string
			if(swfFlashVarsObj)
			{
				var countNum = 0;
				for (var varItem in swfFlashVarsObj)
				{
					swfFlashVarsStr += varItem + '=' + swfFlashVarsObj[varItem] + '&';
				}
			}
			// if we've detected an acceptable version
			// embed the flash movie
			AC_FL_RunContent(
				'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + swfVersionStr,
				'width', swfWidthStr,
				'height', swfHeightStr,
				'src', swfMovieStr,
				'quality', 'high',
				'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
				'align', 'left',
				'play', 'true',
				'loop', 'true',
				'scale', 'noscale',
				'wmode', swfWModeStr,
				'devicefont', 'false',
				'id', swfIdStr,
				'bgcolor', '#ffffff',
				'name', swfIdStr,
				'menu', 'true',
				'allowScriptAccess',swfAllowScriptAccessStr,
				'allowNetworking',swfAllowNetworking,
				'allowFullScreen','false',
				'movie', swfMovieStr,
				'salign', 'lt',
				'flashvars', swfFlashVarsStr 
				); //end AC code
		} 
		else 
		{  
			// flash is too old or we can't detect the plugin
			document.write(ALTERNATIVE_CONTENT_STR); 
		}
	}
	
	/* -------------------- PUBLIC METHODS AND VARIABLES -------------------- */ 
	
	return {
		
		/* 
		 * method helper to generate SWF objects on page
		 * @param	parametersObj
		 * @author shant.adam@mxcgi.com
		 */
		generateFlashMedia: function(parametersObj)
		{
			swfMovieStr = parametersObj.flashAssetsPathStr + parametersObj.swfMovieStr;
			swfWidthStr = parametersObj.swfWidthStr;
			swfHeightStr = parametersObj.swfHeightStr;
			swfIdStr = parametersObj.swfIdStr;
			swfFlashVarsObj = parametersObj.swfFlashVarsObj;
			swfWModeStr = 'window';
			swfDivIdStr = parametersObj.swfDivIdStr;
			swfExpressinstallStr = parametersObj.flashAssetsPathStr + parametersObj.swfExpressinstallStr;
			swfVersionStr = requiredMajorVersion + ',' + requiredMinorVersion + ',' + requiredBuild + ',' + requiredRevision;
			swfAllowScriptAccessStr = 'always';
			swfAllowNetworking = 'all';
			swfQualityStr = 'high';

			paramsObj = new Object();
			paramsObj.wmode = swfWModeStr;
			paramsObj.allowScriptAccess = swfAllowScriptAccessStr;
			paramsObj.allowNetworking = swfAllowNetworking;
			paramsObj.quality = swfQualityStr;

			attributesObj = new Object();
			attributesObj.title = swfIdStr;
			
			hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredBuild);
			
			generateSwfObj_swfObject(swfMovieStr, swfDivIdStr, swfWidthStr, swfHeightStr, swfVersionStr, swfExpressinstallStr, swfFlashVarsObj, paramsObj, attributesObj, hasRightVersion);
			//generateSwfObj_ACRunActiveContent(swfIdStr, swfMovieStr, swfWidthStr, swfHeightStr, swfWModeStr, swfAllowScriptAccessStr, swfAllowNetworking, swfFlashVarsObj, hasRightVersion);
		}
	};
}();
