/**
 * @author kasey
 */

$(function(){ //document.ready shorthand
	setupSearchForm();
});

var setupSearchForm = function(){
	buildSearchForm();
	$("#search_form #chk_product").click(function(){
		$(this).blur();
		buildSearchForm();
	});
	$("#search_form #chk_challenge").click(function(){
		$(this).blur();
		buildSearchForm();
	});
	$("#search_form #chk_location").click(function(){
		$(this).blur();
		buildSearchForm();
	});
}

var buildSearchForm = function(){
	var p = $("#search_form #chk_product");
	var l = $("#search_form #chk_location");
	var c = $("#search_form #chk_challenge");
	
	var kf = $("#keyword");
	var lf = $("#citystatezip");
	var cf = $("#provider_challenge");

	/* KEYWORD, CHALLENGE, CITY STATE ALL SELECTED */
	if(p.is(":checked") && c.is(":checked") && l.is(":checked")){
		kf.css("width","30%").fadeIn();
		lf.css("width","25%").fadeIn();
		cf.css("width","30%").fadeIn();
	}
	
	/* KEYWORD & CHALLENGE (NO LOCATION) */
	else if(p.is(":checked") && c.is(":checked") && !l.is(":checked")){
		kf.css("width","41%").fadeIn();
		cf.css("width","45%").fadeIn();
		lf.hide();
	}
	
	/* KEYWORD & LOCATION (NO CHALLENGE) */
	else if(p.is(":checked") && l.is(":checked") && !c.is(":checked")){
		kf.css("width","42%").fadeIn();
		cf.hide();
		lf.css("width","43%").fadeIn();
	}
	
	/* CHALLENGE & LOCATION (NO KEYWORD) */
	else if(c.is(":checked") && l.is(":checked") && !p.is(":checked")){
		kf.hide();
		cf.css("width","43%").fadeIn();
		lf.css("width","43%").fadeIn();
	}
	
	/* CHALLENGE ONLY */
	else if(c.is(":checked") && !l.is(":checked") && !p.is(":checked")){
		kf.hide();
		cf.css("width","87%").fadeIn();
		lf.hide();
	}
	
	/* LOCATION ONLY */
	else if(l.is(":checked") && !p.is(":checked") && !c.is(":checked")){
		kf.hide();
		cf.hide();
		lf.css("width","86%").fadeIn();
	}
	
	/* KEYWORD ONLY */
	else{
		kf.css("width","507px").fadeIn();
		cf.hide();
		lf.hide();
	}
}

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}
