// JScript File
// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

var gid = 1;
var gidBS = 1;
var gidBar = 1;
var qtsid = 1;
var gCid = 1;
var gidPro = 1;

var pszChartPath="";

var prefix = window.parent.document.location.protocol.toLowerCase();
if (prefix=="https:")
{
    pszChartPath="https://findata.advinion.com/webtools/";
}
else
{
    pszChartPath="http://chart.advinion.com/";    
}

// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 10;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 0;
// -----------------------------------------------------------------------------
// -->

// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
var hasProductInstall = DetectFlashVer(6, 0, 65);

// Version check based upon the values defined in globals
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

//alert(hasProductInstall);

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
    var str = '';
    if (isIE && isWin && !isOpera)
    {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		str += '>';
  		for (var i in params)
  			str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '</object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }
    document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf?sid=A12052010c", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "id":
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

/*
    strSymbol = The quote symbol
    strKey = Unique customer key (GUID)
    strWidth = Width (e.g. "200px"), where default, if null is "300px"
    strHeight = Height (e.g. "200px"), where default, if null is "300px"
    strURL = URL to open on click
    blnWMode = if true then enable transparency (WMode) otherwise this mode is off.
    blnExtendedRTFeed = 
    strLang  = Language resource code: he=hebrew en=english etc...
    iNumBars = Number of bars to get from server
    iNumViewableBars = Number of bars to display: X<=0 All X>0 zoom in on last X bars
    

*/
function CreateAdvinionProfessionalChart(strSymbol,strKey,strWidth,strHeight,strURL,blnWMode,blnExtendedRTFeed,strLang,iNumBars,iNumViewableBars,strAdminName,strUserID,strUserName,strPassword)
{
    var strGraphID="VistgoFXTA"+gid;
    gid++;
    
    if (strWidth==null) strWidth="300px";
    if (strHeight==null) strHeight="300px";
    if (blnExtendedRTFeed==null) blnExtendedRTFeed="0";
    if (iNumBars==null) iNumBars=150;
    if (iNumViewableBars==null) iNumViewableBars=0;
    
    if (strAdminName==null) strAdminName="ForexPros";
    if (strAdminName=="") strAdminName="ForexPros";
    if (strUserID==null) strUserID="";
    if (strUserName==null) strUserName="";
    if (strPassword==null) strPassword="";
    
    if ( hasProductInstall && !hasRequestedVersion ) 
    {
        // DO NOT MODIFY THE FOLLOWING FOUR LINES
        // Location visited after installation is complete if installation is required
        var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
        var MMredirectURL = window.location;
        document.title = document.title.slice(0, 47) + " - Flash Player Installation";
        var MMdoctitle = document.title;

        AC_FL_RunContent(
            "src", pszChartPath+"playerProductInstall",
            "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
            "width", "100%",
            "height", "100%",
            "align", "middle",
            "id", strGraphID,
            "quality", "high",
            "bgcolor", "#B7D2FF",
            "name", strGraphID,
            "allowScriptAccess","sameDomain",
            "type", "application/x-shockwave-flash",
            "pluginspage", "http://www.adobe.com/go/getflashplayer");
    } 
    else if (hasRequestedVersion) 
    {
        // if we've detected an acceptable version
        // embed the Flash Content SWF when all tests are passed
        if (blnWMode==true)
        {
            AC_FL_RunContent(
	            "src", pszChartPath+"AdvinionProfessionalChart",
	            "width", strWidth,//"300px",
	            "height", strHeight,//"300px",
	            "align", "middle",
	            "id", strGraphID,
	            "quality", "high",
	            "bgcolor", "#FFFFFF",
	            "wmode", "transparent",
	            "name", strGraphID,
	            //"allowScriptAccess","sameDomain",
	            "allowScriptAccess","always",
	            "type", "application/x-shockwave-flash",
	            "flashvars",("AdminName="+strAdminName+"&UserID="+strUserID+"&UserName="+strUserName+"&Password="+strPassword+
	                         "&advinionKey="+strKey+"&TimeFrame=2&Symbol="+strSymbol+(strURL!=null ? "&URL="+strURL:"")+"&ExtendedRTFeed="+blnExtendedRTFeed+"&Lang="+strLang
	                         +"&NumBars="+iNumBars+"&NumViewableBars="+iNumViewableBars),
	            "pluginspage", "http://www.adobe.com/go/getflashplayer",
	            "allowFullScreen", "true"
	            );
        }
        else
        {
            AC_FL_RunContent(
	            "src", pszChartPath+"AdvinionProfessionalChart",
	            "width", strWidth,//"300px",
	            "height", strHeight,//"300px",
	            "align", "middle",
	            "id", strGraphID,
	            "quality", "high",
	            "bgcolor", "#FFFFFF",
	            "name", strGraphID,
	            //"allowScriptAccess","sameDomain",
	            "allowScriptAccess","always",
	            "type", "application/x-shockwave-flash",
	            "flashvars",("AdminName="+strAdminName+"&UserID="+strUserID+"&UserName="+strUserName+"&Password="+strPassword+
	                         "&advinionKey="+strKey+"&TimeFrame=2&Symbol="+strSymbol+(strURL!=null ? "&URL="+strURL:"")+"&ExtendedRTFeed="+blnExtendedRTFeed+"&Lang="+strLang
	                         +"&NumBars="+iNumBars+"&NumViewableBars="+iNumViewableBars),
	            "pluginspage", "http://www.adobe.com/go/getflashplayer",
	            "allowFullScreen", "true"
	            );
        }
        
        
        

        
     } 
     else 
     {  // flash is too old or we can't detect the plugin
        var alternateContent = 'Advinion Charts - Cannot display FXChart. '
        + 'This content requires the Adobe Flash Player. '
        + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
        document.write(alternateContent);  // insert non-flash content
     }
}

/*
    strSymbol = The quote symbol
    strKey = Unique customer key (GUID)
    strWidth = Width (e.g. "200px"), where default, if null is "300px"
    strHeight = Height (e.g. "200px"), where default, if null is "300px"
    strURL = URL to open on click
    blnWMode = if true then enable transparency (WMode) otherwise this mode is off.

*/
function CreateAdvinionPromoCharts(strSymbol,strKey,strWidth,strHeight,strURL,blnWMode,strShowParts,blnExtendedRTFeed)
{
    var strGraphID="advinionPromoChart"+gid;
    gid++;
    
    if (strWidth==null) strWidth="300px";
    if (strHeight==null) strHeight="300px";
    if (strShowParts==null) strShowParts="111";
    if (blnExtendedRTFeed==null) blnExtendedRTFeed="0";
    
    if ( hasProductInstall && !hasRequestedVersion ) 
    {
        // DO NOT MODIFY THE FOLLOWING FOUR LINES
        // Location visited after installation is complete if installation is required
        var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
        var MMredirectURL = window.location;
        document.title = document.title.slice(0, 47) + " - Flash Player Installation";
        var MMdoctitle = document.title;

        AC_FL_RunContent(
            "src", "http://chart.advinion.com/WebTools/playerProductInstall",
            "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
            "width", "100%",
            "height", "100%",
            "align", "middle",
            "id", strGraphID,
            "quality", "high",
            "bgcolor", "#B7D2FF",
            "name", strGraphID,
            "allowScriptAccess","sameDomain",
            "type", "application/x-shockwave-flash",
            "pluginspage", "http://www.adobe.com/go/getflashplayer");
    } 
    else if (hasRequestedVersion) 
    {
        // if we've detected an acceptable version
        // embed the Flash Content SWF when all tests are passed
        if (blnWMode==true)
        {
            AC_FL_RunContent(
	            "src", "http://chart.advinion.com/WebTools/AdvinionPromoChart",
	            "width", strWidth,//"300px",
	            "height", strHeight,//"300px",
	            "align", "middle",
	            "id", strGraphID,
	            "quality", "high",
	            "bgcolor", "#B7D2FF",
	            "wmode", "transparent",
	            "name", strGraphID,
	            //"allowScriptAccess","sameDomain",
	            "allowScriptAccess","always",
	            "type", "application/x-shockwave-flash",
	            "flashvars",("advinionKey="+strKey+"&TTYPE=F&TIME=0&SYMBOL="+strSymbol+(strURL!=null ? "&URL="+strURL:"")+"&SHOWPARTS="+strShowParts+"&extendedRTFeed="+blnExtendedRTFeed),
	            "pluginspage", "http://www.adobe.com/go/getflashplayer",
	            "allowFullScreen", "true"
	            );
        }
        else
        {
            AC_FL_RunContent(
	            "src", "http://chart.advinion.com/WebTools/AdvinionPromoChart",
	            "width", strWidth,//"300px",
	            "height", strHeight,//"300px",
	            "align", "middle",
	            "id", strGraphID,
	            "quality", "high",
	            "bgcolor", "#B7D2FF",
	            "name", strGraphID,
	            //"allowScriptAccess","sameDomain",
	            "allowScriptAccess","always",
	            "type", "application/x-shockwave-flash",
	            "flashvars",("advinionKey="+strKey+"&TTYPE=F&TIME=0&SYMBOL="+strSymbol+(strURL!=null ? "&URL="+strURL:"")+"&SHOWPARTS="+strShowParts+"&extendedRTFeed="+blnExtendedRTFeed),
	            "pluginspage", "http://www.adobe.com/go/getflashplayer",
	            "allowFullScreen", "true"
	            );
        }
        
        
        

        
     } 
     else 
     {  // flash is too old or we can't detect the plugin
        var alternateContent = 'Advinion Charts - Cannot display FXChart. '
        + 'This content requires the Adobe Flash Player. '
        + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
        document.write(alternateContent);  // insert non-flash content
     }
}



// -----------------------------------------------------------------------------
//  Call this function first to initialize the Professional-Chart parameters.
//
//  Parameters
//      strKey:         The customer key you received from Advinion
//      strLanguage:    The language code. e.g. "eng" for english
//      strTimeFrame:   The timeframe. Available values:  "Tick", "1M", "5M", "10M", "15M", "30M", "60M", "2H", "4H", "1D" (1 Day), "1W" (1 Week) or "1MON" (1 Month)
//      strChartType:   The price chart type. Available values:  "CS", "OHLC","Area" or "Line"
//
//  Return Value
//      The initialized parameters container object. Use it in call to all other functions
// -----------------------------------------------------------------------------
function ADVINION_ProChartInit(strKey,strLanguage,strTimeFrame,strChartType)
{

    var objADVInit=new Object();
    objADVInit.advinionKey=strKey;
    objADVInit.TimeFrame=2;
    objADVInit.ExtendedRTFeed=0;
    if (strLanguage==null)
        objADVInit.Lang="eng";
    else
        objADVInit.Lang=strLanguage;
        
    objADVInit.UserID=null;
    objADVInit.UserName=null;
    objADVInit.Password=null;
    objADVInit.AdminName="User";
    
    objADVInit.NumViewableBars=100;
    objADVInit.NumBars=600;
    
    if (strTimeFrame==null) strTimeFrame="1m";
    
    switch(strTimeFrame.toLowerCase())
    {
        case "tick":    objADVInit.TimeFrame=-1; break;
        case "1m":      objADVInit.TimeFrame=0; break;
        case "5m":      objADVInit.TimeFrame=1; break;
        case "10m":     objADVInit.TimeFrame=2; break;
        case "15m":     objADVInit.TimeFrame=3; break;
        case "30m":     objADVInit.TimeFrame=4; break;
        case "60m":     objADVInit.TimeFrame=5; break;
        case "2h":      objADVInit.TimeFrame=6; break;
        case "4h":      objADVInit.TimeFrame=7; break;
        case "1d":      objADVInit.TimeFrame=8; break;
        case "1w":      objADVInit.TimeFrame=9; break;
        case "1mon":    objADVInit.TimeFrame=10; break;
        
        default:        objADVInit.TimeFrame=0; break;
    
    }
    
    
    if (strChartType==null) strChartType="cs";
    switch(strChartType.toLowerCase())
    {
        case "cs":      objADVInit.ChartType=1; break;
        case "ohlc":    objADVInit.ChartType=0; break;
        case "area":    objADVInit.ChartType=3; break;
        case "line":    objADVInit.ChartType=2; break;
        
        default:        objADVInit.ChartType=1; break;
    
    }
        
    objADVInit.ViewTooltip=0;
    objADVInit.TooltipDelay=3000;
    
    objADVInit.CSColorUP="#00FF00";
    objADVInit.CSColorDOWN="#FF0000";
    objADVInit.DrawColor="#000000";
    objADVInit.LineWidth=1;
    
    objADVInit.URL=null;
    
    objADVInit.TimeZone="GMT";
    
    objADVInit.RequestTimeout = 1;
    
    objADVInit.UseSSL = false;
    
    return objADVInit;

}

// -----------------------------------------------------------------------------
//  Call this function to set the TimeZone of the original Data. The default is GMT
//
//  Parameters:
//  objADVInit:     The parameters container object
//  strTimeZone:    The time zone. e.g. GMT, EST
// -----------------------------------------------------------------------------
function ADVINION_ProTimeZone(objADVInit,strTimeZone)
{
    if (strTimeZone!=null) objADVInit.TimeZone=strTimeZone;
}


// -----------------------------------------------------------------------------
//  Call this function to enable / disable support for external feed (Change, change %, tick coming from the feed itself)
//
//  Parameters:
//  objADVInit:     The parameters container object
//  blnUse:         true to enable / false to disable the external feed support
// -----------------------------------------------------------------------------
function ADVINION_ProExtendedRTSupport(objADVInit,blnUse)
{
    if (blnUse)
        objADVInit.ExtendedRTFeed=1;
    else
        objADVInit.ExtendedRTFeed=0;
}

// -----------------------------------------------------------------------------
//  Call this function to enable / disable support for external feed (Change, change %, tick coming from the feed itself)
//
//  Parameters:
//  objADVInit:     The parameters container object
//  strSharedListName:      The name of the share system list user (e.g. your-site-name)
//  strUserID:              The id of the logged in user (to use for storing its data)
//  strUserName:            The name of the logged in user (to display it the open/save system form)
//  strPassword:            [Optional] The user Professional-Chart inner password. Incase one needed to protect the systems data
// -----------------------------------------------------------------------------
function ADVINION_ProSupportSystems(objADVInit,strSharedListName,strUserID,strUserName,strPassword)
{
    objADVInit.UserID=strUserID;
    objADVInit.UserName=strUserName;
    objADVInit.Password=strPassword;
    objADVInit.AdminName=strSharedListName;
}

// -----------------------------------------------------------------------------
//  Call this function to set the number of bars to get and number of bars to display initially
//
//  Parameters:
//  objADVInit:             The parameters container object
//  iNumBars:              The number of history bar to fetch from the server
//  iNumViewableBars:       The number of bars to display
// -----------------------------------------------------------------------------
function ADVINION_ProZoomSettings(objADVInit,iNumBars,iNumViewableBars)
{
    if (iNumViewableBars!=null) objADVInit.NumViewableBars=iNumViewableBars;
    if (iNumBars!=null) objADVInit.NumBars=iNumBars;
}

// -----------------------------------------------------------------------------
//  Call this function to set the tooltip settings
//
//  Parameters:
//  objADVInit:             The parameters container object
//  blnViewTooltip:         Is tooltip enabled by default
//  iTooltipDelay:          Tooltip pre-display delay
// -----------------------------------------------------------------------------
function ADVINION_ProTooltipSettings(objADVInit,blnViewTooltip,iTooltipDelay)
{
    if (blnViewTooltip)
        objADVInit.ViewTooltip=1;
    else
        objADVInit.ViewTooltip=0;
        
    if (iTooltipDelay!=null && isNaN(iTooltipDelay)==false)
        objADVInit.TooltipDelay=iTooltipDelay;
}

// -----------------------------------------------------------------------------
//  Call this function to set the default colors (when user change colors via settings form, his changes will overwrite this values)
//
//  Parameters:
//  objADVInit:             The parameters container object
//  strCSColorUP:           Color of the UP candlestick body.   Example: "#00FF00"
//  strCSColorDOWN:         Color of the DOWN candlestick body. Example: "#FF0000"
// -----------------------------------------------------------------------------
function ADVINION_ProColors(objADVInit,strCSColorUP,strCSColorDOWN)
{
    if (strCSColorUP!=null) objADVInit.CSColorUP=strCSColorUP;
    if (strCSColorDOWN!=null) objADVInit.CSColorDOWN=strCSColorDOWN;
}

// -----------------------------------------------------------------------------
//  Call this function to set the drawing definitions
//
//  Parameters:
//  objADVInit:             The parameters container object
//  strDrawColor:           Default draw color.                 Example: "#000000"
//	iLineWidth:				Line width 1-5
// -----------------------------------------------------------------------------
function ADVINION_ProDrawSettings(objADVInit,strDrawColor,iLineWidth)
{
    if (strDrawColor!=null) objADVInit.DrawColor=strDrawColor;
    if (iLineWidth!=null) objADVInit.LineWidth=iLineWidth;
}



// -----------------------------------------------------------------------------
//  Call this function to set the default colors (when user change colors via settings form, his changes will overwrite this values)
//
//  Parameters:
//  objADVInit:             The parameters container object
//	strMarket:				The default market to show if needed (Stocks, CFDs)
//  strSymbol:      		The symbol code to watch. e.g. EUR/USD or GOOG etc...
//  strSymbolName:			The symbol name if needed (Stocks, CFDs)
//  blnShowOnlyName:        Show only the name (e.g. Show only symbol name and not its code, like CFDs)
//  strIgnoreCharsOnSearch:	Use it to help symbol search by ignoring a char. e.g. when strIgnoreCharsOnSearch="/" in search USD/ILS can be found by typing USDILS or USDI etc... 		
// -----------------------------------------------------------------------------
function ADVINION_ProSymbolSettings(objADVInit,strMarket,strSymbol,strSymbolName,blnShowOnlyName,strIgnoreCharsOnSearch)
{
    if (blnShowOnlyName==null) blnShowOnlyName=true;

    objADVInit.ShowOnlySymbolName=(blnShowOnlyName==true ? 1:0);
    if (strMarket!=null) objADVInit.DefaultMarket=strMarket;
    if (strSymbol!=null) objADVInit.Symbol=strSymbol;
    if (strSymbolName!=null) objADVInit.SymbolName=strSymbolName;
    if (strIgnoreCharsOnSearch!=null) objADVInit.IgnoreCharsOnSearch=strIgnoreCharsOnSearch;
}

// -----------------------------------------------------------------------------
//  Call this function to set the request timeout. the minimum is 1 minute
//
//  Parameters:
//  objADVInit:             The parameters container object
//	iRequestTimeout:		The request timeout
// -----------------------------------------------------------------------------
function ADVINION_ProRequestSettings(objADVInit,iRequestTimeout)
{
    if (iRequestTimeout!=null) objADVInit.RequestTimeout=iRequestTimeout;
}

// -----------------------------------------------------------------------------
//  Call this function to enable secured connection via SSL
//
//  Parameters:
//  objADVInit:             The parameters container object
//	blnUseSSL:				true for SSL or false (default) for regular http
// -----------------------------------------------------------------------------
function ADVINION_ProConnectionSettings(objADVInit,blnUseSSL)
{
    if (blnUseSSL!=null) objADVInit.UseSSL=blnUseSSL;
}

function ADVINION_Internal_GenrateFlashVars(objADVInit)
{
    var strKey;
    var strVARS="";
    
    for (strKey in objADVInit)
    {
        if (strKey!=null && objADVInit[strKey]!=null)
        {
            if (strVARS.length==0)
                strVARS=strKey+"="+objADVInit[strKey];
            else
                strVARS=strVARS+"&"+strKey+"="+objADVInit[strKey];
        }
    }
        
    return strVARS;
}


// -----------------------------------------------------------------------------
//  Call this function to actually create the chart
//
//  Parameters:
//  objADVInit:        	The parameters container object
//  strWidth:          	Width of chart.   	Example: 300
//  strHeight:         	Height of chart. 	Example: 400
//	blnWMode:			Does the component have to support WMODE (example: when menu might open above it)
// -----------------------------------------------------------------------------
function CreateAdvinionProfessionalChartEx(objADVInit,strWidth,strHeight,blnWMode)
{
    var strGraphID="AdvinionPro"+gidPro;
    var strVars=ADVINION_Internal_GenrateFlashVars(objADVInit);	//Get parameters
    gidPro++;
   
    if (strWidth==null) strWidth="300px";
    if (strHeight==null) strHeight="300px";
    
    if ( hasProductInstall && !hasRequestedVersion ) 
    {
        // DO NOT MODIFY THE FOLLOWING FOUR LINES
        // Location visited after installation is complete if installation is required
        var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
        var MMredirectURL = window.location;
        document.title = document.title.slice(0, 47) + " - Flash Player Installation";
        var MMdoctitle = document.title;

        AC_FL_RunContent(
            "src", pszChartPath+"playerProductInstall",//"http://chart.advinion.com/WebTools/playerProductInstall",
            "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
            "width", "100%",
            "height", "100%",
            "align", "middle",
            "id", strGraphID,
            "quality", "high",
            "bgcolor", "#B7D2FF",
            "name", strGraphID,
            "allowScriptAccess","sameDomain",
            "type", "application/x-shockwave-flash",
            "pluginspage", "http://www.adobe.com/go/getflashplayer");
    } 
    else if (hasRequestedVersion) 
    {
        // if we've detected an acceptable version
        // embed the Flash Content SWF when all tests are passed
        if (blnWMode==true)
        {
            AC_FL_RunContent(
	            "src", pszChartPath+"AdvinionProfessionalChart",//"http://chart.advinion.com/WebTools/AdvinionProfessionalChart",
	            "width", strWidth,//"300px",
	            "height", strHeight,//"300px",
	            "align", "middle",
	            "id", strGraphID,
	            "quality", "high",
	            "bgcolor", "#EEF4FF",
	            "wmode", "transparent",
	            "name", strGraphID,
	            //"allowScriptAccess","sameDomain",
	            "allowScriptAccess","always",
	            "allowNetworking","all",
	            "type", "application/x-shockwave-flash",
	            "flashvars",strVars,
	            "pluginspage", "http://www.adobe.com/go/getflashplayer",
	            "allowFullScreen", "true"
	            );
        }
        else
        {
            AC_FL_RunContent(
	            "src", pszChartPath+"AdvinionProfessionalChart",//"http://chart.advinion.com/WebTools/AdvinionProfessionalChart",
	            "width", strWidth,//"300px",
	            "height", strHeight,//"300px",
	            "align", "middle",
	            "id", strGraphID,
	            "quality", "high",
	            "bgcolor", "#EEF4FF",
	            "name", strGraphID,
	            //"allowScriptAccess","sameDomain",
	            "allowScriptAccess","always",
	            "allowNetworking","all",
	            "type", "application/x-shockwave-flash",
	            "flashvars",strVars,
	            "pluginspage", "http://www.adobe.com/go/getflashplayer",
	            "allowFullScreen", "true"
	            );
        }
        
     } 
     else 
     {  // flash is too old or we can't detect the plugin
        var alternateContent = 'Advinion Charts - Cannot display FXChart. '
        + 'This content requires the Adobe Flash Player. '
        + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
        document.write(alternateContent);  // insert non-flash content
     }
}


/*
    Prevent Scrolling
*/
  	function ADVINION_Internal_HookEvent(element, eventName, callback)
    {
        if (typeof(element) == "string")
            element = document.getElementById(element);
        if (element == null)
            return;
        if (element.addEventListener)
        {
            if (eventName == 'mousewheel')
                element.addEventListener('DOMMouseScroll', callback, false);
            element.addEventListener(eventName, callback, false);
        }
        else if (element.attachEvent())
            element.attachEvent("on" + eventName, callback);
    }

    function ADVINION_Internal_UnHookEvent(element, eventName, callback)
    {
        if (typeof(element) == "string")
            element = document.getElementById(element);
        if (element == null)
            return;
        if (element.removeEventListener)
        {
            if (eventName == 'mousewheel')
                element.removeEventListener('DOMMouseScroll', callback, false);
            element.removeEventListener(eventName, callback, false);
        }
        else if (element.detachEvent)
            element.detachEvent("on" + eventName, callback);
    }

    function ADVINION_Internal_CancelEvent(e)
    {
        e = e ? e : window.event;
        if (e.stopPropagation)
            e.stopPropagation();
        if (e.preventDefault)
            e.preventDefault();
        e.cancelBubble = true;
        e.cancel = true;
        e.returnValue = false;
        return false;
    }

    function ADVINION_Internal_GetProObject()
    {
    	if(navigator.appName.indexOf("Microsoft") != -1)
    	{
			return window["AdvinionPro1"];
		} 
		else 
		{
			return document.getElementById("AdvinionPro1");
		}
    }

    

// -----------------------------------------------------------------------------
//  Call this function to prevent mouse-wheel change inside the chart to scroll the whole page
//
//  Parameters:
//  strContainer:        	The name of the SPAN containing the Chart element
// -----------------------------------------------------------------------------
  	function ADVINION_PreventPageScroll(strContainer)
  	{
  		ADVINION_Internal_HookEvent(strContainer,'mousewheel', ADVINION_Internal_CancelEvent);
  	}
  	
  	
  	function ADVINION_JSProChangeSize(strWidth,strHeight)
  	{
		var element = ADVINION_Internal_GetProObject()
  		
  		element.style.width=strWidth;
  		element.style.height=strHeight;	
  	}
  	
  	function ADVINION_JSProChangeSymbol(strMarket,strSymbolId,strSymbolName)
  	{
		var element = ADVINION_Internal_GetProObject()
  		element.JSChangeInstrument(strMarket,strSymbolId,strSymbolName);
  	}