$().ready(
    function(){
        var $text_size = $.jStorage.get('text_size');
        if($text_size){
            $('body').addClass($text_size);
            $('.text_size').find('a').removeClass('current');
            $('.text_size').find('a.'+$text_size).addClass('current');
        }


        $('.video_pop, .fancy_pop').fancybox();

        $('.slider_home').slides({
            preload: true,
            preloadImage: 'images/loading.gif',
            generatePagination: true,
            paginationClass: 'slider_menu'

        });
        $('.slider_community, .slider_education').slides({
            preload: true,
            preloadImage: 'images/loading.gif',
            generatePagination: true,
            paginationClass: 'slider_menu',
            play: 8000,
            pause: 2500
        });

        var section = $('.content').attr('id');
        $('.main_navigation, .top_navigation, .footer_links').find('.'+section+'_links').addClass('active');
        $('body').find('.content_locations').length > 0 && $('.top_navigation .s_locations_links').addClass('active');
        $('body').find('.contact_us_content').length > 0 && $('.top_navigation .s_contact_us_links, .footer_links .s_contact_us_links').addClass('active');

        $('#radius_list').selectBox({dropSpeed:100});
        
        $('.btn_share').click(function(e){
            var $share_popup = $('.widget_share');
            if(!$($share_popup).hasClass('active')){
                $($share_popup).addClass('active');
                var clicked = false;
                $(document).bind('click.Share', function(e){
                    if(clicked && $(e.target).closest('.widget_share').length == 0){
                        $($share_popup).removeClass('active');
                        $(document).unbind('click.Share');
                    }
                    clicked = true;
                });
            }else{
                $($share_popup).removeClass('active');
            }
            e.preventDefault();
        });

        $('.text_size a').click(function(){
            var $css_class = $(this).attr('class');
            $('.text_size a').removeClass('current');
            $('body').removeAttr('class');
            $('body').addClass($css_class);
            $.jStorage.set('text_size',$css_class);
            $(this).addClass('current');
        });
    }
);

$(document).ready(function(){
	var last_care_search = '';
	//Global Search
	if ($("#g_search").length) {
	    var search = getURLParameterByName('search');
	    if (search != '') {
	    	putToTheSearchField(search.replace('"', ''));
	    }
	}
	//Career in C Search
	else if ($("#s_careers").length && $("#career_search").length) {
		$("#career_search_button").click(function(event){
			event.preventDefault();
			var search_value = $("#career_search").val();
			search_value = $.trim(search_value);
			if (search_value != '') {
				window.location = $(this).parent("form").attr("action") + search_value;
			}
			else alert("To use search please enter 2 or more letters");
		});
		$("#view_all").click(function(event){
			event.preventDefault();
			$("#career_search_button").click();
		});
		$("#career_search").keyup(function(event){
			var search_value = $("#career_search").val();
			search_value = $.trim(search_value);
			if (search_value != '' && search_value.length >= 2 && last_care_search != search_value) {
				last_care_search = search_value;
				$.ajax({
					url: "http://jobs.bayada.com/WidgetSearchResults.aspx?ss=paid&utm_source=JobSearchWidget&utm_medium=CareerSite&utm_campaign=TBWidgets&rc=10&col=1234&id=web&rf={0}%20Results%20Found&pop=1&key=" + search_value,
					crossDomain: true,
					dataType: "jsonp"
				});
			}
		});
	}
});

//Global Search Trick function
function putToTheSearchField(search) {
	if ($("#cse .gsc-input input").length) {
		$("#cse .gsc-input input").val(search);
		$("#cse .gsc-input input").focus();
		$("#cse .gsc-search-button").click();
	} else setTimeout('putToTheSearchField("' + search + '")', 200);
}

function getURLParameterByName(name) {
	name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
	var regexS = "[\\?&]" + name + "=([^&#]*)";
	var regex = new RegExp(regexS);
	var results = regex.exec(window.location.href);
	if(results == null)
		return "";
	else
		return decodeURIComponent(results[1].replace(/\+/g, " "));
}

//Career in C Search callback
function getJobs(json_data) {
	$(".search_result h3").html(json_data.ResultSet.includeresultfound);
	$(".search_result h3").show();
	$(".search_result table").remove();
	$("#view_all").hide();
	if (parseInt(json_data.ResultSet.totalResultsAvailable)) {
		var table = document.createElement('TABLE');
		var odd = true;
		for (var row in json_data.ResultSet.Result) {
			var tablerow = document.createElement('tr');
			if (odd) {
				tablerow.className = 'odd';
				odd = false;
			} else odd = true;
			tablerow.innerHTML = "<td><a href='" + json_data.ResultSet.Result[row].URL + "'>" + json_data.ResultSet.Result[row].Title + "</a></td><td>" + json_data.ResultSet.Result[row].Location + "</td>";
			table.appendChild(tablerow);
		}
		$(".search_result h3").after(table);
		$("#view_all").show();
	}
}

//Custom select;
(function($) {
    $.fn.selectBox = function(){

        var selectbox = this,
            re = new RegExp(/^\d{2,5}/),
            dropSpeed = (arguments[0] && re.test(arguments[0].dropSpeed)) ? arguments[0].dropSpeed : 200;

        var methods = {

            replaceLayout : function(obj){
                var options = obj.children('option'), values = '', currentValue = obj.val();
                options.each(function(){
                    values += '<li>'+$(this)[0].text+'</li>';
                });

                var layout =
                    '<div class="selectbox">'+
                        '<div class="selectbox-current">'+obj.children("option").eq(0).val()+'</div>'+
                        '<ul class="selectbox-values" style="display:none">'+values+'</ul>'+
                    '</div>';
                obj.attr("selectedIndex", 0);
                obj.before(layout);
                $('.selectbox-values li').each(function(){
                    ($(this).text() == currentValue) && $(this).addClass('active');
                });

                return true;
            },
            hideSelect : function(obj){
                obj.hide();
                return true;
            },
            toggleValues : function(obj){
                if($('.selectbox-values').css('display') == 'none' && ($(obj).hasClass('selectbox') || $(obj).hasClass('selectbox-current'))){
                    $('.selectbox-values').slideDown(dropSpeed);
                    //Get the position of active item;
                    var targetPositon = Math.round($('.selectbox-values li.active').position().top);
                    $('.selectbox-values').animate({
                        scrollTop : targetPositon
                    })
                } else{
                    $('.selectbox-values').slideUp(dropSpeed)
                }
                return true;
            },
            changeState : function(obj, cur){
                var value = cur.text();
                obj.val(cur.val());
                obj.attr("selectedIndex", cur.parent().children("li").index(cur));                
                $('.selectbox-current').text(value);
                cur.addClass('active').siblings('li').removeClass('active');
                return true;
            }
        }
        $(document).ready(function(){
            methods.replaceLayout(selectbox);
            methods.hideSelect(selectbox);
        });
        $('body').live('click', function(event){
            methods.toggleValues(event.target)
        });
        $('.selectbox-values li').live('click', function(){
            methods.changeState(selectbox, $(this));
        });
    }
})(jQuery);
