﻿// JScript File

var browser = new Browser();

function Browser() {
  var ua, s, i;
  this.isIE    = false;
  this.isNS    = false;
  this.version = null;
  ua = navigator.userAgent;
  s = "MSIE";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as NS 6.1.
  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }
}

var url;
var containerid="contentarea";
var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""






var XmlHttpFO;

function CreateXmlHttpNew()
	{
		//Creating object of XMLHTTP in IE
		try
		{
			XmlHttpFO = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				XmlHttpFO = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch(oc)
			{
				XmlHttpFO = null;	
			}
		}
		//Creating object of XMLHTTP in Mozilla and Safari 
		if(!XmlHttpFO && typeof XMLHttpRequest != "undefined") 
		{
			XmlHttpFO = new XMLHttpRequest();
		}
	}
	

  function getNewsResp()
{

	if(XmlHttpFO.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
			var	Td_Marquee = document.getElementById("TalkingStocknews");
	   
		if(XmlHttpFO.status == 200)//
		{
		
		    var strData=XmlHttpFO.responseText;	
			Td_Marquee.innerHTML = strData;		
			document.body.style.cursor = "auto";		
		}
		else
		{
			Td_Marquee.innerHTML =  "There was a problem retrieving data from the server.";
			document.body.style.cursor = "auto";
		}
	}
}

 function ChangeNews(SecId,SubSecId)
    {

        CreateXmlHttpNew();
		//document.body.style.cursor = "progress";
		var requestUrl = "TalkingStockAjax.aspx?timeStamp="+ new Date().getTime() +"&Sec="+SecId+"&SubSec="+SubSecId;
		// alert(requestUrl)
		if(XmlHttpFO)	{
					XmlHttpFO.onreadystatechange = function(){getNewsResp()};
					XmlHttpFO.open("GET", requestUrl,  true);
					XmlHttpFO.send(null);
				}
  
}
 function GetNewsDetail_News(secId,SubSecId,NewsID,opt)
	{
	     document.getElementById("divNews").style.display='';
		 var requestUrl = "PopupNewsData.aspx?SecId="+ secId +"&SubSecId="+ SubSecId+"&NewsID="+NewsID+"&timeStamp="+new Date().getTime()+"opt="+opt;
		 //alert(requestUrl);
		 ajaxpage('1',requestUrl,'TdNews','');
	}
	
function ajaxpage(id,url, containerid,fincode)
{

    var page_request = false
    if (window.XMLHttpRequest) // if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
    else if (window.ActiveXObject)
    { // if IE
            try {
                page_request = new ActiveXObject("Msxml2.XMLHTTP")
                } 
            catch (e){
                    try{
                        page_request = new ActiveXObject("Microsoft.XMLHTTP")
                    }
                    catch (e){}
                    }
    }
    else
    return false
    page_request.onreadystatechange=function()
    {
        loadpage(page_request, containerid)
    }

    if (bustcachevar) //if bust caching of external page
    bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
    page_request.open('GET', url+bustcacheparameter, true)
    page_request.send(null)
}

function loadpage(page_request, containerid)
{
    if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
  //alert(page_request.responseText)
    {
      document.getElementById(containerid).innerHTML=page_request.responseText
    }
}

var dragObj = new Object();
dragObj.zIndex = 0;
function dragStart(event, id) {

  var el;
  var x, y;

  // If an element id was given, find it. Otherwise use the element being
  // clicked on.

  if (id)
    dragObj.elNode = document.getElementById(id);
  else {
    if (browser.isIE)
      dragObj.elNode = window.event.srcElement;
    if (browser.isNS)
      dragObj.elNode = event.target;

    // If this is a text node, use its parent element.

    if (dragObj.elNode.nodeType == 3)
      dragObj.elNode = dragObj.elNode.parentNode;
  }

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Save starting positions of cursor and element.

  dragObj.cursorStartX = x;
  dragObj.cursorStartY = y;
  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
  dragObj.elStartTop   = parseInt(dragObj.elNode.style.top,  10);

  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;

  // Update element's z-index.

  dragObj.elNode.style.zIndex = ++dragObj.zIndex;

  // Capture mousemove and mouseup events on the page.

  if (browser.isIE) {
    document.attachEvent("onmousemove", dragGo);
    document.attachEvent("onmouseup",   dragStop);
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS) {
    document.addEventListener("mousemove", dragGo,   true);
    document.addEventListener("mouseup",   dragStop, true);
    event.preventDefault();
  }
}


function dragGo(event) {

  var x, y;

  // Get cursor position with respect to the page.

  if (browser.isIE) {
    x = window.event.clientX + document.documentElement.scrollLeft
      + document.body.scrollLeft;
    y = window.event.clientY + document.documentElement.scrollTop
      + document.body.scrollTop;
  }
  if (browser.isNS) {
    x = event.clientX + window.scrollX;
    y = event.clientY + window.scrollY;
  }

  // Move drag element by the same amount the cursor has moved.

  dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
  dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";

  if (browser.isIE) {
    window.event.cancelBubble = true;
    window.event.returnValue = false;
  }
  if (browser.isNS)
    event.preventDefault();
}

function dragStop(event) {

  // Stop capturing mousemove and mouseup events.

  if (browser.isIE) {
    document.detachEvent("onmousemove", dragGo);
    document.detachEvent("onmouseup",   dragStop);
  }
  if (browser.isNS) {
    document.removeEventListener("mousemove", dragGo,   true);
    document.removeEventListener("mouseup",   dragStop, true);
  }
}


/*Home Chart */ 
	
function sensexvalueEq(val)
{

    if(val=='BSE')
    {
       document.getElementById('tdBSE').className = "ChartTabBSEOn";
       document.getElementById('tdNSE').className = "ChartTabNSEOff";
       document.getElementById('tdBSE').style.display="";
       document.getElementById('tdNSE').style.display="none";
       document.getElementById('Sensex').style.display="";
       document.getElementById('Nifty').style.display="none";

    }
    else
    {
       document.getElementById('tdBSE').className = "ChartTabNSEOn";
       document.getElementById('tdNSE').className = "ChartTabBSEOff";
       document.getElementById('tdBSE').style.display="none";
       document.getElementById('tdNSE').style.display="";
       document.getElementById('Sensex').style.display="none";
       document.getElementById('Nifty').style.display="";
}
ShowAmchart(val);
}
function ShowAmchart(Exchg)
{
    
    var so = new SWFObject("../amline/amline.swf", "BSENSEline", "260", "130", "8", "#ffffff");
   	so.addVariable("path", "../amline/");
	so.addParam("wmode","opaque");
	so.addVariable("settings_file", encodeURIComponent("../amline/BSENSEline_settings.xml"));
	so.addVariable("data_file", encodeURIComponent("../MarketChartAjax.aspx?Exchg="+Exchg+"&TimeStamp="+new Date().getTime()));
	so.write("chart");
}


/* Ticker */

    var XmlHttpCompTicker="";
    function CreateXmlHttpCompTicker()
{
	try
	{
		XmlHttpCompTicker = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XmlHttpCompTicker = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(oc)
		{
			XmlHttpCompTicker = null;				
		}
	}
	if(!XmlHttpCompTicker && typeof XMLHttpRequest != "undefined")
	{
		XmlHttpCompTicker = new XMLHttpRequest();
	}
}

function getTickerData(Exchg)
{	
    CreateXmlHttpCompTicker();
	
		var BSEImg = document.getElementById("BSEImg");
		var NSEImg = document.getElementById("NSEImg");
		var Direc;
		
		if (Exchg=="BSE")
		{
		  document.getElementById('BSEImg').className = "TickerOn";
		   document.getElementById('NSEImg').className = "TickerOff";
		   Direc = "left";
		}
		else if (Exchg=="NSE")
		{
		    document.getElementById('BSEImg').className = "TickerOff";
		   document.getElementById('NSEImg').className = "TickerOn";
		    Direc = "left";
		}
			
	var requestUrl = "AjaxTickerData.aspx?Exchange="+ Exchg +"&timeStamp="+new Date().getTime();
	
	if(XmlHttpCompTicker)
	{
		XmlHttpCompTicker.onreadystatechange = function(){getDataResponseComp(Exchg,Direc);};
		XmlHttpCompTicker.open("GET", requestUrl,  true);
		XmlHttpCompTicker.send(null);
	}
}

function getDataResponseComp(Exchg,Direc)
{
    if(XmlHttpCompTicker.readyState == 4)
	{	
	    if(XmlHttpCompTicker.status == 200)
		{	
		    var arrCol,Time,Code,CompName,ClPrice,DiffVal,DiffImg;
			var ExchgDet="",stkDet="";
			var MarqueeId = document.getElementById("MarqueeId");
			var TickerData = XmlHttpCompTicker.responseText;
						
			if(TickerData != "")
			var arrRow = TickerData.split("|");
				
			for(i=0; i<arrRow.length-1; i++)
			{
			    arrCol = arrRow[i].split("~");
				CompName = arrCol[1];
				ClPrice  = arrCol[2];
				DiffVal  = arrCol[3];
				
				if(DiffVal>0) 
				{
					clss = "<span class='Green'>" ;
				}
				else if(DiffVal<0) 
				{							
					clss = "<span class='Red'>" ;
				}
				else if(DiffVal==0) 
				{
					clss = "<span class='Blue'>"	;				
				} 
				
				if(i==0)
			
				//ExchgDet = "<span class='TickerText'>" + arrCol[0] +" &nbsp; "+ CompName +": "+"<span  class=TickerText>" + ClPrice+"&nbsp;"+" ["+ clss   +"<b>"+ DiffVal+ "%</b></span>"+"] </span>&nbsp;&nbsp;&nbsp;";else stkDet += "<span>" + "<a target='_parent' class='LinkNew' href='../CompanyProfile/QuoteFinder.aspx?id=65&Mode=S&FinCode="+arrCol[0]+"'><span  class=TickerText>" + CompName +"</span></a>: " + "<span  class=TickerText>" + ClPrice +"&nbsp;"+" ["+ clss  +"<b>"+ DiffVal+ "%</b></span>"+"]  &nbsp;</span>&nbsp;";	
				
				
				//ExchgDet = "<span class='TickerText'>" + arrCol[0] +" &nbsp; "+ CompName +": "+"<span  class=TickerText>" + ClPrice+"&nbsp;"+" ["+ clss + DiffVal+ "%</span>"+"] </span>&nbsp;&nbsp;&nbsp;";else stkDet += "<span >" + "<a target='_parent' class='LinkNew' href='../CompanyProfile/QuoteFinder.aspx?id=65&Mode=S&FinCode="+arrCol[0]+"'><span  class=TickerText>" + CompName +"</span></a>: " + "<span  class=TickerText>" + ClPrice +"&nbsp;"+" ["+ clss  + DiffVal+ "%</span>"+"]  &nbsp;</span>&nbsp;";	
				
				ExchgDet = "<span class='TickerText'>" + arrCol[0] +" &nbsp; "+ CompName +": "+"<span  class=TickerText>" + ClPrice+"&nbsp;"+" ["+ clss + DiffVal+ "%</span>"+"] </span>&nbsp;&nbsp;&nbsp;";else stkDet += "<span >" + "<a target='_parent' class='LinkNew' href='CompanyProfile/QuoteFinder.aspx?id=71&Mode=S&FinCode="+arrCol[0]+"'><span  class=TickerText>" + CompName +"</span></a>: " + "<span  class=TickerText>" + ClPrice +"&nbsp;"+" ["+ clss  + DiffVal+ "%</span>"+"]  &nbsp;</span>&nbsp;";																					
			
			}
			MarqueeId.innerHTML = "<marquee id='MarqueeIdTD' style='background-color:#f3f3f3;vertical-align:middle;text-decoration:none;' onmouseover='this.stop();' onmouseout='this.start();' trueSpeed scrollAmount='1' scrollDelay='30' direction='"+Direc+"' loop='repeat' width='100%'>" + ExchgDet + stkDet + "</marquee>";
			document.getElementById("MarqueeIdTD").start();
			document.body.style.cursor = "auto";
		}
	}
}

function startstopNSE()
{
	var imgNseId=document.getElementById("StopImgNSE");
	if (imgNseId.src.indexOf("push.gif")!=-1)
	{
		if (imgNseId.alt == "Play")
		{
		document.getElementById("MarqueeIdTD").start();
		imgNseId.alt = "Stop";
		}
		else
		{
		document.getElementById("MarqueeIdTD").stop();
		imgNseId.alt = "Play";
		}
	}
	else
	{
		document.getElementById("MarqueeIdTD").start();
		imgNseId.alt = "Stop";
		
	}
}

    
