var SearchDataCategoriesSelector = true; //for SearchData.js
var AJ_MainSearchNewNew = true;

function InitAllSearchEngineJS()
{

	var d = new Date();
	var Qs = "?dt=" + d.getTime();

    var head = document.getElementsByTagName("head")[0];
    var script = document.createElement('script');
	var link = document.createElement('link');
	
    //Include for CSS file
    link.type = 'text/css';
    link.href = CSS;
    link.rel = 'stylesheet';
    head.appendChild(link);
    
    //Include for SearchDataJobsCount.js with time
    script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = "/JavaScript/SearchDataJobsCount.js" + Qs;
    head.appendChild(script);

    if (getCookie("Url") != null && getCookie("Url") != '')
    {
        SetSearchEngine(getCookie("Url"));
        //remove chk from create UserAgent if user not Auth
        $('#chkMailStrip').attr('checked',false); 
    }
    else
    {
	    //Call SearchEngine JSs -> Categories,Types,Regions
	    CreateParentCategories();
	    SetSearchEngineTypes();
	    SetSearchEngineRegions();
	}
	$('#divParentChoosenCategoryConteiner').css('border-right', 'solid 0px #ffffff');
	$('#divChildren').css('border-right', 'solid 0px #ffffff');
	$('#divTypes').css('border-left', 'solid 0px #ffffff');


}

function GetSearchResults(isPaying,isAuth)
{	
	
		var positionParent = GetSearchResultsCategories();
		
		//Mail Strip Validations and create agent inside
		if($('#chkMailStrip').attr('checked'))
		{
			if (!isAuth)
			{
				if(!GoSubmitHPMailStrip())
					return false;
			}
			else
			{
				if(!GoSubmitHPMailStripAuth())
					return false;
			}
		}
		
		//Build Url to SearchResultGuest
		var pageurl = "/SearchResultsGuest.aspx?page=1";

		if($('#rdOpenJobs').attr('checked')) //To Get Open Board
			setCookie("OpenBoard", "1", "/");
		else
			setCookie("OpenBoard", "0", "/");

		var freeTxt = trim($('input:text[@id$="SearchBox"]').val());
		if(freeTxt.length > 0)
		{

			if(positionParent == "-1")
				pageurl += CheckCategoryFreeTxtSearch(freeTxt);
			else
				pageurl += '&position=' + GetSearchResultsCategories() + '&region=' + GetSearchResultsRegions() + '&type=' + GetSearchResultsJobsType() + citiesIDs + '&freetxt=' + escape(freeTxt);	

		}
		else if(positionParent == "-1")
				pageurl += '&position=&region=' + GetSearchResultsRegions() + '&type=' + GetSearchResultsJobsType() + citiesIDs;
			 else
				pageurl += '&position=' + GetSearchResultsCategories() + '&region=' + GetSearchResultsRegions() + '&type=' + GetSearchResultsJobsType() + citiesIDs;
		

		if($('input[@type=checkbox][@id$="chkLastLogin"]').get(0).checked == true)
			pageurl += '&fdate=' + Getfdate();	

		parent.document.location.href = pageurl;
        setCookie("Url", pageurl, "/");
       
		return true;
}
//Create agent for new user
function GoSubmitHPMailStrip()
{	
	//check if search selected
	var positionParent = GetSearchResultsCategories();
   
	if (positionParent == "-1" )
	{
		$('#lblMsgMailStrip').html("הגדרת החיפוש שלך כללית מאוד.<br/> צמצם את הגדרות החיפוש והגדר תחום או תפקיד.");
		return false;
	}

	//check if Email selected
	if ($('#txtEmailMailStrip').val() == "" )
	{
		$('#lblMsgMailStrip').html("יש להכניס כתובת אי-מייל");
		return false;
	}

	//check if Email is valid
	var reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
	if (!document.getElementById("txtEmailMailStrip").value.match(reg))
	{
		$('#lblMsgMailStrip').html("כתובת אי-מייל לא תקינה");
		return false;
	}

	//submit ----------------
	var email =  trim($('#txtEmailMailStrip').val());
	
	//get all selected from combo
	var position = GetSearchResultsCategories();
	var region = GetSearchResultsRegions();
	var type = GetSearchResultsJobsType();
	var freetxt =  trim(document.getElementById('SearchBox').value);
	
	var IsRecievedEmail = "1";
	var IsLessonsEmail = getBooleanChecked($('input:checkbox[@id$="chkLessonsEmail"]').attr('checked'));
	var IsAdvertiseEmail = getBooleanChecked($('input:checkbox[@id$="chkAdvertiseEmail"]').attr('checked'));
	
	var qs = "position=" + position + "&region=" + region + "&type=" + type + "&freetxt=" + escape(freetxt) + "&IsRecievedEmail=" + IsRecievedEmail + "&IsLessonsEmail=" + IsLessonsEmail + "&IsAdvertiseEmail=" + IsAdvertiseEmail + "&SupportType=" + SUPPORT_HOME;
	var res = $.ajax({url: "/MailStrip/SearchAgentAction.aspx?email=" + email + "&" + qs, async: false}).responseText;

	if (res != "1")
	{
		$('#lblMsgMailStrip').html('הנך רשום במערכת.<br/> לקבלת השירות יש לבצע "כניסה לרשומים"');
		$('#lblMsgMailStrip').css('color', 'red');
		return false;
	}
	
	return true;
}
 
function GoSubmitHPMailStripAuth()	
{
	var position = GetSearchResultsCategories();
	var region = GetSearchResultsRegions();
	var type = GetSearchResultsJobsType();
	var freetxt = trim(document.getElementById('SearchBox').value);
	var qs = "position=" + position + "&region=" + region + "&type=" + type + "&freetxt=" + escape(freetxt);

	//Case Choose הכל הכל הכל With No FreeText
	if(position == "-1" && region == "" && type == "" && freetxt == "")
	{
		$('#lblMsgMailStrip').html('הגדרת החיפוש כללית מדי על מנת ליצור סוכן');
		return false;
	}

	var res = $.ajax({url: "/MailStrip/SearchAgentAction.aspx?email=&" + qs, async: false}).responseText;
	 
	switch(res)
	{
		case "0":	//No success - Agent exists
					$('#lblMsgMailStrip').html('הגדרת חיפוש זו קיימת במערכת');
					return false;
					break;
		case "1":	// Success
					return true;
					break;
		case "2":	// Success - Did Not Created Agent - No More Agents Limit
					return true;
					break;
	}
}

//Get free text
function CheckCategoryFreeTxtSearch(freeTxt)
{
	var url = "";
	for(i=0;i<CatNames.length;i++)
	{
		if(CatNames[i].toLowerCase() == freeTxt.toLowerCase()) 
		{
			url = '&position=' + CatIDs[i] + '&region=' +  GetSearchResultsRegions() + '&type=' + GetSearchResultsJobsType() + citiesIDs;
			return url;
		}
	}	
	//This category doesn't exists
	url = '&position=&region=' +  GetSearchResultsRegions() + '&type=' + GetSearchResultsJobsType() + citiesIDs + '&freetxt=' + escape(freeTxt);
	return url;
}

function setCookie(name, value, path, expires , domain, secure) {
	var curCookie = name + '=' + escape(value) +
		((expires) ? '; expires=' + expires.toGMTString() : '') +
		((path) ? '; path=' + path : '') +
		((domain) ? '; domain=' + domain : '') +
		((secure) ? '; secure' : '');
	document.cookie = curCookie;
}

//Effect Focus On textbox
function FocusOnInput(ObjUp,ObjDown,Flag,Content)
{
	ObjUp =($('input:text[@id$="'+ObjUp+'"]').get(0));
	ObjDown = ($('input:text[@id$="'+ObjDown+'"]').get(0));
	
	if(Flag == 1)//Focus
	{
		if(ObjUp.style.display = "block")
			{
				ObjUp.style.display = "none";
				ObjDown.style.display = "block";
				ObjDown.select();
			}
	}
	else //Out Of Focus
		if(ObjDown.value == '')
			{
				ObjUp.style.display = "block";
				ObjDown.style.display = "none";
			}
}
//Get start date for search
function SelectDate()
{
	if($('#chkLastLogin').get(0).checked == true)
		$('#spnSelectedDate').show();
	else
		$('#spnSelectedDate').hide();
}
//Get fdate
function Getfdate()
{
	var fdate = $('input:text[@id$="txtSearchFromDate"]').val();	 
	return  fdate.split('/')[1] + '/' + fdate.split('/')[0] + '/' +  fdate.split('/')[2];		
}
//Enter Key Handler
function FireDefaultButton(event, target) 
{
	if ((event.keyCode == 13 || event.which == 13) && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == 'textarea'))) 
	{
		var defaultButton = $('input:image[@id$="'+ target +'"]');
		if (defaultButton && typeof(defaultButton.click) != 'undefined') 
		{
			defaultButton.click();
			event.cancelBubble = true;
			if (event.stopPropagation) event.stopPropagation();
			return false;
		}
	}
	return true;
}

//Set search engine if user click back button
function SetSearchEngine(URL) {
    try {
         var arrUrl = new Array();
         arrUrl = URL.split('&')

         //position
         var PosIDs = arrUrl[1].split('=')[1];
         //region
         var RegIDs = arrUrl[2].split('=')[1];
         //type
         var TypeIDs = arrUrl[3].split('=')[1];
         //city
         var CityIDs = '';
         if(URL.indexOf('city') != -1)
            CityIDs = arrUrl[4].split('=')[1]; // if city exist

        //This Part Preserve The Serch Result From The Query String In The Serch Engin
	    var PID;
        var arrPosition = PosIDs.split(",");


	    //There is a single position -> this is a Parent Category
	    if(arrPosition.length == 1)
	    {
		    for(i=0 ; i < CatIDs.length ; i++)
			    if(arrPosition[0] == CatIDs[i])
				    PID = CatPIDs[i];
                
	    }
	    else 
		    //There are more then 1 position -> this are children Categories
		    if(arrPosition.length > 1)
		    { 
			    for(i=0 ; i < CatIDs.length ; i++)
			    {
				    //Find the Categories Parent based on the first Category
				    if(arrPosition[0] == CatIDs[i])
				    {
					    PID = CatPIDs[i];
					    break;
				    }
			    }
		    }
	

	    //Initializ The Parent And The Children Category Boxes
        CreateParentCategories();
	    SetSearchEngineChildrenCategoryValues(PID,PosIDs);
   
	    //Initialize The Regions
        SetSearchEngineRegions();
	    if(RegIDs.replace('#anchor', '') != '')
	    {
		    SetSearchEngineRegionValues(RegIDs.replace('#anchor', ''));
		
		    var arrRigion = new Array();
		    arrRigion = RegIDs.split(',');
		    for(i=0 ; i < arrRigion.length ; i++) 
			    //V In Region chk  And Mark The Row 
			    $('#spnShowCities_' + arrRigion[i]).html('הצג ערים')
	    }	

	    //Initialize Cities
	    if(CityIDs.replace('#anchor', '') != '')
	    {
       
		    var RegionIDs = new Array();
		    var arrCities = CityIDs.replace('#anchor', '').split(','); 

		    //Find The Rigions Of The Cities From The Query 
		    for(i = 0 ; i < arrCities.length ; i++)
		    {
			    var BreakLoop = false;
			    var CurrentCityID = arrCities[i];
			    for(j = 0; j < citiesID.length ; j++)
			    {
				    for(k = 0 ; k < citiesID[j].length ; k++)
				    {
					    if(CurrentCityID == citiesID[j][k])
					    {
						    RegionIDs[i] = regionsID[j];
						    BreakLoop = true;
						    break;
					    }
				    }
				    if(BreakLoop)
					    break;
			    }
		    }
		
		    //Creating The Matrix For Rigion And Cities
		    var ArrRegionAndCitiy = new Array();
		    var j=0,x=0;
		    ArrRegionAndCitiy[j] = new Array();
		
		    for(i=0 ; i<RegionIDs.length ; i++)
		    {
			    if(RegionIDs[i] == RegionIDs[i+1])
			    {
				    ArrRegionAndCitiy[j][x] = arrCities[i];
				    x++;
			    }
			    else
			    {
				    ArrRegionAndCitiy[j][x] = arrCities[i];
				    j++;
				    x=0;
				    ArrRegionAndCitiy[j] = new Array();
			    }
		    }

		    //Distinct The Rigion Array  
		    for(i=0 ; i<RegionIDs.length ; i++) 
		    {
			    for(j=0 ; j<RegionIDs.length ; j++) 
			    {   
				    if(i != j && RegionIDs[i] == RegionIDs[j]) 
					    RegionIDs.splice(i,1);   
			    }
		    }

		    //Unmark The First Row
		    $('#chkRegions_-1').attr('checked',false)
		    $('#trJobRegions_-1').attr('class', 'RowRegionsUnMarked');
		
		    var RegionCount = RegionIDs.length ;
		    for(t=0 ; t<RegionCount ; t++)
		    {	
			    //No V In Region chk Unmark The Row 
			    $('#spnShowCities_' + RegionIDs[t]).html('בטל')
			    $('#chkRegions_' + RegionIDs[t]).attr('checked',true)
			    $('#trJobRegions_' + RegionIDs[t]).attr('class', 'RowRegionsMarked');
			
			    //Create Cities Table For Region   
			    CreateCitiesTable(RegionIDs[t]);
		
			    //No V In הכל chk And Unmark The Row
			    $('#chkCities_' + RegionIDs[t] + '_-1').attr('checked',false);
			    $('#trJobCities_' + RegionIDs[t] + '_-1').attr('class', 'RowRegionsUnMarked');

			    for(j=0 ; j<ArrRegionAndCitiy[t].length ; j++)
			    {
				    $('#chkCities_' + RegionIDs[t] + '_' + ArrRegionAndCitiy[t][j]).attr('checked',true);
				    $('#trJobCities_' + RegionIDs[t] + '_' + ArrRegionAndCitiy[t][j]).attr('class', 'RowRegionsMarked');
			    }	
		    }
       	
	    }	
	
	    //Initializ The Type Boxes
        SetSearchEngineTypes()
	    SetSearchEngineJobTypeValues(TypeIDs.replace('#anchor', ''));	
    }
	catch (err) {
        setCookie("Url", "", "/");
        location.reload();
    }
}
