$(document).ready( function(){	// get meta info	var urlParamLang = $('meta[name=language]').attr('content');	var arrMetaRoute = $.evalJSON($('meta[name=Generator]').attr('content')) ;	//extend functions	$.metadata.setType("attr", "validate");	jQuery.extend(jQuery.validator.messages,arrErrorValidate[urlParamLang] );	// ACTIONS BY ROUTE	switch(arrMetaRoute['controller'])	{	case 'index': // ====================== INDEX ===========================		loadAnim();		switch (arrMetaRoute['action']) {			case 'index': // ====================== INDEX				/*loadNewVideo('4092023',3,0,'550px', '310px','player_special1','content_player_special1');				$('#player_special1').css({					'width':'550px',					'float':'left',					'margin-right':'20px'				});*/				var player_n = 'player_videos_index';				var player_w = '300px';				var player_h = '195px';								var contener = 'content_player_index';				var firstVideo = $("ul.ul_video li:first-child a");				var arrOptions = $.evalJSON($(firstVideo).attr('rel') ) ;				link = arrOptions['link'];				web = parseInt(arrOptions['web_site'],10);				loadNewVideo(link,web,0,player_w, player_h,player_n,contener);				$('#content_player_index').css({					'width':player_w,					'float':'left',					'margin-right':'20px'				});				$("ul.ul_video li a").each(function(e){					$(this).click(function(event) {						var arrOptions = $.evalJSON($(this).attr('rel') ) ;						link = arrOptions['link'];						web = parseInt(arrOptions['web_site'],10);						loadNewVideo(link,web,1,player_w, player_h,player_n,contener);					});				});								break			case 'langpanel': // ====================== LANGPANEL				$(".description_lang").each(function(e){					var langSelected=$(this).find('h1 a').attr('href');					$(this).find('p.link').click(function(event) {						goTo(langSelected);					});				});				break		}		break;	case 'news': // ====================== NEWS ===========================		switch (arrMetaRoute['action']) {			case 'eco': // ====================== ECO				if(arrMetaRoute['gotoelementid']!=null){					//get the top offset of the target anchor					var target_offset = $("#"+arrMetaRoute['gotoelementid']).offset();					var target_top = target_offset.top;					//goto that anchor by setting the body scroll top to anchor top					$('html, body').animate({scrollTop:target_top}, 500);				}else{					var id_comment = jQuery.trim(window.location.hash);					id_comment = id_comment.replace(/#/gi, "");					if (id_comment.length > 0) {						if ($('#' + id_comment).length > 0) {							 var target_offset = $('#'+id_comment).offset();							 var target_top = target_offset.top;							 $('html, body').animate({scrollTop:target_top}, 500);							 $('#'+id_comment +' span').css({'color':'red'});						};					}				};								$('a.addRss').click(function(){ 										$.fn.colorbox({						inline:true,						href:".addRssContent",						open:true,						initialWidth:10,						initialHeight:10,						opacity:0.3,						width:"600",						initialWidth:10,						initialHeight:10,						close: '<img src="/public/images/content/grey_cross.png" />'						/*width:"600",						height:"480",*/					});										return false;				});								break			case 'list': // ====================== List								$('a.addRss').click(function(){ 					$.fn.colorbox({						inline:true,						href:".addRssContent",						open:true,						initialWidth:10,						initialHeight:10,						opacity:0.3,						width:"600",						initialWidth:10,						initialHeight:10,						close: '<img src="/public/images/content/grey_cross.png" />'						/*width:"600",						height:"480",*/					});										return false;				});								break		}		break;		/*case 'real-estate': // ====================== DirectoryEcoConstruction ===========================		break;*/		case 'directory-eco-construction': // ====================== DirectoryEcoConstruction ===========================						$("a[class^='procontactemail']").each(function(e){			arrEmail = $.evalJSON($(this).attr('rel'));			currEmail = arrEmail[0]+'@'+arrEmail[1];			$(this).html(currEmail);			$(this).attr('href','mailto:'+currEmail)		});				switch (arrMetaRoute['action']) {			case 'explanations': // ====================== explanations				break;							case 'eco-company': // ====================== ECO-COMPANY					/* pro_email = arrMetaRoute['email']['part1']+'@'+arrMetaRoute['email']['part2'];					$("a.pro_email").html(pro_email);					$("a.pro_email").attr({'href':'mailto:'+pro_email});										arrMetaRoute['gotoelementid']					*/					$("a[rel='ecoCompanySlider']").colorbox({						transition:"elastic",						initialWidth:10,						initialHeight:10,						opacity:0.3,						previous:arrMetaRoute['ecoCompanySlider']['prev'],						next:arrMetaRoute['ecoCompanySlider']['next'],						/*slideshow:true,*/						title:false,						current: '',						close: '<img src="/public/images/content/grey_cross.png" />'					});										/*$(".ecoCompanyVideo").colorbox({						iframe:true,						innerWidth:425,						innerHeight:344,						opacity:0.3,						close: '<img src="/public/images/content/grey_cross.png" />'						});*/													break							case 'eco-companies': // ====================== eco-companies					$("#categories, #regions").change(function() 				    { 						$('#formListDirectoryEcoConstruction').submit();				    });								break			}		break;	case 'bibliography': // ================= BIBLIOGRAPHY =========================				/*$("a[class^='showDescription']").each(function(e){			var linkMoreText = $(this);			var span = $(this).parents('div:first').find('span.restText');//.attr('class')			$(this).click(function() {				if($(span).hasClass('hidden')){					$(span).fadeIn("fast").removeClass("hidden");					linkMoreText.html('( - )');				}else{					linkMoreText.html('( + )');					$(span).fadeOut("fast").addClass("hidden"); 				}				return false;			});		});*/		break;			case 'calendar': // ================= CALENDAR =========================		/*$("a[class^='showDescription']").each(function(e){			var linkMoreText = $(this);			var span = $(this).parents('div:first').find('span.restText');			$(this).click(function() {				if($(span).hasClass('hidden')){					$(span).fadeIn("fast").removeClass("hidden");					linkMoreText.html('( - )');				}else{					linkMoreText.html('( + )');					$(span).fadeOut("fast").addClass("hidden"); 				}				return false;			});		});*/		break;		case 'search': // ================= SEARCH =========================		switch (arrMetaRoute['action']) {			case 'list': // ====================== LIST				$("a.switch_thumb").click(function() {						if($(this).hasClass('swap')){						$(this).removeClass("swap");						$("ul.display").fadeOut("fast", function() {							$(this).fadeIn("fast").removeClass("thumb_view");							$.cookies.set('display_mode', 'list', { hoursToLive: 4320 });						});											}else{						$(this).addClass("swap"); 						$("ul.display").fadeOut("fast", function() {							$(this).fadeIn("fast").addClass("thumb_view"); 							$.cookies.set('display_mode', 'thumb', { hoursToLive: 4320 });						});					}				});												// ----------------------- FROM Assign Input Text Validator				$("[jsvalidate='true']").each(function(e){							var curForm = $(this);								 		$(this).validate({												groups: {							price: "price_min price_max"														},						errorPlacement: function(error, element) {																if( element.next().length !== 0){																	error.insertAfter(element.nextAll(':last') );																}else{																		error.insertAfter(element);								}						},						invalidHandler: function(form, validator){										$(validator.invalidElements()[0]).parents('div.form_element:first').intoViewport();													},						submitHandler: function(form) {														form.submit();									 }					});							});																break;			}				break;		case 'lexicon': // =================== LEXICON ===========================				$("a").each(function(e){			if($(this).attr('href')=='#'){				$(this).css({					'color':'red'									})			}		});				break;		case 'services': // =================== SERVICES ===========================		//fr/payements/liste/				switch (arrMetaRoute['action']) {						case 'order': // ====================== ORDER									$("a[class^='deleteOrderId']").each(function(){					var curr_link = $(this).attr('href');					$(this).attr('href','#');					$(this).click(function(){ 						currClass = $(this).attr('class');						var idOrder = currClass.substring(13, currClass.length);						var arr_json = $.evalJSON($(this).attr('rev') );						var currElem = $(this);												$.alerts.okButton = arr_json['btnconfirm'];						$.alerts.cancelButton = arr_json['btncancel'];						$.alerts.draggable = false;						jConfirm(arr_json['message'], arr_json['confirmation'], function(r) {							if(r==true){								$.post("/"+urlParamLang+"/services/delete-order/", { idOrder:idOrder },								  function(data){								  	if(data.result=='1'){										goTo(curr_link);									}								  }, "json"								);							}						});					});									});								break;							//case 'edit': // ====================== EDIT			case 'add': // ====================== ADD												if (arrMetaRoute['servicesInfo'] != null) {					var infos = arrMetaRoute['servicesInfo'];					var freeCat = infos['giftLeft']['cat'];					var priceCat = parseInt(infos['prices']['users_cat'],10);					var freeGeolocation = infos['giftLeft']['geo_locations'];					var priceGeolocation = parseInt(infos['prices']['users_geo_locations'],10);					var priceHighlight = parseInt(infos['prices']['users_options'][1],10);					var priceVisibility = parseInt(infos['prices']['users_options'][2],10);					var totalPrice = 0;					var promoPriceValue = 0;										//alert(dump('priceCat: '+priceCat+ ' | '+'priceGeolocation: '+priceGeolocation+ ' | '+'priceHighlight: '+priceHighlight+ ' | '+'priceVisibility: '+priceVisibility+ ' | '));						function getTotalAllPrice(){						totalPrice = 0;							// categories						var catItems = getSelectedItem('categories');						countCatItem = catItems.length;						if(freeCat>0){							catToPay = countCatItem-freeCat;						}else{							catToPay = countCatItem;						}						if(catToPay>0){							catTotal = catToPay*priceCat;							totalPrice += catTotal;						}else{							catTotal = 0;						}						$("#total_price_cat").html(catTotal);												// geoloc						var geolocItems = getSelectedItem('regions');						countGeolocItem = geolocItems.length;						if(freeGeolocation>0){							geolocToPay = countGeolocItem-freeGeolocation;						}else{							geolocToPay = countGeolocItem;						}						if(geolocToPay>0){							geolocTotal = geolocToPay*priceGeolocation;							totalPrice += geolocTotal;						}else{							geolocTotal = 0;						}						$("#total_price_geoloc").html(geolocTotal);							// option_highlight						if ($('input#option_highlight').length != 0) {							if(checkCheckedItem('option_highlight')){								$("#total_price_highlight").html(priceHighlight);								totalPrice += priceHighlight;							}else{								$("#total_price_highlight").html('0');							}						}												// option_visibility						if ($('input#option_visibility').length != 0) {							if(checkCheckedItem('option_visibility')){								$("#total_price_visibility").html(priceVisibility);								totalPrice += priceVisibility;							}else{								$("#total_price_visibility").html('0');							}						}												showTotal();					}																	$("input#option_highlight,input#option_visibility").click(function(){ 						getTotalAllPrice();					});										function showTotal(){												var total = totalPrice - promoPriceValue;						//alert(dump('11:'+total+' |'+totalPrice+' | '+promoPriceValue));						if(total<0){							total = 0;						}												$("#total_price").html(total);											}										function getSelectedItem(idElem){												var foo = $('#'+idElem+' :selected').map(function(){return $(this).val();}).get();						return foo;											}					function checkCheckedItem(idElem){												var foo = $('#'+idElem).is(':checked');						return foo;											}										$("a#checkPromoCode").click(function(){ 						$("#promoLoader").removeClass('hidden');						promoCode = $("#promo_code").val()						getPromoCode(promoCode);					});										function calculPromoCode(promoValue){												promoPriceValue = promoValue;						$("#promoLoader").addClass('hidden');						$("#total_promoValue").html(-promoValue);						showTotal();						}										function getPromoCode(promoCode){												$.post("/"+urlParamLang+"/json/scan-promo-code/", { promoCode:promoCode },						  function(data){							if(data!=false){								giftValue = parseInt(data.gift,10);								calculPromoCode(giftValue);							}else{								calculPromoCode(0);							}							  }, "json"						);											}										$.fn.callbackAsmSelect = function(arr_data){						//alert(arr_data['action']);						getTotalAllPrice();					}													$("#categories").asmSelect({					animate: true,					highlight: false,					removeLabel: '<img src="/public/images/content/grey_cross.png"/>', //http://www.be-green.com					sortable: true					});						$("#regions").asmSelect({						animate: true,						highlight: false,						removeLabel: '<img src="/public/images/content/grey_cross.png"/>', //http://www.be-green.com						sortable: true							});				}								break;		}		break;		case 'user': // =================== USER ===========================		switch (arrMetaRoute['action']) {						case 'profile': // ====================== profile					$("a[rel='ecoCompanySlider']").colorbox({						transition:"elastic",						initialWidth:10,						initialHeight:10,						opacity:0.3,						previous:arrMetaRoute['ecoCompanySlider']['prev'],						next:arrMetaRoute['ecoCompanySlider']['next'],						/*slideshow:true,*/						title:false,						current: '',						close: '<img src="/public/images/content/grey_cross.png" />'					});				break						case 'edit-pro': // ====================== edit-pro								$('textarea#pro_description').autogrow();															//loaderEditProLogo										// up logo					if ($('#upProLogo').length != 0) {						var button = $('#upProLogo');//, interval;						var buttonText = button.text();						new AjaxUpload(button, {							//action: '/public/test/upload/demos/upload-handler.php', 							action: "/"+urlParamLang+"/pictures/add-pro-logo/",							name: 'myfile',							/*data: {							example_key1 : 'example_value',							example_key2 : 'example_value2'							},*/							onSubmit : function(file, ext){								// change button text, when user selects file											button.text(arrMetaRoute['editProInfo']['waitPlease']);								// If you want to allow uploading only 1 file at time,								// you can disable upload button								this.disable();																// Uploding -> Uploading. -> Uploading...								interval = window.setInterval(function(){									var text = button.text();									if (text.length < 13){										button.text(text + '.');														} else {										button.text(arrMetaRoute['editProInfo']['waitPlease']);													}								}, 200);							},							onComplete: function(file, response){								button.text(buttonText);								window.clearInterval(interval);								if(response != 'true'){									$('#resultUpProLogo').text(response);								}else{									var date = new Date();									$('#resultUpProLogo').text('');									$('#editProLogo').html('<img src="/public/images/pro-logo/'+arrMetaRoute['editProInfo']['id_user']+'_logo_m.jpg?v='+date.getTime()+'" alt="logo" />');								}								// enable upload button								this.enable();								}						});					}				break;		}		break;			case 'payments': // =================== PAYMENTS ===========================		switch (arrMetaRoute['action']) {			case 'list': // ====================== LIST									$("a[class^='deleteOrderId']").each(function(){					var curr_link = $(this).attr('href');					$(this).attr('href','#');					$(this).click(function(){ 						currClass = $(this).attr('class');						var idOrder = currClass.substring(13, currClass.length);						var arr_json = $.evalJSON($(this).attr('rev') );						var currElem = $(this);												$.alerts.okButton = arr_json['btnconfirm'];						$.alerts.cancelButton = arr_json['btncancel'];						$.alerts.draggable = false;						jConfirm(arr_json['message'], arr_json['confirmation'], function(r) {							if(r==true){								$.post("/"+urlParamLang+"/services/delete-order/", { idOrder:idOrder },								  function(data){								  	if(data.result=='1'){										//$(currElem).parents('table:first').slideUp();										goTo(curr_link);									}								  }, "json"								);							}						});					});									});								break;						}	break;	case 'favorites': // ===================== FAVORITES ===========================			$("a[class^='deleteFavoritesId']").each(function(){					$(this).click(function(){ 												currClass = $(this).attr('class');						var idFavorite = currClass.substring(17, currClass.length);						var arr_json = $.evalJSON($(this).attr('rev') );						var currElem = $(this);						$.alerts.okButton = arr_json['btnconfirm'];						$.alerts.cancelButton = arr_json['btncancel'];						$.alerts.draggable = false;						jConfirm(arr_json['message'], arr_json['confirmation'], function(r) {														if(r==true){																	$.post("/"+urlParamLang+"/favorites/delete/", { idFavorite:idFavorite }, //http://www.be-green.com								  function(data){								  	if(data.result=='1'){										$(currElem).parents('li:first').slideUp();									}															  }, "json"								);															}						});					});				});					break;			case 'videos': // ===================== VIDEOS ===========================				switch (arrMetaRoute['action']) {					case 'list':								var player_n = 'player_videos';				var player_w = '540px';				var player_h = '360px';				var contener = 'content_player';								var arr_videos = new Array();								$("ul.ul_video li a").each(function(e){					arr_videos.push($(this).attr('id'));					$(this).click(function(event){						var arrOptions = $.evalJSON($(this).attr('rel'));						link = arrOptions['link'];						web = parseInt(arrOptions['web_site'], 10);						loadNewVideo(link, web, 1, player_w, player_h, player_n, contener);						$("#content_player").intoViewport();					});				});								var vdo_id = jQuery.trim(window.location.hash);				vdo_id = vdo_id.replace(/#/gi, "");				var arrOptions;								if ($('#link_v' + vdo_id).length > 0) {					arrOptions = $.evalJSON($('#link_v' + vdo_id).attr('rel'));					link = arrOptions['link'];					web = parseInt(arrOptions['web_site'], 10);					autolaunch = 1;				}				else {					var firstVideo = $("#" + arr_videos[Math.floor(Math.random() * (arr_videos.length - 1))]);					arrOptions = $.evalJSON($(firstVideo).attr('rel'));					link = arrOptions['link'];					web = parseInt(arrOptions['web_site'], 10);					autolaunch = 0;				}								loadNewVideo(link, web, autolaunch, player_w, player_h, player_n, contener);				$('#content_player_index').css({					'width': player_w,					'float': 'left',					'margin-right': '20px'				});				break			}		break;	case 'pictures': // =================== PICTURES =========================			switch (arrMetaRoute['action']) {			case 'area': // ====================== area				var galleries = $('.ad-gallery').adGallery({					slideshow: {					    start_label: galleryMessages[urlParamLang]['start'],					    stop_label: galleryMessages[urlParamLang]['stop'],						speed: 3000				  	},					/*width: 480,*/			        height: 375,					enable_keyboard_move: false							});				break;		}		break;		case 'announces': // =================== ANNOUNCES =========================				switch (arrMetaRoute['action']) {									case 'detail': // ====================== DETAIL								//var urlParamLang = $('meta[name=language]').attr('content');				$("#cars-sharing").click(function(event) {					map.clearOverlays();					map.addOverlay(new GMarker(initLatLng, initMarkerOptions));					if ($(this).is('.cars-sharing-active')) {						$(this).removeClass("cars-sharing-active");						$("#cars-sharing-show").removeClass("hidden");						$("#cars-sharing-hide").addClass("hidden");												map.setCenter(map.getCenter(),zoom);					} else {						$("#cars-sharing-hide").removeClass("hidden");						$("#cars-sharing-show").addClass("hidden");						map.setCenter(map.getCenter(),13); 												if(cars_sharing.cars.length>0){							// Create our "tiny" marker icon							var markers = new Array( );							for (var i=0; i<cars_sharing.cars.length; i++) {								// Set up our GMarkerOptions object																//map.addOverlay( create_gmarker( cars_sharing.cars[i] )								markers.push(								    {								        latlng: new GLatLng(cars_sharing.cars[i]['lat'],cars_sharing.cars[i]['lng']),								        name: "<b>"+cars_sharing.cars[i]['name']+"</b><br />"+cars_sharing.cars[i]['street']+" "+cars_sharing.cars[i]['nbr']+"<br/>"+cars_sharing.cars[i]['zip']+" "+cars_sharing.cars[i]['city']+"<br/><a href='http://www.cambio.be/' target='_blank'>"+cars_sharing.traductions['moreInfoCambio']+"</a>"								    }								);								// "+cars_sharing.cars[i]['distance']+"							};							function create_gmarker( marker ){								var greenIcon = new GIcon(G_DEFAULT_ICON);								greenIcon.image = "/public/images/content/marker-cambio.png";								//greenIcon.iconSize = new GSize(16, 16);								//greenIcon.iconAnchor = new GPoint(-8, -8);								//greenIcon.shadowSize = new GSize(16, 16);								markerOptions = { icon:greenIcon };															    var gmarker = new GMarker( marker.latlng,markerOptions );							    GEvent.addListener( gmarker, 'click', function( ) {							                gmarker.openInfoWindowHtml( marker.name );							        }							    );							    return gmarker;							}							for ( var i in markers ){					                map.addOverlay( create_gmarker( markers[ i ] ) );					        }						}						$(this).addClass("cars-sharing-active");					}							});				var galleries = $('.ad-gallery').adGallery({					slideshow: {					    start_label: galleryMessages[urlParamLang]['start'],					    stop_label: galleryMessages[urlParamLang]['stop'],						speed: 3000				  	},					/*width: 480,*/			        height: 375,					enable_keyboard_move: false							});								/*$(".iframe").colorbox({					width:"765",					height:"450",					iframe:true,					initialWidth:10,					initialHeight:10,					opacity:0.3,					close: '<img src="/public/images/content/grey_cross.png" />'					});*/				// =============================== contact friend				var currForm;				$("form.contact_friend_form").submit(function () {				 	var uniqueID = new Date();					currForm = $(this);					var errorElem = $('form.contact_friend_form div.messageError');					var inputs = {};					currForm.find('input:text,input:hidden,input:checkbox:checked,textarea').each(function(){						inputs[$(this).attr('name')] = encodeURIComponent($(this).val());					}).removeClass("errorFieldForm");					//alert(dump(inputs));					var jsonData = $.toJSON(inputs)					//alert(dump(jsonData));															currForm.find('input:submit').addClass("hidden");					errorElem.html('');										$.post("/"+urlParamLang+"/json/sendmail/v/"+uniqueID.getTime()+'/', {jsonData:jsonData},					  function(data){							//alert(dump(data));							if(data['result']=='false'){								for (key_error in data['error_fields']) {									currForm.find('[name='+key_error+']').addClass("errorFieldForm");								};								currForm.find('input:submit').removeClass("hidden");								errorElem.html(data['message']);							}else{								currForm.before('<div class="succesSend">'+data['message']+'</div>');								currForm.css("display",'none');								$.fn.colorbox.resize();							}					  }, "json"					);				 					return false;				});				$('a.linkFriendContact').click(function(){ 					$.fn.colorbox({						inline:true,						href:".infoFriendContact",						open:true,						initialWidth:10,						initialHeight:10,						opacity:0.3,						width:"600",						initialWidth:10,						initialHeight:10,						close: '<img src="/public/images/content/grey_cross.png" />'					});				});												// =============================== contact seller				var currForm;				$("form.contact_seller_form").submit(function () {				 	var uniqueID = new Date();					currForm = $(this);					var errorElem = $('form.contact_seller_form div.messageError');					var inputs = {};					currForm.find('input:text,input:hidden,input:checkbox:checked,textarea').each(function(){						inputs[$(this).attr('name')] = encodeURIComponent($(this).val());					}).removeClass("errorFieldForm");										//alert(dump(inputs));										var jsonData = $.toJSON(inputs)					currForm.find('input:submit').addClass("hidden");					errorElem.html('');										$.post("/"+urlParamLang+"/json/sendmail/v/"+uniqueID.getTime()+'/', {jsonData:jsonData},					  function(data){							//alert(dump(data));							if(data['result']=='false'){								for (key_error in data['error_fields']) {									currForm.find('[name='+key_error+']').addClass("errorFieldForm");								};								currForm.find('input:submit').removeClass("hidden");								errorElem.html(data['message']);							}else{								currForm.before('<div class="succesSend">'+data['message']+'</div>');								currForm.css("display",'none');								$.fn.colorbox.resize();							}					  }, "json"					);				 					return false;				});				$('a.linkSellerContact').click(function(){ 										$.fn.colorbox({						inline:true,						href:".infoSellerContact",						open:true,						initialWidth:10,						initialHeight:10,						opacity:0.3,						width:"600",						initialWidth:10,						initialHeight:10,						close: '<img src="/public/images/content/grey_cross.png" />'						/*width:"600",						height:"480",*/					});				// to put img captcha 				/*$().bind('cbox_complete', function(e){					       						  // $('#cboxLoadedContent').find('img.captchaForm').attr('src','okééé');						 				});*/				});								//showInfoLink				$("a.addFavorites").each(function(e){							var elemClicked = this;					$(this).click(function(event) {												eventClick = event;						var arrOptions = $.evalJSON($(this).attr('rev') ) ;						$.getJSON("/"+urlParamLang+"/favoris/ajout/type/"+arrOptions['type']+"/id/"+arrOptions['id']+'/', //http://www.be-green.com				        function(data){							//alert(dump(data));							message = data['message'];							className = data['className'];														showInfoClick(elemClicked,eventClick,message,className);				        });						return false;					});												});																break						case 'add': // ====================== ADD			case 'edit':												var maxLength = 3000;								$('textarea#description').after("<span id='countDescription'></span>").autogrow()				.keyup(function(){										rest = maxLength - $(this).val().length;										if(rest < 1){						$(this).val($(this).val().substr(0, maxLength));						$('#countDescription').html('(<span class="error_textareaMaxLength">'+rest+'</span>)');					}else{						$('#countDescription').html('('+rest+')');					}				});								$("form#add_announce").before("<span id='btn'>=====>lien test</span>");				$("#btn").hover(function(event) {					$(this).css('cursor','pointer');					});				$("#btn").click(function(event) {					$.getJSON("/fr/announces/ajax/?getCountry=1", //http://www.be-green.com			        function(data){						var xhtml = '';						for (key in data) {							xhtml += '<option  value = "' + key + '" >' + data[key] + '</option>';						}						$("#id_currency").append(xhtml);														//alert(dump(data));			          /*$.each(data.items, function(i,item){			            $("<img/>").attr("src", item.media.m).appendTo("#images");			            if ( i == 3 ) return false;			          });*/					 					 //alert(dump(xhtml));					 			        });							//alert('click!');					return false;				});								// ----------------------- FROM Assign Input Text Validator				$("[jsvalidate='true']").each(function(e){						var curForm = $(this);						 		$(this).validate({					//onsubmit: false,					//focusInvalid: true,									/*		$("#myinput").rules("add", {					 minlength: 2					}),*/											/*rules : {					       /* 'terms_conditions': { required: true }*/						 /* terms_conditions: {						      required: "#terms_conditions:checked"						    }							  },*/					groups: {						price: "price_min price_max"												},														errorPlacement: function(error, element) {														if( element.next().length !== 0){															error.insertAfter(element.nextAll(':last') );														}else{																error.insertAfter(element);							}														/*							var errorClone = error.clone();							$("[type='submit']").prepend(errorClone);							*/											},							/*submitHandler: function(form) { 								alert($(curForm).find("input.error:nth-child(1)").attr('name') );								$(curForm).find("input.error:nth-child(1)").attr('text','waaaaaaaaaaaaaaaaaaaaw')		                        form.submit(); 		            },*/										invalidHandler: function(form, validator){								$(validator.invalidElements()[0]).parents('div.form_element:first').intoViewport();											},					submitHandler: function(form) {					   					 					   // classification=other and construction style=traditionnel ===> add check					   val1 = $('#id_type').val();//1,2,3,7,9					   val2 = $('#id_classification').val();					   val3 = $('#id_construction_style').val();					   					  /* if ( $('#myElement').length > 0 ) {						    // it exists						}*/					   					   if( (((val1==1) || (val1==2) || (val1==7)) && ( (val2==5) ) && ( (val3==1) )) || ((val1==9) || (val1==3)) && (val3==1)){							nbrEcologicalElem = $("input.ecological_features:checked").length;									if (nbrEcologicalElem < 5) {																var rel = $.evalJSON($('#id_classification').parents('div.form_element').children('img:first').attr('rel'));								currInfo = rel['infoText'][5];																currInfo = currInfo.replace('class="ecologicalFiveElem"', 'class="red"');//currInfo.replace(new RegExp('<strong>', g), '<strong>yyyyyyé');								$.fn.colorbox({									html: currInfo,									initialWidth: 10,									initialHeight: 10,									width: '750px',									open: true,									opacity: 0.3,									close: '<img src="/public/images/content/grey_cross.png" />' /// <img src="public/images/content/grey_cross.png" />								});								return false;							}else{								//$("#AddAnnounce").submit();								form.submit();								//document.getElementById("AddAnnounce").submit();							}							   }else{					   		//return true;					   		//$("#AddAnnounce").submit();							//alert('submit!2');							form.submit();							//document.getElementById("AddAnnounce").submit();							   }							 }					//,debug:true				});							});				break								case 'my-list': // ====================== MY-LIST								$("a[class^='deleteId']").each(function(){					$(this).click(function(){ 												currClass = $(this).attr('class');						var idAnnounce = currClass.substring(8, currClass.length);						var arr_json = $.evalJSON($(this).attr('rel') );						//alert(dump(arr_json));						var currElem = $(this);						$.alerts.okButton = arr_json['btnconfirm'];						$.alerts.cancelButton = arr_json['btncancel'];						$.alerts.draggable = false;						jConfirm(arr_json['message'], arr_json['confirmation'], function(r) {														if(r==true){								$.post("/fr/announces/delete/id/"+idAnnounce+'/', //http://www.be-green.com									function(data){								   	$(currElem).parents('li:first').slideUp();								});							}							//jAlert('Confirmed: ' + r, 'Confirmation Results');						});					});				});								break		}	}			// =================== ALL PAGES ===================================================================	// pub	var attributes = { id: "adHere" };	var params = { wmode: "opaque" };	swfobject.embedSWF("/public/swf/adhere_"+urlParamLang+".swf", "adHereContent", "250px", "90px", "9", null, null, params, attributes);		var attributes = { id: "be-green1" };	var params = { wmode: "opaque" };	swfobject.embedSWF("/public/swf/be-green2_250x171.swf", "videoBegreen1", "250px", "171px", "9", null, null, params, attributes);		detectingNoFlash();		// custom AddThis	/*var addthis_config = {	     ui_language: urlParamLang	}*/	// direct announce	$("#id_direct_announce").click( function() { 		$(this).val(""); 	} );		$("input:checkbox").css({'border-style' : 'none'});	$("div[class^='corner3']").each(function(e){		$(this).corner("cc:#FFF 3px");	});		// tracking	$("a[class^='track-ga-']").click(function() {		cuurClassName = $(this).attr('class');		arrClassName = cuurClassName.split(' ');		cuurClassName = arrClassName[0];		cuurClassName = cuurClassName.substring(9, cuurClassName.length)+'-'+urlParamLang;				if(typeof _gaq != 'undefined') {			_gaq.push(['_trackEvent', cuurClassName, 'clicked']);		}			});		if (arrMetaRoute['galImg'] != null) {		$("a[rel^='galImg_']").colorbox({			transition:"elastic",			initialWidth:10,			initialHeight:10,			opacity:0.3,			previous:arrMetaRoute['galImg']['prev'],			next:arrMetaRoute['galImg']['next'],			current: '',			close: '<img src="/public/images/content/grey_cross.png" />'		});	}		// show facebook likes bt	if (typeof fbLikes != 'undefined') {		$('body').append('<div id="fb-root"></div>');		window.fbAsyncInit = function(){			FB.init({				appId: '261c6277dcf2fb9d4fc16b710b592888',				status: true,				cookie: true,				xfbml: true			});		};		(function(){			var e = document.createElement('script');			e.type = 'text/javascript';			e.src = document.location.protocol +			'//connect.facebook.net/'+fbLikes+'/all.js';			e.async = true;			document.getElementById('fb-root').appendChild(e);		}());	}else{log('nada')}			$("a[class^='showDescription']").each(function(e){		var linkMoreText = $(this);		var span = $(this).parents('div:first').find('span.restText');//.attr('class')		$(this).click(function() {			if($(span).hasClass('hidden')){				$(span).fadeIn("fast").removeClass("hidden");				linkMoreText.html('(-)');			}else{				linkMoreText.html('(+)');				$(span).fadeOut("fast").addClass("hidden"); 			}			return false;		});	});	// ----------------------- TEXT INFO ----------------------------------------------------------------	$("img[class='infoText']").each(function(){		var arr_content = $.evalJSON($(this).attr('rel') ) ;		var content = '<div>';		for (key in arr_content['infoText']) {								content += arr_content['infoText'][key];		};		content += '</div>'				$(this).click(function(){ 			$.fn.colorbox({				html:content,				initialWidth:10,				initialHeight:10,				/*maxHeight:'450px',				maxWidth:'650px',*/				/*height:'500px',*/				width:'750px',				open:true,				opacity:0.3,				close: '<img src="/public/images/content/grey_cross.png" />'			});			return false;	    });	});				// ----------------------- CONTACT US ----------------------------------------------------------------	$("a[class^='contact']").each(function(e){		curr_class = $(this).attr('class')		curr_name = curr_class.substring(7, curr_class.length);		curr_dom = 'be-green';		curr_ext = 'com';		curr_contact = curr_name+'@'+curr_dom+'.'+curr_ext;		$(this).attr('href','mailto:'+curr_contact);		$(this).html(curr_contact);	});			// ----------------------- keep session for all pages with form ----------------------------------------------------------------	if($("form:first").length==1){   		var test = setInterval(function(){ 			$.get("/fr/json/keepsession/");//http://www.be-green.com		}, 300000);//5min 300000	}	//----------------------- FROM Assign Input Text Autocomplete ----------------------------------------------------------------	// autocomplete input	$("input[bewaw_autocomplete]").each(function(){		var prePopulate = new Array();		var prePopulatetest = new Array();		var tokenLimit;		var autocomplete;		var url;				// get init autocomplete value		var currInput = $(this).attr('bewaw_autocomplete');		autocomplete = currInput.split("|");				url = autocomplete[0];		//alert(url);		prePopulate = jQuery.trim($(this).val());		$(this).attr('value','');		var arr_prePopulate = new Array();		var arr_populate = new Array();		var inputSelected = $(this);		var elem_width = $(this).css('width');		// check value already exist				if(prePopulate.length>0){			$.getJSON(url+'/populate/'+prePopulate+'/', function(dataJson){			///alert(dump(elem_width));				tokenLimitNb = parseInt(autocomplete[1],10);				//alert(dump(autocomplete[1]));								for (key in dataJson) {					arr_populate[key]= {						id:dataJson[key]['id'],						name:dataJson[key]['name']					}				};				launchAutocomplete(inputSelected,elem_width,url,autocompleteMessages[urlParamLang],tokenLimitNb,arr_populate)							});				}else{			//alert(dump(elem_width));			tokenLimitNb = parseInt(autocomplete[1],10);						launchAutocomplete($(this),elem_width,url,autocompleteMessages[urlParamLang],tokenLimitNb,null);					}		});//.change( function() { alert("change!"); } );		function launchAutocomplete(s_elem,s_elem_width,s_url,s_autocompleteMessages,s_tokenLimitNb,s_arr_populate){		//alert(s_url);		s_elem.tokenInput(s_url,s_elem_width,s_autocompleteMessages, {            classes: {                tokenList: "token-input-list-facebook",                token: "token-input-token-facebook",                tokenDelete: "token-input-delete-token-facebook",                selectedToken: "token-input-selected-token-facebook",                highlightedToken: "token-input-highlighted-token-facebook",                dropdown: "token-input-dropdown-facebook",                dropdownItem: "token-input-dropdown-item-facebook",                dropdownItem2: "token-input-dropdown-item2-facebook",                selectedDropdownItem: "token-input-selected-dropdown-item-facebook",                inputToken: "token-input-input-token-facebook"            },			tokenLimit:s_tokenLimitNb,			prePopulate:s_arr_populate        });			}	function showInfoClick(elem,eventClick,message,className){				$("div.infoClickBox").remove();				$("#footer").before("<div class='infoClickBox'></div>");			currClass = 'showInfoClick';			if(className!=false){				currClass = className;			}						$('div.infoClickBox')			.css({				'display' : 'none',	            'position' : 'absolute',	            'left' : eventClick.pageX,//-25	            'top' : eventClick.pageY-35,	            'width' : 'auto',	            'height' : 'auto',				'margin' : '0'	        })			.html(message)			.css({	            'left' : eventClick.pageX-($('div.infoClickBox').width()/2)	        })			.addClass(currClass)			.animate({ 		        marginTop: "-=10px",				opacity: "show"		    }, 100 )			.animate({opacity: '+=0'}, 4000)			.animate({ 		        marginTop: "-=10px",				opacity: "hide"		    }, 200 );						}	//---------------------------------------------------------------------------------------		// slider side bar	$("#scroller").simplyScroll({		className: 'sliderPro',		horizontal: false,		frameRate: 18,		speed: 1,		autoMode: 'loop'	});		// round corner for side bar	$("div[id^='side_bar_right_'],div.boxSideBar").each(function(e){				$(this).corner("cc:#FFF 5px");		});		// clean temp a	$("a").each(function(e){		if($(this).attr('href')=='#'){			$(this).click(function(event) {				return false;			});		}	});});// functions =====================================================================================================================function detectingNoFlash(){	var attributes = { id: "detect_flash" };	var params = { wmode: "transparent" };	swfobject.embedSWF("/public/swf/detectFlash.swf", "detectNoFlash", "5px", "5px", "10", null, null, params, attributes);//http://www.be-green.com}function goTo(url){	window.location.replace(url);}function loadNewVideo(id_video,site,autoPlay,w,h,id_elem,contener){	var urlVideo;	var flashvars = {};	var params = { allowScriptAccess: "always", wmode: "opaque", allowfullscreen:"true" };	switch(site)	{	case 1:// youtube => http://code.google.com/intl/fr/apis/youtube/player_parameters.html		urlVideo = 'http://www.youtube.com/v/'+id_video+'&amp;autoplay='+autoPlay+'&amp;rel=1&amp;border=5&amp;fs=1&amp;showsearch=0&amp;iv_load_policy=3&amp;showinfo=0&amp;loop=1&amp;egm=0';	break;	case 2:// dailymotion => http://dailymotion.virgilio.it/doc/api/player/player_parameters	  	urlVideo = 'http://www.dailymotion.com/swf/'+id_video+'&autoplay='+autoPlay;	break;	case 3: // vimeo => http://www.vimeo.com/api/docs/oEmbed		urlVideo = 'http://vimeo.com/moogaloop.swf?clip_id='+id_video+'&amp;autoplay='+autoPlay+'&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1';	break;	case 4: // begreen => http://code.google.com/p/flvplayer/      http://flv-player.net/players/maxi/documentation/		if(autoPlay==true){			autoplay = 1;		}else{			autoplay = 0;		}		var flashvars = {			flv:'/public/videos/'+id_video,			showtime:1,			skin:'/public/swf/player_flv_skin001.jpg',			margin:0,			/*width:520,			width:380,			startimage:'rorobong.jpg',			loadonstop:0,*/			playercolor:'cccccc',			buttoncolor:'333333',			buttonovercolor:'999999',			slidercolor1:'333333',			sliderovercolor:'999999',			loadingcolor:'999999',			showfullscreen:1,			autoplay:autoplay,			autoload:1,			showiconplay:1,			showstop:1,			showvolume:1,			iconplaybgcolor:'FFFFFF',			iconplaybgalpha:10			};		urlVideo = '/public/swf/player_flv_maxi.swf';	break;	case 5: // begreen => http://code.google.com/p/flvplayer/      http://flv-player.net/players/maxi/documentation/		if(autoPlay==true){			autoplay = 1;		}else{			autoplay = 0;		}		var flashvars = {			flv:'/public/videos/'+id_video,			showtime:1,			skin:'/public/swf/player_flv_skin001.jpg',			margin:0,			/*width:520,			width:380,			startimage:'rorobong.jpg',			loadonstop:0,*/			playercolor:'cccccc',			buttoncolor:'333333',			buttonovercolor:'999999',			slidercolor1:'333333',			sliderovercolor:'999999',			loadingcolor:'999999',			showfullscreen:1,			autoplay:autoplay,			autoload:1,			showiconplay:1,			loop:0,			showstop:1,			showvolume:0,			iconplaybgcolor:'FFFFFF',			iconplaybgalpha:10			};		urlVideo = '/public/swf/player_flv_maxi.swf';	break;	}	var attributes = { id: id_elem };	var ajustH = 0;	if ( $('#'+contener+' div.bottomVideo').length ){		adjustH = $('#'+contener+' div.bottomVideo').height();		$('#'+contener).css('height',h+ajustH);	}else{		$('#'+contener).css('height',h);	}	swfobject.embedSWF(urlVideo, id_elem, w, h, "9", null, flashvars, params, attributes);}function loadAnim(){	// house anim header	var attributes = { id: "flash_houses" };	var params = { wmode: "transparent" };	swfobject.embedSWF("/public/swf/houses.swf", "anim_houses", "330px", "66px", "8", null, null, params, attributes);//http://www.be-green.com}function getUrl(){	curr_url = window.document.location.toString();	// clean last /	if(curr_url.substr(curr_url.length-1,1)=='/'){curr_url = curr_url.substr(0,curr_url.length-1)};	return curr_url;}function onResizeWindows(header_h,nav_bottom_h,init_center_h){	all_center_h 	= parseInt($("#allCenter").height(),10);	window_h	 	= parseInt($(window).height(),10);	//content_h		= parseInt($("#content").height(),10);	ajust_h			= 20;	init_total_h	= header_h + nav_bottom_h + init_center_h;	if(init_total_h<window_h){		//alert('center:'+$("#center").height()+"\r\n"+'all_center_h:'+all_center_h+"\r\n"+'window_h:'+window_h+"\r\n"+'header_h:'+header_h+"\r\n"+'nav_bottom_h:'+nav_bottom_h+"\r\n");		$("#center").height((window_h-(header_h+nav_bottom_h))-ajust_h);	}else{//all_center_h>=window_h		$("#center").height(init_center_h);	}}// tools functions ==============================================================================================================/*** Function : dump()* Arguments: The data - array,hash(associative array),object*    The level - OPTIONAL* Returns  : The textual representation of the array.* This function was inspired by the print_r function of PHP.* This will accept some data as the argument and return a* text that will be a more readable version of the* array/hash/object that is given.*/function dump(arr,level) {    var dumped_text = "";    if(!level) level = 0;    //The padding given at the beginning of the line.    var level_padding = "";    for(var j=0;j<level+1;j++) level_padding += "    ";    if(typeof(arr) == 'object') { //Array/Hashes/Objects        for(var item in arr) {            var value = arr[item];            if(typeof(value) == 'object') { //If it is an array,                dumped_text += level_padding + "'" + item + "' array\n";                dumped_text += dump(value,level+1);            } else {                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";            }        }    } else { //Stings/Chars/Numbers etc.        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";    }    return dumped_text;}function in_array (needle, haystack, argStrict) {    // http://kevin.vanzonneveld.net    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // +   improved by: vlado houba    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);    // *     returns 1: true    // *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});    // *     returns 2: false    // *     example 3: in_array(1, ['1', '2', '3']);    // *     returns 3: true    // *     example 3: in_array(1, ['1', '2', '3'], false);    // *     returns 3: true    // *     example 4: in_array(1, ['1', '2', '3'], true);    // *     returns 4: false     var key = '', strict = !!argStrict;    if (strict) {        for (key in haystack) {            if (haystack[key] === needle) {                return true;            }        }    } else {        for (key in haystack) {            if (haystack[key] == needle) {               return true;            }        }    }    return false;}function log(data){    if (typeof(console) != 'undefined' && typeof(console.log) == 'function'){                    console.log(data);    }}/* ********************************* BROLL ************************************* *//*$(":text").click(function() {		$(this).focus();	  /*if(!this.value) {	   alert("Please enter some text!");	  }*/	/*});*/	// resize window	/*var header_h = parseInt($('#header').height(),10);//139;	var center_h = parseInt($('div#center').height(),10);	var resize_active = false;*/	/*var nav_bottom_h = parseInt($('#nav_bottom').height(),10);//75		onResizeWindows(header_h,nav_bottom_h,center_h);		$(window).resize(function(){			if(resize_active===false){				resize_active = true;				onResizeWindows(header_h,nav_bottom_h,center_h);				resize_active = false;				}		});		$("#all_center").resize(function(){			if(resize_active===false){				resize_active = true;				onResizeWindows(header_h,nav_bottom_h,center_h);				resize_active = false;				}		});*/// test if element exist/*if ($('div#info_js').length != 0) {    url_params = $.trim($('div#info_js').html());}*//*$("#mylink img").hover( function() {  this.src = this.src.replace("_no_active","_active"); }, function() {  this.src = this.src.replace("_active","_no_active"); });*//*$('#portfolio').innerfade({	 speed: 750,  timeout: 7000,  type: 'sequence',  containerheight: '100px'  }); */