var enable_abajax = true; //ajax loading option
var mouse_on_dropdown = false;
var IOS = (navigator.userAgent.match(/iPad|iPhone|iPod/i) != null)?true:false;
$(document).ready(function(){	
	if($('#fsearch').length>0){	
		var fsearch_str = $('#fsearch').val();	
		$('#fsearch').focus(function(){ $(this).val(''); }).blur(function(){ if($(this).val() == '') $(this).val(fsearch_str); });
		options = { serviceUrl: '/system/fsbsearch.php',
				minChars:3,
				delimiter: /(,|;)\s*/, // regex or character
				maxHeight:200,
				width:221,
				zIndex: 100000,
				deferRequestBy: 0, //miliseconds
				noCache: true, //default is false, set to true to disable caching
				// callback function:
				onSelect: function(value, data){ $('#suburb_id').val(data); }
				};
		$('#fsearch').autocomplete(options);
	}
	
	$("input[name='buy_btn']").click(function() {
		$('#header_search_form').attr('action', SITE_PATH+'buying/listings.php').submit();	
	});
	$("input[name='rent_btn']").click(function() {
		$('#header_search_form').attr('action', SITE_PATH+'renting/rental-listings.php').submit();	
	});


	if($('#folder_name').val()) {
		$('ul.menu li.'+$('#folder_name').val()).addClass('active');
	}else {
		$('ul.menu li.home').addClass('active');
	}
	
	if(!($.browser.msie && parseInt($.browser.version)<8)) {
		if($('select').length>0 && $('.alert').length == 0) {
			$('select').each(function() {form_inp_sel($(this));});
			$('.sel-text').blur(function() {
				if(!mouse_on_dropdown) { $('ul.dropdown_ul:visible').slideUp(100);}
			});
		}
	}
	
	webkit_resize();
	
	if($.browser.msie && parseInt($.browser.version)<9) {
	  initFooterCorners();
	 }
});

function webkit_resize() {
	if($.browser.safari) {
		if($('textarea').length>0) {
			$('textarea').each(function() {$(this).width($(this).width()-4);});
		}
		if(IOS) {
			$('input[type="text"]').not('input.IOS').each(function() {$(this).width($(this).width()-8);})
		}
	}
}
	 
	 
function form_inp_sel(sel_elem) {
	var width = sel_elem.width();
	var height = sel_elem.outerHeight();
	var margin_t = sel_elem.css('margin-top');
	var margin_b = sel_elem.css('margin-bottom');
	var margin_l = sel_elem.css('margin-left');
	var margin_r = sel_elem.css('margin-right');
	var background = sel_elem.css('background-color');
	var font_size = sel_elem.css('font-size');
	var sel_txt_mt = (height-18)/2-1;
	sel_elem.hide().wrap('<div class="sel-box curvy-all" />');//round corners optional
	var sel_box = sel_elem.parent();
	var sel_text = (sel_elem.hasClass('multi'))?sel_elem.children('option:eq(0)').text():sel_elem.find(':selected').text();
	//tab index
	var tab_index = '';
	if(sel_elem.attr('tabindex')) {tab_index = ' tabindex="'+sel_elem.attr('tabindex')+'"';}
	//IOS safari
	var sel_txt_wd_offset = (IOS)?37:29;
	var sel_txt_class = (IOS)?' IOS':'';
	width = (IOS)?width+12:width;
	sel_box.width(width).height(height).css('background-color', background).css('margin-top',margin_t).css('margin-bottom',margin_b).css('margin-left',margin_l).css('margin-right',margin_r).append('<a class="arr-box" style="height:'+height+'px;"></a><input type="text" readonly="readonly" class="sel-text'+sel_txt_class+'" style="border:none;margin-top:'+sel_txt_mt+'px;width:'+(width-sel_txt_wd_offset)+'px;font-size:'+font_size+';" value="'+sel_text+'" '+tab_index+' /><ul class="dropdown_ul curvy-bottom" style="margin:-2px 0 0 -1px;top:'+height+'px;left:0;padding-bottom:4px;"></ul>').children('ul').hide();
	sel_elem.siblings('.arr-box, .sel-text').click(function(){
		if($(this).hasClass('arr-box')) {$(this).siblings('.sel-text').focus();}else {$(this).focus();}
		$(this).siblings('ul.dropdown_ul').slideToggle(100);
	}).siblings('ul.dropdown_ul').hover(function() {
		mouse_on_dropdown = true;}, function() {
		mouse_on_dropdown = false;
	});
	
	sel_click(sel_elem);
	var txt_width = sel_box.children('ul.dropdown_ul').width();
	if(txt_width < width) {sel_box.children('ul.dropdown_ul').width(width)}
}

function sel_click(elem) {
	elem.siblings('ul.dropdown_ul').html('');
	var sel_box = elem.parent();
	var opt = elem.children('option');
	opt.each(function(){
		if(elem.hasClass('multi')) {
			if(opt.index($(this))>0) {
				var checkAll = ($(this).val() == '' || $(this).val() == 'any')?' class="checkAll"':'';
				var checked = ($(this).hasClass('checked'))?'checked="checked"':'';
				sel_box.children('ul.dropdown_ul').append('<li class="dropdown_li" rel="'+opt.eq(opt.index(this)).val()+'"><label title="'+$(this).text()+'"><input '+checkAll+' type="checkbox" value="'+$(this).val()+'" name="'+elem.attr('name')+'[]" '+checked+' /> '+($(this).text())+'</label></li>');
			}
		}else {
			var selected = ($(this).text() == elem.find(':selected').text())?' selected':'';
			sel_box.children('ul.dropdown_ul').append('<li class="dropdown_li'+selected+'" rel="'+$(this).val()+'">'+($(this).text())+'</li>');
		}
	});
	if(elem.hasClass('multi')) {
		var checkboxes = elem.siblings('ul.dropdown_ul').find('input:checkbox');
		checkboxes.change(function() {
			elem.siblings('.sel-text').focus();
			
			if($(this).hasClass('checkAll')) {
				checkboxes.not('.checkAll').attr('checked', false);
			}else {
				checkboxes.filter('.checkAll').attr('checked', false);
			}
			if(checkboxes.filter(':checked').length==0) {
				checkboxes.filter('.checkAll').attr('checked', true);
			}
		});			
	}else {
		sel_box.find('ul.dropdown_ul li').click(function(){
			sel_box.find('ul.dropdown_ul li').removeClass('selected');
			$(this).addClass('selected');
			$(this).parents().siblings('input.sel-text').val($(this).text()); 
			elem.val($(this).attr('rel')).change();
			$('ul.dropdown_ul:visible').slideUp(100);
		});
	}	
}
	


function initCorners() {
	var def_set = {
		tl: { radius: 5 },
		tr: { radius: 5 },
		bl: { radius: 5 },
		br: { radius: 5 },
		antiAlias: true
	}
	var top_only = {
		tl: { radius: 5 },
		tr: { radius: 5 },
		bl: { radius: 0 },
		br: { radius: 0 },
		antiAlias: true
	}
	var bottom_only = {
		tl: { radius: 0 },
		tr: { radius: 0 },
		bl: { radius: 5 },
		br: { radius: 5 },
		antiAlias: true
	}
	curvyCorners(def_set, ".curvy-all");
	curvyCorners(top_only, ".curvy-top");
	curvyCorners(bottom_only, ".curvy-bottom");
}

function initFooterCorners() {
	var def_set = {
		tl: { radius: 5 },
		tr: { radius: 5 },
		bl: { radius: 5 },
		br: { radius: 5 },
		antiAlias: true
	}
	var top_only = {
		tl: { radius: 5 },
		tr: { radius: 5 },
		bl: { radius: 0 },
		br: { radius: 0 },
		antiAlias: true
	}
	var bottom_only = {
		tl: { radius: 0 },
		tr: { radius: 0 },
		bl: { radius: 5 },
		br: { radius: 5 },
		antiAlias: true
	}
	//curvyCorners(top_only, "#header");
	//curvyCorners(bottom_only, "#footer");
}

function abajax(type, url, query, container) {
	if(enable_abajax) {
		var load_html = $('<p/>', {'class':'loading'}).append($('<img/>', {'src':'/img/loader.gif','alt':'loading...'}));
		container.html(load_html);
		$.ajax({
			type:type,
			url:url,
			data:query,
			success:function(html) {
				container.html(html);
				callback(container);
			}
		})
	}
}

