$(document).ready(
	function()
	{		
		try
		{
			var totallength = 200;
			var steps = 5; //Probably the number of fields 
			var steplength = totallength/steps ;
			var steppercent = 100/steps ;

			//update bar label when the bar scolled
			var updateBarLabel = function(step,id)
			{ //until line 52
				switch(id)
				{
					case 'agebar':
						var startage =  step*20;
						var endage =  (startage + 20 );
						if(startage ==0)
						{
							startage = 1 ;
						}
						$('#startage').html(startage);
						$('#endage').html(endage);
						break;
					case 'levelbar':
						var levels =new Array();
						// levels[0]=  'Beginner' ;
						// levels[1]=  'Pre-intermediate' ;
						// levels[2]=  'Intermediate' ;
						// levels[3]=  'Pre-advanced' ;
						// levels[4]=  'Advanced' ;
						// levels[5]=  'All levels' ;
						levels[0]=  'Beginner' ;
						levels[1]=  'Intermediate' ;
						levels[2]=  'Advanced' ;
						levels[3]=  'All levels' ;
						var levelid  = Math.pow( 2 , step );
						try
						{
							$('#levelvalue').html(levels[step]);
							$('#levelid').html( levelid );
						}
						catch(e)
						{

						}
						break;
					default:

						break;
				}
			} //from line 13

			 //search bar: restore the keyword of form search action
			var searching_keyword = $.trim($('#searching_keyword').html());
			if(searching_keyword.length>0)
			{
				try{$('#searchform_keyword').val(searching_keyword);}catch(e){}
			}
			if(searching_keyword.length>0)
			{
				try{$('#barkeyword').val(searching_keyword);}catch(e){}
			}
			var searching_languagecode = $.trim($('#searching_languagecode').html());
			if(searching_languagecode.length > 0)
			{
				try
				{
					$('#formlanguageselector').val(searching_languagecode);

					$('.drop-down-title').trigger('click','menulanguage');
					$('#menulanguage'+searching_languagecode).trigger('click');
					$('.drop-down-list').hide();
				}
				catch(e)
				{

				}
			}
			
			//search bar: restore type dropdownlist
			var searching_typecode = $.trim($('#searching_typecode').html());
			if(searching_typecode.length > 0)
			{
				try
				{
					$('#formtypeselector').val(searching_typecode);

					$('.drop-down-title').trigger('click','menutype');
					$('#menutype'+searching_typecode).trigger('click');
					$('.drop-down-list').hide();
				}
				catch(e)
				{

				}
			}
			//search bar: restore type dropdownlist
			var searching_typecode = $.trim($('#searching_typecode').html());
			//search bar & search form: restore the location dropdownlist & checkboxes
			var searching_locationcode = $.trim($('#searching_locationcode').html());
			if(searching_locationcode.length > 0)
			{
				//for single location, we resotre the value in the search bar & search form
				var singlelocation = false;
				for(var i = 0; i< 5 ; i ++)
				{
					var singleLocationCode = Math.pow(2,i);

					if( singleLocationCode == searching_locationcode )
					{
						$('.drop-down-title').trigger('click','menulocation_list');
						$('#menulocation'+searching_locationcode).trigger('click');
						$('.drop-down-list').hide();
						singlelocation = true;

						$('#ProfilePreferredLocation'+searching_locationcode).attr('checked',true);
						break;
					}
				}

				if(!singlelocation)
				{//for combind value , restore the value in search form
					var L = new Array();
						L[	1 ] 	=new Array(  1  );
						L[	2 ]  	=new Array(  2  );
						L[	3  ] 	=new Array(  1,2  );
						L[	4  ] 	=new Array(  4  );
						L[	5  ] 	=new Array(  1,4  );
						L[	6  ] 	=new Array(  2,4  );
						L[	7  ] 	=new Array(  1,2,4  );
						L[	8  ] 	=new Array(  8  );
						L[	9  ] 	=new Array(  1,8)  ;
						L[	10 ] 	=new Array(  2,8  );
						L[	11 ] 	=new Array(  1,2,8),
						L[	12 ] 	=new Array(  4,8  );
						L[	13 ] 	=new Array(  1,4,8)  ;
						L[	14 ] 	=new Array(  2,4,8)  ;
						L[	15 ] 	=new Array(  1,2,4,8  );
						L[	16 ] 	=new Array(  16  );
						L[	17 ] 	=new Array(  1,16  );
						L[	18 ] 	=new Array(  2,16  );
						L[	19 ]  	=new Array(  1,2,16 ) ;
						L[	20 ] 	=new Array(  4,16)  ,
						L[	21 ] 	=new Array(  1,4,16  );
						L[	22 ] 	=new Array(  2,4,16  );
						L[	23 ] 	=new Array(  1,2,4,16 );
						L[	24 ] 	=new Array(  8,16  );
						L[	25 ] 	=new Array(  1,8,16  );
						L[	26 ] 	=new Array(  2,8,16  );
						L[	27 ] 	=new Array(  1,2,8,16  );
						L[	28 ] 	=new Array(  4,8,16  );
						L[	29 ] 	=new Array(  1,4,8,16)  ;
						L[	30 ] 	=new Array(  2,4,8,16  );
						L[	31 ] 	=new Array(  1,2,4,8,16);

						var searching_locationcodes = L[searching_locationcode];
						for(var i =0; i< searching_locationcodes.length  ; i ++)
						{
							$('#ProfilePreferredLocation'+searching_locationcodes[i]).attr('checked',true);
						}
				}
			}

			//search form: restore the course level bar( location of the locator)
			var searching_courselevelcode = $.trim($('#searching_courselevelcode').html());
			$("#levellocator").slider({ step: steppercent,
				change:function(event, ui) {
					var curstep = Math.ceil ( $("#levellocator").slider("value")/steppercent );
					updateBarLabel(curstep, "levelbar");
				}
			});

			$("#levellocator").slider("value", searching_courselevelcode * steppercent);
			
			if(searching_courselevelcode.length > 0)
			{
				updateBarLabel(searching_courselevelcode,'levelbar');
			}
			//search form: restore the age bar
			var searching_startage = $.trim($('#searching_startage').html());
			var searching_endage = $.trim($('#searching_endage').html());
			if(searching_endage.length > 0  && searching_startage.length > 0   )
			{
				if(searching_startage ==1){searching_startage=0}
				var step =  searching_startage / 20;
				var loca  = step* steplength ;
				$('#agelocator').css('left',  loca);
				updateBarLabel(step,'agebar');
			}
			else
			{
				$('#agelocator').css('left',  steplength );
			}

		}
		catch(e)
		{

		};

		try
		{
			//if all locations selected/unselected
			$("input[name='preferred_location']").click(function(){
				if(this.id == "ProfilePreferredLocation0")
				{
					//~ if($('#ProfilePreferredLocation0').)
					if($('#ProfilePreferredLocation0').attr("checked"))
					{
						$("input[name='preferred_location']").attr("disabled",true)
						$('#ProfilePreferredLocation0').attr("disabled",false) ;
					}
					else
					{
						$("input[name='preferred_location']").attr("disabled",false)
					}
				}

			})

			//toggle the search hint text.
			var defaultSearchHintText_search_form = "Minimum 3 characters";
			$('#searchform_keyword').click(function(){
				 if($.trim(this.value )== defaultSearchHintText_search_form   )
				 {
					this.value="";
				 }
			})
			$('#searchform_keyword').blur(function(){
				 if($.trim(this.value )=="")
				 {
					this.value=defaultSearchHintText_search_form;
				 }
			})

			// search by form
			$('.formsearching').click(
				function()
				{
					try
					{
						var keyword = '';
						keyword  = $("#searchform_keyword").val();
						keyword = $.trim(keyword);
						if(keyword ==defaultSearchHintText_search_form)
						{
							keyword="";
						}
						//languagecode
						var languagecode = $('#formlanguageselector').val();
						
						//typecode
						var typecode = $('#formtypeselector').val();
						var countryid = $('#selectcountry').val()

						//locationcode
						var locationcode =0 ;
						if($('#ProfilePreferredLocation0').attr("checked"))
						//~ if($('#ProfilePreferredLocation0')[0].checked)
						{
							 locationcode = 31;
						}
						else
						{
							var val = $("input[name='preferred_location']")  ;
							var cnt = val.length;
							for (var  i =1 ; i< cnt ; i ++)
							{
								if(val[i]. checked )
								{
									locationcode += parseInt(val[i].value,10);
								}
							}
						}

						//defficulty level
						var courselevelcode = $('#levelid').html();

						//age range
						var startage = $('#startage').html();
						var endage = $('#endage').html();

						var searchurl =$('#thiswebroot').html() +'searches?keyword='+keyword
								+'&languagecode='+languagecode+'&locationcode='+locationcode+'&typecode='+typecode
								+'&courselevelcode='+courselevelcode+'&startage='+startage
								+'&endage='+endage+'&countryid='+countryid
								;

						location.href=searchurl;

						return false
					}
					catch(e)
					{

					}
				}
			);


		}
		catch(e)
		{

		}
	}
)
/* url: base + '/searches/searches_ajax/'+search_array.languagecode+'/'+search_array.countryid+'/'+search_array.locationcode
								+'/'+search_array.typecode+'/'+search_array.courselevelcode, */
function search_paginate(){
	var height = 941;
	if(search_array.countryid == 164){
		height = 941;
	}
	if(search_array.courselevelcode == 11){
		height = 941;
	}
	$('#box_right_search').html('');
	$('#box_right_search').append(
		'<iframe id="search_result" src="' + base + '/searches/test?languagecode='+search_array.languagecode+'&countryid='+search_array.countryid+'&locationcode='+search_array.locationcode
								+'&typecode='+search_array.typecode+'&courselevelcode='+search_array.courselevelcode + '" width="550" height="' + height + '" style="border: medium none;">'
		+ '<p>Your browser does not support iframes.</p>'
		+ '</iframe>');
}

/* function search_array_reset(){
	// search_array.languagecode = 0;
	// search_array.countryid = 0;
	search_array.locationcode = 0;
	search_array.typecode = 4;
	search_array.courselevelcode = 32;
} */

function style_reset(type, id){
	if(type == 'location'){
		$(search_array.location_selected).removeClass('right_column_selected');
		search_array.location_selected = id;
	}
	else if(type == 'method'){
		$(search_array.method_selected).removeClass('right_column_selected');
		search_array.method_selected = id;
	}
	else if(type == 'level'){
		$(search_array.level_selected).removeClass('right_column_selected');
		search_array.level_selected = id;
	}
	$(id).addClass('right_column_selected');
}

/* Dropdown list onclick */
$(document).ready(function(){
		$("#formlanguageselector").change(function () {
			// search_array_reset();
			search_array.languagecode = $("#formlanguageselector").val();
			search_paginate();
		});
		
		$("#selectcountry").change(function () {
			// search_array_reset();
			search_array.countryid = $("#selectcountry").val();
			search_paginate();
		});
});
