/* common */
/*
	v01.0
*/

// var defaults
if (typeof(page_q_str) == 'undefined') {
	var page_q_str = "";
}
if (typeof(geo_suggest) == 'undefined') {
	var geo_suggest = "";
}
if (typeof(geo_level) == 'undefined') {
	var geo_level = "";
}


// CATALOGUE SETTINGS and SORTING
// -------------------------------------------------------------------
function sortSettings(nomSort,valSort,dirSort){
	document.location="?" + page_q_str + nomSort + "=" + valSort + "&desc_asc=" + dirSort + geo_suggest + geo_level;	
}
function viewModeSettings(nom,val){
	document.location="?" + nom + "=" + val + geo_suggest + geo_level;	
}

// INPUT SUGGEST STYLE 
// -------------------------------------------------------------------
function addVal(elem, value, method) {
	switch (method) {
		case "equ" :
			$("#"+elem).val(value);
			break;
		case "auto" :
			var str = $("#"+elem).val();
			var pattern = eval('/'+value+'/i');
			
			if ( pattern.test(str) ) {
				var new_str = str.replace(pattern, '');
				$("#"+elem).val(new_str);
			} else {
				$("#"+elem).val(str+value);
			}
			break;
	}
}
function visibilityControl(id, action) {
	var input_suggest = false;

	switch(action) {
		case "auto" :
			if ($("#"+id+"_result").css("visibility") == 'visible') {
				$("#"+id+"_result").css("visibility", "hidden");
				$("#"+id+" input.suggest, "+"#"+id+" span.suggest").removeClass("open");
				$("#suggest-box-overlay").remove();
			} else {
				$("div.suggest_box .result").css("visibility", "hidden");
				$("input.suggest, span.suggest").removeClass("open");
				
				$("#"+id+" input.suggest, "+"#"+id+" span.suggest").addClass("open");
				$("#"+id+"_result").css("visibility", "visible").hover(
					function () {
						if (input_suggest) {
							clearTimeout(input_suggest);
						}
				  	}, 
				  	function () {
						input_suggest = setTimeout(
							function(){ 
								$("#"+id+"_result").css("visibility", "hidden");
								$("#"+id+" input.suggest, "+"#"+id+" span.suggest").removeClass("open");
								$("#suggest-box-overlay").remove();
							}, 1000
						);
				  	}
				);
				// anywhere click hide
				$("body").append("<div id='suggest-box-overlay'></div>");
				$("#suggest-box-overlay").click(function () {
					$("#"+id+"_result").css("visibility", "hidden");
					$("#"+id+" input.suggest, "+"#"+id+" span.suggest").removeClass("open");
					$("#suggest-box-overlay").remove();
		    });
		
			}
			break;
		case "show" : $("#"+id+"_result").css("visibility", "visible"); break;
		case "hide" : $("#"+id+"_result").css("visibility", "hidden"); break;
	}
}
function input_value(id, value) {
	var existing_val = $( "#"+id).val();

	if (existing_val == value) {
		$( "#"+id).val("");
	} else if (!existing_val) {
		$( "#"+id).val(value);
	}
}

// TAB DEPENDANCES
// -------------------------------------------------------------------
function tab_linked (tab_id, tab_class) {
	var sel_id = ""+ tab_id +"";
			sel_id = sel_id.replace("http://www.lalande-immobilier.com"+ request_uri +'#','');
	$("."+ tab_class +":visible").hide();
	$("."+ sel_id ).show();
}
function tab_switch (tab_id) {
	var sel_id = ""+ tab_id +"";
	return sel_id.replace("http://www.lalande-immobilier.com"+ request_uri +'#','');
}

// SCROLLING
// -------------------------------------------------------------------
function scroll (element, o) {
	//var o = {items_per_page: 4, item_width: 133, item_margin: 25};

	$(element).each( function(i){
		var elem = this;
		var items_number = $(this).find('.items-container .item').length;
		var pages_number = items_number / o.items_per_page;
		var pages = [];
		var step = (o.item_width + o.item_margin) * o.items_per_page;

		$(this).after('<div class="ui-scroll-navig"></div>');

		for (i=1; i<=pages_number; i++) {
			var page = i;
			var active = (page == 1) ? 'active' : '';
			pages[page] = step * (page - 1) * -1;
			$(this).next('.ui-scroll-navig').append('<a href="javascript:void(\'\');" rel="'+ page +'" class="'+ active +'"><img src="/images/spacer.gif" width="1" height="1" border="0" /></a>');
		}

		$(this).next('.ui-scroll-navig').find('a').each(function(e){
			$(this).click(function(e){
				$(this).parent('.ui-scroll-navig').find('a').removeClass('active');
				$(this).addClass('active');
				$(elem).find('.items-container').animate({"left": pages[ $(this).attr('rel') ]+"px"}, "slow");
			});
		});

	});
}

// DIALOG
// -------------------------------------------------------------------
function centerWin(w,h) {
	var w = w + 30;
	$("#ui-dialog-window").css({marginLeft: '-' + parseInt((w / 2),10) + 'px', width: w + 'px'});
	if ( !(jQuery.browser.msie && typeof XMLHttpRequest == 'function')) { // take away IE6
		$("#ui-dialog-window").css({marginTop: '-' + parseInt((h / 2),10) + 'px'});
	}
}
function createWin() {

	var img_loader = "/images/loading-line.gif";

	//$("body").append("<iframe id='ui-dialog-hide-select'></iframe>");
	$("body").append("<div id='ui-dialog-overlay'></div>");
	$("body").append("<div id='ui-dialog-window'></div>");
	$("body").append("<div id='ui-dialog-load'><img src='"+img_loader+"' /></div>");//add loader to the page

	$('ui-dialog-load').show();
}
function loadedWin(modal,w,h, track) {
	$("#ui-dialog-load").remove();
	$("#ui-dialog-window").append("<div id='ui-dialog-ajax-content' class='ui-dialog-modal' style='width:"+ w +"px;height:"+ h +"px;'></div>");
	$("#ui-dialog-window").css({display:"block"});
	if (modal != 'modal') {
		$("#ui-dialog-overlay").click(function() { removeWin() });
	}
	if (pageTracker && track) {
		//alert('track');
		switch (track.type) {
			case "page" :
				pageTracker._trackPageview(track.page);
			break;
			
			case "event" :
				pageTracker._trackEvent(track.categorie, track.action, "");
			break;
		}
	}
	centerWin(w,h);
}
function removeWin() {
	$("#ui-dialog-hide-select, #ui-dialog-overlay, #ui-dialog-window").remove();
}

// MISE EN FORME
// -------------------------------------------------------------------
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	
	if(isNaN(num))
		num = "0";
	
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	
	if(cents<10)
		cents = "0" + cents;

		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
			num = num.substring(0,num.length-(4*i+3))+' '+
			num.substring(num.length-(4*i+3));
	
	return (((sign)?'':'-') + '' + num );
} 
function stringToUppercase(inputString){
  	return inputString.value = inputString.value.toUpperCase();
}
function capitalizeWords(inputString) {
 
	var tmpStr, tmpChar, preString, postString, strlen;
 
	tmpStr = inputString.value.toLowerCase();
	stringLen = tmpStr.length;
 
	if (stringLen > 0){
 
  		for (i = 0; i < stringLen; i++) {
 
			if (i == 0){
			  tmpChar = tmpStr.substring(0,1).toUpperCase();
			  postString = tmpStr.substring(1,stringLen);
			  tmpStr = tmpChar + postString;
			}
			else{
			  tmpChar = tmpStr.substring(i,i+1);
				  
			  if (tmpChar == " " && i < (stringLen-1)){
				tmpChar = tmpStr.substring(i+1,i+2).toUpperCase();
				preString = tmpStr.substring(0,i+1);
				postString = tmpStr.substring(i+2,stringLen);
				tmpStr = preString + tmpChar + postString;
			  }
		
			} // else
  		} // for
	} // if
 
	return inputString.value = tmpStr;
}

// NEW BROWSER WINDOW
// -------------------------------------------------------------------
function MM_openBrWindow(theURL,winName,features) { //v2.0
	win=window.open(theURL,winName,features);
	win.focus()
}

$(document).ready(function(){
	
	// COMMOM UI
	// -------------------------------------------------------------------
	$(".tabs > ul").tabs();
	$(".accordion").accordion({header: '.head', autoHeight: true, navigation: true });
	
	
	// COMMOM MOTEUR DE RECHERES
	// -------------------------------------------------------------------
	
	// affiche les valeurs selectionnes dans INPUT
	$("div.suggest_box").each(function (i) { 
    var id = this.id;
		$("#"+id+"_list .box_occurrence").each(function (j) {
			var str = $("#"+this.id+" label").text();

			$("#"+this.id+" input:checked").each(function () {
				if ( $(this).attr("type") == "radio") {
					addVal(id+"_enter", str, "equ");
				} else {
					addVal(id+"_enter", str+", ", "auto");
				}
	    });

			$("#"+this.id+" input").click(function () {
				if ( $(this).attr("type") == "radio") {
					addVal(id+"_enter", str, "equ");
				} else {
					addVal(id+"_enter", str+", ", "auto");
				}
	    });

    });
	});
	
	// cache / affiche le div des occurrences
	$("div.suggest_box").each(function (i) { 
    var id = this.id;
		$("#"+id+" img, #"+id+"_enter").click(function () {
			visibilityControl(id, "auto"); 
    });
	});

	// cache / affiche la valeur par default pour le GEO SUGGEST
	$("#geo_suggest, #geo_suggest_agences, #rss_geo_suggest").bind("focus", function(i){
		input_value(this.id, this.title);
	});
	$("#geo_suggest, #geo_suggest_agences, #rss_geo_suggest").bind("blur", function(i){
		input_value(this.id, this.title);
	});
	
	// "Enter" key submit prevent
	$("#search-annonces, #search-agences").bind("keypress", function(e){
		var key;
    if (window.event) {
			key = window.event.keyCode; //IE
		} else {
			key = e.which;     					//Firefox
		}
    if (key == 13) {
			return false;
		} else {
			return true;
		}
	});
	
});
/* loc.common */
$(document).ready(function(){
	
	$('.tabs-custom > ul').tabs({
		select: function(e, ui) {
			var tab_id = ""+ ui.tab +"";
			if (tab_id == "http://www.lalande-immobilier.com"+ request_uri +"#tab-href") {
				location.href = $.data(ui.tab, 'load.tabs');
				return false;
			} 
		}
	});
	$('#tab-transaction .ui-tabs-nav').bind('tabsselect', function(event, ui) {
		tab_linked(ui.tab, "tab-transaction");
	});
	
});
