﻿var myImageRenderer = function (inputVal)
{ 
    var sAlt = (sLang == 'FR' ? 'Classification Morninstar' : 'Morningstar rating');
    var strImg = '<img alt="' + sAlt + '" width="12" height="12" src="gfx/star_red_3d.gif" />';
    switch (inputVal.length)
    {
        case 0: strImg ='';break ;
        case 1: strImg = strImg; break ;
        case 2: strImg = strImg + strImg; break ;
        case 3: strImg = strImg + strImg + strImg; break ;
        case 4: strImg = strImg + strImg + strImg + strImg; break ;
        case 5: strImg = strImg + strImg + strImg + strImg + strImg; break ;    
    }
    return strImg;
}

var myDirectionRenderer = function (inputVal)
{ 
    var strImg = '<img alt="Up" width="12" height="12" src="gfx/up.gif" />';
    if(inputVal=='-1') strImg = '<img alt="Down" width="12" height="12" src="gfx/down.gif" />';
    return strImg;
}

var myGroupRenderer = function (inputVal)
{ 
    var str = '<div class="col_group"><div class="'+ inputVal +'">&nbsp;</div></div>';
  
    return str;
}


var myLinkRenderer = function (fundName, lang, fundCode, seriesName, currency, fa, p1mo)
{ 
	fundName = fundName.toString().replace("'", "’");
    // uses theBaseURL global variable from the page
    var randomnumber = Math.floor(Math.random()*11111);
    var query = 'f=' + fundCode + '&s=' + seriesName + '&c=' +  currency + '&lang=' +  lang + '&r=' + randomnumber;
    if (fa != '') { query += '&fa=' + fa; }
    //var url = '<a class="profile_link" href="' + theBaseURL + 'fundprofile.asp?'+ query + '" target="_blank" alt="' + fundName + '" title="' + fundName + '">' + fundName + '</a>';
    var url = '<a class="profile_link" href="javascript: launchWindow(\'' + theProfileBaseURL + 'fundprofile.aspx?' + query + '\', \'' + fundName + '\');" alt="' + fundName + '" title="' + fundName + '">' + fundName + '</a>';
    if (p1mo == null || p1mo.toString() == "") {
        // the following will hide all profiles for funds with no performance history
        // url = '<b>' + fundName + '</b>';
    }
    return url; 
}

   //Added on November 24, 2010 begins
var myManagerRenderer = function (displaytext, lang, fa, appRootPath) {
   	// display text is in the format 
   	// <a title="Christine Horoyski" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=134&lang=EN', 'Christine Horoyski');">Christine Horoyski</a> (0.2 years), <a title="Robert B. Decker" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=137&lang=EN', 'Robert B. Decker');">Robert B. Decker</a> (0.2 years), <a title="Craig J. MacAdam" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=135&lang=EN', 'Craig J. MacAdam');">Craig J. MacAdam</a> (0.2 years), <a title="Greg A. Taylor" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=136&lang=EN', 'Greg A. Taylor');">Greg A. Taylor</a> (0.2 years)
   	var randomnumber = Math.floor(Math.random() * 11111);
   	var s = displaytext.toString();
   	//alert('appRootPath = ' + appRootPath);

   	s = s.toString().replace(/funds\.dynamic\.ca/i, appRootPath);
   	if (fa != '') {
   		s = s.replace(/http:/ig, "https:");
   	}
   	s = s.replace(/.aspx\?/ig, ".aspx?r=" + randomnumber + "&");

   	return s;
   }
 //Added on November 24, 2010 ends

//Added on November 23, 2010 begins
//var myManagerRenderer = function (displaytext, lang, fa, appRootPath) {
//   	// display text is in the format 
//   	// <a title="Christine Horoyski" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=134&lang=EN', 'Christine Horoyski');">Christine Horoyski</a> (0.2 years), <a title="Robert B. Decker" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=137&lang=EN', 'Robert B. Decker');">Robert B. Decker</a> (0.2 years), <a title="Craig J. MacAdam" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=135&lang=EN', 'Craig J. MacAdam');">Craig J. MacAdam</a> (0.2 years), <a title="Greg A. Taylor" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=136&lang=EN', 'Greg A. Taylor');">Greg A. Taylor</a> (0.2 years)
//   	var randomnumber = Math.floor(Math.random() * 11111);
//   	var s = displaytext.toString();

//   	//Following satatement will be evaluated as server name like 'localhost/'
//   	var servername = theProfileBaseURL.toString().replace(/http:\/\//ig, "");

//   	//Following satatement will be remove '/' from the sever name and make it like 'localhost'
//   	servername = servername.toString().replace(/\//ig, "");

//   	if (appRootPath != null || appRootPath.toString() != '') {
//   		servername = servername + appRootPath;
//   	}

//   	//theProfileBaseURL = "http://localhost/"
//   	s = s.toString().replace(/funds\.dynamic\.ca/i, servername);
//   	if (fa != '') {
//   		s = s.replace(/http:/ig, "https:");
//   		s = s.replace(/.aspx?/ig, ".aspx?r=" + randomnumber + "&");
//   	}

//   	return s;
//   }
   //Added on November 23, 2010 ends


//   var myManagerRenderer = function (displaytext, lang, fa) {
//   	// display text is in the format 
//   	// <a title="Christine Horoyski" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=134&lang=EN', 'Christine Horoyski');">Christine Horoyski</a> (0.2 years), <a title="Robert B. Decker" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=137&lang=EN', 'Robert B. Decker');">Robert B. Decker</a> (0.2 years), <a title="Craig J. MacAdam" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=135&lang=EN', 'Craig J. MacAdam');">Craig J. MacAdam</a> (0.2 years), <a title="Greg A. Taylor" href="javascript: launchWindow('http://funds.dynamic.ca/managerreport.aspx?mgr=136&lang=EN', 'Greg A. Taylor');">Greg A. Taylor</a> (0.2 years)
//   	var randomnumber = Math.floor(Math.random() * 11111);
//   	var s = displaytext.toString();

//   	//Following satatement will be evaluated as server name like 'localhost/'
//   	var servername = theProfileBaseURL.toString().replace(/http:\/\//ig, "");

//   	//Following satatement will be remove '/' from the sever name and make it like 'localhost'
//   	servername = servername.toString().replace(/\//ig, "");

//   	var appRootPath = '<%= Request.ApplicationPath.ToString() %>'

//   	if (appRootPath != null || appRootPath.toString() != '') {
//   		servername = servername + appRootPath;
//   	}

//   	//theProfileBaseURL = "http://localhost/"
//   	s = s.toString().replace(/funds\.dynamic\.ca/i, servername);
//   	if (fa != '') {
//   		s = s.replace(/http:/ig, "https:");
//   		s = s.replace(/.aspx?/ig, ".aspx?r=" + randomnumber + "&");
//   	}

//   	return s;
//   }

var myCurrencyRenderer = function (inputVal, lang, decimalPlaces)
{       
    if(inputVal ==null || inputVal.toString()=='' || inputVal =='n/a' ) return '--';
    var num = new NumberFormat();

    num.setInputDecimal('.');
    num.setNumber(inputVal); 
    num.setPlaces(decimalPlaces,false);

    num.setCurrency(true);
    if (lang.toUpperCase() == 'FR' )  
    {
        num.setCurrencyPosition(num.RIGHT_INSIDE);
        num.setSeparators(true, '.', ',');
        num.setCurrencyValue(' $');
    }
    else 
    {
        num.setCurrencyPosition(num.LEFT_INSIDE);
        num.setSeparators(true, ',', '.');
        num.setCurrencyValue('$');
    }
    num.setNegativeFormat(num.PARENTHESIS);
    num.setNegativeRed(true);

    return  num.toFormatted();
}

var myDecimalRenderer = function (inputVal, lang, decimalPlaces)
{       
    if(inputVal ==null || inputVal.toString()=='' || inputVal =='n/a' ) return '--';
    var num = new NumberFormat();

    num.setInputDecimal('.');
    num.setNumber(inputVal); 
    num.setPlaces(decimalPlaces,false);

    num.setCurrency(false);
    if (lang.toUpperCase() == 'FR' )  
    {
        num.setCurrencyPosition(num.RIGHT_INSIDE);
        num.setSeparators(true, '.', ',');
        num.setCurrencyValue(' $');
    }
    else 
    {
        num.setCurrencyPosition(num.LEFT_INSIDE);
        num.setSeparators(true, ',', '.');
        num.setCurrencyValue('$');
    }
    num.setNegativeFormat(num.PARENTHESIS);
    num.setNegativeRed(false);
  
  return  num.toFormatted();
}

var myReturnDecimalRenderer = function (inputVal, lang, decimalPlaces, p1yr)
{
    if (p1yr == null || p1yr.toString() == '' || p1yr == 'n/a') return '<abbr title="Not reported, fund has less than 1 year of history">n/r</abbr>';

    if(inputVal ==null || inputVal.toString()=='' || inputVal =='n/a' ) return '--';
    var num = new NumberFormat();

    num.setInputDecimal('.');
    num.setNumber(inputVal); 
    num.setPlaces(decimalPlaces,false);

    num.setCurrency(false);
    if (lang.toUpperCase() == 'FR' )  
    {
        num.setCurrencyPosition(num.RIGHT_INSIDE);
        num.setSeparators(true, '.', ',');
        num.setCurrencyValue(' $');
    }
    else 
    {
        num.setCurrencyPosition(num.LEFT_INSIDE);
        num.setSeparators(true, ',', '.');
        num.setCurrencyValue('$');
    }
    num.setNegativeFormat(num.PARENTHESIS);
    num.setNegativeRed(false);
  
  return  num.toFormatted();
}

var myPercentRenderer = function (inputVal, lang, decimalPlaces)
{       
    if(inputVal ==null || inputVal.toString()=='' || inputVal =='n/a' ) return '--';
    var num = new NumberFormat();

    num.setInputDecimal('.');
    num.setNumber(inputVal); 
    num.setPlaces(decimalPlaces,false);

    num.setCurrency(false);
    if (lang.toUpperCase() == 'FR' )  
    {
        num.setCurrencyPosition(num.RIGHT_INSIDE);
        num.setSeparators(true, '.', ',');
    }
    else 
    {
        num.setCurrencyPosition(num.LEFT_INSIDE);
        num.setSeparators(true, ',', '.');
    }
    num.setNegativeFormat(num.PARENTHESIS);
    num.setNegativeRed(false);

    return  num.toFormatted() + '%';
}

var myPercentOrNARenderer = function (inputVal, lang, decimalPlaces)
{       
    if(inputVal ==null || inputVal.toString()=='' || inputVal =='n/a' ) return '--';
    var num = new NumberFormat();

    num.setInputDecimal('.');
    num.setNumber(inputVal); 
    num.setPlaces(decimalPlaces,false);

    num.setCurrency(false);
    if (lang.toUpperCase() == 'FR' )  
    {
        num.setCurrencyPosition(num.RIGHT_INSIDE);
        num.setSeparators(true, '.', ',');
    }
    else 
    {
        num.setCurrencyPosition(num.LEFT_INSIDE);
        num.setSeparators(true, ',', '.');
    }
    num.setNegativeFormat(num.PARENTHESIS);
    num.setNegativeRed(false);

    return  num.toFormatted() + '%';
}

var myImgRiskRenderer = function (inputVal)
{ 
    var strImgEmpty = '<img width="12" height="12" src="gfx/box_risk_00.jpg" />';
    var strImgRisk1 = '<img width="12" height="12" src="gfx/box_risk_01.jpg" />';
    var strImgRisk2 = '<img width="12" height="12" src="gfx/box_risk_02.jpg" />';
    var strImgRisk3 = '<img width="12" height="12" src="gfx/box_risk_03.jpg" />';
    var strImgRisk4 = '<img width="12" height="12" src="gfx/box_risk_04.jpg" />';
    var strImgRisk5 = '<img width="12" height="12" src="gfx/box_risk_05.jpg" />';
    var retImg = '';
    switch (inputVal)
    {
        case 1: retImg = strImgRisk1 + strImgEmpty + strImgEmpty + strImgEmpty + strImgEmpty; break ;
        case 2: retImg = strImgRisk1 + strImgRisk2 + strImgEmpty + strImgEmpty + strImgEmpty; break ;
        case 3: retImg = strImgRisk1 + strImgRisk2 + strImgRisk3 + strImgEmpty + strImgEmpty; break ;
        case 4: retImg = strImgRisk1 + strImgRisk2 + strImgRisk3 + strImgRisk4 + strImgEmpty; break ;
        case 5: retImg = strImgRisk1 + strImgRisk2 + strImgRisk3 + strImgRisk4 + strImgRisk5; break ; 
    }
    return retImg;
}

var myImgRiskRenderer2 = function (inputVal)
{ 
    var strImgEmpty = '<img width="12" height="12" src="gfx/box_empty.gif" />';
    var strImgLast = '<img width="1" height="12" src="gfx/box_last.gif" />';
    var strImgRisk1 = '<img width="12" height="12" src="gfx/box_blue.gif" />';
    
    var retImg = '';
    switch (inputVal)
    {
        case 1: retImg = strImgRisk1 + strImgEmpty + strImgEmpty + strImgEmpty + strImgEmpty + strImgLast; break ;
        case 2: retImg = strImgEmpty + strImgRisk1 + strImgEmpty + strImgEmpty + strImgEmpty + strImgLast; break ;
        case 3: retImg = strImgEmpty + strImgEmpty + strImgRisk1 + strImgEmpty + strImgEmpty + strImgLast; break ;
        case 4: retImg = strImgEmpty + strImgEmpty + strImgEmpty + strImgRisk1 + strImgEmpty + strImgLast; break ;
        case 5: retImg = strImgEmpty + strImgEmpty + strImgEmpty + strImgEmpty + strImgRisk1 + strImgLast; break ;
    }
    return retImg;
}
