/* clearInput */
function clearInput(c, a) {
	$(c).addClass("off");
	var b = [];
	$(c).focus(function () {
		var d = "id",
			c = this;
		if (!b[$(c).attr(d)]) b[$(c).attr(d)] = $(c).attr(a);
		if ($(c).attr(a) == b[$(c).attr(d)]) {
			$(c).attr(a, "");
			$(c).removeClass("off").addClass("on");
		}
		$(c).blur(function () {
			$(this).attr(a) === "" && $(this).removeClass("on").addClass("off").attr(a, b[$(this).attr(d)]);
		});
	});
}
/* openClose */
function openClose(e, h, g, f) {
	var d = "visuallyhidden",
		a = "open",
		c = "fast",
		b = e + " .m-container";
	$(document).click(function () {
		$(b).slideUp(c).removeClass(a).addClass(d);
	});
	$(e + " " + h).click(function (h) {
		var g = ".m-container",
			i = e + " .filterinput";
		if ($(b).hasClass(a)) $(g).slideUp(c).removeClass(a).addClass(d);
		else {
			$(b).slideDown(c).removeClass(d).addClass(a).show();
			var j = $(b).height();
			$(g).not(b).slideUp(c).removeClass(a).addClass(d);
			f !== undefined && f.tinyscrollbar_update();
			$(i).focus();
		}
		h.preventDefault();
		h.stopPropagation();
	});
	g !== false && findMatch(e, f);
}

function hideForIE(d, c, b) {
	var a = "gone";
	$(document).click(function () {
		$(b).removeClass(a).show();
	});
	$(d + " " + c).click(function (c) {
		if ($(b).hasClass(a)) $(b).removeClass(a).show();
		else $(b).addClass(a).hide();
		c.preventDefault();
		c.stopPropagation();
	});
}

function findMatch(a, c) {
	jQuery.expr[":"].Contains = function (a, c, b) {
		return (a.textContent || a.innerText || "").toUpperCase().indexOf(b[3].toUpperCase()) >= 0;
	};
	var e = (a + "Input").replace(".", "").replace("#", ""),
		b = a + " .inputfilter",
		d = $(b).closest("ul");
	listFilter($(b), $(d), a, c);
	$(function () {
		clearInput("#" + e, "value");
	});
}

function listFilter(f, a, c, b) {
	var g = (c + "Input").replace(".", "").replace("#", ""),
		e = $(c + " .inputfilter").attr("data-value"),
		h = $("<form>").attr({
			"class": "filterform",
			action: "#"
		}),
		d = $("<input>").attr({
			id: g,
			"class": "filterinput",
			type: "text",
			value: e
		});
	$(h).append(d).appendTo(f);
	$(d).change(function () {
		var b = $(this).val();
		if (b) {
			$(a).find("a:not(:Contains(" + b + "))").parent().slideUp();
			$(a).find("a:Contains(" + b + ")").parent().slideDown();
		} else $(a).find("li").slideDown();
		return false;
	}).keyup(function () {
		$(this).change();
		b !== undefined && b.tinyscrollbar_update();
	});
}



/* revealSD */
function revealSD(f, d, e) {
	var b = "visuallyhidden",
		a = ".drops",
		c = f + " " + d;
	$(c).siblings(a).not(e + " .drops").addClass(b).hide();
	$(c).click(function () {
		$(d).removeClass("on");
		$(a).addClass(b).hide();
		$(this).addClass("on");
		$(this).siblings(a).show().removeClass(b);
	});
}


/* ---------- AJAX Calls to populate widget SD ------------- */
// function getResults(b) {
//     var a = "#wStateSubj";
//     $.getJSON("http://www.hackcollege.com/school-finder/xhr/subjects_in_state/" + b + "/?jsoncallback=?", function (b) {
//         $.each(b.results, function (c, b) {
//             $(a).append('<li><a class="db" title="' + b.name + '" href="/school-finder/schools/' + b.url + '">' + b.name + "</a></li>")
//         });
//         $("#wListStateSubj").fadeTo(0, 1);
//         $(".menu .overlay").hide()
//     });
//     $(a).html("")
// }




// Getting states for subject:
function getstates(subject){
	var a = '#s-state';
	$.ajax({
		url: 'http://www.hackcollege.com/school-finder/xhr/states_with_subject/' + subject + '/?callback=?',
		dataType: 'jsonp',
		success: function(data) {
			var html = '';
			$.each(data.results, function (c, data) {
				html += '<li><a class="db" title="' + data.state.name + '" href="/school-finder/schools/' + data.state.url + '" data-url="' + data.state.url + '">' + data.state.name + "</a></li>";
			});
			var myChunk = $(html);
			$(a).empty().append(myChunk);
		}
	});
}


// Getting subjects in state:
function getsubjects(state){
	var a = '#s-subj';
	$.ajax({
		url: 'http://www.hackcollege.com/school-finder/xhr/subjects_in_state/' + state + '/?callback=?',
		dataType: 'jsonp',
		success: function(data) {
			var html = '';
			$.each(data.results, function (c, data) {
				html += '<li><a class="db" title="' + data.subject.name + '" href="/school-finder/schools/' + data.subject.url + '" data-url="' + data.subject.url + '">' + data.subject.name + "</a></li>";
			});
			var myChunk = $(html);
			$(a).empty().append(myChunk);
		}
	});
}



$(function () {
	var a = "#wListAllState";


	$('#wListAllState').on('click', 'li a', function(event){
		event.preventDefault();
		
		$(this).parents(".m-container").addClass("visuallyhidden").removeClass("open");
		$("#s-stateInput").val($(this).text());

		console.log('state');
		console.log( $(this).data('url') );
		
		var stateurldata = $(this).data('url');
		$("#s-stateInput").data('url', stateurldata );
		
		var c = $(this).text();
		getsubjects(c);
		return false;
	});

	$('#wListAllSubject').on('click', 'li a', function(event){
		event.preventDefault();
		
		$(this).parents(".m-container").addClass("visuallyhidden").removeClass("open");
		$("#s-subInput").val($(this).text());

		console.log('subject');
		console.log( $(this).data('url') );
		
		var suburldata = $(this).data('url');
		$("#s-subInput").data('url', suburldata );
		
		var c = $(this).text();
		getstates(c);
		return false;
	});



   //  $("#wListAllSubject li a").on('click', function(b) {
   //      b.preventDefault(true);
   //      b.stopImmediatePropagation();

   //      $(this).parents(".m-container").addClass("visuallyhidden").removeClass("open");
   //      $("#s-subInput").val($(this).text());
			// // $(".menu .overlay").show();
			// // $(a).fadeTo(0, .5);
   //      var c = $(this).text();
			// // getResults(c);
   //      getstates(c);
   //      return false
   //  });


});








