                                                                   /* NOTES::
    
    Most have div with id wrapped around HTML for barchart code to work
    

*/





// SNAP SHOT - HOME PAGE TABS


$(function(){

if($("#snapShot li:first a").length > 0 ){

    snapShotChart($("#snapShot li:first a").text());

    $("#snapShot li:first a").addClass("selected")
    var ticker = $("#snapShot li:first a").text();
    var overlay = "";
    
   
    
    $("#snapShot li a").each(function(i){    
        overlay += $(this).text() + ",";                                
    });
    
    overlay = overlay.substring(0, overlay.length-1);
    
    var endTime = Math.floor(new Date().valueOf()/1000);
    var sTime = new Date();
    sTime.setMonth(sTime.getMonth() - 1);
    var unixStrt = (sTime.valueOf() / 1000);
    unixStrt = Math.floor(unixStrt);


    $('.graph .loader').fadeIn(400);

    $.getScript("http://content.barchart.com/etfport/data.phpx?q=getSnapshotChart&ticker="+ticker+"&startdate="+unixStrt+"&enddate="+endTime+"&width=478&height=304&overlay="+overlay, function(){
        var chart = Barchart.Chart[ticker];        
        $(".homeChart").attr("src", chart.image);        
        $(".graph .loader").fadeOut(400); 
    });    
    
                
}
});









$(document).ready(function(){


// Port 100 components etf's last

/*if($("#long table a").length > 1){
$("#long table a").each(function(i){
    var tSym = $(this).text();
    var obj = $(this);
    $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETF&ticker="+tSym, function(){
        try{      
            var bc = Barchart.Data[tSym].last.format("N2");


            obj.parent().siblings("td.last").html(bc);
        }catch(err){}
    });
 
});
}*/



if($("#barChartCode").text().length > 1){
    try{
        var endTime = Math.floor(new Date().valueOf()/1000);
        var sTime = new Date();
         sTime.setMonth(sTime.getMonth() - 1);
        var unixStrt = (sTime.valueOf() / 1000);
        unixStrt = Math.floor(unixStrt);

        //alert("startTime: "+unixStrt+ " enddate: "+ endTime);
    }catch(err){}
 $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETF&ticker="+sym);
 $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETFHoldings&ticker="+sym);
 $.getScript("http://content.barchart.com/etfport/data.phpx?q=getSnapshotChart&ticker="+sym+"&startdate="+unixStrt+"&enddate="+endTime, function(){

  

var compare = "";
var techInd = "";
       
    refreshBySectorTime($('#lbSector').val(), $('#lbtimePeriod').val());
    $('#lbSector').val('Short'); 
    
    
    $('#lbSector, #lbtimePeriod').unbind().change(function(){                       
        refreshBySectorTime($('#lbSector').val(), $('#lbtimePeriod').val());                                                         
    });   

if($('#lbNav').length >= 1){

    leaderBoard($('#lbNav li:first a').attr('rel'));    
    $('#lbNav li:first a').addClass("selected");    
    $('#lbNav li a').unbind().click(function(){
        leaderBoard($(this).attr('rel'));
        $('#lbNav li a').removeClass("selected");
        $(this).addClass("selected");
    });
}else{

    researchList($('#rGroup').val());        
    $('#rGroup').unbind().change(function(){
    researchList($('#rGroup').val())
    }); 
}

// draws chart

$("#techInd").unbind().change(function(){
    drawChart($("#techInd").val(), $("#compSym").val(), $("#sTime").val());

});

$(".redraw").unbind().click(function(){
     drawChart($("#techInd").val(), $("#compSym").val(), $("#sTime").val());
});


$("#sTime").unbind().change(function(){
    drawChart($("#techInd").val(), $("#compSym").val(), $("#sTime").val());
});



/* ---------- ETF Specific page --------------*/  

try { 
    
    if(Barchart.Data[sym].open == null){
        $(".nullInfo").show();
        $(".nullChart").show();
        $(".nullHistory").show();        
        // erases Top 10 Holdings if no data availible //
    
        if($('.holding td').text().length == 0){
            $('.holding').hide();
            $('h2:contains("Top 10 Holdings")').hide();
        }

        // erases Profile if no data availible //
        
        if($('li[rel="description"]').text().length == 0){
            $('.portfolio').hide();
            $('h2:contains("Profile")').hide();        
        }
    }
    
     

    $.getScript("http://content.barchart.com/etfport/data.phpx?q=getSnapshotChart&ticker="+sym+"&width=704", function(){
        var chart = Barchart.Chart[sym];        
        $(".homeChart").attr("src", chart.image);        
    });
    
    //$(".homeChart").attr("src", Barchart.Chart[sym].image);

try{
    $("dd[rel='open']").html(Barchart.Data[sym].open.format("N2"));
}catch(err){}
try{
    $("#etfMain .lightPeachGradient ul li.first").html(Barchart.Data[sym].symbol);
}catch(err){}
try{
    $("dd[rel='Volume']").html(Barchart.Data[sym].volume.format("N0"));
}catch(err){}
try{
    $("dd[rel='52 WK Range']").html(Barchart.Data[sym].range52w.low + " - " + Barchart.Data[sym].range52w.high );
}catch(err){}
try{
    $("dd[rel='Previous Close']").html(Barchart.Data[sym].previous.format("N2"));
}catch(err){}
try{
    //$("dd[rel='Total Assets']").html(Barchart.Data[sym].net_asset_value.format("N3"));
    //$("dd[rel='Family']").html(Barchart.Data[sym].fundfamily);
    $("dd[rel='High']").html(Barchart.Data[sym].high.format("N2"));
}catch(err){}
try{
    $("dd[rel='Low']").html(Barchart.Data[sym].low.format("N2"));
}catch(err){}
try{
    //$("dd[rel='Nav']").html(Barchart.Data[sym].net_asset_value);
    //$("dd[rel='Yield']").html(Barchart.Data[sym].yield);
    //$("dd[rel='PE']").html(Barchart.Data[sym].pe_ratio);
    $("dd[rel='MGMT FEE']").html(Barchart.Data[sym].managementfee.format("N2"));
}catch(err){}
try{
    //$("dd[rel='Beta']").html(Barchart.Data[sym].beta);
    $("dd[rel='Dividend']").html(Barchart.Data[sym].dividend);
}catch(err){}
try{
    $("dd[rel='Support']").html(Barchart.Data[sym].support.format("N2"));
}catch(err){}
try{

    $("dd[rel='Pivot Point']").html(Barchart.Data[sym].pivotpoint.format("N2"));
}catch(err){}
try{
    $("dd[rel='Resistance']").html(Barchart.Data[sym].resistance.format("N2"));
}catch(err){}
try{
    $("dd[rel='20 Day']").html(Barchart.Data[sym].averagevolume._20day.format("N0"));
}catch(err){}
try{
    $("dd[rel='100 Day']").html(Barchart.Data[sym].averagevolume._100day.format("N0"));
}catch(err){}
try{
    $("dd[rel='50 Day']").html(Barchart.Data[sym].averagevolume._50day.format("N0"));
  }catch(err){}  
    // spells out sectors instead of ids
        
    if(Barchart.Data[sym].sectors.length > 0){

        $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETFSectors", function(){

            for(x in Barchart.Data[sym].sectors){

                var sName = Barchart.Data[sym].sectors[x];
                $("dd[rel='Sector']").append(Barchart.ETFSectors[sName].description +"<br />");

            }
        });
    }
    
    // spells out fund family instead of ids
    
    if(Barchart.Data[sym].fundfamily.length > 0){
        $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETFFamilies", function(){
                var fundName = Barchart.Data[sym].fundfamily;		
                $("dd[rel='Family']").append("<a href=\"/Pages/Articles+Fund+Family?tp="+Barchart.ETFFamilies[fundName].name+"\">"+Barchart.ETFFamilies[fundName].name+"</a>");            
        });
    }
    

    $("li[rel='change'] span").html(Barchart.Data[sym].change.format("N2"));
        if($("li[rel='change'] span").html() == ""){
            $("li[rel='change'] span").html("0.00").css("background","none").parent().css("background","#4D6781");
            
        }
    $("li[rel='last']").html(Barchart.Data[sym].last.format("N2"));     
    $("li[rel='description']").html(Barchart.Data[sym].description);
    $("span[rel='profileFam']").html(Barchart.Data[sym].name);     
    $("span[rel='perChng']").html(Barchart.Data[sym].percentchange.format("N2"));
         if($("span[rel='perChng']").html() == ""){
            $("span[rel='perChng']").html("0.00");
            
        }
    
    
    $("#box span").css("width", Barchart.Data[sym].opinion.overall.percent);
    $("#percentOfGradient").html(Barchart.Data[sym].opinion.overall.percent);
    
    
    if(Barchart.Data[sym].opinion.overall.signal == "H"){
        $("label[rel='tecStatus']").html("HOLD");
        
    }else if(Barchart.Data[sym].opinion.overall.signal == "S"){
        $("label[rel='tecStatus']").html("SELL");
        $("#box span").css("background","#cc0000");
        
    }else{
        $("label[rel='tecStatus']").html("BUY");
        $("#box span").css("background","#009900");
    }
    
    
    $("a",".opinion").click(function(){
        $("a",".opinion").removeClass();
        $(this).addClass("select")
        var opinionTerm = $(this).attr("rel");             
        var barData = Barchart.Data[sym].opinion[opinionTerm].percent;
        var barStatus = Barchart.Data[sym].opinion[opinionTerm].signal;                                  
        $("#box span").css("width", barData);
        $("#percentOfGradient").html(barData);
        
        
        if(barStatus == "H"){
            $("label[rel='tecStatus']").html("HOLD");
            
        }else if(barStatus == "S"){
            $("label[rel='tecStatus']").html("SELL");
            $("#box span").css("background","#cc0000")
        }else{
            $("label[rel='tecStatus']").html("BUY");
            $("#box span").css("background","#009900")
        }
        return false;
    });

    // Top 10 Holdings    
        for (var x=0; x<Barchart.ETFHoldings[sym].holdings.length && x < 10; x++){
            var item = Barchart.ETFHoldings[sym].holdings[x];
            $('.holding').append("<tr><td>"+item.symbol+"</td><td>"+item.name+"</td><td>"+item.percent+"</td></tr>");
            $('.holding tr:even').addClass("even"); 
        }
        
        $(".holding tr td").each(function(){
            if($(this).text() == "null"){
                $(this).text("N/A")
            }
        });
    
    // HISTORY 

        for(i=0; i<Barchart.Data[sym].history.length; i++){
            var hist = Barchart.Data[sym].history[i];


try{

            $('#hist').append("<tr><td>"+hist.performance+"</td><td>"+hist.ret.format("N2")+"</td><td>"+hist.spy.format("N2")+"</td></tr>");
}catch(err){}
            $('#hist tr:even').addClass("even");            
        }
        // Changes hist.performance Displays
            
            $("#hist td:contains('5day')").html("5 Days");
            $("#hist td:contains('1month')").html("1 Month");
            $("#hist td:contains('3months')").html("3 Months");            
            $("#hist td:contains('6months')").html("6 Months");
            $("#hist td:contains('ytd')").html("Year To Date");
            $("#hist td:contains('1year')").html("1 Year");
        
    // Change To Red

        $("li[rel='change']:contains('-')").addClass("red");
        
    
    // erases Top 10 Holdings if no data availible //
    
    if($('.holding td').text().length == 0){
        $('.holding').hide();
        $('h2:contains("Top 10 Holdings")').hide();
    }
        
    

    // erases Profile if no data availible //
    
    if($('li[rel="description"]').text().length == 0){
        $('.portfolio').hide();
        $('h2:contains("Profile")').hide();        
    }
    
    
    // places N/A in ETF Port Index if blank
        
        if($(".etfPortIndex").text().length == "34"){
            $(".etfPortIndex").text("N/A");
        }

// end ETF specific page //
        
        
    
} catch(err){}

    /* ---------- END ETF Specific page --------------*/


        $("#snapShot li a").click(function(){
            $("#snapShot li a").removeClass();       
            $(this).addClass("selected");
            tChart = $(this).text();            
            snapShotChart(tChart);
            return false;
        });
    });
    }
});



// SECTOR WATCH FUNCTION

function refreshBySectorTime(sector, period){
    try{
        $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETFPerformance&period="+period+"&sector="+sector, function(){

            $('tr:not(:first)', '#leaderBoard').remove();

            var bc = Barchart.ETFPerformance[period+'|'+sector];
if(Barchart.ETFPerformance[period+'|'+sector].length > 0){
            for (var x=0; x<bc.length; x++){
                $('#leaderBoard').append("<tr class=\"lbTR\"><td><a href=\"/ETF/"+bc[x].symbol+"\">"+bc[x].symbol+"</a></td><td>"+bc[x].name+"</td><td class=\"pctchg\">"+bc[x].pctchg.format("N2")+"%</td></tr>"); 
                $(".pctchg:contains('-')").addClass("red");
                $('#leaderBoard tr:even').addClass("even");
            }
}

        });

    }catch(err){alert(err)}    
}
// END OF SECTOR WATCH FUNCTION




// SNAP SHOT - CHARTS
function snapShotChart(ticker){
    try{
        
        //var chart = Barchart.Chart[ticker];        
        //$(".homeChart").attr("src", chart.image);

        $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETF&ticker="+ticker, function(){
        
        
        
        if(Barchart.Data[ticker].percentchange == null){
                
            $("#sLast").html("N/A");
            $("#sOpen").html("N/A"); 
            $("#sHigh").html("N/A"); 
            $("#sLow").html("N/A"); 
            $("#sVolume").html("N/A");            
            $(".sChange").html("N/A").removeClass('green');            
        
        }else{    
        
            $("#sLast").html(Barchart.Data[ticker].last.format("N2"));
            $("#sOpen").html(Barchart.Data[ticker].open.format("N2")); 
            $("#sHigh").html(Barchart.Data[ticker].high.format("N2")); 
            
            $("#sLow").html(Barchart.Data[ticker].low.format("N2")); 
            $("#sVolume").html(Barchart.Data[ticker].volume.format("N0"));
            $(".sChange").removeClass("red").addClass("green");             
            $(".sChange").html(Barchart.Data[ticker].percentchange.format("N2")+"%");
            $(".sChange:contains('-')").removeClass("green").addClass("red");    //adds red color  
        }     
         
              
         
        $(".etfName").html("<a href=\"/ETF/"+Barchart.Data[ticker].symbol+"\"><strong>"+Barchart.Data[ticker].symbol + " - " + Barchart.Data[ticker].name+"</strong></a>");  
        });

}catch(err){alert(err)}    

}




// ETF SPECIFIC CHARTS
    function drawChart(techInd, compare, startTime){        
    try{
        var endTime = Math.floor(new Date().valueOf()/1000);
        var sTime = new Date();
        var cData = "D";
        
        switch (startTime)
        {
        
            case "1day":                
                sTime.setHours(8,30,0,0);
                cData = "I:5";                        
                break;
                            
            case "5day":                
                sTime.setDate(sTime.getDate() - 5);
                cData = "I:30";                        
                break;
             
            case "1mth":                
                sTime.setMonth(sTime.getMonth() - 1);                            
                break;
            
            case "3mth":                
                sTime.setMonth(sTime.getMonth() - 3);                            
                break;
                
            case "6mth":                
                sTime.setMonth(sTime.getMonth() - 6);                            
                break;
                
            case "1yr":
                sTime.setYear(sTime.getFullYear() -1);
                break;
                
            case "2yr":                
                sTime.setYear(sTime.getFullYear() - 2);                            
                break;
                
            case "3yr":                
                sTime.setYear(sTime.getFullYear() - 3);                            
                break;
            
            case "5yr":                
                sTime.setYear(sTime.getFullYear() - 5);                            
                break;
                
            default:
                var sTime = "";
                var endTime = "";
                break;
        }
        
       
        
        var unixStrt = (sTime.valueOf() / 1000);
        unixStrt = Math.floor(unixStrt);   
        
     

        $('.graph .loader').fadeIn(400);
        
        $.getScript("http://content.barchart.com/etfport/data.phpx?q=getSnapshotChart&ticker="+sym+"&studies="+techInd+"&overlay="+compare+"&startdate="+unixStrt+"&enddate="+endTime+"&width=704&data="+cData, function(){                                
        
            var dc = Barchart.Chart[sym].image;
            
            $(".homeChart").attr("src", dc);
            $(".graph .loader").fadeOut(400); 
                       
        }); 
    }catch(err){}
    }


// END ETF SPECIFIC CHARTS




// RESEARCH PAGE

function researchList(group){
    try{        
        $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETFMovers&type="+group, function(){
                     
            $('tr:not(:first)', '#researchTable').remove();
if (group != undefined)      {      
            group = group.toUpperCase();    
            var bc = Barchart.ETFMovers[group];
                
            for (x in bc)
            {            
                $('#researchTable').append("<tr class=\"lbTR\"><td><a href=\"/ETF/"+bc[x].symbol+"\">"+bc[x].symbol+"</a></td><td>"+bc[x].last.format("N2")+"</td><td>"+bc[x].volume.format("N0")+"</td><td class=\"pctchg\">"+bc[x].percentchange.format("N2")+"% </td><td>"+bc[x].relstr.format("N2")+" </td><td>"+bc[x].high52.format("N2")+" </td><td>"+bc[x].low52.format("N2")+" </td></tr>"); 
                $(".pctchg:contains('-')").addClass("red");
                $('#researchTable tr:even').addClass("even");                                
            }
}

        });

}catch(err){}    

}


// LEADER BOARD

function leaderBoard(lbGroup){
    try{
        $.getScript("http://content.barchart.com/etfport/data.phpx?q=getETFMovers&type="+lbGroup, function(){
                     
        $('tr:not(:first)', '#researchTable').remove();
        
        lbGroup = lbGroup.toUpperCase();     
        var bc = Barchart.ETFMovers[lbGroup];
        
        for (x=0; x<bc.length && x < 10; x++)
        {            
            $('#researchTable').append("<tr class=\"lbTR\"><td><a href=\"/ETF/"+bc[x].symbol+"\">"+bc[x].symbol+"</a></td><td>"+bc[x].last.format("N2")+"</td><td class=\"pctchg\">"+bc[x].percentchange.format("N2")+"%</td><td>"+bc[x].high.format("N2")+"</td><td>"+bc[x].low.format("N2")+"</td><td>"+bc[x].volume.format("N0")+"</td></tr>"); 
            $(".pctchg:contains('-')").addClass("red");
            $('#researchTable tr:even').addClass("even");
        }

});

}catch(err){}    

}





    

    

    

    

    

    

    

    

    

    
