
    /*   Market Info page script    */

// Global Variables used for changing Chart.	
  var varIncices = 'NUKX';
  var span = 0;
  var spanMask = '9,11,13,15,17,19';
  var spanFmt = 'h';
  var gphtype = '1';
  
  function setintial()
  {
    var category =  document.getElementById('hdCategory').value; 

    if(category != '0')
    {
	    setSelect(document.getElementById('universe'), category);
    }
  }
  function showhide(id)
  { 
        
    	if (document.getElementById)
    	{  
    	    
	        obj = document.getElementById(id); 
	        if (obj.style.display == "none")
	        {
	            
		        obj.style.display = ""; 
	        } else 
	        { 
		        obj.style.display = "none"; 
	        } 
        } 
  }

 function nextNEWS(currentIndex,category)
 {
   if(category == null)
   {      
     var category =  document.getElementById('hdCategory').value;
   }
   window.location="marketInfo.aspx?currentIndex=" + currentIndex +"&category="+ category+"&ifaid=";
}
function ChangeCategories(value)
{
    
    category = value;
    nextNEWS('0',category)
}

function changeIndex(currActive, indices)
{
        
        document.getElementById('fGB').className = (currActive == 'fGB' ? 'tabOn' : 'tabOff');
        document.getElementById('fUS').className = (currActive == 'fUS' ? 'tabOn' : 'tabOff');
        document.getElementById('fEM').className = (currActive == 'fEM' ? 'tabOn' : 'tabOff');
        document.getElementById('fJAP').className = (currActive == 'fJAP' ? 'tabOn' : 'tabOff');

        // Calling Function for char update.
        
        updatechart(indices);

 }


 // Function for updating Chart.
function updatechart(indices)
{
    
    varIncices = indices;
    
    document.getElementById('NUKX').className = (indices == 'NUKX' ? 'selected' : '');
    document.getElementById('NMCX').className = (indices == 'NMCX' ? 'selected' : '');
    document.getElementById('NINDU').className = (indices == 'NINDU' ? 'selected' : '');
    document.getElementById('NDEX.').className = (indices == 'NDEX.' ? 'selected' : '');
    document.getElementById('NPARI').className = (indices == 'NPARI' ? 'selected' : '');
    document.getElementById('NTOKN').className = (indices == 'NTOKN' ? 'selected' : '');
    document.getElementById('NHKHI').className = (indices == 'NHKHI' ? 'selected' : '');
    document.getElementById('NIXIC').className = (indices == 'NIXIC' ? 'selected' : '');
    document.getElementById('NASX').className = (indices == 'NASX' ? 'selected' : '');
    document.getElementById('NS500').className = (indices == 'NS500' ? 'selected' : '');
    callChart(span,spanMask,spanFmt,gphtype);

}


function updatetimespan(timespan)
{
        
        document.getElementById('1dy').className=(timespan == '0' ? 'selected' : '');
        document.getElementById('5dy').className=(timespan == '1' ? 'selected' : '');
        document.getElementById('1yr').className=(timespan == '2' ? 'selected' : '');
        document.getElementById('5yr').className=(timespan == '3' ? 'selected' : '');

        switch (timespan)
        {
          case "0":
	         span = 0;
	         spanMask = '9,11,13,15,17,19';
	         spanFmt = 'h';
	         gphtype = '1';
          break;
          case "1":
	         span = 5;
	         spanMask = 'Mon,Tue,Wed,Thu,Fri';
	         spanFmt = 'ddd';
	         gphtype = '2';
          break;
          case "2":
	         span = 12;
	         spanMask = 'Jan,Apr,Jul,Oct';
	         spanFmt = 'mmm'
	         gphtype = '4';
          break;
          case "3":
	         span = 60;
	         spanMask = 'Jan,Apr,Jul,Oct';
	         spanFmt = 'd';
	         gphtype = '4';
          break;
        }
        callChart(span,spanMask,spanFmt,gphtype);
}

// Chaning the chart url.
function callChart(span,spanMask,spanFmt,gphtype)
{

    var url = 'http://webfund5.finexprestel.com/webfund5/gifchart.asp?code='+varIncices+'&span='+span+'&spanMask='+spanMask+'&spanFmt='+spanFmt+'&gphtype='+gphtype +'&startTime=8:00&endTime=17:30&wd=215&ht=165&gpcolour=ef8a21&ftcolour=000000&bgcolour=ffffff&gdcolour=000000&bdcolour=f1efe0&axcolour=000000&ShowDate=1&chartbgcolour=ffffff&gf=2&hdg=0&hdgpos=1&fg=3&spanfmt=h&spanmask=9,11,13,15,17,19&vgridint=3&fontsize=8&fontname=Small%1Fonts&imgfmt=0&hours=undefined&mins=undefined';
    document.getElementById('feseChart').src = url;

}

//Simply erases the text content of an element
function clearField(ctrl)
{
    GetElementById(ctrl).value = "";
}
function displayFull(ctrl)
{
    var menu = GetElementById(ctrl);
    menu.title=menu.options[menu.selectedIndex].text;
}   
   
   
   
   
/*-----   Pricetable page script   -----*/

function ChangeTabs(form, tab)
{

    document.getElementById('Prices').className = (tab == 'Prices' ? 'tabOn' : 'tabOff');
	document.getElementById('PerfC').className = (tab == 'PerfC' ? 'tabOn' : 'tabOff');
	document.getElementById('tabPrices').className = (tab == 'Prices' ? 'selected' : '');
	document.getElementById('tabPerfC').className = (tab == 'PerfC' ? 'selected' : '');
	
	document.getElementById('CurrentTab').value=tab;
}

function ChartTableTabs(form, tab)
{

    document.getElementById('Perf1').className = (tab == 'Perf1' ? 'tabOn' : 'tabOff');
	document.getElementById('Perf2').className = (tab == 'Perf2' ? 'tabOn' : 'tabOff');
	document.getElementById('Perf3').className = (tab == 'Perf3' ? 'tabOn' : 'tabOff');
	
	document.getElementById('tabPerf1').className = (tab == 'Perf1' ? 'selected' : '');
	document.getElementById('tabPerf2').className = (tab == 'Perf2' ? 'selected' : '');
	document.getElementById('tabPerf3').className = (tab == 'Perf3' ? 'selected' : '');
}

function interceptEnterKey(e)
{
	 var key;
	 if(window.event)
		  key = window.event.keyCode;     //IE
	 else
		  key = e.which;     //firefox

	 if(key == 13){
		return false;
	 }
	 else
		return true;
}

function EquitySelector(e)
{
    if(!interceptEnterKey(e))
    {
        GetElementById('findEquity').focus();
        EquitySearch();
    }
}

function StartDateSelector(e)
{
    if(!interceptEnterKey(e))
    {
        if(ValidateDate('customData'))
        {
            changeTimescale(getValue('slctTimevalue'));
        }
    }
}

function AddSectorToChart(code)
{
    if(code != "")
    {
        addToChart("X"+code);
    }
}

function ValidateDate(input)
{
    if(GetElementById(input).value.trim() == "")
    {
        GetElementById(input).value = "dd/mm/yyyy";
        return false;
    }
    if(!CheckDate(input))
    {
        GetElementById(input).value = "dd/mm/yyyy";
        return false;
    }
    return true;
}

String.prototype.trim = function() 
{
    a = this.replace(/^\s+/, '');
    return a.replace(/\s+$/, '');
};


function CheckDate(field)
{
    var checkstr = "0123456789";
    var DateField = field;
    var DateValue = "";
    var DateTemp = "";
    var seperator = "/";
    var day;
    var month;
    var year;
    var leap = 0;
    var err = 0;
    var i;
   err = 0;
   DateValue = GetElementById(field).value;
   
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13/12/2001) */
   if (err == 0) {
      GetElementById(field).value = day + seperator + month + seperator + year;
      return true;
   }
   /* Error-message if err != 0 */
   else {
      alert("Date is incorrect!");
      return false;
      GetElementById(field).select();
	  GetElementById(field).focus();
   }
}


function SearchFundData()
{
    document.getElementById('hdProductId').value = document.getElementById('ProductValue')[document.getElementById('ProductValue').selectedIndex].value; 
    var fundType = document.getElementById('FundType')
    var fundTypeValue = fundType[document.getElementById('FundType').selectedIndex].value;    
    if( fundTypeValue.length > 8)
    {
        var ut = fundTypeValue.substring(0, 1)
        var mng = fundTypeValue.substring(2, 6)
        var ft = fundTypeValue.substring(7, fundTypeValue.length)

        document.getElementById('hdManagerCode').value = mng;
        document.getElementById('hdUnitType').value = ut;
        document.getElementById('hdFundType').value = ft;
    }
    else
    {
        document.getElementById('hdManagerCode').value = fundTypeValue;
        document.getElementById('hdUnitType').value = "";
        document.getElementById('hdFundType').value = "";
    }    
    submit();
}

/// Paging
function GoToPage(pageNo)
{
	document.forms["MainForm"].pageNo.value = pageNo;
	document.forms["MainForm"].submit();	
}

/// Sorting
function Sort(columnName)
{
	var sortColumn = getQueryValue('sort');
	var sortType = getQueryValue('sortType');
	if(columnName == sortColumn)
	{
	    sortType = (sortType == "Asc") ? "Desc" : "Asc";
	}
	else
	{
	    sortType = "Asc";
	}
	document.getElementById("sort").value = columnName;
	document.getElementById("sortType").value = sortType;
	document.forms["MainForm"].submit();	
}

function RetainSelection()
{
    var productID='', fundType='';
	productID = getQueryValue('productID');
	fundType = getQueryValue('fundType');
	var tab=getQueryValue('CurrentTab');
	if(tab == '')
	{
		contrl = document.getElementById('CurrentTab');
		if(contrl != null)
		{
			tab = document.getElementById('CurrentTab').value;
		}
	}
	if(tab != '')
	{
		ChangeTabs(this.form,tab);
	}
	ChangeSelectCtrlSelection('productID', productID);
	ChangeSelectCtrlSelection('fundType', URLDecode(fundType));
}

function ChangeSelectCtrlSelection(id, value)
{
    var selectCtrl = document.getElementById(id);
	for(var i=0;i<selectCtrl.options.length; i++)
	{
	    if(selectCtrl.options[i].value == value)
	    {
	        selectCtrl.selectedIndex = i;
	        break;
	    }
	}
}

/// To get querystring value from url
function getQueryValue(name) 
{
	var url = document.URL;
	i = url.indexOf(name += '=')
	j = url.indexOf('&', i);
	if(-1 == j) 
	{
		j = url.length;
	}
	if(-1 != i) 
	{
		return url.substring(i + name.length, j);
	}
	else
	{
		return '';
	}
}

function URLDecode(encoded)
{
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
   return plaintext;
}

function submit()
{
    var prdId;
    var mngCode;
    var ut;
    var ft;
    
    prdId = document.getElementById('hdProductId').value;
    mngCode = document.getElementById('hdManagerCode').value;
    ut = document.getElementById('hdUnitType').value;
    ft = document.getElementById('hdFundType').value;
    
    if(prdId != "")
    {
        window.location="PriceTable.aspx?ProductId=" + prdId;
    }
    else if(mngCode != "")
    {
        window.location="PriceTable.aspx?ManagerCode=" + mngCode +"&UnitCode="+ ut + "&fundType=" + ft;
    }
}

 function changeFundType(obj,list)
 {
   document.getElementById('MainForm').submit();       
 }




