/*
MStarCharts JS file. MUST define global vailable in mail page
*/
	 	var images = new Array()
	 	var imagesMA = new Array()
	 	var imagesOP = new Array()
		var bIE = 0, machine = "PC", bTips = false, bTool = "y";
		var IsSign = "";
		var app=navigator.appName;	
		machine = navigator.userAgent;
		if (machine.indexOf("Mac_") > 0)  
			machine = "MACOS9";
	    else if (machine.indexOf("OS X") > 0)
			machine = "MACOS10";
		else
		    machine = "PC";
        if (app.indexOf('Microsoft')>=0)
           bIE = 1;         
        // end        
        var sDate = "", sPrice="", sPriceH,sPriceL,sPriceO, sPriceComp, sCompTickers,sCompLabel, sResults, sFundamental;
        var sFairValue, sStarRating;
		var sLog = "Log", sVol = "Vol", sTage="D1"
		var sIndex ="", sComp ="", sInds = "", url="", number;
        var ssplits = "", dividends = "";
		var imgs = "Y1";
		var beginDate = "";
		var ma_d ="", days="", width = 524;
		/// for moving dots
		var topMax=0, toMin=0, topScale=1, volBase = -1;
		var volHeigth = 65, btmMin,btmScale, btmBase, BaseYPos;
		var graphTop = 416 /*graph top absolute position*/, PriceHeigth = 165, graphTopF = 492,graphXStart = 40, graphYStart = 30;
		/// priceYBottom
		var priceYBottom = 611;//graphTop + PriceHeigth + graphYStart;
		var _priceBottom = 0;
        var _baseYPos0	 = 0;
        var _baseYPos1	 = 0;
        var _yIndicator1 = 0;
        var _yTip		 = 0;		
        var _gx = 0, _gy = 0, _gw = 0, _gh = 0;
	
		/// zoom
		var arrowLeft = -1, arrowRight = -1, deltaX = 1;

	    function toHelp()
		{

		     OpenHelp("/charts/Help/StocChartsDataDef.html");		
		}
		function URLencode(sStr) {
			return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
		}
	
		///  This operation for technical, while one click a radio button of a ticker
		///  on right side of the chart to change prime stock
		function onRClick(v)
		{
			if (options == "V")
			{
			  vPrime = v;
			  findObj("VPrime").value = v;
			}
			else if (options == "H")
			{
			  hPrime = v;
			  findObj("HPrime").value = v;
			}else if (options == "F" && fundamental == "TOTR")
			{
			  fPrime = v;
			  findObj("FPrime").value = v;
			}
			
			saveInfo();		
			show(1);
			bTips = false;
		}
	    function GoToShow(v)
		{	
		   alert("goToShow")
		   // if ( timeFrame == "CUT" && eval(v) == 1)
		    //{	
		     //   timeFrame = "Y1"; 
		     // 	findObj("TimeFrame").value = timeFrame;	
		    //}else
		    if ( timeFrame == "CUT"){
		        findObj("TimeFrame").value = "CUT";
		        findObj("DateFrom").value  = from;
				findObj("DateTo").value    = to;
		    }
			findObj("LowIndicators").value = lowindicators  ;
			movingAvg = "";
			findObj("MovingAvg").value     = movingAvg ; 		
			stockes = "";		 	 
			findObj("Stock").value         = stockes  
 			indexes = "";
 			findObj("Index").value         = "" ;
			findObj("bSize").value         = size;  
			findObj("Options").value       = options;
			findObj("Events").value        = events; 
			findObj("Types").value         = types;   
			findObj("Fundamental").value   = fundamental;
		//	saveInfo();
			show(1);
		}
	    function getEventsScales(ev, cscale, size)
	    {
	    
	     /// chart scale
	        var t = "Scale: ";
	        var log     = "<a href=javascript:changeScale('lINEAR')>Linear</a>&nbsp;<b>Log</b></a>";
	        var linear  = "<b>Linear</b></a>&nbsp;<a href=javascript:changeScale('Log')>Log</a>";
	        var cScale  = linear;
	        if (cscale  == "LOG")
	            cScale  = log;
	        t = "Size: ";    
	         /// chart size
	        var l  = "&nbsp;<b>L</b>&nbsp;|&nbsp;<a href=javascript:changeSize('565')>M</a>";
	        var m  = "<a href=javascript:changeSize('761')>L</a>&nbsp;|&nbsp;<b>M</b>";
	        if (eval(size) > 700)
	           t = t + "&nbsp;&nbsp;" + l;
	        else
	           t = t + "&nbsp;&nbsp;" + m;
	       
	        return t;
	   
	    }
	    function getFTimeFrame(tab)
	    {
	        alert("getFTimeFrame")
	    	var y1 = "<a href=javascript:ChgPrama('Y1')><b>1y</b></a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>";// <a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
		    var y3 = "<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')><b>3y</b></a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>";// <a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var y5 = "<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')><b>5y</b></a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>"; //<a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var y10 = "<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')><b>10y</b></a>"; //<a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			
			var t = y10;
			if (tab == "Y1")
                t = y1;
            else if (tab == "Y3")
                t = y3;
            else if (tab == "Y5")
                t = y5;
            else if (tab == "YA")
                t = y10;
            return t;
	    }
	  
	    function getTimeframe( tab, ctype, cscale, size)
	    {   
	    
	        var tb = "<TABLE BORDER='0' CELLSPACING='0' CELLPADDING='1' >"
			tb += "<TR>"
			if (tab == "D1")
			     tb += "<TD class='msSmallm ' width= 10><a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else
			     tb += "<TD class='msSmall'><a href=javascript:ChgPrama('D1')>1d</a>";
			if (tab == "D5")
			     tb += "<TD class='msSmallm ' width= 10><a href=javascript:ChgPrama('D5')><b>5d</b></a></td>";
			else
			     tb += "<TD class='msSmall' width= 10><a href=javascript:ChgPrama('D5')>5d</a></td>";
			if (tab == "M1")
			    tb += "<TD class='msSmallm '><a href=javascript:ChgPrama('M1')><b>1m</b></a></td>";
			else
			    tb += "<TD class='msSmall'><a href=javascript:ChgPrama('M1')>1m</a></td>";
			if (tab == "M3")
			   tb += "<TD class='msSmallm '><a href=javascript:ChgPrama('M3')>3m</a></td>";
			else
			   tb += "<TD class='msSmall'><a href=javascript:ChgPrama('M3')>3m</a></td>";
			if (tab == "YTD")
			    tb += "<TD class='msSmallm '><a href=javascript:ChgPrama('YTD')><b>ytd</b></a></td>"
			else
			    tb += "<TD class='msSmall'><a href=javascript:ChgPrama('YTD')>ytd</a></td>"
			if (tab == "Y1")
				tb += "<TD class='msSmallm '><a href=javascript:ChgPrama('Y1')><b>1y</b></a></td>";
			else
			    tb += "<TD class='msSmall'><a href=javascript:ChgPrama('Y1')>1y</a></td>";
			if (tab == "Y3")
				tb += "<TD class='msSmallm '><a href=javascript:ChgPrama('Y3')><b>3y</b></a></td>";
			else
			    tb += "<TD class='msSmall'><a href=javascript:ChgPrama('Y3')>3y</a></td>";
			if (tab == "Y5")
				tb += "<TD class='msSmallm '><a href=javascript:ChgPrama('Y5')>5y</a></td>";
			else
				tb += "<TD class='msSmall'><a href=javascript:ChgPrama('Y5')>5y</a></td>";
			if (tab == "Y10")
				tb += "<TD class='msSmallm '><a href=javascript:ChgPrama('Y10')><b>10y</b></a></td>";
		    else
			    tb += "<TD class='msSmall'><a href=javascript:ChgPrama('Y10')>10y</a></td>";
			if (tab == "CUT")    
			    tb += "<TD class='msSmallm '><a href=javascript:ChgPrama('CUT')><b>Customize</b></a></td>";
		    else
			    tb += "<TD class='msSmall'><a href=javascript:ChgPrama('CUT')>Customize</a></td>";
			tb += "</TR>"
			tb += "</TABLE>"     
	       // var tf = "&nbsp;Scale:&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
	        /// time Frame
			var d1 = "<a href=javascript:ChgPrama('D1')><b>1d</b></a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;|&nbsp;"; //<a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var d5 = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')><b>5d</b></a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;|&nbsp;"; //<a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var m1 = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')><b>1m</b></a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;|&nbsp;"; // <a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var m3 = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')><b>3m</b></a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;|&nbsp;"; // <a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var m3 = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')><b>3m</b></a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;|&nbsp;"; // <a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
		    var ytd= "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')><b>ytd</b></a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;|&nbsp;"; // <a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
		
			var y1 = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')><b>1y</b></a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;&nbsp;";// <a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
		    var y3 = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')><b>3y</b></a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;&nbsp;";// <a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var y5 = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')><b>5y</b></a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;&nbsp;"; //<a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var y10 = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')><b>10y</b></a>&nbsp;<a href=javascript:ChgPrama('CUT')>Customize</a> &nbsp;&nbsp;"; //<a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
			var cust = "<a href=javascript:ChgPrama('D1')>1d</a>&nbsp;<a href=javascript:ChgPrama('D5')>5d</a>&nbsp;<a href=javascript:ChgPrama('M1')>1m</a>&nbsp;<a href=javascript:ChgPrama('M3')>3m</a>&nbsp;<a href=javascript:ChgPrama('YTD')>ytd</a>&nbsp;<a href=javascript:ChgPrama('Y1')>1y</a>&nbsp;<a href=javascript:ChgPrama('Y3')>3y</a>&nbsp;<a href=javascript:ChgPrama('Y5')>5y</a>&nbsp;<a href=javascript:ChgPrama('Y10')>10y</a>&nbsp;<a href=javascript:ChgPrama('CUT')><b>Customize</b></a> &nbsp;&nbsp;"; //<a href=javascript:changeTypes('BAR')>HLC</a>&nbsp;<a href=javascript:changeTypes('LINE')>Line</a>&nbsp;|&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
            var t = "<br>";
      
            if (tab == "D1")
                t = d1;
            else if (tab == "D5")
                t = d5;
            else if (tab == "M1")
                t = m1;
            else if (tab == "M3")
                t = m3;
            else if (tab == "YTD")
                t = ytd;
            else if (tab == "Y1")
                t = y1;
            else if (tab == "Y3")
                t = y3;
            else if (tab == "Y5")
                t = y5;
            else if (tab == "Y10")
                t = y10;
            else if (tab == "CUT") 
                t = cust;
            else
                t += y1;       
	        return tb;//+ cScale;
           
		}
		/// load images for price and techinical TABs	
		function getPTimeframe( tab, ctype, cscale, size)
	    {  
	        // var tf = "&nbsp;Scale:&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Linear</a>&nbsp;<a href=javascript:disMsg('Not&nbsp;yet')>Log</a>";
	        /// time Frame
	 	    var tb = "<TABLE BORDER='0' CELLSPACING='0' CELLPADDING='0' >"
			tb += "<TR >"
		//	tb += "<td bgcolor='#cccccc'><img width='1' src='http://im.morningstar.com/im/dot_clear.gif'></td>";
			if (tab == "D1")
			    tb += "<TD class='msSmallm '><img border=0 id= 'tframe' width='476'  src='/charts/images/MSC11Tab_1d.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "D5")
				 tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'   src='/charts/images/MSC11Tab_5d.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "M1")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476' src='/charts/images/MSC11Tab_1m.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		    else if (tab == "M3")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC11Tab_3m.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		    else if (tab == "YTD")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC11Tab_YTD.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y1")
			   tb += "<TD class='msSmallm ' align=left><img border=0  width='476'  id= 'tframe' src='/charts/images/MSC11Tab_1y.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y3")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC11Tab_3y.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y5")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  src='/charts/images/MSC11Tab_5y.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y10")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe' width='476'  src='/charts/images/MSC11Tab_10y.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
 			else if (tab == "AL")    
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476' src='/charts/images/MSC11Tab_Max.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "CUT")    
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476' src='/charts/images/MSC11Tab_Custom.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		    else
		       tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476' src='/charts/images/MSC11Tab_Custom.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		 
			tb += "</TD>"
			tb += "<TD><a href=javascript:showPoup() style=cursor:hand;><img border='0' id='zoom' src='/charts/images/ZoomPassive.gif' onmouseover='changeZoom()' onmouseout='hideZoom()'></a></TD></TR>"
			tb += "</TABLE>"		
	        return tb;//+ cScale;
           
		}	
		function showPoup()
		{
		    if (IsVisible("tim"))
		       return;
			showT("Layer1")
		}
		function changeZoom()
		{
		    if (IsVisible("tim"))
		       return;
			findObj("zoom").src = "/charts/images/ZoomActive.gif";
		}
		function hideZoom()
		{
			hide("Layer1");
			findObj("zoom").src = "/charts/images/ZoomPassive.gif";
			
		}
		/// change log and linear scales
		function changeScale(scale)
		{
		    chartScale           = scale;
		    findObj("Log").value = chartScale;
		    saveInfo();
		    show(1);
		}
	
		function setFVFrame()
		{
		    var tab = timeFrame;
		    if (tab == "M1")
			   findObj("tframe").src ="/charts/images/MSC8Tab_1m.gif";// usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		    else if (tab == "M3")
		       findObj("tframe").src ="/charts/images/MSC8Tab_3m.gif";
			  // tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  src='/charts/images/MSC7Tab_3m.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		    else if (tab == "YTD")
		       findObj("tframe").src ="/charts/images/MSC8Tab_YTD.gif";
			  // tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  src='/charts/images/MSC7Tab_YTD.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y1")
			   findObj("tframe").src ="/charts/images/MSC8Tab_1y.gif";
				//   tb += "<TD class='msSmallm '><img border=0 id= 'tframe' width=566  src='/charts/images/MSC7Tab_1y.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y3")
			   findObj("tframe").src ="/charts/images/MSC8Tab_3y.gif";
				//   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  src='/charts/images/MSC7Tab_3y.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y5")
				findObj("tframe").src ="/charts/images/MSC8Tab_5y.gif";
			  // tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  src='/charts/images/MSC7Tab_5y.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "CUT") 
				findObj("tframe").src ="/charts/images/MSC8Tab_Custom.gif";   
		    else if (tab == "Y10") 
				findObj("tframe").src ="/charts/images/MSC8Tab_Max.gif";
			else
			    findObj("tframe").src ="/charts/images/MSC8Tab_Custom.gif";  
			  // tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  src='/charts/images/MSC7Tab_Custom.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		
		}
		/// load images of Fair value TAB	
		function getYearlyTimeframe( tab, ctype, cscale, size)
	    {
	        var tb = "<TABLE BORDER='0' CELLSPACING='0' CELLPADDING='0' >"
			tb += "<TR>"
			if (tab == "M1")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC8Tab_1m.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		    else if (tab == "M3")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC8Tab_3m.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		    else if (tab == "YTD")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC8Tab_YTD.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y1")
				 tb += "<TD class='msSmallm '><img border=0 id= 'tframe' width='476'  src='/charts/images/MSC8Tab_1y.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y3")
			  tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC8Tab_3y.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y5")
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC8Tab_5y.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "CUT")    
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC8Tab_Custom.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			else if (tab == "Y10") 
			   tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC8Tab_Max.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		    else
		        tb += "<TD class='msSmallm '><img border=0 id= 'tframe'  width='476'  src='/charts/images/MSC8Tab_Custom.gif' usemap='#SEVENTAB'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
		
			tb += "</TD>"
			tb += "<TD><a href=javascript:showPoup() style=cursor:hand;><img border='0' id='zoom' src='/charts/images/ZoomPassive.gif' onmouseover='changeZoom()' onmouseout='hideZoom()'></a></TD></TR>"
		//	tb += "<TD><img border='0' id='zoom' src='/charts/images/ZoomPassive.gif' onclick=showPoup() onmouseover='changeZoom()' onmouseout='hideZoom()'></TD></TR>"
			tb += "</TABLE>"			
	      
	        return tb;
           
		}		
		//detects the capabilities of the browser
		function BrowserSniffer() {
			if (navigator.userAgent.indexOf("Opera")!=-1 &&document.getElementById) type="OP";		//Opera
			else if(navigator.userAgent.toLowerCase().indexOf("safari")!=-1) type="SAF";			
			else if (document.all) type="IE";														//Internet Explorer e.g. IE4 upwards
			else if (document.layers) type="NN";													//Netscape Communicator 4
			else if (!document.all && document.getElementById) type="MO";							//Mozila e.g. Netscape 6 upwards
			else type = "IE";		//I assume it will not get here
		}

		//Displays the generic browser type
		function whatBrows() {
			window.alert("Browser is : " + type);
		}

		//Puts the contents of str into the layer id
		//id is the name of the layer
		//str is the required content
		//Works with all browsers except Opera
		function ChangeContent(id, str) {
		    //alert(id + "  " + str)
			if (type=="IE") {
				document.all[id].innerHTML = str;
			}else 
			if (type=="NN") { 
				document.layers[id].document.open();
				document.layers[id].document.write(str);
				document.layers[id].document.close();
			}else 
			if (type=="MO" || type=="OP" || type == "SAF") {
				document.getElementById(id).innerHTML = str;
			}
		}
		function getTableContent(str)
		{
		    
		    var IND = "<TABLE cellSpacing='0' cellPadding='0' border='0'>";
			IND += "<TR><TD class='TextBlack' align='left'><div class='TextBlack' id='valLabel";
			IND += i
			IND += "1'></div></TD>";
			IND += "<TD align='left'><div class='TextBlack' id='val";			
			IND += i;
			IND += "1'></div></TD>";
			IND += "</TR></TABLE>";
		}
	    function ChangeObjContent(obj, str) {
			if (type=="IE") {
				obj.innerHTML = str;
			}else 
			if (type=="NN") { 
				obj.document.open();
				obj.document.write(str);
				obj.document.close();
			}else 
			if (type=="MO" || type=="OP" || type=="SAF") {
				obj.innerHTML = str;
			}
		}
		//Change the color of the layer background
		//id is the name of the layer
		//color is the required color
		//Works with all browsers except NN4
		function ChangeLayerBgColor(id, color){
			if (type=="IE") 
				document.all[id].style.backgroundColor=color;
			else if (type=="NN") 
				document.layer['id'].bgColor=color;
			else if (type=="MO" || type=="OP") 
				document.getElementById(id).style.backgroundColor=color;
		}

		//Show and hide a layer
		//id is the name of the layer
		//action is either hidden or visible
		//Seems to work with all versions NN4 plus other browsers
		function ShowLayer(id, action){
			if (type=="IE") 
				eval("document.all." + id + ".style.visibility='" + action + "'");
			else if (type=="NN") 
				eval("document." + id + ".visibility='" + action + "'");
			else if (type=="MO" || type=="OP") 
				eval("document.getElementById('" + id + "').style.visibility='" + action + "'");
		}
        
		function initImages()
		{	
		   images[0] = "images/main_s.gif"
		   images[1] = "images/cs1.gif"
		   images[2] = "images/cs2.gif"
		   images[3] = "images/cs3.gif"
		   images[4] = "images/cs4.gif"
		   images[5] = "images/cs5.gif"
		   images[6] = "images/cs6.gif"
		   images[7] = "images/cs7.gif"
		   images[8] = "images/cs8.gif"
		   images[9] = "images/cs9.gif"
		
		   imagesMA[0] = "images/ima1.gif"
		   imagesMA[1] = "images/ima2.gif"
		   imagesMA[2] = "images/ima3.gif"
		   imagesMA[3] = "images/ima4.gif"
		   imagesMA[4] = "images/ima5.gif"
		   imagesMA[5] = "images/ima6.gif"
		   imagesMA[6] = "images/ima7.gif"
		   imagesMA[7] = "images/ima8.gif"
		   imagesMA[8] = "images/ima9.gif"
		   
		   imagesOP[0] = "images/po1.gif"
		   imagesOP[1] = "images/po2.gif"
		   imagesOP[2] = "images/po3.gif"
	
		}
		/// select an index in price TAB
		function ChangeIndex(value)
		{	
           var s   = value
           //  alert(indexes)
           if (indexes.indexOf(value)>=0)
           {
			 alert(getName(s) + " is already selected.");
			 return;
           }
         
           var t = s;
           
           if (indexes != "")
			  t = indexes +"|" + s;
		 // alert(t)
           var temp = t.split('|');
       
           var n    = temp.length;  
           if (n> 0)
              n--;
           if (n > 8)
             n = n-1;
           if (s == "")
			   return;
           if (t != "")
               s = n +"^1^" +s ; 
           if (indexes == "")
		     indexes = s;
		   else{
		      if (temp.length < 10)
					indexes = indexes  + "|" + s;
			   else{
			        var b = indexes.substring(0,1);
					s  = b+s.substring(s.indexOf("^"));
					indexes = indexes.substring(indexes.indexOf("|")+1) + "|"+s;
				//	indexes = indexes.substring(0, indexes.lastIndexOf("|")+1) + s;
			   }
		 
		   }  
         //  alert("I:  " +indexes)
           findObj("Index").value = indexes   
           /// keep stocks
           findObj("Stock").value = stockes  
         //  alert("llll")
           findObj("Totals").value = totals  
           findObj("MovingAvg").value     = movingAvg  
           findObj("LowIndicators").value = lowindicators  
           findObj("bSize").value         = size;  
           findObj("Options").value       = options;
           findObj("Types").value         = "";  
           findObj("DateFrom").value      = from;
		   findObj("DateTo").value        = to;
		   saveInfo();
	       show(1)
		}
		function getCheckedStockes(tickers)
		{
		   if (tickers == "")
		     return "";
		   var t = tickers.split('|')
		   var tt = ""
		   for (k=0; k<t.length; k++)
		   {
		      if (t[k].indexOf("$")>=0)
		         continue;
		      if (t[k].indexOf("^1")>=0)
		      {
				tt += t[k]
				tt += "|"
		      }		     
		   }
		   return tt		
		}
		function getCheckedTicker(tickers)
		{
		   if (tickers == "")
		     return "";
		   var t = tickers.split('|')
		   var tt = ""
		   for (k=0; k<t.length; k++)
		   {
		      if (t[k].indexOf("^1")>=0)
		     {
				tt += t[k]
				tt += "|"
		     }
		     
		   }
		   return tt		
		}
		// Return true if value is a number
		function isNumber(value) {
			if (value=="") return false;

			var d = parseInt(value);
			if (!isNaN(d)) return true; else return false;		

		}

		// return true if value is a date
		// ie in the format XX/YY/ZZ where XX YY and ZZ are numbers
		function validateDate(month, day, year)
		{

			Stamp = new Date();
			var yr = Stamp.getYear();
			var mn = Stamp.getMonth()+1;
			var dy = Stamp.getDate();
			
		
			if (type != "IE" && yr < 200)
			   yr = 2000 + yr - 100;
			if (year != "" && eval(year) <1000)
			{	
			   return false;
			}
			if (year > eval(yr))
			{  
			 //   alert(year + " > " + Stamp.getYear())
			   return false;
			}
			if  ( year == eval(yr) && month > eval(mn))
			{
			 // alert(month + " > " + (Stamp.getMonth()+1))
			   return false;
			}
			if  ( year == eval(yr) && month == eval(mn) && day > eval(dy))
			{
			  // alert(day + " > " + Stamp.getDate())
			   return false;
			 }
		 //   alert(day + " m " + month + " y  " + year)
			if (day != "" && eval(day) != 0 &&  eval(month) != 0  &&  eval(year) != 0)
			{
			    if (eval(month) < 10)
			      month = "0" + month;
				switch(month) 
				{
				  case "02" :	
					if (year == Math.round(year/ 4) * 4)	   
				    {
				        if (day > 29)
						{
						   return false;
						}
					}
					else
					{
						if (day > 28)
						{
						   return false;
						}
					}
					break;	
				case "04" :
					if (day > 30)
					{
					return false;
					}	
					break;
				case "06":
					if (day > 30)
					{
					return false;
					}	
					break;		
				case "09":
					if (day > 30)
					{
					return false;
					}	
					break;
				case "11":
					if (day >  30)
					{
					return false;
					}	
					break;
				default:
					return true;
					break;
				}
				return true;
			}
			return true;
		}	


		function isDate(value) 
		{		  
			if (value=="") return false;
			
			if ( value.indexOf("/") < 0  && value.indexOf(",") < 0)
			   return false;
			if (value.indexOf(",") > 0)
			{
			    var ppos = value.split(',');	
			    var m = parseInt(ppos[0]);	
				var y = parseInt(ppos[1]);	
				if (isNaN(m)) return false;		
				if (isNaN(y)) return false;	
				return validateDate(ppos[0],"", ppos[1])
			}
			var	pos = value.split('/');	
		
			var m = parseInt(pos[0]);	
			var d = parseInt(pos[1]);
			var y = parseInt(pos[2]);		
			if (isNaN(m)) return false;	
			if (isNaN(d)) return false;	
			if (isNaN(y)) return false;	
			
			var type=navigator.appName;
			if (type=="Netscape") var lang = navigator.language;
			else var lang = navigator.userLanguage;
			lang = lang.substr(0,2);

			if (lang == "fr") var date = new Date(y, m-1, d);
			else var date = new Date(d, m-1, y);
			if (isNaN(date)) return false;		
			return validateDate(pos[0], pos[1], pos[2])
		}

        function saveTime()
        {
          // alert(from +" t " + to)
			if (isDate(from) && isDate(to))
			{			
				findObj("DateFrom").value = from; ///eval(f[0]) +"/"+ eval(f[1]) +"/" + eval(f[2]);	
				findObj("DateTo").value   = to;//eval(t[0]) +"/"+ eval(t[1]) +"/" + eval(t[2]);	
		    }
        }
        //// custom zoom in from menus and from date custom dialog box
		function OKT()
		{
		    var frm = findObj("from").value, tto =  findObj("to").value;
			//var frm=from, to = t;
			var tp = "Y1";
			if (isDate(frm) && isDate(tto))
			{
				from = "";
				to   = "";	
				if (frm.indexOf(",") <0 && tto.indexOf(",")<0)
				{
				
					var f = frm.split('/'), t = tto.split('/'); 	
					if ( (eval(f[2]) > eval(t[2])) || 
						(eval(f[2]) == eval(t[2]) && eval(f[0]) > eval(t[0])) || 
						(eval(f[0]) == eval(t[0]) && eval(f[2]) == eval(t[2]) && eval(f[1]) > eval(t[1])))
					{
						alert("Invalid date.")
					return;
					}
					if (eval(t[2]) > eval(f[2]) )
						tp = "Y" + (eval(t[2]) - eval(f[2]));
					else if (eval(f[2]) == eval(t[2]) && eval(t[0]) > eval(f[0]))
						tp = "M" + (eval(t[0]) - eval(f[0]));
					else if (eval(t[1]) > eval(f[1]))
						tp = "M1";// + (eval(t[1]) - eval(f[1]));
					if ( options == "V")
					{
						if (eval(t[2]) - eval(f[2]) > 5)
						{
							alert("Time periods can be customized for a maximum of 5 years.")
							return;
						}else if (eval(t[2]) - eval(f[2]) == 5 && eval(t[0]) > eval(f[0]))
						{
							alert("Time periods can be customized for a maximum of 5 years.")
							return;
						}else if (eval(t[2]) - eval(f[2]) == 5 && eval(t[0]) == eval(f[0]) && eval(t[1]) > eval(f[1]))
						{
							alert("Time periods can be customized for a maximum of 5 years.")
							return;
						}
					}
					if (eval(f[0]) == eval(t[0]) && eval(f[2]) == eval(t[2]) && eval(f[1]) == eval(t[1]))
					{
						alert("Time periods can be customized for a minimum of 3 days.")
						return;
					}
				}else{
				   var f = frm.split(','), t = tto.split(','); 	
				}
				document.images["graph"].src = "/charts/images/LoadingScreenAnimation.gif";
				saveInfo();	
				findObj("TimeFrame").value = "CUT";	
				if (frm.indexOf("/") >0 && tto.indexOf("/")>0)
				{
					from = 	eval(f[0]) +"/"+ eval(f[1]) +"/" + eval(f[2]);	
					to   = eval(t[0]) +"/"+ eval(t[1]) +"/" + eval(t[2]);
				}else if (frm.indexOf(",") >0 && tto.indexOf(",")>0 )
				{
					from = 	eval(f[0]) +"/"+ eval(f[1]) +"/" + eval(f[2]);	
					to   = eval(t[0]) +"/"+ eval(t[1]) +"/" + eval(t[2]);	
				}else{
					from = 	frm;	
					to   =  tto;
				}	
				findObj("DateFrom").value = from;
				findObj("DateTo").value   = to;
				hide("tim");
				if (options != "V")
				    findObj("tframe").src= "/charts/images/MSC11Tab_Custom.gif";
				else
					findObj("tframe").src= "/charts/images/MSC8Tab_Custom.gif";
				timeFrame = "CUT";
				show(1);
			}else{
				alert("Invalid Date.")
			}
		}
		//// custom zoom in from selection
		function onclickZommRect()
		{
		
		
		  var d1    = formatDate(from);//findObj("DateLeft").innerText;
		  var d2    = formatDate(to);  //findObj("DateRight").innerText;
		  d1        = d1.split(",");
		  d2        = d2.split(",")
		  if (d1[0].indexOf(" ")< 0 )
		    d1[0] = d1[0] +" 1";
		  if (d2[0].indexOf(" ")< 0 )
		    d2[0] = d2[0] +" 1";
		  var m1    = d1[0].split(" ");
		  var m2    = d2[0].split(" ")		  
		  if (eval(d1[1]) < 20)
		    d1 = 2000+ eval(d1[1]);
		  else if (eval(d1[1]) > 20)
		    d1 = 1900+ eval(d1[1]);
		  if (eval(d2[1]) < 20)
		    d2 = 2000+ eval(d2[1]);
		  else if (eval(d2[1]) > 20)
		    d2 = 1900+ eval(d2[1]);	
		  var zL0  = findObj("lleft").style.left;
		  if (zL0.indexOf("px") > 0)
		    zL0      = zL0.substring(0,zL0.indexOf("px"));
		  zR0  = findObj("rright").style.left;
		  if (zR0.indexOf("px") > 0)
		    zR0      = zR0.substring(0,zR0.indexOf("px"));
		  var sfr, sto;
		  if (zL0 < zR0)
		  {
		    sfr   = MonthToNumber(m1[0]) +"/"+m1[1] +"/"+d1;
		    sto   = MonthToNumber(m2[0]) +"/"+m2[1] +"/"+d2;
		  }else{
		    sfr   = MonthToNumber(m2[0]) +"/"+m2[1] +"/"+d2;
		    sto   = MonthToNumber(m1[0]) +"/"+m1[1] +"/"+d1;
		  }
		  if (atLeastTwo(sfr, sto))
		  {
		     findObj("from").value = sfr;
		     findObj("to").value   = sto;
		  }else{
		     alert("Sorry, time period you selected is too small.")
		     return;
		  }
		  from = "";
		  to = "";
		  document.images["graph"].src	= "/charts/images/LoadingScreenAnimation.gif";
		  //findObj("tframe").src= "/charts/images/MSC7Tab_Custom.gif";
		  timeFrame = "CUT";
	
		  hideAllZoomInImages();
		  arrowLeft  = -1;
		  arrowRight = -1;
		  doItAll();
		  show(1);
		}
		/// Submit to refresh page with new parameters
		function geturl(v)
		{
		   if (from == "")
		       from = findObj("from").value;
		   if (to == "")
	           to   = findObj("to").value;
		   var    url = "Security=";		   
	       url += security;
	       url += "&CountryId=";
	       url += CountryId;
	       url += "&ExchangeId=";
	       url += ExchangeId;
	       url += "&TimeFrame=";
	       url += timeFrame;
	       url += "&LowIndicators="
	       url += lowindicators;
	       url += "&Log="
	       url += chartScale;	       
           url += "&bSize=";
           url += size;
           url += "&Fundamental="
           url += fundamental;
           url += "&Events=";
           url += events;
           url += "&Options=";
           if (eval(v) == 4 )
           {
     	     url += (options +"V");
     	     url += "&sLevel=";
     	     url += sLevel;
     	   }else
             url += options;
           url += "&Types=";
           url += types;
           url += "&MovingAvg="
           url += movingAvg;           
           url += "&Index="
           url += indexes;
           url += "&Stock=";
           url += stockes;
           url += "&Totals="
           url += totals;
     	   url += "&DateFrom=";
     	   url += from
     	   url += "&DateTo=";
     	   url += to;
     	   url += "&HPrime=";
     	   url += hPrime;
     	   url += "&VPrime=";
     	   url += vPrime;
     	   url += "&FPrime=";
     	   url += fPrime;
     	   url += "&HostServer=";
     	   url += hostServer;     	   
     	   if (bTool != "")
     	      url += "&Tools=y";
     	   
     	  
		   if(eval(v) == 5)
     			return url;		// just for email link
     			
     	   if (bTool != "" && eval(v) == 4)
     	       url = "/charts/stock_charts.aspx?"+url;
     	   else if (eval(v) == 4 )
     	     url = "/charts/MCharts.aspx?"+url;
     	   else if (eval(v) == 3 )
     	     url = "/charts/printCharts.aspx?"+url;
     	   else if (eval(v) == 2 )
     	     url = "/charts/MStarCharts.aspx?"+url;
       	   else if (eval(v) == 1)
       	   {     	    
     	      url = "/charts/MStarCharts.aspx?"+url;
     	   }else
     	      url = "/charts/info.aspx?"+url;
         
     	   return url;
		}
		function setSign(sign)
		{
			IsSign = sign;
		}
	    function show(refresh)
	    { 
	       hideAllZoomInImages();
	       if (eval(refresh) == 1 )
	       {
			  Refresh();
	       }else
	       {	
	          setTimeout("changeCharts()",1000);	
   		   }
	    }
	    function changeCharts()
	    {
	       UpdateData();
	       document.images["graph"].src = geturl(1);
	    }
	    function toPrintWindow()
	    {
	        var url = geturl(1);
	        OpenHelpWindow1(url);
	    }
	    function reLoad()
	    {	
			sCompLabel  = getDisLabels();  
		
	    }
	    function processInfo(dds)
	    {   
	      //alert("processInfo " + dds)
	    	var data = dds.split("#");
	    	//alert("0 " +data[0])
            try{
				if (data[0] != null && data[0] != "") 
					sPrice     = data[0].split("|"); 
				else
					sPrice   = "";
				//alert("1   "+ sPrice.length)
			}catch(e){sPrice   = "";}	
	        try{   
				if (data[1] != null && data[1] != "") 
					sPriceH     = data[1].split("|"); 
				else
					sPriceH   = "";  
				//	alert("2   "+ sPriceH[0])
			}catch(e){sPriceH   = "";}
			try{
				if (data[2] != null && data[2] != "") 
					sPriceL     = data[2].split("|");  
				else
					sPriceL   = ""; 
				//	alert("3   "+ sPriceL[0])
			}catch(e){sPriceL   = "";}
	    
			// date
			try{
			if (data[3] != null && data[3] != "") 
				sDate     = data[3].split("|");  
			else
				sDate     = "";
			}catch(e){sDate   = "";}
			try{
			if (data[4] != null && data[4] != undefined ) //&& (data[4].indexOf("^") > 0 || sPriceComp  != "" ) )
				sPriceComp     = data[4].split("^"); 
			else
			    sPriceComp     = "";
			}catch(e){sPriceComp   = "";}
		   // alert("f:  " + data[5])
		    try{
			if (data[5] != null && data[5] != "") 
				sFundamental     = data[5].split("^");  
			else
				sFundamental     = "";	
			}catch(e){sFundamental   = "";}   
			/// fair Value and Star Rating	
			try{	
				if (data[6] != null && data[6] != "") 
					sFairValue     = data[6].split("|");  
				else
					sFairValue     = "";
			}catch(e){sFairValue   = "";}  
			try{ 
				if (data[7] != null && data[7] != "") 
					sStarRating     = data[7].split("|"); 
				else
					sStarRating     = "";
			}catch(e){sStarRating   = "";}  
			//
			try{
				if (data[8] != null && data[8] != "") 
					sResults     = data[8].split("|"); 
				else
					sResults     = ""; 
			}catch(e){sResults   = "";}  	     
			/// process indicators and  analysis results
			strIndicator1 = "";
			strIndicator2 = "";
			strIndicator3 = "";
			strIndicator4 = "";	
			//alert(data[9])
		    try{
				if (data[9] != null && data[9] != "")  
				{	
					//if (data[9].indexOf("^") >= 0)
					{				
						var allInds = data[9].split("^");  
						var temp;
						for (l=0; l<allInds.length; l++)
						{
							try{
								if (l == 0)
								{ 
									strLabel1 = allInds[0].substring(0, allInds[0].indexOf(":") +1);
									temp      = allInds[0].substring(allInds[0].indexOf(":") +1);					
									//alert(temp)
									strIndicator1 = temp.split("|");
								}else if (l == 1)
								{
									strLabel2 = allInds[1].substring(0, allInds[1].indexOf(":") +1);
									temp      = allInds[1].substring(allInds[1].indexOf(":") +1);					
									strIndicator2 = temp.split("|");
								}else if (l == 2)
								{
									strLabel3 = allInds[2].substring(0, allInds[2].indexOf(":") +1);
									temp      = allInds[2].substring(allInds[2].indexOf(":") +1);					
									strIndicator3 = temp.split("|");
								}else if (l == 3)
								{
									strLabel4 = allInds[3].substring(0, allInds[3].indexOf(":") +1);
									temp      = allInds[3].substring(allInds[3].indexOf(":") +1);					
									strIndicator4 = temp.split("|");
								}
							}catch(e){}
						}	
					}						
				}
				if (timeFrame != "D1" && timeFrame != "D5")
				{
					var ft = data[10], vt;
					if (ft != null && ft.indexOf("|") >0)
					{
						vt = ft.split("|");
						from = vt[0];
						to   = vt[1];
						findObj("from").value = from;
						findObj("to").value   = to;			
					} 
				}
				//v1.1
				var sp    = data[11];
			    if (sp != "")
					ssplits   = sp.split("^");
				sp		  = data[12];
				if (sp != "")
					dividends = sp.split("^");
			/// retrieve top part y label max and min value
			    var topMN  =  data[13];
			    topMN      = topMN.split("|");
				topMax     = topMN[0];
				topMin     = topMN[1];
				PriceHeigth = 165;
				if (topMin > 0)
				   topScale   = PriceHeigth /(eval(topMax) - eval(topMin));
				else
				   topScale   = PriceHeigth /(Math.abs(topMax) + Math.abs(topMin));
				//
				var btmMN  =  data[14];
				btmMaxMin  = btmMN.split("^");
			    var tempScales   = "", tempMins = "", tempBase="";
			    for (i=0;i<btmMaxMin.length; i++)
			    {
					var ms      =  btmMaxMin[i];
					if (i==0)
					{
						tempMins   = getBtmMin(ms);
						tempBase   = getBtmBase(ms);
					    tempScales = getScale(ms);
					}else{
					    tempMins   = tempMins  +"|" +  getBtmMin(ms);
					    tempScales = tempScales  +"|" + getScale(ms);
					    tempBase   = tempBase +"|" + getBtmBase(ms)
					}
			    }  
			    btmMin    = tempMins.split("|");
			    btmScale  = tempScales.split("|");
			    btmBase   = tempBase.split("|");
			
			}catch(e){} 
		
	    }
	    function getScale(stMaxMin)
	    {
	        var ms      = stMaxMin.split('|'), scale;
	        volHeigth   = 65;
			if (eval(ms[1]) >=0)
				scale = volHeigth /(eval(ms[0]) - eval(ms[1]))
			else
				scale = volHeigth /(Math.abs(ms[0]) + Math.abs(ms[1]))
	        return scale+"";
	    }
	    function getBtmMin(stMaxMin)
	    {
	        var ms      = stMaxMin.split('|');			
	        return ms[1];
	    }
	    function getBtmBase(stMaxMin)
	    {
	        var ms      = stMaxMin.split('|');			
	        return ms[2];
	    }
	    /// get checked tickers and reset tickers string
	    function getTickers()
	    {
	       var temp = "", ss ="", obj
	       for (i=0; i< allT.length-1; i++)
		   {		
				obj = findObj("a"+i)
				ss = allT[i]
			 	ss = ss.substring(2)
				if (ss != "")
				{
					if (obj.checked == true)
						ss = "^1"+ ss;
					else
						ss = "^0"+ ss;
					temp += ss
					temp += "|"
				}		
	       }	    
	       return temp;	
	    }
	     /// get checked tickers and reset tickers string
	    function reFormatTickers(tickers, id)
	    {
	       var temp = "", ss ="", obj
	       var status = tickers.split("|");
	      // alert("pp  " +tickers)
	       for (i=0; i< status.length; i++)
		   {	
				try{	
					obj = findObj(id+i)
					ss = status[i]	
					//alert(ss)			
			 		var s = ss.split("^");		
					if (ss != null && ss != "")
					{
						if (obj.checked == true)
							ss = s[0] +"^1^" + s[2];
						else
							ss = s[0] +"^0^" + s[2];
						if (temp=="")
				   		temp = ss
				   		else
						temp = temp + "|" + ss;
					}
				}catch(e){}	
	       }
	     ///  alert("ret: "+temp)	    
	       return temp;	
	    }
	 
	    /// get MAs
	    function getMAs()
	    {
	       var temp = "", ss, obj
	     //  alert(allMA.length)
	       for (i=0; i< allMA.length; i++)
		   {	
		     	try{		
					obj = findObj("m"+i)
					ss = allMA[i];	
					//alert("ss  " + ss)
			 		//ss = ss.substring(2)
			 		var s = ss.split("^");
					if (ss != "")
					{
						if (obj.checked == true)
							ss = s[0] +"^1^" + s[2];
						else
							ss = s[0] +"^0^" + s[2];
						if (temp=="")
				   		temp = ss
				   		else
						temp = temp + "|" + ss;
					}	
				}catch(e){}				
	       }	
	     //  alert("ret:  " +temp)    
	       return temp;	
	    }
	      /// get MAs
	    function getAllMAs(mas)
	    {
	       var temp = "", ss ="", obj
	       var all = mas.split("|");
	       for (i=0; i< all.length-1; i++)
		   {	
		       try{	
					obj = findObj("m"+i)
					ss = all[i]
					if (ss.indexOf("^")>=0)
			    		ss = ss.substring(2)
					if (ss != "")
					{
						if (obj.checked == true)
							ss = "^1"+ ss;
						else
							ss = "^0"+ ss;
						temp += ss
						temp += "|"
					}
				}catch(e){}					
	       }	    
	       return temp;	
	    }
	     /// onclick Tickers check box
	    function onClick()
	    {
	        if (stockes != "")
				stockes = reFormatTickers(stockes, "a");
	       // alert(indexes)
			if (indexes != "" && options != "F")
			{
				indexes = reFormatTickers(indexes, "i");				
			    findObj("Index").value = indexes; 
			}
           // alert("pp")
			findObj("Stock").value = stockes;        
			//keep other infomation
			findObj("MovingAvg").value     = movingAvg  
            findObj("LowIndicators").value = lowindicators            
			findObj("Fundamental").value   = fundamental;
			findObj("Options").value       = options;
				/// keep index
		 	findObj("Index").value = indexes   
		 	saveInfo();
		//	 alert("3")
			show(1);
	    }
	    /// onclick events check box    
	    function onEVClick()
	    {
		   allEV = events.split('|')
		   var temp = "";
		   for (i=0; i< allEV.length; i++)
		   {	
		       try{	
					obj = findObj("e"+i)
					ss = allEV[i]
			  		ss = ss.substring(2)
					if (ss != "")
					{
						if (obj.checked == true)
							ss = "^1"+ ss;
						else
							ss = "^0"+ ss;
						temp += ss
						temp += "|"
					}
				}catch(e){}			
	       }	
	       events = temp;
	       findObj("Events").value       = events;
	       findObj("Options").value      = options;
	       findObj("Fundamental").value  = fundamental; 
	       if (timeFrame == "CUT")
           {
              findObj("DateFrom").value      = from;
		      findObj("DateTo").value        = to;
           }
	       show(0);    
			  
	    }
	      /// get MAs
	    function getEVs()
	    {
	       var temp = "", ss ="", obj
	     // alert(allT.length)
	       for (i=0; i< allMA.length-1; i++)
		   {	
		      try{	
				obj = findObj("m"+i)
				ss = allMA[i]
			  	ss = ss.substring(2)
				if (ss != "")
				{
					if (obj.checked == true)
						ss = "^1"+ ss;
					else
						ss = "^0"+ ss;
					temp += ss
					temp += "|"
				}	
			   }catch(e){}			
	       }	    
	       return temp;	
	    }
	    /// onclick MA check box
	    function onClickMA()
	    {
	    	//alert(movingAvg)
	    	allMA = movingAvg.split('|')
	    	//alert(allMA)
	    	if (allMA != null && allMA != "")
			{
				movingAvg = getMAs()
				//alert(movingAvg)
			}
			// MA do not go to fundamental
            findObj("Fundamental").value   = "";		
			// keep moving average and price overlays
			findObj("MovingAvg").value     = movingAvg; 
            // keep low indicators
            findObj("LowIndicators").value = lowindicators ; 
            findObj("Options").value       = options;
            findObj("Events").value        = events; 
            
            	//
			findObj("Stock").value = stockes;
				/// keep index
			findObj("Index").value = indexes   	
            saveInfo();
            show(1);
        }
	    /// tim eperiod changed
	    function OnHelp(x, y)
	    {
	         if (x > 530 && x< 540)
	         {
				if ( y > 215 && y <225)
					return true;
				else  if ( y > 315 && y <325)
					return true;
				else  if ( y > 415 && y <425)
					return true;
				else  if ( y > 515 && y <525)
					return true;
	         }	
	         return false;			
	    }
		function ChgPrama(tag)
		{   
		    if (IsVisible("tim"))
		       return;
		    if (options == "H" && (tag == "D1" || tag == "D5"))
			{
	
			    if (movingAvg.indexOf("^1^KChl") >= 0 )
				{
				   alert("Sorry, the Keltner Channel is not available in intraday.");
      	  	       return;
      	  	    }
				if (lowindicators.indexOf("FAST_Stochastics") >= 0 )
				{
				   alert("Sorry, the FAST Stochastics is not available in intraday.");
      	  	       return;
      	  	    }
			  	if (lowindicators.indexOf("SLOW_Stochastics") >= 0 )
			  	{
				   alert("Sorry, the Slow Stochastics is not available in intraday.");
      	  	       return;
      	  	    }
			  	if ( lowindicators.indexOf("getCCI") >= 0 )
			  	{
				   alert("Sorry, the CCI is not available in intraday.");
      	  	       return;
      	  	    }
			  	if (lowindicators.indexOf("HL_Oscillator") >= 0 )
			  	{
				   alert("Sorry, the HL Oscillator is not available in intraday.");
      	  	       return;
      	  	    }
			  	if (lowindicators.indexOf("getUltimateOscillator")>=0 )
			  	{
			  	   alert("Sorry, the UltimateOscillator is not available in intraday.");
      		  	   return;
			  	}
			  	if (lowindicators.indexOf("MFI")>=0 )
			  	{
			  	   alert("Sorry, the Money Flow Index is not available in intraday.");
      		  	   return;
			  	}
			}       
	        findObj("Security").value = security;	
	        if (tag != "CUT")
	        {	
			    var	tf    = timeFrame;
				imgs      = tag
		 
				sInds = ""	  			
			    /// set new time period
			    timeFrame                  = tag;
				findObj("TimeFrame").value = tag;
				// change tab
			    var tab = tag;			
			    if (options != "V")
			    {
					if (tab == "D1")
						findObj("tframe").src = "/charts/images/MSC11Tab_1d.gif";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "D5")
						findObj("tframe").src = "/charts/images/MSC11Tab_5d.gif"; //tb += "<TD class='msSmallm '><img border=0 id= 'tframe' onclick = javascript:ChgPrama('D5') src='/charts/images/MSC10Tab_5d.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "M1")
						findObj("tframe").src = "/charts/images/MSC11Tab_1m.gif"; //1d</b></a>";
					else if (tab == "M3")
						findObj("tframe").src = "/charts/images/MSC11Tab_3m.gif"; //onclick = javascript:ChgPrama('M3') src='/charts/images/MSC10Tab_3m.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "YTD")
						findObj("tframe").src = "/charts/images/MSC11Tab_YTD.gif";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "Y1")
						findObj("tframe").src= "/charts/images/MSC11Tab_1y.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "Y3")
						findObj("tframe").src= "/charts/images/MSC11Tab_3y.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "Y5")
						findObj("tframe").src= "/charts/images/MSC11Tab_5y.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "Y10")
						findObj("tframe").src= "/charts/images/MSC11Tab_10y.gif";//  usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
 					else if (tab == "CUT")    
						findObj("tframe").src= "/charts/images/MSC11Tab_Custom.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "AL")    
						findObj("tframe").src= "/charts/images/MSC11Tab_Max.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
			
				}else
				{
					if (tab == "M1")
						findObj("tframe").src = "/charts/images/MSC8Tab_1m.gif"; //1d</b></a>";
					else if (tab == "M3")
						findObj("tframe").src = "/charts/images/MSC8Tab_3m.gif"; //onclick = javascript:ChgPrama('M3') src='/charts/images/MSC10Tab_3m.gif' usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "YTD")
						findObj("tframe").src = "/charts/images/MSC8Tab_YTD.gif";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "Y1")
						findObj("tframe").src= "/charts/images/MSC8Tab_1y.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "Y3")
						findObj("tframe").src= "/charts/images/MSC8Tab_3y.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "Y5")
						findObj("tframe").src= "/charts/images/MSC8Tab_5y.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					else if (tab == "Y10")
						findObj("tframe").src= "/charts/images/MSC8Tab_10y.gif";//  usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
 				
				}
			    document.images["graph"].src	= "/charts/images/LoadingScreenAnimation.gif";
				from = "";
				to   = "";
				findObj("from").value = "";
				findObj("to").value   = "";
			 	//alert(" before save() " +lowindicators)
			//	saveInfo();
				//alert(timeFrame +"  " + tf)
				if (timeFrame != "D1" && timeFrame != "D5" && (tf == "D1" || tf == "D5" || tf == "AL"))
					show(1);
				else if ((timeFrame == "D1" || timeFrame == "D5") && tf != "D1" && tf != "D5")
					show(1);				
				else
				{
				//alert("do")
					document.images["graph"].src = "/charts/images/LoadingScreenAnimation.gif";
					doItAll()
					show(1);
				}
			}else{				  		 
				showT("tim");						
			}		
			bTips = false
		
		}
		function mouseOut(e)
		{
		
			var xcoord = 0; ycoord = 0;
			if( !e ) 
			{
				if( window.event ) 
				{
					//DOM
					e = window.event;
				}
				else 
				{
					//TOTAL FAILURE, WE HAVE NO WAY OF REFERENCING THE EVENT
					return;
				}
			}
			if( typeof( e.pageX ) == 'number' ) 
			{
				//NS 4, NS 6+, Mozilla 0.9+
				xcoord = e.pageX;
				ycoord = e.pageY;
			} 
			else 
			{
				if( typeof( e.clientX ) == 'number' ) 
				{
							//IE, Opera, NS 6+, Mozilla 0.9+
							//except that NS 6+ and Mozilla 0.9+ did pageX ...
					xcoord = e.clientX;
					ycoord = e.clientY;
					if( !( ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) ||
								( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) || window.navigator.vendor == 'KDE' ) ) 
					{
						if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
							//IE 4, 5 &amp; 6 (in non-standards compliant mode)
							xcoord += document.body.scrollLeft;
							ycoord += document.body.scrollTop;
						} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
						{
							//IE 6 (in standards compliant mode)
							xcoord += document.documentElement.scrollLeft;
							ycoord += document.documentElement.scrollTop;
						}
					}				
			    }	
			}
			
			if( xcoord < _gx + 40  || xcoord > _gx + _gw 
				|| ycoord < _gy + 40 || ycoord > _gy + _gh )
			{
				hideTip();
				hideAllDotsImages();
			}
		    // stat_write("");
		}
		
		/// mouse events
		function init()
		{
		    //var t= "723|823|923|1023";
		    // BaseYPos = t.split("|");
		    PriceHeigth   = 165;
		    //priceYBottom  = 611;
		    var obj = findObj("graph");
			obj.onmousemove = mouseMove;
			obj.onmousedown = mouseDown;
			obj.onmouseover = mouseOver;
			obj.onmouseout  = mouseOut;
			findObj("ZoomRect").onmousedown =onclickZommRect;
		}
		function getValue(v)
		{
		 
		  if (v.indexOf("px") >=0)
		    return v.substring(0, v.indexOf("px"));
		  return v;
		}
	    function mouseOver(e)
		{
		    if (!bTips)
		    {
		      bTips = true;		      
		    }
		}
		function mouseDown(e)
		{
		
		    hideAllZoomInImages();
		    if (options == null || options == "F" || IsVisible("tim"))
		    {
		       // alert("Error 0, please try again.")
		        return;
		    }
		    if (sPrice.length<=1 || timeFrame == "D1" || timeFrame == "D5")
		    {
		      //  alert("Error 1, please try again.")
		        beginDate = "";	
		        return;
		    }
		  
			var xcoord = 0;
			var ycoord = 0;	
			if( !e ) 
			{
				if( window.event ) {
						//DOM
					e = window.event;
				} else {
						//TOTAL FAILURE, WE HAVE NO WAY OF REFERENCING THE EVENT
					alert("Error 2, please try again.")
					return;
				}
			}
			if( typeof( e.pageX ) == 'number' ) 
			{
				//NS 4, NS 6+, Mozilla 0.9+
				xcoord = e.pageX;
				ycoord = e.pageY;
			} else {
				if( typeof( e.clientX ) == 'number' ) 
				{
							//IE, Opera, NS 6+, Mozilla 0.9+
							//except that NS 6+ and Mozilla 0.9+ did pageX ...
					xcoord = e.clientX;
					ycoord = e.clientY;
					if( !( ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) ||
								( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) || window.navigator.vendor == 'KDE' ) ) 
					{
						if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
							//IE 4, 5 &amp; 6 (in non-standards compliant mode)
							xcoord += document.body.scrollLeft;
							ycoord += document.body.scrollTop;
						} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
						{
							//IE 6 (in standards compliant mode)
							xcoord += document.documentElement.scrollLeft;
							ycoord += document.documentElement.scrollTop;
						}
					}				
			    } else {
						//TOTAL FAILURE, WE HAVE NO WAY OF OBTAINING THE
						//MOUSE COORDINATES	
				    alert("There is an error, please try again.")			
					return true;;
				}			
			}
		
			/// delete zoom function if click out of zoomrect arae
		    if (getValue(findObj("ZoomRect").style.width) > 10 && (xcoord < Math.min(getValue(findObj("lleft").style.left),getValue(findObj("rright").style.left))  || (xcoord > Math.max(getValue(findObj("lleft").style.left),getValue(findObj("rright").style.left)))))
		    {
		        findObj("ZoomRect").style.width = "1px";
		        hideAllZoomInImages();
			    arrowLeft  = -1;
			    arrowRight = -1;
		        return;
		    }
		    // end
		    //click once for zoom in
		    if (eval(arrowLeft)  >=  0 && eval(arrowRight) >= 0 )//|| findObj("ZoomRect").style.width <= 5)
		        return;
		   
		    xcoord -= 25;
			findObj("lleft").style.left     = xcoord + "px";
			findObj("rright").style.left    = xcoord + "px";
			findObj("DateLeft").style.left  = (xcoord - 20)+"px";
			findObj("DateRight").style.left = (xcoord - 20)+"px";
		 	findObj("ZoomRect").style.left  = (xcoord + 17)+"px";;
		 	findObj("ZoomRect").style.width = "2px";
			showT("ZoomRect");
			showT("rright");
			showT("lleft");
			showT("DateLeft");
			showT("DateRight");
			arrowLeft  = 0;
			arrowRight = 0;
			doIt(xcoord, xcoord);	
			return true;		
		}
		
		function atLeastTwo(date1, date2)
		{
		   if (date1.indexOf(",") < 0)
		   {
				var d1 = date1.split('/');
				var d2 = date2.split('/');
				if (parseInt(d2[2]) > parseInt(d1[2]))
					return true;
				if (parseInt(d2[0]) > parseInt(d1[0]))
					return true;	
				if (parseInt(d2[1]) - parseInt(d1[1]) > 5)		   
					return true;
		   }else{
				var d1 = date1.split(',');
				var d2 = date2.split(',');
				if (parseInt(d2[1]) > parseInt(d1[1]))
					return true;	
				if (parseInt(d2[0]) - parseInt(d1[0]) > 5)		   
					return true;
		   }
		   return false;
		   
		}
		function doIt(xcoord, xcoord1)
		{
		   
			var i= xcoord - gLeft - 40 + 1;//, width = eval(size);		
			///size: 761, 524, 232
			var dx = width/sDate.length ;	
			if ( IsVisible("tp"))
			{
			    hide("tp");	
			    if (i>=0 && i <width )
				{
					k = i/dx +"";
					k = parseInt(k); 
					if (atLeastTwo(beginDate, sDate[k]))
					{
						findObj("DateTo").value   = sDate[k];
						to                        = sDate[k];
						beginDate = "";											
						saveInfo();
						bTips = false;
						if (options != "V")
						{							  
							findObj("tframe").src= "/charts/images/MSC11Tab_Custom.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
						}else
						{	
						    findObj("tframe").src= "/charts/images/MSC8Tab_Custom.gif";// usemap='#PRICE'>";//<a href=javascript:ChgPrama('D1')><b>1d</b></a>";
					
						}
						show(1);	
						timeFrame = "CUT";		
					}else
					    alert("Sorry, time period you selected is too small.")
				}
			 }else{				
				if (i>=0 && i <width )
				{
					k = i/dx +"";
					k = parseInt(k);			
					findObj("DateFrom").value = sDate[k];
					from                      = sDate[k];
				 	beginDate = sDate[k];
				 	timeFrame = "CUT";	
				   /// change date area date displaying	
			        var objDate    = findObj("DateLeft");		   
			        ChangeObjContent(objDate, formatDate(sDate[k]));
			        objDate    = findObj("DateRight");
			        ChangeObjContent(objDate, formatDate(sDate[k]));
				}
			}
		}
	 
		function mouseMove(e)
		{  
	       if (sDate == "" || ( eval(arrowLeft)  >=  0 && eval(arrowRight) >= 0))
		   {
		      //  alert(sDate +  "  "+ arrowLeft +"  "+ arrowRight)
		        return;
		   }
		   if (!IsVisible("ddate"))
		      showTip();
		   if (timeFrame == "D1" || timeFrame == "D5")
		   {	
		      beginDate = "";
		   }	
		   if (options == null || IsVisible("tim"))
		    {
		     //alert(options)
		       return;
		    }
			var xcoord = 0;
			var ycoord = 0;
			if( !e ) 
			{
				if( window.event ) {
							//DOM
						e = window.event;
				} else {
							//TOTAL FAILURE, WE HAVE NO WAY OF REFERENCING THE EVENT
							return;
				}
			}
	
			if( typeof( e.pageX ) == 'number' ) 
			{
						//NS 4, NS 6+, Mozilla 0.9+
				xcoord = e.pageX;
				ycoord = e.pageY;
			} else {
				if( typeof( e.clientX ) == 'number' ) 
				{
							//IE, Opera, NS 6+, Mozilla 0.9+
							//except that NS 6+ and Mozilla 0.9+ did pageX ...
					xcoord = e.clientX;
					ycoord = e.clientY;
					if( !( ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) ||
								( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) || window.navigator.vendor == 'KDE' ) ) 
					{
						if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
								//IE 4, 5 &amp; 6 (in non-standards compliant mode)
							xcoord += document.body.scrollLeft;
							ycoord += document.body.scrollTop;
						} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
						{
								//IE 6 (in standards compliant mode)
							xcoord += document.documentElement.scrollLeft;
							ycoord += document.documentElement.scrollTop;
						}
					}
				} else {
						//TOTAL FAILURE, WE HAVE NO WAY OF OBTAINING THE
						//MOUSE COORDINATES
					return;
				}
			}
		    if (OnHelp(xcoord, ycoord))
		       return;
			/// changed by image posirion	
		 	//alert(	fundamental +"  O:  " +options + " s: " + size);
		  	var sw = size;
	
		    width = eval(sw);		 
		    width = width - 40;
		    /// multiple scales
		    var pts = sDate.length;
		
		    if (timeFrame == "D1" )
		        pts = 79;
		    if (timeFrame == "D5" )
		        pts = 394;	    
		    var dx = width/pts;
		
		   	if (options == "F" && fundamental != "TOTR" )
		   	{		
			   width = width - 40;	
			   pts   = 132;
			
			   dx = width/pts;
			}
			/// deltaX for zoom to use
			deltaX = dx;
	 	    /// i is on graph
		    var i= xcoord - 40 - gLeft - 3;
		    if (i>=0 && i < width )
		    {
		        var objScale  = findObj("scale");
		        var objScale1 = findObj("scale1");
		        var objDate   = findObj("ddate");
		        var objTip    = findObj("tip");
		        /// change vertical and horizontal ruler position
		        objScale.style.left = (xcoord+5) + "px";		
		        objScale1.style.top = (eval(ycoord) -87)+ "px";
		        /// move date label left off the scale
		       if ( eval(size)  - i > 200)
		        {
					if (i > 40 && options != "V")
						objDate.style.left  = (xcoord - 135) + "px";
					else
						objDate.style.left  =  (xcoord + 25) + "px";
		       }else{
		 			objDate.style.left  = (xcoord - 135) + "px";			
		       } 
		    
		        var xIndicator = xcoord;
		     
			    if ( eval(size)  - i > 150)
				{
					xIndicator += 3;
					xcoord      = (xcoord + 3);
				}else{
					xIndicator -= 145;		
					xcoord      = (xcoord - 160 - 3);
				}
		
		        objTip.style.left   = xcoord + "px";		        
		     
			    k = i/dx +""
			    k = parseInt(k);
			    
			    ///v2.0  
				/// Just show dot while there is a bar
				//if  (type == "SAF")				
				//	hideAllDotsImages();
				//else
				{
					findObj("dot1").style.left = (graphXStart+gLeft+ k*dx)+ "px";
					changeBtmXPos(graphXStart+gLeft+ k*dx);	
					showT("dot1");
					showAllMovingDots(lowindicators);
		        }
		        
			    if (options == "F" )
			        displayFundamental(k, xIndicator, ycoord)
			    else if (options == "V")
			        displaysFV(k,k, xIndicator, ycoord);			
			    else if (options == "H")
			        displaysH1(k,xIndicator, ycoord);
			    else
			        displays(k,xIndicator, ycoord);	
			 }else{	
			    	  
				hideTip();
			 }		
		}
		function changeBtmXPos(x)
		{
	        findObj("bdot1").style.left = x+ "px";
		    findObj("bdot2").style.left = x+ "px";
		    findObj("bdot3").style.left = x+ "px";
		    findObj("bdot4").style.left = x+ "px";
		}
		function changeBtmYPos(n, y)
		{
			var id = "bdot" + n;
		    if( isNaN(y) )
		    {
				hide( id );
				return;
		    }
		    findObj( id ).style.top = y;	
		
		}
		function displayFundamental(k, xcoord, ycoord)
		{ 
		      var objTip   = findObj("tip");	
		      var psd = "";
		      var label1 = sCompLabel.split("|");
		      var labels = label1[label1.length-1];
		      for (var m=0; m<label1.length-1; m++)
		      {
				labels = labels + "|" + label1[m];
		      }
	          //priceYBottom = 605;
	          if( sPrice[k] == undefined || sPrice[k] == null || sPrice[k] == "")
	          {
				hide( "dot1" );
				hideAllZoomInImages();
	          }else
				findObj("dot1").style.top  = (priceYBottom - (eval(sPrice[k])- topMin)*topScale)+ "px";
					     
			   
		   	  var IND = "<TABLE cellSpacing='0' cellPadding='0' border='0'>";
	        
		   	  if (stockes != "" && stockes.indexOf("^1") > 0 && fundamental != "TOTR") 
			  {
			      try{
			       labels    = fPrime + "|" + ClearSigns(stockes);
	               var label = labels.split("|");
	            		
			       for (var i=0; i< label.length;i++)
			       {
			            if (label[i] == "")
			               continue;
		                var compData = sPriceComp[i].split("|");
						//var objTip   = findObj("tip"+(i+1));	
						var dp = compData[k];	
							
					 	if (dp.indexOf("/") >= 0)
						{
							   var dd= dp.split("/");
							   if (fundamental == "CFO")
							      IND += setCFO(label[i],dd);
							   else if (fundamental == "PROA")
							      IND += setPROA(label[i],dd);
							   else if (fundamental == "ROEA")
							      IND += setROEA(label[i],dd);
							   else if (fundamental == "TOTR")
							      IND += setTOTR(label[i], dd)
											
						}else if (fundamental == "ROEG10" || fundamental == "ROAG10")
						{
						    if (dp == "")
						       IND += getOneRow(label[i],"", "--");
						    else
							   IND += getOneRow(label[i],"", dp +"%");
						}else if (fundamental == "CR" )
						{
						    if (dp == "")
						       IND += getOneRow(label[i],"", "--");
						    else
						       IND += getOneRow(label[i],"", dp);	
						}else{
						    if (dp == "")
						       IND += getOneRow(label[i],"", "--");
						    else
						       IND += getOneRow(label[i],"", "$"+dp);
						}						
					}
				 }catch(e)
				 {
				 }	
				
			   }else{			   	  

			       if (sPriceComp[0] == "")
			            return	
			       try{	
			         var compData = sPriceComp[0].split("|");			    
					 var dp = compData[k], sd ="";
					 if (dp.indexOf("/") >= 0 )
					 {			
						var dd = dp.split("/");
						if (fundamental == "CFO")
						    IND += setCFO(fPrime,dd);
						else if (fundamental == "PROA")
							IND += setPROA(fPrime,dd);
					    else if (fundamental == "ROEA")
					        IND += setROEA(fPrime,dd);
					    else if (fundamental == "TOTR")
							IND += setTOTR(fPrime, dd)									
					 }else if (fundamental == "ROEG10" || fundamental == "ROAG10")
					 {
					     if (dp == "")
					        IND += getOneRow(fPrime,"", "--");
					     else
							IND += getOneRow(fPrime,"", dp +"%");
					 }else if (fundamental == "CR" )
					 {
					     if (dp == "")
					        IND += getOneRow(fPrime,"", "--");
					     else
						    IND += getOneRow(fPrime,"", dp);	
					 }else{
					     if (dp == "")
					        IND += getOneRow(fPrime,"", "--");
					     else
						    IND += getOneRow(fPrime,"", "$"+dp);
					 }	
				 }catch(e)
				 {
				 }	
				
			   }
			   IND += "</TABLE>"; 	
			   try{
					ChangeObjContent(objTip, IND) 
					var objDate    = findObj("dateI");
					/// change date area date displaying	   
					ChangeObjContent(objDate, formatDate(sDate[k]));
			   }catch(e){}
			   
			   /// first is Volume
			   var n = 1;
			   if (fundamental == "ROEA" || fundamental == "PB" || fundamental == "PC"|| fundamental == "PS"|| fundamental == "PE"||
			             fundamental == "RG" || fundamental == "EPSG"|| fundamental == "OIG" || fundamental == "EQG")
			   {
			       n = 2;
			       findObj("indicator1").style.left=xcoord;
			       showT("indicator1");
				   var fd = "";
				   IND = "<TABLE cellSpacing='0' cellPadding='0' border='0'>";
				   if (sCompLabel.indexOf("|") > 0 )//&& fundamental != "ROEA") 
			       {
			          try{
							var label = sCompLabel.split("|");
							var temp = label[label.length-1];
							for (var j=0; j< label.length-1; j++)
							{
								temp = temp +"|" + label[j];
							}
							label = temp.split("|");
							for (var i=0; i <label.length;i++)
							{						
								if (label[i] == "")
									continue;
								var compData = sFundamental[i].split("|");	
								if (fundamental == "RG" || fundamental == "EPSG"|| fundamental == "OIG" || fundamental == "EQG")
								{
									if (compData[k] == "")
										IND += getOneRow(label[i],"", "--");
									else	
										IND += getOneRow(label[i],"", compData[k]+"%");	
								}else{
								    if (compData[k] == "")
										IND += getOneRow(label[i],"", "--");
									else	
										IND += getOneRow(label[i],"", compData[k]);		
								}
							}
						}
						catch(e){}
						IND += "</TABLE>"; 	
						ChangeContent("val11", IND) 
						/// second is Volume
					
					  //  ChangeContent("val11",  fd);	
			       }else{
			       	    var compData = sFundamental[0].split("|");
						fd = sCompLabel +": "+ compData[k];	
					    ChangeContent("val11",  fd);		
			       }					 		  
			   }
			 
			   if ( strIndicator1.length > 0 && k < strIndicator1.length )
			   {
					dd = strIndicator1[k];
					if (dd != undefined && dd != null && dd != "")
					{	
						var id = "indicator1";
						// change position	
						findObj( id ).style.left = xcoord;	
						var y = BaseYPos[n-1] - (toNumber(dd)/eval(btmBase[0]) - eval(btmMin[0]))*eval(btmScale[0]);
						if( parseFloat( btmMin[0] ) < 0 )
							y -= 8;
						changeBtmYPos(1, y);					
					}
				}
		}
		function twoDecimal(data)
		{
	
		   if ( data == undefined || data == "NULL" || data == "")
		     return "--";
		   if (data.indexOf(".") > 0 && data.length - data.indexOf(".") > 2)
		       data = data.substring(0, data.indexOf(".") + 3);
		   return data;
		}
		function oneDecimal(data)
		{
		 //  alert(data)
		   if (data == "NULL" || data == "")
		     return "--";
		   if (data.indexOf(".") > 0 && data.length - data.indexOf(".") > 1)
		       data = data.substring(0, data.indexOf(".") + 2);
		   return data;
		}
		function getnYears()
		{
		    if (timeFrame.indexOf("M") == 0 )
		       return 0;
			if (timeFrame != "CUT" && timeFrame != "AL" && timeFrame != "D1" && timeFrame != "D5" && timeFrame != "YTD" )
				return eval(timeFrame.substring(1));
			return 0;
		
		}
		
		function getSplits(splits, d)
		{
			if ( splits == "" || splits.indexOf(d) < 0)
				return "";
			var s = splits.substring(splits.indexOf(d));
			if (s.indexOf(";") > 0)
				s = s.substring(0, s.indexOf(";"));
			var ss = s.split("|");
			return ss[1];
			
		}
		function getDivs(divs, d)
		{	
		    if ( divs == "" || divs.indexOf(d) < 0)
				return "";
		   	var s = divs.substring(divs.indexOf(d));
		    if (s.indexOf(";") > 0)
				s = s.substring(0, s.indexOf(";"));
			var ss = s.split("|");
			return twoDecimal(ss[1]);  
		}	
		/// display data tip for Price Tab
		function displays(k, xcoord, ycoord)
		{   

		      /// for price and upindicator tip
		      if ((indexes != "" && indexes.indexOf("^1") > 0) || (stockes != "" && stockes.indexOf("^1") > 0))
			  {	
			    var temp = "";
			    try{
			       if (indexes != "" && indexes.indexOf("^1") > 0)
			          temp = indexes +"|";
			       if (stockes != "" && stockes.indexOf("^1") > 0)
			          temp = temp + stockes;
			       temp = ClearSigns(temp)
			       var label = temp.split("|");
			       var n = label.length;
			       var psd, s, sps = sPrice[k];
			       var IND = "<TABLE cellSpacing='0' cellPadding='0' border='0'>";
			       if (sps == "")
				       IND += getOneRow(security, "", "--");	
				   else
				       IND += getOneRow(security, "", twoDecimal(sPrice[k])+"%");	
				   //1.1				
				   if (ssplits != undefined && ssplits.length > 0 && ssplits[ssplits.length - 1].indexOf(sDate[k])>=0)
				       IND += getOneRow("", "Split:", getSplits(ssplits[ssplits.length - 1], sDate[k]));
				   if (dividends != undefined && dividends.length > 0 && dividends[dividends.length - 1].indexOf(sDate[k])>=0)
				       IND += getOneRow("", "Dividend:", getDivs(dividends[dividends.length - 1], sDate[k]));
				 
				   var objTip   = findObj("tip");
				   var ps = "";
				   for (var i=0; i< n;i++)
			       {
			            try{
							if (sPriceComp[i] == "")
								continue;
							var compData = sPriceComp[i].split("|");	
							if ( eval(k) > compData.length - 1)
			                    return;				
							var ps = compData[k];
							//alert(ps)
						
							if (ps == "")
							    IND += getOneRow(label[i], "", "--");
							else{
								if (compData[k].indexOf(';') < 0)
									ps = twoDecimal(compData[k]);	
							    IND += getOneRow(label[i], "", ps+"%");
							    findObj("dot1").style.top  = (priceYBottom - Math.abs(eval(sPrice[k])- topMin)*topScale)+ "px";
							}
							//v1.1
							if (ssplits != undefined && ssplits.length > 0 && ssplits[i].indexOf(sDate[k])>=0 )
								IND += getOneRow("", "Split:", getSplits(ssplits[i], sDate[k]));
							if (dividends != undefined && dividends.length > 0 && dividends[i].indexOf(sDate[k])>=0)
								IND += getOneRow("", "Dividend:", getDivs(dividends[i], sDate[k]));
							 
					    }catch(e)
					    {}					
					}
					IND += "</TABLE>"; 						
				    ChangeObjContent(objTip, IND)  
				 }catch(e){}			
			   }else
			   {
					var objTip1   = findObj("tip");
					var psd = "";
				    var IND = "<TABLE cellSpacing='0' cellPadding='0' border='0'>";
					try{
			     	    if (totals != "")
					    {
					       try{
					       IND += getOneRow(security, "", twoDecimal(sPrice[k])+"%");
					       findObj("dot1").style.top  = (priceYBottom - Math.abs(eval(sPrice[k])- topMin)*topScale)+ "px";
					       }catch(e){}
					    }else if (types == "" && getnYears() > 1)
					    {	
					      // alert("1")
					       try{
					       IND += getOneRow(security, "", "$"+twoDecimal(sPrice[k]));	
					       findObj("dot1").style.top  = (priceYBottom - Math.abs(eval(sPrice[k])- topMin)*topScale)+ "px";
								
					      }catch(e){}				
					    }else if (timeFrame != "CUT" && (timeFrame.indexOf("D") < 0 || timeFrame == "YTD") && (types == "BAR" || types == ""))
					    {
					       //alert("2")
					       try{
							   if (sPriceH != "" && sPriceL != "" )
							   {
									s = twoDecimal(sPriceH[k]);
									if (sPriceH[k] == ""){
										IND += getOneRow(security, "High:", "--");	
										hide("dot1");
									}else{
										IND += getOneRow(security, "High:", "$"+s);										
								    }	
									s = twoDecimal(sPriceL[k]);
									if (sPriceL[k] == "")
										IND += getOneRow("&nbsp;", "Low:", "--");	
									else
										IND += getOneRow("&nbsp;", "Low:", "$"+s);
								}
							}catch(e){}
							try{
								s = twoDecimal(sPrice[k]);
								if (sPrice[k] == "")
									IND += getOneRow("&nbsp;", "Close:", "--");	
								else
								   IND += getOneRow("&nbsp;", "Close:", "$"+s);
						        if (sPriceH != "" && sPriceL != "" )
								   findObj("dot1").style.top  = (priceYBottom - Math.abs(eval(sPriceH[k])- topMin)*topScale)+ "px";
								
						    }catch(e){}	
						}else{
						   if ((types == "BAR" || types == "") && sPriceH != "" && sPriceL != "" )
					       {
					           try{
									s = twoDecimal(sPriceH[k]);
									if (sPriceH[k] == "")
										IND += getOneRow(security, "High:", "--");	
									else{
										IND += getOneRow(security, "High:", "$"+s);					
									 	findObj("dot1").style.top  = (priceYBottom - Math.abs(eval(sPriceH[k])- topMin)*topScale)+ "px";
									}	
									s = twoDecimal(sPriceL[k]);
									if (sPriceL[k] == "")
										IND += getOneRow("&nbsp;", "Low:", "--");	
									else
										IND += getOneRow("&nbsp;", "Low:", "$"+s);
								}catch(e){}
								try{
								
								    s = twoDecimal(sPrice[k]);
									if (sPrice[k] == "")
										IND += getOneRow("&nbsp;", "Close:", "--");	
									else
										IND += getOneRow("&nbsp;", "Close:", "$"+s);
								}catch(e){}
						  }else{
						
						        try{						      
								if (sPrice[k] == "")
								{
									IND += getOneRow(security, "", "--");
									hide("dot1");
								}
								else
								{
									IND += getOneRow(security, "", "$"+twoDecimal(sPrice[k]));	
								 	findObj("dot1").style.top  = (priceYBottom - Math.abs(eval(sPrice[k])- topMin)*topScale)+ "px";
								}
								}catch(e){}
						   }
						}
						//v1.1
						if (ssplits != undefined && ssplits.length > 0 && ssplits[ssplits.length - 1].indexOf(sDate[k])>=0)
							IND += getOneRow("", "Split:", getSplits(ssplits[ssplits.length - 1], sDate[k]));
						// alert(dividends.length)
						if (dividends != undefined && dividends.length > 0 && dividends[dividends.length - 1].indexOf(sDate[k])>=0)
							IND += getOneRow("", "Dividend:", getDivs(dividends[dividends.length - 1], sDate[k]));
					
					}catch(e){}
					IND += "</TABLE>"; 		
				    ChangeObjContent(objTip1, IND)  
			    }
			
			    var objDate    = findObj("dateI");			       
			    ChangeObjContent(objDate, formatDate(sDate[k]));
			    /// for Volume and Indicators tip
			    /// change low indicators area data displaying
			    ///	 alert(lowindicators +"    "  +strIndicator1[k])	
				if (lowindicators != "")
				{	
					var lows = lowindicators.split('|');
			        var len  = lows.length;				      
			        if (options == "P")
			           len = 2;		   
			        var dd ="", label ="";
					if ( len > 0)
					{
						for (var n=1; n< len; n++)
						{
						   try{
								findObj("indicator"+n).style.left=xcoord;
								showT("indicator"+n);
								if (n == 1 && strIndicator1 != null && k < strIndicator1.length){			
									dd = strIndicator1[k];
									label = strLabel1;						
								}else
									dd = "";
								if (dd != "")
								{								
								 	var y = BaseYPos[n-1] - (toNumber(dd)/eval(btmBase[n-1]))*eval(btmScale[n-1]);
									changeBtmYPos(n, y);
								}
								if (dd == null )
									return;
								ChangeContent("val" + n +"1",  twoDecimal(dd));
								ChangeContent("valLabel" + n +"1",  label);
							}
							catch(e)
							{
							}
						}
					}
				}
		}
		function toNumber(v)
		{
		  while (v.indexOf(",") >=0)
		  {
		     v= v.replace(",", "");
		  }
		  return v;
		}
		function getOneRow(label, label1, ss)
		{
			 var IND = "<TR>"
			 IND += "<TD class='msSmallB' align='left'><b>";
			 IND += label;
			 IND += "</b></TD>";
			 IND += "<TD class='msSmallB'>&nbsp;</TD>";
			 IND += "<TD class='msSmallB' align='left'>";
			 IND += label1;
			 IND += "</TD>";
			 IND += "<TD class='msSmallB'>&nbsp;</TD>";
			 IND += "<TD class='msSmallB' align='right'>";
			 IND += ss
			 IND += "</TD></TR>";
			 return IND;
		}
		function getSeperator()
		{
			 var IND = "<TR>"
			 IND += "<TD colspan=3>";
			 IND += "<img height='4' width=1 src='http://im.morningstar.com/im/dot_clear.gif'>"
			 IND += "</TD></TR>";
			 return IND;
		}
		function setCFO(label, dd)
		{
		    var IND;
		    if (dd[0] == "")
				IND = getOneRow(label,"OCF:", "--");
			else
		        IND = getOneRow(label, "OCF:","$"+dd[0]);
		    if (dd[1] == "")
				IND += getOneRow("","FCF:", "--");
			else
		        IND += getOneRow("", "FCF:","$"+dd[1]);
		    return IND;
		}
		function setROEA(label, dd)
		{
		    var IND;
		    if (dd[0] == "")
				IND = getOneRow(label,"ROE:", "--");
			else
		        IND = getOneRow(label, "ROE:",dd[0]+"%");
		    if (dd[1] == "")
				IND += getOneRow(label,"ROA:", "--");
			else
		        IND += getOneRow("", "ROA:",dd[1]+"%");
		    return IND;
		}
		function setTOTR(label, dd)
		{		
		    var IND = getOneRow(label, "Price:","$"+dd[0]);
		    IND += getOneRow("", "Price+div:","$"+dd[1]);
		    IND += getOneRow("", "CME:","$"+dd[2]);
		    return IND;
		}
		function setPROA(label, dd)
		{	
			var IND;
		    if (dd[0] == "")
				IND = getOneRow(label,"Gross:", "--");
			else
		        IND = getOneRow(label, "Gross:",dd[0]+"%");
		    if (dd[1] == "")
				IND += getOneRow(label,"Operating:", "--");
			else
		        IND += getOneRow("", "Operating:",dd[1]+"%");
		    if (dd[2] == "")
				IND += getOneRow(label,"Net:", "--");
			else
		        IND += getOneRow("", "Net:",dd[2]+"%");
		    return IND;
		}
		function setMAE(label, dd)
		{
		    var IND = getOneRow(label, "Up&nbsp;Band:","$"+dd[0]);
		    IND += getOneRow("", "Price&nbsp;Avg:","$"+dd[1]);
		    IND += getOneRow("", "Lower&nbsp;Band:","$"+dd[2]);
		    return IND;
		}
		function setBB(label, dd)
		{
		    var IND = getOneRow(label, "Top:","$"+dd[0]);		
		    IND += getOneRow("", "Bottom:","$"+dd[1]);
		    return IND;
		}
		function setKChl(label, dd)
		{
		    var IND = getOneRow(label, "Upper&nbsp;Channel:","$"+dd[0]);
		    IND += getOneRow("", "Price&nbsp;Avg:","$"+dd[1]);
		    IND += getOneRow("", "Lower&nbsp;Channel:","$"+dd[2]);
		    return IND;
		}
		function displaysH1(k, xcoord, ycoord)
		{ 	
		     if (movingAvg != "" && movingAvg.indexOf("^1") > 0)
			 {	
			    try{
			       var temp = movingAvg;
			       temp = ClearSigns(temp)
			       var label = temp.split("|");
			       var n = label.length;
		    
				   var IND = "<TABLE cellSpacing='0' cellPadding='0' border='0'>";
	               var s , psd = "";//security +": "+twoDecimal(sPrice[k]) +"($)";	
			       if ((timeFrame.indexOf("D") < 0 || timeFrame == "YTD" ) && (types == "BAR" || types == ""))
			       {
			           try{
							if (sPriceH != "" && sPriceL != "" )
							{
			       					s = twoDecimal(sPriceH[k]);
									IND += getOneRow(hPrime, "High:", "$"+s);		
									s = twoDecimal(sPriceL[k]);
									IND += getOneRow("&nbsp;", "Low:", "$"+s);
									s = twoDecimal(sPrice[k]);
									IND += getOneRow("&nbsp;", "Close:", "$"+s);
								    findObj("dot1").style.top  = (priceYBottom - (eval(sPriceH[k])- topMin)*topScale)+ "px";
								
							}else{
									s = twoDecimal(sPrice[k]);
									IND += getOneRow(hPrime, "", "$"+s);	
								    findObj("dot1").style.top  = (priceYBottom - (eval(sPrice[k])- topMin)*topScale)+ "px";
							}
			           }catch(e){}
			         //  s = twoDecimal(sPrice[k]);
			         //  IND += getOneRow("&nbsp;", "Close:", "$"+s);			          
				   }else{
				       if ((types == "BAR" || types == "") && sPriceH != "" && sPriceL != "" )
					   {
					       try{
								s = twoDecimal(sPriceH[k]);
								if (sPriceH[k] == "")
									IND += getOneRow(hPrime, "High:", "--");	
								else
									IND += getOneRow(hPrime, "High:", "$"+s);		
								s = twoDecimal(sPriceL[k]);
								if (sPriceL[k] == "")
									IND += getOneRow("&nbsp;", "Low:", "--");	
								else
									IND += getOneRow("&nbsp;", "Low:", "$"+s);
							    findObj("dot1").style.top  = (priceYBottom - (eval(sPriceH[k])- topMin)*topScale)+ "px";
						
							}catch(e){}
						
					   }else{
					        try{
								if (sPrice[k] == "")
									IND += getOneRow(hPrime, "", "--");	
								else
									IND += getOneRow(hPrime, "", "$"+twoDecimal(sPrice[k]));	
							    findObj("dot1").style.top  = (priceYBottom - (eval(sPrice[k])- topMin)*topScale)+ "px";
						
							}catch(e){}
					   }
				   }
				   IND += getSeperator()		
				   var objTip   = findObj("tip");
				   for (var i=0; i< n;i++)
			       {
			            try{
			          	    if (label[i].indexOf("KChl") >=0 && (timeFrame == "D1" || timeFrame == "D5"))
								continue;
							if (sPriceComp[i] == "")
								continue;
							var compData = sPriceComp[i].split("|");					
							var ps = compData[k];
							if (ps.indexOf('/') < 0){
							    ps = twoDecimal(compData[k]);				
							    IND += getOneRow(label[i],"", "$"+ps);
							}else if (ps.indexOf('/') > 0)
							{
							   var dd= ps.split("/");
							   if (label[i] == "MAE")
							      IND += setMAE(label[i],dd);
							   else if (label[i] == "BB")
							      IND += setBB(label[i],dd);
							   else if (label[i] == "KChl")
							      IND += setKChl(label[i],dd);
							}	
							else if (label[i].indexOf("SMA") >= 0 ||	label[i].indexOf("EMA") >= 0 ||
							    label[i].indexOf("WMA") >= 0 || label[i].indexOf("MMA") >= 0 )
							  IND += getOneRow("&nbsp;", "$"+ps);
					    }catch(e)
					    {}	
					    IND += getSeperator()					
					}
				   IND += "</TABLE>"; 			
				   ChangeObjContent(objTip, IND) 
				   }catch(e){}
			   }else
			   {
			        var IND = "<TABLE cellSpacing='0' cellPadding='0' border='0'>";	
					var objTip1   = findObj("tip");
					var psd = "";
					// alert(sPriceH)
					try{
					// alert("PP")
						if ((timeFrame.indexOf("D") < 0 || timeFrame == "YTD" ) && (types == "BAR" || types == ""))
						{
						    if (sPriceH != "" && sPriceL != "" )
						    {
								s = twoDecimal(sPriceH[k]);
								IND += getOneRow(hPrime, "High:", "$"+s);		
								s = twoDecimal(sPriceL[k]);
								IND += getOneRow("&nbsp;", "Low:", "$"+s);
								s = twoDecimal(sPrice[k]);
								IND += getOneRow("&nbsp;", "Close:", "$"+s);	
							    findObj("dot1").style.top  = (priceYBottom - (eval(sPriceH[k])- topMin)*topScale)+ "px";
					
							}else{
								s = twoDecimal(sPrice[k]);
								IND += getOneRow(hPrime, "", "$"+s);
								findObj("dot1").style.top  = (priceYBottom - (eval(sPrice[k])- topMin)*topScale)+ "px";
				
							}		
						}else{
						   if ((types == "BAR" || types == "") && sPriceH != "" && sPriceL != "" )
					       {
								s = twoDecimal(sPriceH[k]);
								if (sPriceH[k] == "")
									IND += getOneRow(hPrime, "High:", "--");	
								else
									IND += getOneRow(hPrime, "High:", "$"+s);		
								s = twoDecimal(sPriceL[k]);
								if (sPriceL[k] == "")
									IND += getOneRow("&nbsp;", "Low:", "--");	
								else
									IND += getOneRow("&nbsp;", "Low:", "$"+s);
								if (sPriceL[k] == "")
									IND += getOneRow("&nbsp;", "Low:", "--");	
								else
									IND += getOneRow("&nbsp;", "Low:", "$"+s);
								if (sPrice[k] == "")
									IND += getOneRow("&nbsp;", "Close:", "--");	
								else
									IND += getOneRow("&nbsp;", "Close:", "$"+twoDecimal(sPrice[k]));
							   findObj("dot1").style.top  = (priceYBottom - (eval(sPriceH[k])- topMin)*topScale)+ "px";
				
						   }else{
								if (sPrice[k] == "")
									IND += getOneRow(hPrime, "", "--");	
								else
									IND += getOneRow(hPrime, "", "$"+twoDecimal(sPrice[k]));
								if(sPrice[k] != undefined)
									findObj("dot1").style.top  = (priceYBottom - (eval(sPrice[k])- topMin)*topScale)+ "px";
								else
									hide("dot1");
					
						   }
						}
							//IND += getOneRow(security, "", "$"+twoDecimal(sPrice[k]));	
					}catch(e){}
					
					IND += "</TABLE>"; 			
				    ChangeObjContent(objTip1, IND) 
			    }
			    var objDate    = findObj("dateI");
			    /// change date area date displaying
			    try{
					ChangeObjContent(objDate, formatDate(sDate[k]));
			 	}catch(e){}
				if (lowindicators != "")
				{	
					var lows = lowindicators.split('|');
				    var len  = lows.length;	
			        if (options == "P")
			           len = 2;		   
			        var dd ="", label ="";
			      
					if (eval(len) > 0)
					{
						for (var n=1; n< eval(len); n++)
						{
						   try{
								findObj("indicator"+n).style.left=xcoord;
								showT("indicator"+n);
								showT("bdot" + n);
								var btm = 812 ; /// first part of bottom charts
								if (n == 1 && strIndicator1 != null && k < strIndicator1.length){
									dd = strIndicator1[k];
									label = strLabel1;
								}else if (n == 2 && strIndicator2 != null && k < strIndicator2.length){							 
									dd = strIndicator2[k];
									label = strLabel2;
								}else if (n == 3 && strIndicator3 != null && k < strIndicator3.length){
									dd = strIndicator3[k];
									label = strLabel3;
								}else if (n == 4 && strIndicator4 != null && k < strIndicator4.length){
									dd = strIndicator4[k];
									label = strLabel4;
								}else
									dd = "";
								if (dd != "" )
								{								
								 	var y = BaseYPos[n-1] - (toNumber(dd)/eval(btmBase[n-1]) - eval(btmMin[n-1]))*eval(btmScale[n-1]);
									if( parseFloat( btmMin[n-1] ) < 0 )
										y -= 8;
									changeBtmYPos(n, y);
								}
							//	if (dd != "" && lows[n-1].indexOf("Volume") >=0 )
							//	{										
							//	 	var y = btm - (toNumber(dd)/volBase)*btmScale1;
							//	 	changeBtmYPos(n, y);
							//	}else{
							//	    var y = btm - toNumber(dd)*btmScale1;
							//	 	changeBtmYPos(n, y);
							//	}
								//alert(dd)
								if (dd == null )
									return;
								ChangeContent("val" + n +"1",  twoDecimal(dd));
								ChangeContent("valLabel" + n +"1",  label);
							}
							catch(e)
							{
							}
						}
					}
				}
		}
		function displaysFV(k, i, xcoord, ycoord)
		{
		       var objTip   = findObj("tip");
		       //priceYBottom = 611;
		       if(sPrice[k] == "NULL" || sPrice[k] == undefined || sPrice[k] == null)
		       {
					// do nothing.
		       }
		       else
		       {
					findObj("dot1").style.top  = (priceYBottom - (eval(sPrice[k])- topMin)*topScale)+ "px";
		       }
			
		       var IND = "<TABLE cellSpacing='0' cellPadding='0' border='0'>";
		
			   var sing = "$";
			   if (twoDecimal(sFairValue[i]) == "--")	
			      sing = "";
			   IND += getOneRow(vPrime.toUpperCase(), "Fair&nbsp;Value", sing+twoDecimal(sFairValue[i]));
			   if (twoDecimal(sPrice[k]) == "--")	
			      sing = "";
			   IND += getOneRow("", "Close&nbsp;Price", sing+twoDecimal(sPrice[k]));
		       IND += "</TABLE>"; 	
			   ChangeObjContent(objTip, IND) 
			   var objDate    = findObj("dateI");
		    // alert("data : "+sDate[k])
			   try{
			         ChangeObjContent(objDate, formatDate(sDate[k]));
			   }catch(e){}
				 /// change low indicators area data displaying
				if (lowindicators != "")
				{
				 
					var lows = lowindicators.split("|");
			        var len  = lows.length;
			    
			        var dd ="", label ="";
					if (eval(len) > 0)
					{
						for (var n=1; n<= eval(len); n++)
						{
						  try{
								findObj("indicator"+n).style.left=xcoord;
								showT("indicator"+n);
							//	findObj("indicator"+n).style.visibility = "visible";
								if (n == 1 && i < strIndicator1.length)
								{
									dd = strIndicator1[i];
									label = "Star Rating: "+strLabel1;// + " index: " + i;
								}else if (n == 2){
									dd = strIndicator2[k];
									label = strLabel2;
									if (dd != "" )
									{	
								 		var y = BaseYPos[1] - (toNumber(dd)/eval(btmBase[0]) - eval(btmMin[0]))*eval(btmScale[0]);
								 		if (y != NaN)
								 		{								 		
											if( parseFloat( btmMin[0] ) < 0 )
												y -= 8;
											changeBtmYPos(1, y);
										}
									}
								}
								ChangeContent("val" + n +"1",  twoDecimal(dd));
								ChangeContent("valLabel" + n +"1",  label);
							}catch(e){}
						}
					}
				}
		}
		function formatDate(sdate)
		{
		   var dd, sd = "", yr;
		   try{
			if (sdate.indexOf("/") > 0)
			{
				dd = sdate.split("/");
				if (eval(dd[2].substring(2)) < 10)
					yr= "0"+eval(dd[2].substring(2));
				else
					yr= eval(dd[2].substring(2));
				sd = toMonth(dd[0]) + " " + eval(dd[1]) +", "+ yr;		      
			}else  if (sdate.indexOf(",") > 0)
			{
				dd = sdate.split(",");
				if (eval(dd[1].substring(2)) < 10)
					yr= "0"+eval(dd[1].substring(2));
				else
					yr= eval(dd[1].substring(2));
			      
				sd = toMonth(dd[0]) + ", " + yr;	
			}else
				sd = sdate;
		  }
		  catch(e){}
		  return sd;
		}
		function MonthToNumber(mon)
		{
		   var dd = mon;
		   if (mon == "Dec.")
		      dd = "12"; 
		   else  if (mon == "Nov.")
		      dd = "11"; 
		   else  if (mon == "Oct.")
		      dd = "10"; 
		   else  if (mon == "Sep.")
		      dd = "9"; 
		   else  if (mon == "Aug.")
		      dd = "8"; 
		   else  if (mon == "Jul.")
		      dd = "7"; 
		    else  if (mon == "Jun.")
		      dd = "6"; 
		   else  if (mon == "May")
		      dd = "5"; 
		   else  if (mon == "Apr.")
		      dd = "4"; 
		   else  if (mon == "Mar.")
		      dd = "3"; 
		   else  if (mon == "Feb.")
		      dd = "2"; 
		   else  if (mon == "Jan.")
		      dd = "1"; 
		   return dd;
		}
		function toMonth(mon)
		{
		   var dd = mon;
		   if (mon == "12")
		      dd = "Dec."; 
		   else  if (mon == "11")
		      dd = "Nov."; 
		   else  if (mon == "10")
		      dd = "Oct."; 
		   else  if (mon == "9")
		      dd = "Sep."; 
		   else  if (mon == "8")
		      dd = "Aug."; 
		   else  if (mon == "7")
		      dd = "Jul."; 
		    else  if (mon == "6")
		      dd = "Jun."; 
		   else  if (mon == "5")
		      dd = "May"; 
		   else  if (mon == "4")
		      dd = "Apr."; 
		   else  if (mon == "3")
		      dd = "Mar."; 
		   else  if (mon == "2")
		      dd = "Feb."; 
		   else  if (mon == "1")
		      dd = "Jan."; 
		   return dd;
		}
        function hideTip()
        {    
          try{ 
		 	hide("tip");
			hide("scale1");
			hide("scale");
			hide("ddate");
	
		    var lows = lowindicators.split("|");
		 	var len  = lows.length;
		 	
		 	hide("indicator1");
			//if (eval(len) <= 2)			
				hide("indicator2");
			//if (eval(len) <= 3)		
				hide("indicator3");
			//if (eval(len) <= 4)		
				hide("indicator4");	
		 }catch(e){}		
	    }
        function showTip()
        {    
          try{ 
		 	showT("tip");
			showT("scale1");
			showT("scale");
			showT("ddate");
	
		    var lows = lowindicators.split("|");
		 	var len  = lows.length;
		 	
		 	showT("indicator1");
			if (eval(len) <= 2)			
				showT("indicator2");
			if (eval(len) <= 3)		
				showT("indicator3");
			if (eval(len) <= 4)		
				showT("indicator4");	
		 }catch(e){}		
	    }
      
        function checkLog(check)
        {
           if (check == 0)
              findObj("Log").value = "";
           else
              findObj("Log").value = "Log";
        }
  
        function IsLessThan10(num)
        {
            var temp = "";
            if (indexes != ""  && stockes != "" && movingAvg != "")
                temp = indexes + "|" + stockes +"|" + movingAvg;
            else if (indexes != ""  && stockes != "" )
                temp = indexes + "|" + stockes;
            else if (indexes != ""  )
                temp = indexes;
            else
                temp = stockes;
                
            var t = temp.split("|");
            if (t.length > eval(num))
               return false;
            else
               return true;  
      
        }
      
        /////////////////////////////////////////////////////////////////////
        /// Add a ticker must reload it will check new ticker is stock or not
        //////////////////////////////////////////////////////////////////////
        function Add()
        {   
        alert("ppp")    
      	   if (IsVisible("tim"))
		       return;
           var obj = findObj("CompTicker")
           var s   = obj.value
           if (s == "" )
              return;
           s = s.toUpperCase();  
           s = Trim(s);   
           if (s == "ENTER TICKER" )
              return;       
       
           var temp0 = "^"+ s +"|", temp1 = "^"+ s +"|";
      
           var stk = stockes;
           if (stk != "")
              stk = stk + "|";
              
           if (s == security || (stk != "" && ( stk.indexOf(security) >= 0 || stk.indexOf(temp0) >= 0 || stk.indexOf(temp1) >= 0 || temp1.indexOf(security) >= 0 ||  temp0.indexOf(security) >= 0)))
           {
              alert(s + " is already in ticker list.")
              saveInfo(); 
			  return;
           }  
           findObj("NewTicker").value = s;      
           findObj("Totals").value = totals;
           /// keep index
           findObj("Index").value = indexes   
           /// keep oFundamental
           findObj("Events").value   = events;              
           saveInfo();        
           show(1);
           bTips = false;
        }
      function  checkOut(n)
      {
         var st = lowindicators.substring(0, lowindicators.length-1);
         var lo = st.split('|')
         if (n >= lo.length || st == "Volume")
           return;
         var ss =""
         for (i=0; i< lo.length; i++)
         {
            if (i != eval(n))
            {
               ss += lo[i];
               ss += "|";
            }            
         }
         if( ss == "" )
			ss = "Volume|";
		 
		 ClearIndicators();      
         lowindicators = ss; /// format "v|v|"
         saveInfo();      
         findObj("Fundamental").value   = fundamental;
         show(1);
      }
	  // clear indiators
	  function ClearIndicators()
	  {
		  var lows = lowindicators.split('|');
		  var len  = lows.length;		
		  for (var n=1; n<= len; n++)
		  {
			  if( findObj("val" + n +"1") == undefined )
				continue;
			  ChangeContent("val" + n +"1",  "");
			  ChangeContent("valLabel" + n +"1",  "");
		  }
		  if(options == "V")
		  	lowindicators = "Volume|"
	  }
      function changeSize(sz)
      {
          saveTime();
		  size = sz;  
		  saveInfo();
		  show(1);
      }
      function setTotals(total)
      {
		  if (total == "")
		    return;
		  var t = findObj("d");
		  d.checked = true;	
      }
      function setEvents(ev)
      {
           if (ev == "")
             return;
           
           var  s = findObj("s");    
           s.checked = true;   
     
      }
     
      function changeTotalReturn(t)
      {
		   var d = findObj("d");		
           totals = "";
           if (d.checked)
              totals = "T";
           findObj("Totals").value  = totals; 
           saveInfo();
           findObj("Events").value  = events; 
           findObj("Fundamental").value  = fundamental; 
           findObj("bSize").value   = size;
           if (timeFrame == "CUT")
           {
              findObj("DateFrom").value      = from;
		      findObj("DateTo").value        = to;
           }
           show(0);		   
      }
      function AddEvents( ev)
      {
    
           var  s = findObj("s");       
           events = "";
           if (s.checked )
			  events = "S";
		   else
		      events = "";	
           saveInfo();
           findObj("Events").value  = events; 
           findObj("Fundamental").value  = fundamental; 
           findObj("bSize").value   = size;
           if (timeFrame == "CUT")
           {
              findObj("DateFrom").value      = from;
		      findObj("DateTo").value        = to;
           }
           show(0);
         
      }
      function changeTypes(type)
      {               
           types = type;        
		   saveInfo();
           show(1);
           bTips = false
      }
      function changeReset(v)
      {
      	 indexes       = "";   
		 stockes       = ""; 
		 movingAvg     = "";
		 lowindicators = "Volume|";
		 fundamental   = "EPS";
		 timeFrame     = "Y1";
		 events        = "";
		 types         = "BAR";
		 totals        = "";
		 from          = "";
		 to            = "";
		 chartScale    = "LINEAER";
	    /// new added
	     hPrime        = "";
	     vPrime        = "";
	     fPrime        = "";
	    // end new
	     show(1);
      }
      function changeOption(o)
      {
          // alert(" M cahgH: "+ hPrime + "  fv:  "+ vPrime)
 
           if (o == "F"){
               if (fundamental == "")
                  fundamental = "EPS"; 
               findObj("Fundamental").value  = fundamental;   
     
           }
           if (o == "V")
           {
              if (timeFrame == "D1" || timeFrame == "D5" || timeFrame == "AL")
                 timeFrame = "Y1";

           }
           if (timeFrame == "CUT")
           {
              findObj("DateFrom").value      = from;
		      findObj("DateTo").value        = to;
           }
           /// keep indexes
           findObj("Index").value = indexes;  
	       /// keep stocks
           findObj("Stock").value = stockes 
           options = o;   
           findObj("Events").value       = events;       
           saveInfo();
           findObj("Options").value      = options; 
           findObj("bSize").value        = size;
         
           show(1);
      }
      function changeFundamental(f)
      { 
          /// chnage prime stocks
          fPrime = security;
          saveInfo();
            /// new added
		  findObj("HPrime").value = hPrime;
		  findObj("VPrime").value = vPrime;
		  findObj("FPrime").value = fPrime;
         /// end new
          findObj("Fundamental").value  = f; 
          findObj("bSize").value        = size;
          fundamental  = f;
          show(1);
          bTips = false;
      }
     
      function setInfor()
      { 
         findObj("Totals").value  = totals; 
        // keep time period
         findObj("Stock").value = stockes;
           /// keep index
         findObj("Index").value = indexes  
         // keep main ticker
         findObj("Security").value      = security;    
         findObj("Fundamental").value   = fundamental;
         findObj("MovingAvg").value     = movingAvg ; 
          // keep lowindicators
         findObj("LowIndicators").value = lowindicators ; 
         // keep size changed
         findObj("bSize").value         = size;  
         findObj("Options").value       = options;          
      }
      function changeMvg(value)
      {  
        
          var s = value;
          if (value == "KChl" && (timeFrame == "D1" || timeFrame == "D5"))
          {
			 alert("Sorry, Keltner Channel is not available in intraday.");
			 return;
          }
          var mTemp = movingAvg +"|";
        //  alert(s +" ma " + movingAvg)
         // if ((value == "BB" || value == "MAE" || value == "KChl" ) && movingAvg.indexOf(value+"|")>=0)
          if ( mTemp.indexOf(value +"|")>=0)
          {
              if (value == "KChl") 
			    alert("Keltner Channel is already selected.");
			  else if (value == "MAE") 
			    alert("MA Envelope is already selected.");
			  else if (value == "BB") 
			    alert("Bollinger Bands is already selected.");
			  else if (value.indexOf("SMA")  >= 0)
			  {
			    d = value.substring(value.indexOf("_")+1);
			    alert("Simple MA (" + d +") is already selected.");
			  }else if (value.indexOf("EMA")  >= 0)
			  {
			    d = value.substring(value.indexOf("_")+1);
			    alert("Exponential MA (" + d +") is already selected.");
			  }else if (value.indexOf("WMA")  >= 0)
			  {
			    d = value.substring(value.indexOf("_")+1);
			    alert("Weighted MA (" + d +") is already selected.");
			  }else if (value.indexOf("MMA")  >= 0)
			  {
			    d = value.substring(value.indexOf("_")+1);
			    alert("Modified MA (" + d +") is already selected.");
			  }else 
			    alert(value +" is already selected.");
			  return;
          }
          var temp = movingAvg.split('|');
          var n    = temp.length;
          if (n > 9)
             n = n-1;
          if (s == "")
			   return;
          else if (movingAvg != "")
               s = n +"^1^" +s ; 
          else
			   s = "0^1^" +s ; 
           
        // number = eval(number) + 1;
        //  findObj("Number").value  = number ; 
          if (movingAvg == "")
		     movingAvg = s;
		  else{
		      if (temp.length < 10)
					movingAvg = movingAvg  + "|" + s;
			   else
					movingAvg = movingAvg.substring(0, movingAvg.lastIndexOf("|")+1) + s;
		 
		  } 
		 // alert( movingAvg)
		  saveInfo();  
		  findObj("MovingAvg").value     = movingAvg ; 
		  show(1);
	      bTips = false;
          
      }
      /// Indicators changes
      function AddIndicators(value)
      {
          if (options == "H" && (timeFrame == "D1" || timeFrame == "D5"))
		  {
	 
	            if (value.indexOf("WILLIAMS_R_Stochastics") >= 0 )
				{
				   alert("Sorry, the WILLIAMS R Stochastics is not available in intraday.");
      	  	       return;
      	  	    }
				if (value.indexOf("FAST_Stochastics") >= 0 )
				{
				   alert("Sorry, the FAST Stochastics is not available in intraday.");
      	  	       return;
      	  	    }
			  	if (value.indexOf("SLOW_Stochastics") >= 0 )
			  	{
				   alert("Sorry, the Slow Stochastics is not available in intraday.");
      	  	       return;
      	  	    }
			  	if ( value.indexOf("getCCI") >= 0 )
			  	{
				   alert("Sorry, the CCI is not available in intraday.");
      	  	       return;
      	  	    }
			  	if (value.indexOf("HL_Oscillator") >= 0 )
			  	{
				   alert("Sorry, the HL Oscillator is not available in intraday.");
      	  	       return;
      	  	    }
			  	if (value.indexOf("getUltimateOscillator")>=0 )
			  	{
			  	   alert("Sorry, the UltimateOscillator is not available in intraday.");
      		  	   return;
			  	}
			  	if (value.indexOf("MFI")>=0 )
			  	{
			  	   alert("Sorry, the Money Flow Index is not available in intraday.");
      		  	   return;
			  	}
		  }   
          saveInfo();
          findObj("Security").value = security;
          findObj("TimeFrame").value = timeFrame;
        //  alert(value + " l " + lowindicators)
        //  if (owindicators.indexOf(value+"|") >= 0 )
          var s = "|"+Trim(lowindicators);
          if (s.indexOf("|" +Trim(value)) >= 0 )
          {
				alert(getIndicatorName(value) + " is already displayed.");
				return;
          }
          if (value != "RES")
	      {	
			 var temp = lowindicators.split('|');
			 if ( temp.length > 4)
			 {
			    lowindicators = "";
			    for (n=0; n<4; n++)
			    {
			      if (n == 2 )
			        continue;
			      lowindicators += temp[n];
			      lowindicators += "|";
			    }			
			 }
			 lowindicators = value  +"|"+  lowindicators;
			 showAllZoomInImages(lowindicators)
			 saveInfo();
			 show(1);
          }
          bTips = false;
      }
      function clickDays( value)
      {
         days = value;
        
      }   
      ///change ma days
      function changeDays(i, mat)
      {
        ma_d = i +"|"+ mat;
        var ma= mat.split("_");
        DoModalDLG('Click to select a time period','OK()', ma[1]);     
      }
      /// change ma paremeters
      function MAOK(days)
	  {	
	      alert("MAOK")
	 	  if (days == null || days == "")
				return;
	      var mAll  = movingAvg.split("|")
	      var index = ma_d.substring(0,1);
	      var mName = ma_d.substring(ma_d.indexOf("|") + 1, ma_d.indexOf("_"));
	      var mc =  mAll[eval(index)];
	      var mm = mc.split('^');
	      mAll[eval(index)] = mm[0] + "^" + mm[1] + "^" + mName + "_" + days;
	      movingAvg = "";
	      for (i=0; i< mAll.length; i++)
	      {
			if (mAll[i] != ""){
			   if (movingAvg == "")
			       movingAvg = mAll[i];
			   else 
				movingAvg = movingAvg + "|" + mAll[i];
				//movingAvg += "|";				
			}
	      }
	 	 saveInfo();
		 findObj("MovingAvg").value     = movingAvg ; 
		 show(1);
	  }
	  function setTop(obj, top)
	  {
	     findObj(obj).style.top = top + "px";
	  }
	  function makeLowTips()
	  {
	     var IND = "";
	     for (i=1; i<5; i++)
	     {
			IND +="<div class='TextCopy' id='indicator"
			IND += i;
			IND += "'>";
			IND += "<TABLE cellSpacing='0' cellPadding='0' width='100%' border='0'>";
			IND += "<TR><TD class='TextBlack' align='left'><div class='TextBlack' id='valLabel";
			IND += i
			IND += "1'></div></TD>";
			IND += "<TD align='left'><div class='TextBlack' id='val";			
			IND += i;
			IND += "1'></div></TD>";
			IND += "</TR></TABLE>";
			IND += "</div>";
		 }
		//alert(IND)
		 return IND;
	  }
	  function makeDateTips()
	  {
		  var dates = "<div class='TextCopy' id='ddate'>";
		  dates += "<TABLE cellSpacing='0' cellPadding='0' width='120' border='0'>";
		  dates += "<TR><TD align='right' colspan='2'>";
		  dates += "<div class='TextBlack' id='dateI'></div>";
		  dates += "</TD></TR></TABLE></div>";
		  return dates;
	  }
	  function fixedScale(toTop,dy, top)
	  {
			var ll = lowindicators.split('|'); 
			var len = ll.length-1;
			if (options == "H")
				n = toTop +dy*len;
			else
				n = toTop +dy;

			if (timeFrame == "D1" || timeFrame == "D5")
			   n = toTop+dy;
			//   alert(top)
			if(!document.layers)
			{
				createDragableRule(
					"", //contents of dragable layer (can contain HTML etc.)
					-10,                      //left coordinate of dragable layer
					top,                        //top coordinate of dragable layer
					2,                       //width of dragable layer
					n,                     //optional: height of dragable layer (use null for default)
					"#EBEADC"//#ACA899"                      //optional: background colour of dragable layer (use null for default)
				);
			}
	  }
	
	  function movingScale(toTop,dy, top)
	  {
			var ll = lowindicators.split('|'); 
			var len = ll.length-1;
			if (options == "H")
				n = toTop +dy*len;
			else
				n = toTop +dy;
            if (options == "V")
				n = toTop +dy*2;
			if (timeFrame == "D1" || timeFrame == "D5")
			   n = toTop+dy;
			//if (fundamental != "")
			//  n = 240;
			//   alert(top)
		//	findObj("ddate").style.top = n+250;
	
			if(!document.layers)
			{
			    createDragableRule(
					'',				//contents of dragable layer (can contain HTML etc.)
					-10,            //left coordinate of dragable layer
					top,             //top coordinate of dragable layer
					2,              //width of dragable layer
					n,              //optional: height of dragable layer (use null for default)
					"#EBEADC"//#ACA899"       //optional: background colour of dragable layer (use null for default)
				);
			}
	  }	
	  function movingHorizontalScale(w, top)
	  { 
			var st="<TABLE BORDER='0' CELLSPACING='0' CELLPADDING='0'><TR><td colspan=5><img height=1 src='http://im.morningstar.com/im/dot_clear.gif' ></td>	</TR></TABLE>";
			if(!document.layers)
			{
			createDragableRule(
					st,				//contents of dragable layer (can contain HTML etc.)
					gLeft + 30,     //left coordinate of dragable layer
					top,           //top coordinate of dragable layer
					w,            //width of dragable layer
					1,              //optional: height of dragable layer (use null for default)
					"#999999"       //optional: background colour of dragable layer (use null for default)
				);
			}
	  }
	  function getCustomize()
	  {	
	        var table ="<TABLE WIDTH='250'bgcolor=#ffffff  BORDER='0' CELLSPACING='0' CELLPADDING='0'>"	
			table += "<TR bgColor=#999999><td></td><TD>&nbsp;</TD><TD calss=msSmall><font color=white size=1><b>Time</b></font></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD align=right valign=top><a href=javascript:closeT()><font color=White size=1>X</font></a>&nbsp;</TD><td></td></TR>"
			table += "<TR><TD bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD><TD>&nbsp;&nbsp;</TD><TD class=msSmall>From:</TD><TD>&nbsp;</TD><TD class=msSmall>To:</TD><TD>&nbsp;</TD><TD bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD></TR>"
			table += "<TR><TD  bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD><TD>&nbsp;&nbsp;</TD><TD  valign=top width= 85><INPUT id='from' class='msSmall' type='text' style='WIDTH: 80px; HEIGHT: 18px' size='2'> </TD><TD>&nbsp;&nbsp;</TD><TD valign=top width= 85>"
			table += "<INPUT type='text' class='msSmall' id='to' style='WIDTH: 80px; HEIGHT: 18px' size='2'></TD><TD  align=middle><INPUT class=msSmall  style='WIDTH: 40px; HEIGHT: 18px'onclick='OKT()' type=button value='OK'>&nbsp;</TD><TD bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD></TR>"
			table += "<TR><TD  bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD><TD colspan=5><img height='2' src='http://im.morningstar.com/im/dot_clear.gif'></TD><TD bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD></TR>"
			table += "<TR><TD  bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD><TD colspan=5>&nbsp;&nbsp;&nbsp;<font size=1 color=#666666 >Date format:(mm/dd/yyyy)</font></TD><TD bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD></TR>"
			table += "<TR><TD  bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD><TD colspan=5 ><img height='5' src='http://im.morningstar.com/im/dot_clear.gif'></TD><TD  bgColor=#999999><img width=1 src='http://im.morningstar.com/im/dot_clear.gif'></TD></TR>"
   	   		table += "<TR><TD colspan=7 bgColor=#999999><img height='1' src='http://im.morningstar.com/im/dot_clear.gif'></TD></TR></TABLE>"
			return table;
	  }
	 
	 function closeT()
	 {
	   hide("tim");
	   show(0);
	 }
	  function saveInfo()
	  {	  
	      return; 
	      // keep time period 
	     /// new 
	    // findObj("History").value       = history;
	     /// end
	     findObj("LowIndicators").value = lowindicators;
		 findObj("Index").value         = indexes; 
		 findObj("Stock").value         = stockes   
		 findObj("MovingAvg").value     = movingAvg ; 
		
		 findObj("TimeFrame").value     = timeFrame;
		 findObj("Log").value           = chartScale;
		 findObj("DateFrom").value      = from;
		 findObj("DateTo").value        = to;
		 findObj("bSize").value         = size;  
		 findObj("Options").value       = options;
		 findObj("Events").value        = events; 
		 findObj("Types").value         = types;  
		 findObj("Totals").value        = totals  
		 //
		 findObj("Security").value      = security;    
         findObj("Fundamental").value   = fundamental;
         /// new added
         findObj("HPrime").value = hPrime;
         findObj("VPrime").value = vPrime;
         findObj("FPrime").value = fPrime;
         /// end new
           
	///jen added
	     if (findObj("HostServer") != null)
            findObj("HostServer").value = hostServer;	
	  }	
	  function getDisLabels()
	  {
			var CompStr="", mvg = "";
			if ( stockes != null && stockes != ""  && indexes != null && indexes != "" )
				CompStr    =  indexes + "|"+ stockes ;
			else if ( stockes != null && stockes != "" )
				CompStr    =   stockes ;
			else if (indexes != null && indexes != "" )
				CompStr    =  indexes;
          // alert( "MA:  " + movingAvg +" comp:  "+ CompStr + " sec: "+ security)
	        if (CompStr.indexOf('^') > 0)
			   CompStr =  ClearSigns(CompStr);
			if (movingAvg == "" && CompStr == "") 
				return security;
		    else if (movingAvg == ""  && CompStr != "") 
				return CompStr + "|"+security;
			else if (movingAvg != ""  && CompStr == "")
			{
			    mvg = ClearSigns(movingAvg);
				return mvg + "|"+security;
			}else if (movingAvg != "" && CompStr != "") 
			{
			    mvg = ClearSigns(movingAvg);
				return  mvg +"|" + CompStr +"|"+ security;
			}else
				return  security;
	  }
	  function ClearSigns(ss)
	  {
			var CompStr = "";
			if (ss.indexOf("^1") < 0)
				return "";
			var tt = ss.split("|");
			for ( i=0; i< tt.length; i++)
			{
				if (tt[i] == "")
					continue;
				var s = tt[i].split("^");
				if (s[1] == "0" )
					continue;
				if (CompStr == "" )
					CompStr = s[2];
				else
					CompStr = CompStr +"|"+ s[2];
			}
			return CompStr;

	  }
	  /*
	  /// create tip
	  function makeTip1()
	  {		   
	    sCompLabel  = "MSFT";//getDisLabels();//findObj("LabelStr").value;
	    var tt;
	    if (sCompLabel.indexOf("|") > 0)
	    {
	        sCompTickers = sCompLabel.split("|");
	        tt ="<div class=TextCopy id=tip >";
			tt +="<TABLE cellSpacing=0 cellPadding=0  border=0>";
		    tt += "<TR><TD class=TextBlack align=left>";
			tt += sCompTickers[sCompTickers.length-1];
			tt += ":&nbsp;";
			tt += "</TD> <TD align=left> <div class=TextBlack id=tip1";
			tt += "></DIV></TD></TR><TR>";
			for (i=0; i<sCompTickers.length-1; i++)
			{
				tt += "<TR><TD class=TextBlack align=left>";
				tt += sCompTickers[i];
				tt += ":&nbsp;";
				tt += "</TD> <TD align=left> <div class=TextBlack id=tip";
				tt += (i+2);
				tt += "></DIV></TD></TR><TR>";
			}
			tt += "</TABLE></DIV>";
	    }else {
			tt ="<div class=TextCopy id=tip >";
			tt +="<TABLE cellSpacing=0 cellPadding=0 border=0>";
			var label = new Array();
			label[0] = sCompLabel;
			//label[1] ="High";
			//label[2] ="Low";
			for (i=1; i<2; i++)
			{
				tt += "<TR><TD class=TextBlack align=left>";
				tt += label[i-1];
				tt += ":&nbsp;";
				tt += "</TD> <TD align=left> <div class=TextBlack id=";
				tt += "tip";
				tt += i;
				tt += "></DIV></TD></TR><TR>";
			}
			tt += "</TABLE></DIV>";
        }
      // alert(tt)
       	document.write(tt)
      }*/
      function makeTip()
	  {	  
	   
	   	tt ="<div class=TextCopy id=tip>";
		tt += "</DIV>";   
       	document.write(tt)
      }
      function checkResult(i)
      {
         var res = sResults[i];
         if (res == "Volume")
			res = "Stock Volume is the daily number of shares of a security that change hands between a buyer and a seller. Intraday volume helps see where a stock is being repeatedly bought as it dips. Likewise, towards the end of a rally, a wide volume spike often signals that the move is at an end, at least short-term.";
	     alert(res);
      }
      function AddPort()
	  {
	     alert("Not available")		
	  }
   ////
   
      function getName(ticker)
      {   
		    var name = "";
			switch(ticker) 
			{		
				case "$MSTAR" :	
				    name = "US Market ($MSTAR)"; 
					break;	
				case "$MVAL" :
					name = "US Value ($MVAL)";
					break;
				case "$MLVL":
					name = "Large Value ($MLVL)";
					break;		
				case "$MMVL":
					name = "Mid Value ($MMVL)";
					break;
				case "$MSVL":
					name = "Small Value ($MSVL)";	
					break;					
				case "$MCOR" :	
				    name = "US Core ($MCOR)";
					break;	
				case "$MLCR" :
					name = "Large Core ($MLCR)";
					break;
				case "$MMCR":
					name = "Mid Core ($MMCR)";
					break;		
				case "$MSCR":
					name = "Small Core ($MSCR)";
					break;
				case "$MGRO" :	
				  name = "US Growth ($MGRO)";
					break;	
				case "$MLGR" :
					name = "Large Growth ($MLGR)";
					break;
				case "$MMGR":
					name = "Mid Growth ($MMGR)";
					break;		
				case "$MSGR":
					name = "Small Growth ($MSGR)";
					break;					
				case "$MLCP":	
				 	name = "Large Cap ($MLCP)";
					break;	
				case "$MMCP":
					name = "Mid Cap ($MMCP)";
					break;
				case "$MSCP":
					name = "Small Cap ($MSCP)";
					break;	
				case "SPX":
					name = "S&P 500 (SPX)";
					break;
				case "MID":
					name = "S&P 400 (MID)";
					break;
				case "$INDU":
					name = "Dow Jones Industrial Avg. ($INDU)";
					break;
				case "COMP":
					name = "NASDAQ (COMP)";
					break;
				default:
					break;
			}
			return name;
		}
		
		function getIndicatorName(ind)
		{
	
			var name = "";
			switch(ind) 
			{		
				case "Momentum" :	
				    name = "Momentum"; 
					break;	
				case "MA_Momentum" :
					name = "MA Momentum";
					break;
				case "Accelerators":
					name = "Accelerators";
					break;		
				case "FAST_Stochastics":
					name = "Fast Stochastics";
					break;
				case "SLOW_Stochastics":
					name = "Slow Stochastics";	
					break;					
				case "WILLIAMS_R_Stochastics" :	
				    name = "W R Stochastics";
					break;	
				case "MA_Oscillator" :
					name = "MA Oscillator";
					break;
				case "MACD_Oscillator":
					name = "MACD Oscillator";
					break;		
				case "HL_Oscillator":
					name = "HL Oscillator";
					break;
				case "getPPOscillator" :	
				  name = "PP Oscillator";
					break;	
				case "getPVOscillator" :
					name = "PV Oscillator";
					break;
				case "getAroonOscillator":
					name = "Aroon Oscillator";
					break;		
				case "getUltimateOscillator":
					name = "Ultimate Oscillator";
					break;					
				case "getStochRSI":	
				 	name = "StochRSI";
					break;	
				case "getROC":
					name = "Rate of Change (ROC)";
					break;
				case "getRSI":
					name = "RSI";
					break;	
				case "getCCI":
					name = "CCI";
					break;
				case "getPPHistogram":
					name = "PP Histogram";
					break;
				case "getMACD":
					name = "MACD";
					break;
				case "getAroons":
					name = "Aroons";
					break;					
			    case "OnBalance_V":
					name = "On Balance Volume";
					break;
				case "MF":
					name = "Money Flow";
					break;
				case "MFI":
					name = "MFI";
					break;
				default:
					break;
			}
			return name;
		}
		function showAllMovingDots(lowindicators)
		{
		   if (options != "H")
		   {
				showT("dot1");
				showT("bdot1");
		   }else {
			    var ll = lowindicators.split('|'); 
			    var len = ll.length-1;
			    if (len > 0)
				   showT("bdot1");
				if (len > 1)
				   showT("bdot2");
				if (len > 2)
				   showT("bdot3");	
				if (len > 3)	
				   showT("bdot4");	
		   }
		}	
		function showAllZoomInImages(sIndicators)
		{
		   showT("lleft");
		   showT("rright");
		   showT("ZoomRect");
		   showT("DateLeft");
		   showT("DateRight");
		
		}
		function hideAllDotsImages()
		{
		   hide("dot1");
		   hide("bdot1");
		   hide("bdot2");
		   hide("bdot3");		
		   hide("bdot4");	
		}
		function hideAllZoomInImages()
		{
		   hide("lleft");
		   hide("rright");
		   hide("ZoomRect");
		   findObj("ZoomRect").style.left = -100;
		   hide("DateLeft");
		   hide("DateRight");
		   hide("dot1");
		   hide("bdot1");
		   hide("bdot2");
		   hide("bdot3");		
		   hide("bdot4");	
		   arrowLeft  = -1;
		   arrowRight = -1;	
		}