var enable_abajax = true; //ajax loading option
var mouse_on_dropdown = 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);
	}
	

	if($('.error').length >0) {
		$('.error').parent().children('input[type="text"], input[type="password"], .sel-box, textarea').css('border', '1px solid #c00');
	
		if($('#fancyform-height').length>0) {
			if($('.error_msg').length>0) {
				var height = parseInt($('#fancyform-height').val());
				alert(height);
				var offset = $('.error_msg').height()*$('.error_msg').length+10;
				parent.$('#fancybox-content').height(height+offset);
				parent.$('#fancybox-wrap').height(height+offset+10);
			}
		}
	}
	
	$("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);}
			});
		}
	}
	if($.browser.safari) {
		if($('textarea').length>0) {
			$('textarea').each(function() {$(this).width($(this).width()-4);});
		}
	}

	
	if($.browser.msie && parseInt($.browser.version)<9) {
	  initFooterCorners();
	 }
});
	 
	 
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_r = sel_elem.css('margin-right');
	var background = sel_elem.css('background-color');
	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();
	sel_box.width(width).height(height).css('background-color', background).css('margin-top',margin_t).css('margin-right',margin_r).append('<a class="arr-box" style="height:'+height+'px;"></a><input type="text" readonly="readonly" class="sel-text" style="border:none;margin-top:'+sel_txt_mt+'px;width:'+(width-29)+'px;" value="'+sel_text+'" /><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><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);
			}
		})
	}
}

