﻿
	//window.addEvent("load", initAutoCompleters);
	// Don't replace to Dom Load because it fires when a flash is added to the page programmatically.



	setTimeout(initAutoCompleters, 2000);
	var autoCompletersLoaded = false;

	function initAutoCompleters()
	{
		if (typeof(services)=="undefined")return; // some pages don't have autoloader control
		if (typeof(cities)=="undefined")return;

		$("citiesInput").addEvent("keydown",function(e){
			e = new Event(e);
			if (e.key=="tab"){

				if($("btFind"))$("btFind").focus();
				e.stop();
			}
		});

		if (autoCompletersLoaded)return;

		autoCompletersLoaded = true;

		completer1 = new Autocompleter.Local(
			$("servicesInput"), services,
			{
				'delay': 10,

				'filterTokens': function()
				{
					var regex = new RegExp('^' + this.queryValue.escapeRegExp(), 'i');
					return this.tokens.filter(
						function(token){
							return (regex.test(token[0]) || regex.test(token[1]));
						});
				},

				'injectChoice': function(choice) {
					var el = new Element('li').setHTML(this.markQueryValue(choice[0])).adopt(new Element('span', {'class': 'valueInfo'}).setHTML(this.markQueryValue(choice[1])));
					el.inputValue = choice[0];
					this.addChoiceEvents(el).injectInside(this.choices);
				}
			});

		completer2 = new Autocompleter.Local(
			$("citiesInput"), cities,
			{
				'delay': 10,

				'filterTokens': function()
				{
					var regex = new RegExp('^' + this.queryValue.escapeRegExp(), 'i');
					return this.tokens.filter(
						function(token){
							return (regex.test(token[0]) || regex.test(token[1]));
						});
				},

				'injectChoice': function(choice) {
					var el = new Element('li').setHTML(this.markQueryValue(choice[0])).adopt(new Element('span', {'class': 'valueInfo'}).setHTML(this.markQueryValue(choice[1])));
					el.inputValue = choice[0];
					this.addChoiceEvents(el).injectInside(this.choices);
				}
			});

		try{
			completer1.element.value = decodeURIComponent(parseQuery("professionName"));
			completer2.element.value = decodeURIComponent(parseQuery("cityName"));
		}catch(ex){
			// something wrong with the url
		}
		ListenToSubmit ("servicesInput", "selectedServicesId", completer1);
		ListenToSubmit ("citiesInput", "selectedCityId", completer2);

		if (typeof(wordFromEngine)!="undefined")$("servicesInput").value = wordFromEngine;
		if (typeof(cityFromEngine)!="undefined")$("citiesInput").value = cityFromEngine;
	}

	function parseQuery (param)
	{
		param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?&]" + param + "=([^&#]*)";
		var regex = new RegExp (regexS);
		var results = regex.exec (window.location.href);

		if	(results == null)
			return "";
		else
			return results[1];
	}

	function ListenToSubmit(inputID, hiddenInputValueId, completer)
	{
		var currInput = $(inputID);

		currInput.addEvent('keyup',
			function (e)
			{
				e = new Event(e);
				var currInput = $(inputID);

				if ((e.code == 10 || e.code == 13) &&
					(completer.choices.getStyle("display") == "none" || completer.choices.getStyle("visibility") == "hidden"))
				{
	 				Search();
					e.stop();
				}
			});
	}

	function getSelectedValue (selTitle, values)
	{
		var selValue = 0;

		for (var i=0;i<values.length;i++)
		{
			if (values[i][0]==selTitle)
			{
				selValue = values[i][1];
				break;
			}
		}

		return selValue;
	}

	function Search()
	{
		var professionsInput = $("servicesInput");
		var citiesInput = $("citiesInput");
		var isProfessionEntered = RequireInput(professionsInput, "נא הזן תחום מקצוע");
		var isCityEntered = RequireInput(citiesInput, "נא הזן עיר");

		if (isProfessionEntered && isCityEntered)
		{
			var selectedProfession = professionsInput.value;
			var selectedCity = citiesInput.value;
			var sourceAddition = $(sourceFieldId) ? "&source=" + $(sourceFieldId).value  : "";

			/*location.href = searchUrl +
				"?city=" + getSelectedValue (selectedCity, cities) +
				"&profession=" + getSelectedValue (selectedProfession, services) +
				"&cityName=" + encodeURIComponent(selectedCity) +
				"&professionName=" + encodeURIComponent(selectedProfession);
			*/

			location.href = searchUrl +
				"?city=" + getSelectedValue (selectedCity, cities) +
				"&profession=" + getSelectedValue (selectedProfession, services) +
				"&cityName=" + (selectedCity) +
				sourceAddition+
				"&professionName=" + (selectedProfession);

		}
	}


	function RequireInput(input, requiredText)
	{
	    if(input.value == "" || input.value == requiredText)
	    {
			input.addClass ("searchRequiredTextINPUT");
			input.value = requiredText;
			input.addEvent ("focus",
				function ()
				{
					if (this.value == requiredText)
					{
						this.value = "";
					}

					this.removeClass ("searchRequiredTextINPUT");
					this.removeEvent ("focus");
				});

	        return false;
	    }
	    else
	    {
	        return true;
	    }
	}

function toggle(e)
{
	if(!$('SearchControl'))return;

    if($('ContactControl').style.display == "none")
    {
        $('SearchControl').hide();
        $('ContactControl').show();
    }
    else
    {
        $('ContactControl').hide();
        $('SearchControl').show();
    }

	$("divCallMeButton").toggleClass("searchAgain");
}


function toggleContact(id1,id2, num) {
	$(id1).hide();
	$(id2).show();

	var inputPhone = $(id2).getElement('input[class=tbPhoneNumber]');
	var inputPrefix = $(id2).getElement('input[class=tbPhonePrefix]');
	var sendLink = $("sendLink"+num);

	if (!inputPhone)return;

	 inputPrefix.addEvent("keydown",function(e){
			e = new Event(e);

			if (e.key=="tab" || e.code==109 || e.code==189 ){
				inputPhone.focus();
				e.stop();
			}

			if (e.key=="enter" ){
				try{
				    alert("5");
					//ofir - temp fix - causes error in ff - sendLink.click();
					sendLink.click();
				}catch(ex){
					eval(sendLink.href);
				}
				e.stop();
			}
		});

		inputPhone.addEvent("keydown",function(e){
			e = new Event(e);
			if (e.key=="tab"){
				sendLink.focus();
				e.stop();
			}
			if (e.key=="enter" ){
			    alert("6");
				try{
					//ofir - temp fix - causes error in ff - sendLink.click();
					sendLink.click();
				}catch(ex){
					eval(sendLink.href);
				}
				e.stop();
			}


		});


}

function RequestConnectionForProf(id, prefixId, phoneId, titleId, professionField, url){
	var prefix = $(prefixId).value;
	var phone = $(phoneId).value;

	if (!/^(02|03|04|06|07|08|09|050|052|054|057|059|077)$/.test(prefix)){
		if($("DirectFeedback"+id))$("DirectFeedback"+id).innerHTML = "נא להזין קידומת";

		return;
	}

	if (!/^\d{7}$/.test(phone)){
		if($("DirectFeedback"+id))$("DirectFeedback"+id).innerHTML = "נא להזין טלפון";
		return;
	}

    $("sendLink"+id).setStyles({visibility:'hidden'});

	var title = $(titleId).innerHTML;
	var source = $(sourceFieldId)  ? $(sourceFieldId).value : "";

	new Ajax(url,{
		method: 'get',
		//proffesionField is mispelled, but already used by other external sites - keep it that way
		data:"searchSource="+source+"&proffesionField=" + encodeURIComponent(professionField) + "&fullname=" + encodeURIComponent(title) +
		"&phone=" + prefix + phone + "&email=&returnDay=&returnHours=&referer_url="+encodeURIComponent(location.href)+"&comments=&pageUrl="+encodeURIComponent(location.href),
		onComplete:function (response)
		{
			if (response && response != "")
			{

				if($("DirectFeedback"+id)){
					$("DirectFeedback"+id).removeClass("validatorMode");
					$("DirectFeedback"+id).innerHTML = "בקשתך נשלחה בהצלחה.";

				}
				if($("Direct"+id))$("Direct"+id).hide();

				ResubmitForGoogle(professionField, title,source);
			}
		}
	}).request();
}


function ResubmitForGoogle(professionField, title, source){
    //alert(professionField + " " + title  + " " + source);
	var url = "/profession.aspx?searchsent=profession_specific&source="+encodeURIComponent(source)+"&display=no&proffesionField=" + encodeURIComponent(professionField) + "&fullname=" + encodeURIComponent(title);

	var iframe = document.createElement("iframe");
	iframe.src = url;
	iframe.style.width = "0px";
	iframe.style.height = "0px";
	iframe.frameBorder = "0";
	iframe.scrolling = "no"
	

	document.body.appendChild(iframe);

    //itay 21.1.08, http://www.google.com/support/analytics/bin/answer.py?answer=74980
    //this is a direct call to google analytics, in order to explicitly track this url
    //urchinTracker(url);


}

function ShowPlayer(e, num,filePath){
    //alert(filePath);
    filePath=filePath.toString();
	if (filePath.toLowerCase().indexOf(".mp3")==-1)return;
	//alert("num:"+num);
	//alert($("ProfessionCardControl"+num).getTop());
	e = new Event(e);
	addFlashInside("FloatPlayer",SiteParams.SiteUrl + "Flash/mp3Player.swf?filePath="+	encodeURIComponent(filePath),"player",208,73,"#ffffff", "transparent");
	//$("FloatPlayer").show();
	$("FloatPlayer").style.display='inline';
	$("FloatPlayer").setStyles({
		top:(($("ProfessionCardControl"+num).getTop()-300)+"px"),
		left:(($("ProfessionCardControl"+num).getLeft()-100)+"px")
	});
	e.stop();
	
}


function ClosePlayer(){
	$("FloatPlayer").innerHTML = "";
	//$("FloatPlayer").hide();
	$("FloatPlayer").style.display='none';
}


function NextRecommendation(num){


	var recs = $("ProfessionCardControl"+num).getElements("div[class=recommendation]");
	
	
	if (recs==null)return;

	// find which is displayed
	visibleIndex = -1;
	
	
	for (var i=0;i<recs.length;i++){
	    
	    if (recs[i].style.display!='none'){	        
		// before: if (recs[i].visible()){			
			visibleIndex = i;
			break;
		}		
	}
		
	// before : recs[visibleIndex].hide(); // current
	recs[visibleIndex].style.display='none'; // current
	visibleIndex = visibleIndex==recs.length-1 ? 0 : visibleIndex+1 ;
	recs[visibleIndex].style.display='inline'; // new index

}




