
var env;
var chart = {
	"url" : "",
	"fund_id" : "", // fund_id val
	"compare_index_id" : "",
	"width" : "530",
	"height" : "280",
	"lang" : "EN",
	"chart_style" : "manufund_line",
	"chart_type" : "png",
	"main_color" : "b0b1b3,000000,0000ff",
	"init_val" : "10000",
	"start_date" : "", // start_date
	"end_date" : "", //end_date
	"chart_grid" : "FFFFFF",
	"chart_bg" : "EEEEEE",
	"img_bg" : "FFFFFF",
	"img_fg" : "000000",
	"showTitle" : "true",
	"showDate" : "true"
}

function get_new_chart_image() {
	var fund_id, benchmark, start_month, start_year, end_month, end_year;
	fund_id = $F("id");
	benchmark = $("compareBench").options[$("compareBench").options.selectedIndex].value;
	start_month = $("FromMonth").options[$("FromMonth").options.selectedIndex].value;
	start_year = $("FromYear").options[$("FromYear").options.selectedIndex].value;
	end_month = $("ToMonth").options[$("ToMonth").options.selectedIndex].value;
	end_year = $("ToYear").options[$("ToYear").options.selectedIndex].value;
	$("genChart").src = chart.url+"\u0026fund_id="+fund_id+"\u0026compare_index_id="+benchmark+"\u0026chart_width="+chart.width+"\u0026chart_height="+chart.height+"\u0026lang="+chart.lang+"\u0026chart_style="+chart.chart_style+"\u0026chart_type="+chart.chart_type+"\u0026main_color="+chart.main_color+"\u0026init_val="+chart.init_val+"\u0026start_date="+start_year+start_month+"\u0026end_date="+end_year+end_month+"\u0026chart_grid="+chart.chart_grid+"\u0026chart_bg="+chart.chart_bg+"\u0026img_bg="+chart.img_bg+"\u0026img_fg="+chart.img_fg+"\u0026showTitle="+chart.showTitle+"\u0026showDate="+chart.showDate;	
}

function launchPop(v, w){
	//var w = "770";
	var n = "fundWin";
	// height was originally 840
	var f = "width="+w+",height=580,toolbar=no,location=no,menubar=no,status=no, scrollbars=yes";
	(window.fundWin==null||fundWin.closed) ? fundWin=window.open(v,n,f) : fundWin.location.href = v; 
	fundWin.focus();
}

function updateFundlist(action, listing_id, user_id, site){ 
    var now = new Date();
    var myurl = site + "/servlet/Page/document/v5/data/fundlist?action=" + action + "&id=" + listing_id +  "&uid=" + user_id; 
    var divId = "accountMenu"; 
    getDataFromRequest(divId, null, myurl, false); // ajax call to set result to divID. 
 }
 
 function getDataFromRequest(divId, id, myurl, isParse){	
  if (myurl == null){return;}
  var xmlhttp = hector();
  var responseText;
  if(xmlhttp){
    xmlhttp.open("GET", myurl, true);
    xmlhttp.onreadystatechange=function() {
      if(xmlhttp.readyState==4) {
        if(xmlhttp.status==200) {
	      try {
		      responseText = xmlhttp.responseText;	  
 	        if (isParse){
			      eval(responseText); 
			      displayData(divId, id, null); 
	        } 
		      else {
			      displayData(divId, id, responseText); 
		      }			
	      }
	      catch (err) {//error ocurred.
	        if (debug){
	          alert ("getDataFromRequest error happend " + myurl + ".." + isParse + ".." +  err);
	        }
	      }
        }
      }
    }
    xmlhttp.send(null);
  }
}

function displayData(divId, id, content){
  try{
       document.getElementById(divId).innerHTML = content; 
  }
  catch (err){
    if (debug){
	alert ("displayData: " + divId + ".." + id + ".." + err);
    }
  }
}

function get_holding(e) {
	var req = hector();
	var elm = Event.element(e);
	var holdings = $('holdings');
	var ajaxDiv = $('ajaxWait'); 
	Element.remove($('holdingsTable'));
	Element.show(ajaxDiv); 
	var parms = window.location.href.toQueryParams();
	var url = "/servlet/Page/document/v5/data/topholdings?compareBench="+parms.compareBench+"\u0026FromMonth="+parms.FromMonth+"\u0026FromYear="+parms.FromYear+"\u0026ToMonth="+parms.ToMonth+"\u0026ToYear"+parms.ToYear+"\u0026id="+parms.id+"\u0026symbol="+parms.symbol+"\u0026style="+parms.style+"\u0026hRange="+elm.value+"\u0026profile_type="+parms.profile_type;
	req.open("GET", url, true);
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.status == 200) {
				if (req.responseText.indexOf('javax') == -1) {
					$('holdingsShell').innerHTML = req.responseText;
					Element.hide(ajaxDiv);
					new Effect.Highlight($('holdingsShell'), {startcolor:'#ffffff', endcolor:'#ffffff'});
				} else {
					var p = createElement("p");
					var txt = document.createTextNode("Sorry, but your request could not be completed at this time.");
					p.appendChild(txt);
					$('holdingsShell').appendChild(p);
					Element.hide(ajaxDiv);
					new Effect.Highlight($(p), {startcolor:'#ffffff', endcolor:'#ffffff'});
				}
			}
		}
	}
	req.send(null);
}

addEvent(window, "load", function() {
	env = WEBSITE_CHARTING + "/servlet/charting";
	chart.url = env + "?";
	addEvent($("growthForm"), "submit", function() {
		if ($("compareBench").options[$("compareBench").options.selectedIndex].value != "" ||
		    $("FromYear").options[$("FromYear").options.selectedIndex].value != "" ||
		    $("FromMonth").options[$("FromMonth").options.selectedIndex].value != "" || 		
		    $("ToYear").options[$("ToYear").options.selectedIndex].value != "" ||
		    $("ToMonth").options[$("ToMonth").options.selectedIndex].value != "") {
			get_new_chart_image();
			return false;
		} else {
			return false;
		}
	});
	// radio button back button thinger -- if hRange appears in the URL select the radio w/ that val otherwise select 1yr
	var radios = $$('#holdings_radio input[type=radio]');	
	// add handlers to radios
	radios.each(function(input) {
		addEvent(input, "click", get_holding);
		return false;
	});
	if ((location.href.indexOf("hRange") != -1) && radios.length > 0) {
		var params = location.href.toQueryParams();
		radios.each(function(radio) {
			if (radio.value == params.hRange) {			
				radio.checked = true;
			}
		});			
	} else {
		radios.length > 0 ? radios[5].checked = true : "";
	}
	$('drawChart').enable();
});