function minimize_all_locations(elem) {
    $("#" + elem + " li > ul").slideUp(700, "easeOutQuint");
    $("#" + elem + " .jqcNode").removeClass("minus").addClass("plus");
}
function nl2br (str, is_xhtml) {
    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';

    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
}
function limitChars(inputId, charLimit, allowOver, charsLeftObjId) { //shows how many characters left for a field(e.g meta_title)
    var charsLeft = charLimit - document.getElementById(inputId).value.length;
    if (charsLeft < 1) {
        document.getElementById(charsLeftObjId).style.color = 'red';
        } else {
    	document.getElementById(charsLeftObjId).style.color = 'green';
    	}
    document.getElementById(charsLeftObjId).innerHTML = charsLeft + "/" + charLimit;
}


function launch_ques_form(headline)
{
	//forum question form
		if (headline == undefined || headline == '')
		headline = 'שאל שאלה בתחום השיפוצים';
		
	if ( $("#question_form").length == 0)
		$('body').append("<div id=\"question_form\">\n\t\t<p>\u05e9\u05d0\u05dc \u05e9\u05d0\u05dc\u05d4 \u05d1\u05e4\u05d5\u05e8\u05d5\u05dd \u05d4\u05de\u05d5\u05de\u05d7\u05d9\u05dd \u05e9\u05dc\u05e0\u05d5 \u05d5\u05e7\u05d1\u05dc \u05ea\u05e9\u05d5\u05d1\u05d4 \u05d0\u05d7\u05ea \u05dc\u05e4\u05d7\u05d5\u05ea \u05ea\u05d5\u05da 24 \u05e9\u05e2\u05d5\u05ea.<\/p>\n\t\t<form>\n\t\t\t<div>\n\t\t\t\t<span>\u05e9\u05dd \u05d4\u05e9\u05d5\u05d0\u05dc:<\/span>\n\t\t\t\t<input type=\"text\" name=\"my_name\" \/>\n\t\t\t\t<span class=\"err\"><\/span>\n\t\t\t<\/div>\n\t\t\t<div id=\"sdf\">\n\t\t\t\t<span>\u05db\u05ea\u05d5\u05d1\u05ea \u05d3\u05d5\u05d0\"\u05dc:<\/span>\n\t\t\t\t<input type=\"text\" name=\"my_email\" \/><p>\u05dc\u05db\u05d0\u05df \u05e0\u05e2\u05d3\u05db\u05df \u05d0\u05d5\u05ea\u05da \u05db\u05e9\u05ea\u05d4\u05d9\u05d4 \u05ea\u05e9\u05d5\u05d1\u05d4.<\/p>\n\t\t\t\t<span class=\"err\"><\/span>\n\t\t\t<\/div>\n\t\t\t<div>\n\t\t\t\t<span>\u05e2\u05d9\u05e8 \u05de\u05d2\u05d5\u05e8\u05d9\u05dd:<\/span>\n\t\t\t\t<input type=\"text\" name=\"my_city\" \/>\n\t\t\t<\/div>\n\t\t\t<div>\n\t\t\t\t<span>\u05d4\u05e9\u05d0\u05dc\u05d4 \u05e9\u05dc\u05d9:<\/span>\n\t\t\t\t<textarea name=\"my_question\"><\/textarea>\n\t\t\t\t<span class=\"err\"><\/span>\n\t\t\t<\/div>\n\n\t\t\t<input type=\"submit\" value=\"\u05e9\u05d0\u05dc \u05d0\u05ea \u05d4\u05de\u05d5\u05de\u05d7\u05d9\u05dd!\" \/>\n\t\t<\/form>\n\t<\/div>");
		
	$('#question_form').dialog({
		minHeight: 20,
		width:375,
		title: headline
	});
	
	//set its behaviour
	$("#question_form>form").submit( function() {
		//clear errors
		$("#question_form textarea, #question_form input").focus( function(){
			$(this).parent().find('.err').slideUp();
		});
		$.post("/question_form_aj.php", $(this).serialize(), function(json){
			if (json.success)	{
				$("#question_form *").slideUp();
				$("#question_form").append("<p>קיבלנו את שאלתך ונעביר אותה מיידית לקבלני השיפוצים העוסקים בתחום.</p><p>ברגע שנקבל תשובה ובכל מקרה לא יאוחר מ-24 שעות, נפרסם אותה בפורום וגם נשלח לך מייל כדי לעדכן אותך!</p>").slideDown();
			} else {
				if (json.name_invalid != '')
					$("input[name=my_name]").parent().find(".err").html(json.name_invalid).slideDown();
				if (json.email_invalid != '')
					$("input[name=my_email]").parent().find(".err").html(json.email_invalid).slideDown();
				if (json.question_invalid != '')
					$("textarea[name=my_question]").parent().find(".err").html(json.question_invalid).slideDown();

			}
		}, 'json');

		return false;
	});
}//launch ques form

function launch_con_form(headline)
{
	if (headline == undefined || headline == '')
		headline = 'צור איתנו קשר בטלפון או בטופס';
		
	if ( $("#contact_form").length == 0)
		$('body').append("<div id=\"contact_form\" class=\"dialog-form-box\">\n\t\t\t<p>\u05d0\u05e0\u05d7\u05e0\u05d5 \u05d6\u05de\u05d9\u05e0\u05d9\u05dd \u05d1\u05d8\u05dc\u05e4\u05d5\u05df: 076-5454547 \u05d1\u05d9\u05df \u05d4\u05e9\u05e2\u05d5\u05ea: 8:00 - 21:00. \u05d4\u05ea\u05e7\u05e9\u05e8\u05d5 \u05d5\u05e0\u05e9\u05de\u05d7 \u05dc\u05e2\u05d6\u05d5\u05e8 \u05d1\u05db\u05dc \u05e0\u05d5\u05e9\u05d0.<\/p>\n\t\t\t<p><strong>\u05d0\u05d5 \u05de\u05dc\u05d0\u05d5 \u05d0\u05ea \u05d4\u05d8\u05d5\u05e4\u05e1:<\/strong><\/p>\n\n\t\t\t\n\t\t\t<form>\n\t\t\t\t<div>\n\t\t\t\t\t<span>\u05d4\u05e9\u05dd \u05e9\u05dc\u05d9:<\/span>\n\t\t\t\t\t<input type=\"text\" name=\"my_name\" \/>\n\t\t\t\t\t<span class=\"err\"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t<div>\n\t\t\t\t\t<span>\u05d4\u05d8\u05dc\u05e4\u05d5\u05df \u05e9\u05dc\u05d9:<\/span>\n\t\t\t\t\t<input type=\"text\" name=\"my_phone\" \/>\n\t\t\t\t<\/div>\n\t\t\t\t<div>\n\t\t\t\t\t<span>\u05d4\u05d3\u05d5\u05d0\"\u05dc \u05e9\u05dc\u05d9:<\/span>\n\t\t\t\t\t<input type=\"text\" name=\"my_email\" \/>\n\t\t\t\t<\/div>\n\t\t\t\t<div>\n\t\t\t\t\t<span>\u05ea\u05d5\u05db\u05df \u05d4\u05e4\u05e0\u05d9\u05d9\u05d4:<\/span>\n\t\t\t\t\t<textarea name=\"my_message\"><\/textarea>\n\t\t\t\t\t<span class=\"err\"><\/span>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t<p>\u05e8\u05d5\u05e6\u05d9\u05dd \u05e9\u05e0\u05d7\u05d6\u05d5\u05e8 \u05d0\u05dc\u05d9\u05db\u05dd? \u05e6\u05d9\u05d9\u05e0\u05d5 \u05de\u05e1' \u05d8\u05dc\u05e4\u05d5\u05df \u05d5\\\u05d0\u05d5 \u05db\u05ea\u05d5\u05d1\u05ea \u05d3\u05d5\u05d0\"\u05dc.<\/p>\n\t\t\t\t<input type=\"submit\" value=\"\u05e9\u05dc\u05d7\" \/>\n\t\t\t<\/form>\n\t\t<\/div>");
	$('#contact_form').dialog({
		minHeight: 20,
		width:375,
		title: headline
	});
	
	
	//set its behaviour
	$("#contact_form>form").submit( function() {
		$("#contact_form textarea, #contact_form input").focus( function(){
			$(this).parent().find('.err').slideUp();
		});
		$.post("/contact_form_aj.php", $(this).serialize(), function(json){
			if (json.name_invalid == '' && json.message_invalid == '')	{
				$("#contact_form *").slideUp();
				$("#contact_form").append("<p>הודעתך הועברה לצוות <strong>שיפוצניק</strong> ונטפל בה בהקדם האפשרי!</p><p>המשך גלישה מהנה.</p>").slideDown();
			} else {
				if (json.name_invalid != '')
					$("input[name=my_name]+span").html(json.name_invalid).slideDown();
				if (json.message_invalid != '')
					$("textarea[name=my_message]+span").html(json.message_invalid).slideDown();

			}
		}, 'json');

		return false;
	});
}


function hlite_serp(selector, search_query)
{//highlights search results by selector (space-seperated words in [search_query]
    var query_arr = search_query.split(" ");
    $(selector).each(function(){
        var orgText = $(this).html();
        for (var i=0; i<query_arr.length; ++i)
        {
            orgText = orgText.replace(query_arr[i], "<span class=\"hlite\">" + query_arr[i] + "</span>");
            $(this).html(orgText);
        }
    });
}




function flash_it(id)
{//flashes an element
	$("#"+ id).effect("highlight", {}, 2000);
}


//Header search box (order same as in html)
var super_search_arr = new Array(); //def_text, action value, index in list
super_search_arr[0] = new Array('חפשו בפורום', '/פורום-שיפוצים/', 1);
super_search_arr[1] = new Array('חפשו במאמרים', '/מאמרים/', 0);
super_search_arr[2] = new Array('חפשו טיפים', '/טיפים/', 2);

function set_super_search_mode(role_id)
{
	var pos = get_pos_in_list_by_role_id(role_id);

	//remove others ON
        $('#super_search li .on').removeClass('on');

        //set MY class
	if (pos > -1) 
	{
		child_index = pos+1;
	} else {
		child_index = 1; //default
		pos	=0;
	}

        $("#super_search li:nth-child("+ child_index +") a").addClass('on');

    $("#super_search form").attr('action', super_search_arr[pos][1]);
    var curr_val = $("#super_search input").val();
    if ( !(is_def_search_str(curr_val) || curr_val == '') )
        return;
    $("#super_search input").val(super_search_arr[pos][0]).addClass('faded');
}

function get_pos_in_list_by_role_id(role_id)
{
	for (var i=0; i<super_search_arr.length; ++i)
	{
		if (super_search_arr[i][2] == role_id)
			return i;
	}
	return -1;
}


function is_def_search_str(str)
{//returns TRUE is [str] is one of the defaults strings of search
    for(var i=0; i<super_search_arr.length; ++i)
        if ( super_search_arr[i][0] == str)
            return true;
    return false;
}
///////////////////////








////////////////////////////////////////// SEARCH BOX /////////////////////////////////////
function set_loc(loc_text, loc_alias)
{
	$("#location_alias").val( loc_alias );
	$("#location_dropdown span").fadeOut("fast", function() {
		$(this).html( loc_text ).fadeIn("slow").removeClass('faded');
	});
}
function set_budget(text, alias)
{
	$("#budget_alias").val( alias );
	$("#budget_dropdown span").fadeOut("fast", function() {
		$(this).html( text ).fadeIn("slow").removeClass('faded');
	});
}

function get_sort_params_str()
{
	var param_count = 0;
	var str = $("#sort_form :checkbox").map(function() {
			  if ($(this).attr("checked")) {
				++param_count;
				return $(this).val();
			}
		}).get().join("-");
	if (param_count>4) return '';
	return str;
}
function toggle_dd(e)
{
    var is_off	= ($("#"+ e +" a").attr("class")=="off");
    if (is_off){
        dd_make_on(e);
    } else {
        dd_make_off(e);
    }
}

function dd_make_off(e)
{
	$("#"+ e +" div").attr("class","off");
	$("#"+ e +" a").attr("class","off");
}
function dd_make_on(e)
{
	$("#"+ e +" div").attr("class","on");
	$("#"+ e +" a").attr("class","on");
}


$(document).ready(function () {
	//Search offers
	$('#search_bar.offers input[type=button]').click( function() {
		var $loc = $(this).siblings('select[name=offers_loc]').val();
			$loc = ($loc==undefined)?'':$loc;
		var $cat = $(this).siblings('select[name=offers_cat]').val();
			$cat = ($cat==undefined)?'':$cat;
		var dest = '/קופונים/';
		if ($loc!='' && $cat!='')
			dest	+= 'קופונים-' + $cat +'/'+ $loc;
		else if ($loc=='' && $cat!='')
			dest	+= 'קופונים-' + $cat+'/';
		else if ($cat=='' && $loc!='')
			dest 	+= $loc+'/';

		location.href = dest;
		return false;
	});// search offers


	//The mag_slider //////////////////////////////////////////////////////////////////////////////////////////////////////////////
	if ($('.mag_slide').size()) {
		//Get size of images, how many there are, then determin the size of the image reel.
		var imageWidth = $(".person").width();
		var imageSum = $(".person").size();
		var wheelWidth = imageWidth * imageSum;
		//Adjust the image reel to its new size
		$(".window").css({'width' : wheelWidth});


		//Paging + Slider Function
		rotate = function(){	
			var triggerID = $active.attr("rel") - 1; //Get number of times to slide
			var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide

			$(".person").removeClass('active'); //Remove all active class
			$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
	
			//Slider Animation
			$(".wheel").animate({ 
				right: -image_reelPosition
			}, 500 );
	
		}; 

		//Rotation + Timing Event
		rotateSwitch = function(){		
			play = setInterval(function(){
				$active = $('.person.active').next();
				if ( $active.length === 0) { //If paging reaches the end...
					$active = $('.person:first'); //go back to first
				}
				rotate(); //Trigger the paging and slider function
			}, 3500);
		};

		rotateSwitch(); //Run function on launch
	}
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////

	//question forum
	$("a.ask_forum").click( function(){
		launch_ques_form();
		return false;
	});
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////
	


	//header search box:
    $("#super_search input").focus( function() {
        if ( is_def_search_str($(this).val()) ) $(this).val('');
        $(this).removeClass('faded');
    });
    $("#super_search input").blur( function() {
    	//trim it
    	$(this).val( $(this).val().trim() );
    	if ( $(this).val() =='' )
    	{
    		//get pos of selected
    		var pos = $("#super_search li a.on").parent().index();
    		
    		var def_val = super_search_arr[pos][0];
	    	$(this).val(def_val).addClass('faded');
    	}
    });
    $("#super_search li a").click( function() {        
        var curr_i = $(this).parent().index();
		var role_id = super_search_arr[curr_i][2];
        //set default val
        set_super_search_mode(role_id);				
    });



	$("#search_submit, #do_sort").click(function() {
		$("#sort_form").slideUp(400);
		var city_alias	= $("#location_alias").val();
		var sort_str	= get_sort_params_str();

		var url			= "/קבלני-שיפוצים/";
		if (city_alias)
			url	+= "שיפוצים-ב" + city_alias + "/";
			
		if (sort_str)
			url	+= "לפי:" + sort_str + "/";

		window.location=url;
		return false;
	});
	
	//make number clickable
	$(".left>img, a.con_form").click( function() {
		launch_con_form();
		return false;
	});
	

	
	$("#change_sort, .change_sort").click(function () {
		var pos 	= $("#change_sort").offset();
		var left 	= pos.left-20;
		var pos 	= $("#change_sort").offset();
		var top		= pos.top+23;
		
		$("#sort_form").css( { "left": left + "px", "top": top + "px" } );
		$("#sort_form").slideToggle(1000);
		return false;
	});
	
	
    
    
    
    var is_home_page = ($("#hp").length==1);
    
    

	box_height = 32;
	left_pad = 2;

    $("#location_dropdown").click(function () {//toggle drop down for locations
		var is_on	= ( $("#location_dropdown a").attr("class")=="on" );
		if (is_on)
		{
			$("#location_list_holder_jcontainer.jScrollPaneContainer").slideUp(500, function(){
				toggle_dd("location_dropdown");
			});
		} else {
			var pos 	= $(this).offset();
			var left 	= pos.left-left_pad;
			var pos 	= $(this).offset();
			var top		= pos.top + box_height;
			toggle_dd("location_dropdown");
			$("#location_list_holder_jcontainer.jScrollPaneContainer").css( { "left": left + "px", "top": top + "px" }).slideDown(200);
            
            //hide other box!
            $("#budget_options_holder_jcontainer.jScrollPaneContainer").hide();
            dd_make_off("budget_dropdown");

            
		}
				
		return false;
	});
	
	$("#budget_dropdown").click(function () {//slide drop down for locations
    	
		var is_on	= ( $("#budget_dropdown a").attr("class")=="on" );
		if (is_on)
		{
			$("#budget_options_holder_jcontainer.jScrollPaneContainer").slideUp(500, function(){
				toggle_dd("budget_dropdown");
			});
		} else {
			var pos 	= $(this).offset();
			var left 	= pos.left-left_pad;
			var pos 	= $(this).offset();
			var top		= pos.top + box_height;
			toggle_dd("budget_dropdown");
            
            //hide other box!
            $("#location_list_holder_jcontainer.jScrollPaneContainer").hide();
			dd_make_off("location_dropdown");
            
			$("#budget_options_holder_jcontainer.jScrollPaneContainer").css( { "left": left + "px", "top": top + "px" }).slideDown(200);
		}
				
		return false;
	});


	$("#budget_options a").click(function () {
		var budget_text 	= $(this).html();
		var budget_alias	= $(this).attr("id");
		
		set_budget(budget_text, budget_alias);
		$("#budget_options_holder_jcontainer.jScrollPaneContainer").slideToggle(500, function () {
			  toggle_dd("budget_dropdown");
		});
	});
	$("#locations_list a").click(function () {
		var loc_text 	= $(this).html();
		var loc_alias	= $(this).attr("id");
		
		set_loc(loc_text, loc_alias);
		$("#location_list_holder_jcontainer.jScrollPaneContainer").slideToggle(500, function () {
			  toggle_dd("location_dropdown");
		});
	});
    
    if( jQuery.isFunction(jQuery.fn.jScrollPane) ){
        var jsp_params = '';
        //check if we are in hp
        //if (is_home_page)
        	//jsp_params = jQuery.parseJSON('{"scrollbarWidth":"37"}');
            
        // this initialises the searchbox dropdowns.
        $("#budget_options_holder").jScrollPane(jsp_params);
        $("#budget_options_holder_jcontainer.jScrollPaneContainer").hide();
        
        $("#location_list_holder").jScrollPane(jsp_params);
        $("#location_list_holder_jcontainer.jScrollPaneContainer").hide();
    }
    
});


function init_searchbox()
{ //called from the footer
    
}

