<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="Stock Ticker(BSE)" author="Mudraa" author_email="mudraa@mudraa.com" render_inline="optional" description="Track Stocks of your interest for Indian Stock Markets. Refreshes on its own based on set interval" scrolling="true" author_location="Bangalore, India" height="600" width="600" thumbnail="http://www.mudraa.com/images/thumbscreen.png" screenshot="http://www.mudraa.com/images/fullscreen.png" category="Finance" >
<Require feature="setprefs"/>
<Require feature="settitle"/>
<Require feature="dynamic-height"/>
<Require feature="views"/>
</ModulePrefs>
<UserPref name="s0" display_name="Stock Code(1)" default_value="500325" />
<UserPref name="s1" display_name="Stock Code(2)" default_value="532174" />
<UserPref name="s2" display_name="Stock Code(3)" default_value="" />
<UserPref name="s3" display_name="Stock Code(4)" default_value="" />
<UserPref name="s4" display_name="Stock Code(5)" default_value="" />
<UserPref name="s5" display_name="Stock Code(6)" default_value="" />
<UserPref name="s6" display_name="Stock Code(7)" default_value="" />
<UserPref name="s7" display_name="Stock Code(8)" default_value="" />
<UserPref name="s8" display_name="Stock Code(9)" default_value="" />
<UserPref name="s9" display_name="Stock Code(10)" default_value="" />
<UserPref name="s10" display_name="Stock Code(11)" default_value="" />
<UserPref name="s11" display_name="Stock Code(12)" default_value="" />
<UserPref name="s12" display_name="Stock Code(13)" default_value="" />
<UserPref name="s13" display_name="Stock Code(14)" default_value="" />
<UserPref name="s14" display_name="Stock Code(15)" default_value="" />
<UserPref name="s15" display_name="Stock Code(16)" default_value="" />
<UserPref name="s16" display_name="Stock Code(17)" default_value="" />
<UserPref name="s17" display_name="Stock Code(18)" default_value="" />
<UserPref name="s18" display_name="Stock Code(19)" default_value="" />
<UserPref name="s19" display_name="Stock Code(20)" default_value="" />
<UserPref name="interval" display_name="Refresh time" default_value="30" datatype="enum">
<EnumValue value="30" display_value="30 sec" />
<EnumValue value="60" display_value="1 min" />
<EnumValue value="300" display_value="5 min" />
<EnumValue value="900" display_value="15 min" />
</UserPref>

<Content type="html">
<![CDATA[
<HEAD>
<style type="text/css"><!--body {
	font: normal 10px auto "Tahoma", Verdana, Arial, Helvetica, sans-serif;
	color: #4f6b72;
	background: #FFFFFF;
}

a {
	color: #004B8A;
}

  
#mytable1 {
	position: absolute;
	left: 0px;
	top: 300;	
	padding: 0;
	margin: 0;
}

#loc {
	position: absolute;
	left: 0px;
	top: 50;	
	
}
caption {
	padding: 0 0 5px 0;
	width: 700px;	 
	font: italic 11px "Tahoma", Verdana, Arial, Helvetica, sans-serif;
	text-align: right;
}

th {
	font: bold 10px "Tahoma", Verdana, Arial, Helvetica, sans-serif;
	color: #000030;
	border-right: 1px solid #C1DAD7;
	border-bottom: 1px solid #C1DAD7;
	border-top: 1px solid #C1DAD7;
	text-transform: uppercase;
	text-align: left;
	padding: 1px 1px 1px 1px;
	background: #E0EAF4;
}

th.nobg {
	border-top: 0;
	border-left: 0;
	border-right: 1px solid #C1DAD7;
	background: none;
}

td {
	border-right: 1px solid #C1DAD7;
	border-bottom: 1px solid #C1DAD7;
	background: #fff;
	padding: 1px 1px 1px 1px;
	color: #4f6b72;
	word-wrap: break-word;
}

tr.alt {
	background: #F5FAFA;
	color: #00429C;
}
td.alt {
	background: #F5FAFA;
	color: #00429C;
	font: bold 10px "Tahoma", Verdana, Arial, Helvetica, sans-serif;
}
td.alt1 {
	background: #F5FAFA;
	color: green;
	font: bold 10px "Tahoma", Verdana, Arial, Helvetica, sans-serif;
}
td.negalt {
	background: #F5FAFA;
	color: #8B0000;
	font: bold 10px "Tahoma", Verdana, Arial, Helvetica, sans-serif;
}


th.spec {
	border-left: 1px solid #C1DAD7;
	border-top: 0;
	background: #fff;
	font: bold 10px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}

th.specalt {
	border-left: 1px solid #C1DAD7;
	border-top: 0;
	background: #f5fafa;
	font: bold 10px "Tahoma", Verdana, Arial, Helvetica, sans-serif;
	color: #000081;
}
-->
</style>
<SCRIPT type="text/javascript" language="javascript">
var timer;
var newDiv = null;
var prefs = new _IG_Prefs(__MODULE_ID__);
var _numStocks = 20;

function roundNumber(numberField) {
if(isNaN(numberField)) { return '-'; }
var rnum = numberField;
var rlength = 2; // The number of decimal places to round to
if (rnum > 8191 && rnum < 10485) {
rnum = rnum-5000;
var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
newnumber = newnumber+5000;
} else {
var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
}
return newnumber;
}
//http://quote.yahoo.com/d/quotes.csv?s=%5ebsesn+%5ensei+532418.BO+ASHOKLEY.NS+GPIL.NS+530005.BO+MLL.NS+NTPC.NS+TTML.NS&f=nvl1'
function init()
{
//Create a div in which we will be rendering table
newDiv = document.createElement("div");
document.body.appendChild(newDiv);
get_stockdetails();
}

function CommaFormatted(volume)
{
var delimiter = ","; // replace comma if desired
var a = volume;//.split('.',2)
if(isNaN(volume)) { return '-'; }
var i = parseFloat(volume);
i = Math.abs(i);
var n = new String(i);
var a = [];
while(n.length > 3)
{
var nn = n.substr(n.length-3);
a.unshift(nn);
n = n.substr(0,n.length-3);
}
if(n.length > 0) { a.unshift(n); }
volume = a.join(delimiter);
return volume;
}


function get_stockdetails()
{
var mudStock = new Array(_numStocks-1);
var arrStock = new Array(_numStocks-1);
var arrShares = new Array(_numStocks-1);
var arrPrice = new Array(_numStocks-1);
var arrCurrPrice = new Array(_numStocks-1);
var arrCurrchange = new Array(_numStocks-1);
var isConfigured = false;
var surl = "http://finance.yahoo.com/d?s=";
var confStocks = 0;
var quotes = "";

//get user settings
for (i=0; i<_numStocks; i++){
mudStock[i] = prefs.getString("s" + i);
arrStock[i] = mudStock[i]+".BO";
arrCurrPrice[i] = 0;
arrCurrchange[i] = 0;
if (mudStock[i] !='' && mudStock[i]!=null ) {
quotes += _esc(arrStock[i]);
isConfigured = true;
quotes += '+';
confStocks++;
}
}

if (confStocks > 0) {
surl += _esc(quotes)+"&f=nl1c2vgh&random="+ Math.random();
_IG_FetchContent(surl, _IG_Callback(processResult));
}

function processResult(str) {
//Just a temporary div, later this will be assigned to newDiv.
var responseText = str;
var shtml = "<div id='mytable'>";
if (responseText == null || responseText == "") {
shtml += "<i><font size='3'>Service is temporarily unavailable. </font></i></div>";
//newDiv.innerHTML = shtml;
document.getElementById("container1").innerHTML = shtml; 

  _IG_AdjustIFrameHeight();
timer = setTimeout( 'get_stockdetails()', 5000 ) ;
return;
}


//Lets create table & headers for the same.

shtml += "<table >";
shtml += "<tr><th scope='col' >Script Name</th>";
shtml += "<th scope='col' >Market Price</th>"
shtml += "<th scope='col' >Vol</th>"
shtml += "<th scope='col' >Day Low</th>"
shtml += "<th scope='col' >Day High</th></tr>"


// Lets replace \n by commas because we will be getting multiple records
var tmp1 = responseText.replace(new RegExp( "\\n", "g" ), ",");

//Replace any double quotes; that looks ugly
var tmp2 = tmp1.replace(new RegExp( "\"", "g" ),"");

// Use the split function to extract substrings separated by comma
// delimiters.
var contacts = tmp2.split(",");

//Process array of extracted substrings.
var rec = 0;
var total_profit = 0;
var pct_prof = 0;
var invest = 0;
var mktvalue = 0;
var col = 0;
for (var i = 0; i < contacts.length ; i++) {
switch(col)
{
case 0 : //Script name, Qty, Buy Price
if (rec%2 == 0) {
shtml += "<tr><th scope='row' class='specalt'>";
} else {
shtml += "<tr><th scope='row' class='spec'>";
}
shtml += "<a href='http://www.mudraa.com/topics.php?stockcode=" + mudStock[rec]+ "' target='_blank'>" + contacts[i] + "</a></th>";

col++;
break;
case 1 : //Mkt Price and change
arrCurrPrice[rec] = roundNumber(parseFloat(contacts[i]));
i++;
arrCurrchange[rec] = contacts[i];
if(roundNumber(parseFloat(contacts[i]))<0){
shtml += "<td class='negalt'>" + arrCurrPrice[rec] + "<br>"+ arrCurrchange[rec]+ "</td>";
  }else{
    shtml += "<td class='alt1'>" + arrCurrPrice[rec] + "<br>"+ arrCurrchange[rec]+ "</td>";
      }
col++;
break;
case 2 : //Volume
shtml += "<td class='alt'>" + CommaFormatted(contacts[i]) + "";
shtml += "<br><a href='http://www.mudraa.com/chart1.php?stockcode=" + mudStock[rec]+ "' target='_blank' title='Click here to view Intraday chart'>Intraday Chart</a></td>";
col++;
break;
case 3 : //Day Low
shtml += "<td class='alt'>" + roundNumber(parseFloat(contacts[i])) + "</td>";
col++;
break;
case 4 : //Day High & Profit
shtml += "<td class='alt'>" + roundNumber(parseFloat(contacts[i])) + "</td>";
col=0;
rec++
break;
}


if (rec >= confStocks)
break;

} //end of for

shtml += "</table></table>";
shtml += "<iframe frameborder=0 WIDTH=340 HEIGHT=50 SRC='http://www.in.mudraa.com/updatepricebse.php'></IFRAME>";
shtml += "</div>";
// Output html in div.
//newDiv.innerHTML = shtml;
document.getElementById("container1").innerHTML = shtml; 
_IG_AdjustIFrameHeight( );
var interval = prefs.getInt('interval');

timer = setTimeout( 'get_stockdetails()', parseFloat(60 * 1000) ) ;
//timer = setTimeout( 'get_stockdetails()', parseFloat(interval * 1000) ) ;
}
}

</SCRIPT>
</HEAD>
<BODY style="border:none" onload="init();">
<basefont size="3">
<p align="left" valign="top" color="blue">Edit settings (First of Top Three Buttons) and add your Stock details. <a href='http://www.mudraa.com/searchstock1.php' OnClick="window.open(this.href,'search','width=450,height=600,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1');
return false;"> Click Here</a> for stock code search. 
</p>
<DIV id="container1" class=scroll style="overflow:auto;"></DIV>
  <br>

<iframe frameborder=0 WIDTH=350 HEIGHT=700 SRC='http://www.mudraa.com/directads.php'></IFRAME>
  <div>
<br>Note : Prices may be delayed by few minutes.
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2333971-1";
urchinTracker();
</script>
</BODY>
]]>
</Content>
</Module>


