var MRW = {

	fel: null,
	chk: null,
	clickCounter: 0,
	chkDisabledSwitch: false,
	cp: null,

	cpCurrField: null,
	cpCurrAnchor: null,

	Init: function() {
		MRW.fel = $("WidgetConfig").elements;
		//Default params are used for demo chart
		MRW.fel["WidgetCode"].value = "<script type=\"text/javascript\" src=\"http://"+window.location.host+"/services/chart-widget/?s=CA&p1=9&p2=13\"></script>";
		//select text in textarea on focus
		MRW.fel["WidgetCode"].onfocus = function() {
			this.select();
		}

		//set up tooltips
		var TipsArr = [$("cTip"), $("jTip")];
		TipsArr[0].setAttribute("title", "Loan amounts less than $417,000. Follow guidelines outlined by Fannie Mae and Freddie Mac.");
		TipsArr[1].setAttribute("title", "Loan amounts greater than $417,000. Loan amounts higher than Fannie Mae and Freddie Mac guidelines.");
		var ret = new Tips(TipsArr, {offsets: {x:0, y:30}});

		//set up checkboxes to allow max. 3 selected
		MRW.chk = $("LoanProd").getElementsByTagName("input");
		for (var i=0; i < MRW.chk.length; i++) {
			if (MRW.chk[i].checked) {
				MRW.clickCounter++;
			}
			MRW.chk[i].onclick = function() {
				MRW.ToggleChk(this);
			}
		}

		//setup color picker
		MRW.cp = $("ColorPicker");
		var cpp = MRW.cp.getElementsByTagName("p");
		for (i in cpp) {
			cpp[i].onclick = function() {
				var p = $(this);
				var bgColor = p.getStyle("background-color").replace(/#/g, "");
				MRW.fel[MRW.cpCurrField].value = bgColor;
				MRW.cp.setStyles({"display":"none"});
				MRW.cpCurrAnchor.setStyles({"background-color": "#"+bgColor});
			}
		}

		//set up color picker form field buttons with default colors
		var PickerButtons = $("ColorPick").getElementsByTagName("a");
		for (var i=0; i<PickerButtons.length; i++) {
			var PickerButton = $(PickerButtons[i]);
			PickerButton.setStyles({"background-color":"#"+MRW.fel[PickerButton.id].value});
		}

		MRW.ToggleChk();
		MRW.PreviewWidget('');
	},
	PreviewWidget: function() {
		var p = MRW.fel["LoanProduct"];
		var State =MRW.fel["State"].value;

		var WidgetUrl = "http://"+window.location.host+"/services/chart-widget?s="+State;

		/* we don't have enough data in PROD for this feature yet.

			var Freqs = fel["PeriodFreq"];
			for (var i=0; i<Freqs.length; i++) {
			if (Freqs[i].checked) {
			var PeriodFreq = Freqs[i].value;
			WidgetUrl += "&f="+Freqs[i].value;
			}
			}
		 */

		var Colors = MRW.fel["TitleC"].value +"z"+ MRW.fel["LabelC"].value +"z"+ MRW.fel["LineC"].value +"z"+ MRW.fel["BgC"].value;
		Colors = Colors.toLowerCase();
		WidgetUrl += "&c="+Colors;

		var SelP = Array();
		for(var i=0; i<p.length; i++) {
			if (p[i].checked) {
				SelP[SelP.length] = p[i].value;
			}
		}

		if (SelP[0] != null) {
			WidgetUrl += "&p1="+SelP[0];
		}
		if (SelP[1] != null) {
			WidgetUrl += "&p2="+SelP[1];
		}

		if (mtrkSrc.length > 0) {
			WidgetUrl += "&src="+mtrkSrc;
		}

		var jh = $("JSHolder");
		var sc = jh.getElementsByTagName("script");

		if (sc.length > 0) {
			for (var i=0; i<sc.length; i++) {
				jh.removeChild(sc[i]);
			}

			if ($("GeoChart")) {
				var ChartBox = $("GeoChart");
				jh.removeChild(ChartBox);
			}
		}

		var s = document.createElement("script");
		s.setAttribute("type", "text/javascript");
		s.setAttribute("src", WidgetUrl);
		jh.appendChild(s);

		var WidgetCode = "<div id=\"ldcPowBy\"><a href=\"http://"+window.location.host+"\">Powered by Loan.com</a></div><div><script type=\"text/javascript\" src=\""+WidgetUrl+"\"></script></div>";
		MRW.fel["WidgetCode"].value = WidgetCode;
	},
	PickColor: function(a, inpName) {
		MRW.cpCurrField = inpName;	
		MRW.cpCurrAnchor = $(a);	

		var co = MRW.cpCurrAnchor.getPosition();
		offsetTop = 0;
		offsetLeft = -200;
		offsetTop = (co.y + offsetTop)+'px';
		offsetLeft = (co.x + offsetLeft)+'px';

		MRW.cp.setStyles({'display':'block','left':offsetLeft,'top':offsetTop});
	},

	ToggleChk: function() {
		var p = MRW.fel["LoanProduct"];

		if (arguments.length == 1) {
			inp = arguments[0];
			MRW.clickCounter = (inp.checked) ? MRW.clickCounter+1 : MRW.clickCounter-1;
		}

		if (MRW.clickCounter == 2) {
			for(var i=0; i<p.length; i++) {
				if (!p[i].checked) {
					p[i].disabled = true;
					document.getElementById('lb' + p[i].value).style.color = '#595650';
				} else {
					document.getElementById('lb' + p[i].value).style.color = '#ec5219';
				}
			}
		} else {
			for(var i=0; i<p.length; i++) {
				p[i].disabled = false;
				if (!p[i].checked) {
					document.getElementById('lb' + p[i].value).style.color = '#595650';
				} else {
					document.getElementById('lb' + p[i].value).style.color = '#ec5219';
				}
			}
		}
	}
};
window.addEvent("domready", function() {
	MRW.Init();
});


