var fundControllers = MODULES_URL + "/funds/controllers";

function sort_holdings(fieldName, fieldSort, pageID){
    var sendStr = "sortBy=" + fieldName + "&sortType=" + fieldSort + "&pageID=" + pageID;
    //alert(MODULES_URL + "/funds/controllers/fn-holdingsDisplay.php");
    base_ajax("holdingsDisplay", fundControllers + "/fn-holdingsDisplay.php", sendStr);
}

function sort_morningstar(fieldName, fieldSort){
    var sendStr = "sortBy=" + fieldName + "&sortType=" + fieldSort;
    base_ajax("displayMorningstar", fundControllers + "/fn-morningstarRatingsAll.php", sendStr);
}

function show_tracked_funds(mode){
    base_ajax("trackedFunds", fundControllers + "/dailyNAVs.php", "mode=" + mode, "");
}

function update_tracked_funds(){
    var newFundIDs = new Array();
    var newClassIDs = new Array();
	
    var formElements = $("#trackedFundsForm").find("input:checked");	
    for(var i = 0; i < formElements.length; i++){
        if(formElements[i].type == "checkbox" && formElements[i].checked == true){
            var fid = formElements[i].id + "";
            var parts = fid.split("_");
            if(!inCookie(newFundIDs, parts[1]))
                newFundIDs.push(parts[1]);
			
            if(!inCookie(newClassIDs, parts[2]))
                newClassIDs.push(parts[2]);
			
        }
    }
	
    // update the display to show the checked funds
    set_cookie("trackedFunds", newFundIDs.join(","), "", 1000);
    set_cookie("trackedClasses", newClassIDs.join(","), "", 1000);
	
    location.href = "#trackedFunds";
    show_tracked_funds("Display");
}
function inCookie(cookie, value){
//    var cookie = get_cookie(name);
    if(!cookie.length)
        return false;
    else{
        //var cookie_array = cookie.split(',');
        if(jQuery.inArray(value, cookie) == 0)
            return true;
        else
            return false;
    }
}

function cancel_tracked_funds(){
    var trackedFunds = get_cookie("trackedFunds") + "";
    var trackedClasses = get_cookie("trackedClasses") + "";
    // put the funds into an array
    trackedFunds = trackedFunds.split(",");
    trackedClasses = trackedClasses.split(",");
	
    var formElements = $("#trackedFundsForm").elements;
    for(var i = 0; i < formElements.length; i++){
        if(formElements[i].type == "checkbox"){
            var fid = formElements[i].id + "";
            var parts = fid.split("_");
            formElements[i].checked = trackedClasses.find(parts[2]);
            $("#trackedFundsAnchor_" + parts[2]).className = trackedClasses.find(parts[2]) ? "current" : " ";
        }
    }
    location.href = "#trackedFunds";
    show_tracked_funds("Display");
}

function select_tracked_class(classID, fundID){
    var ischecked = $("#trackedFundsInput_" + fundID + "_" + classID);
    var check_action = "";
    if(!ischecked.checked)
        $("#trackedFundsInput_" + fundID + "_" + classID).attr("checked","checked");
    else
        $("#trackedFundsInput_"+ fundID + "_" + classID).removeAttr("checked");
    $("#trackedFundsAnchor_" + classID).toggleClass('current');
            
}

function fund_list_filter(url, field, value){
    var base_url = url.split("?");
    url = base_url[0];
     window.location.href = url + "?" + field + "=" + value;
}

function performance_period_ending_date_change(url, field, value){
    fund_list_filter(url, field, value);
}

function in_array (needle, haystack, argStrict) {
    var key = '', strict = !!argStrict; 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
    return false;
}

/** Start row hover highlighting functions **/
function add_row_hover(elementID, x) {
    var contentArea = document.getElementById(elementID);
    var rows = contentArea.getElementsByTagName('tr');
	
    for(i = x; i < rows.length; i++) {
        if(rows[i].className == "altRow") {
            rows[i].onmouseover = highlight;
            rows[i].onmouseout = altRowHighLight;
        } else if(rows[i].className == "sectionRow") {
        } else {
            rows[i].onmouseover = highlight;
            rows[i].onmouseout = dehighlight;
        }
		
    }
}

function altRowHighLight() {
    this.className = "altRow";
}

function highlight() {
    this.className = "highlightRow";
}

function dehighlight() {
    this.className = "";
}
/** End row hover highlighting functions **/

