var maxQueueSize = 5;
var queueSize = 0;

function dosignin() {
	new Ajax.Request(URL_BASE + '/home/ajax_signin', {
		method: 'post',
		postBody: 'login='+$F('login')+'&password='+$F('password')+'&remember_me='+$('remember_me').checked,
		onLoading: function(t) {
			$('signin-loader').setStyle({display: 'block'});
		},
		onSuccess: function(transport) {
			var json = transport.responseText.evalJSON();
			//$('signin-loader').setStyle({display: 'none'});
			// signin OK
			if (json.stat == 'ok' || json.stat=='ok-refresh') {
				//if(json.stat=='ok-refresh')
					//window.location = URL_HOST+URL_BASE;
				jQuery('#dialog-pleaselog').dialog('close');

				$('singin_fb_container').hide();
				
				// on demande la vue de post_box et on remplace le contenu de signin_box
				new Ajax.Request(URL_BASE+'/home/ajax_get_post_box', {
					method: 'post',
					postBody: 'post_location='+$('post_location2').value+'&post_location_id='+$('post_location_id2').value+'&country_code='+$('country_code').value,
					onSuccess: function(transport) {
						//$('form_signin_box').hide();
						$('signin_post_box').hide();
						
						$('signin_post_box').update(transport.responseText);
						//Element.insert( $('signin_post_box'), transport.responseText );
								
						
						if ($('post_box')) {
							//Si il existe un feedback alors le supprime
							if($('fb_container')!=null){
								$('fb_container').fade({ duration: 0.3,from: 1, to: 0 });
							}
							$('signin_post_box').show();
							if($('form_signin')!=null){
								//$('form_signin').hide();
								Effect.SlideUp('form_signin', { duration: 0.5 });
							}
							Effect.SlideDown('post_box', { duration: 1.0 });
							/*new Ajax.Request(URL_BASE+'/home/ajax_get_nav', {
								onSuccess: function(transport) {
								Element.replace('menu_ct',transport.responseText);
								}
							});*/
							new Ajax.Request(URL_BASE+'/home/ajax_get_topheader', {
								onSuccess: function(transport) {
								$('topheader').update(transport.responseText);
							}
							});
						}
					}});
			}
			else {
				var errors_string = '';
				for (var i=0; i<json.errors.length; i++) { errors_string += json.errors[i]; }
				$('signin_fb').update(errors_string);
				$('singin_fb_container').show();
				Effect.Shake('singin_fb_container', {distance: 10});
				$('signin-loader').setStyle({display: 'none'});
				if(typeof json.redirect != "undefined" && json.redirect){
					window.location=URL_HOST+URL_BASE+json.redirect;
				}
			}
		}
	});
	return false;
}

	function showMore(link) {
		//load_gmaps();
		//$('map').show();
		link.hide();
		$('default_location').hide();
		Effect.SlideDown('more_infos');
		//$('more_infos').show();
		
		
		return false;
	}
	
	function checkPostForm() {
		return $F('post_content').length > 10 && $F('post_content').length <= 140;
	}
	
	//http://code.google.com/intl/fr/apis/maps/documentation/services.html#Geocoding
	function showAddress(address) {
		geocoder.getLatLng(
			address,
			function(point) {
				if (!point) {
					alert(address + " not found");
				}
				else {
					map.setCenter(point, 9);
					var marker = new GMarker(point);
					map.addOverlay(marker);
					//marker.openInfoWindowHtml(address);
				}
			});
	}
	
	function showAddresses(address) {
		geocoder.getLocations(address, addAddressToMap);
		function addAddressToMap(response) {
			map.clearOverlays();
			if (!response || response.Status.code != 200) {
				$('location_suggestions').update('?');
			}
			else {
				//$('location_suggestions').update(response.Placemark);
				//alert(response.Placemark.length);
				var sugg = '';
				for (var i in response.Placemark) {
					place = response.Placemark[i];
					point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
					//alert(point +"\n"+ place.AddressDetails.Accuracy);
					marker = new GMarker(point);
					map.addOverlay(marker);
					
					sugg += place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName + '<br />';
					
				}
				$('location_suggestions').update(sugg);
				//marker.openInfoWindowHtml(place.address + '<br>' +'<b>Country code:</b> ' + place.AddressDetails.Country.CountryNameCode);
				
	      }
	    }
	}
	/*
	new Form.Element.DelayedObserver($('post_location'), 1.0, function() {
		if($F('post_location').length > 3) {
			showAddresses($F('post_location') + ', <?php echo $geo->get_country_name() ?>');
		}
	});
	*/
	
	var map = null;
	var geocoder = null;
	function load_gmaps() {
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map"));
			geocoder = new GClientGeocoder();
			
			Event.observe(window, 'unload', GUnload);
			
			//var city = new GLatLng(<?php echo $geo->get_latitude(); ?>, <?php echo $geo->get_longitude(); ?>);
			map.addControl(new GSmallMapControl());
			map.setCenter(city, 9);
			var marker = new GMarker(city, {draggable: true});
    		map.addOverlay(marker);
    		
    		GEvent.addListener(map, "click", function(overlay, latlng) {
				if (latlng) {
					marker.setLatLng(latlng);
					$('map_post_lat').setValue(latlng.lat());
					$('map_post_long').setValue(latlng.lng());
				}
			});
			GEvent.addListener(marker, "dragend", function(latlng) {
				if (latlng) {
					marker.setLatLng(latlng);
					$('map_post_lat').setValue(latlng.lat());
					$('map_post_long').setValue(latlng.lng());
				}
			});
			/*
			<?php if(!empty($last_posts)) {foreach($last_posts as $post) {
				echo 'addMarker(', $post->latitude, ', ', $post->longitude, ', "', $post->content, '");';
			}} ?>
			*/
		}
	}
	
	function addMarker(lat, long, desc) {
		if (GBrowserIsCompatible()) {
			var coords = new GLatLng(lat, long);
			var marker = new GMarker(coords);
			GEvent.addListener(marker, "click", function(overlay, latlng) {
				map.openInfoWindow(coords, 'toto'+desc);
			});
    		map.addOverlay(marker);
		}
	}


// post
function vote(post_id, vote) {
	new Ajax.Request(URL_BASE+'/post/ajax_vote/' + post_id + '/' + vote, {
		method: 'get',
		onSuccess: function(transport) {
			if (transport.responseText.isJSON()) {
				var json = transport.responseText.evalJSON();
				if (json.stat == 'ok') {
					$('vote_feedback').update(json.user_feedback);
					$('vote_feedback').show();
					$('vote0').update(json.vote0);
					$('vote1').update(json.vote1);
					Effect.Shake('vote_feedback', {distance: 10});
				}
				if (json.stat == 'no') {
					$('vote_feedback').update(json.user_feedback);
					$('vote_feedback').show();
					Effect.Shake('vote_feedback', {distance: 10});
				}
				else { // ne doit pas arriver si la vue n'affiche pas le vote pou rqqn ayant deja
					var errors_string = '';
					for (var i=0; i<json.errors.length; i++) { errors_string += json.errors[i]; }
					$('vote_feedback').update(errors_string);
					$('vote_feedback').show();
					Effect.Shake('vote_feedback', {distance: 10});
				}
			}
			else { // ne doit jamais arriver si debug db a FALSE
				$('vote_feedback').update('Internal error, pleaser try again later.');
				$('vote_feedback').show();
			}
		}
	});
	return false;
}


function commentVote(comment_id, vote) {
	new Ajax.Request('/post/ajax_comment_vote/' + comment_id + '/' + vote, {
		method: 'get',
		onSuccess: function(transport) {
			if (transport.responseText.isJSON()) {
				var json = transport.responseText.evalJSON();
				if (json.stat == 'ok') {
					$('cvp'+comment_id).hide();
					$('cvm'+comment_id).hide();
					$('cvf'+comment_id).update(json.user_feedback);
					$('cvf'+comment_id).show();
					Effect.Shake('cvf'+comment_id, {distance: 10});
				}
				else { // ne doit pas arriver si la vue n'affiche pas le vote pou rqqn ayant d�j� vot�
					var errors_string = '';
					for (var i=0; i<json.errors.length; i++) { errors_string += json.errors[i]; }
					$('cvp'+comment_id).hide();
					$('cvm'+comment_id).hide();
					$('cvf'+comment_id).update(errors_string);
					$('cvf'+comment_id).show();
					Effect.Shake('cvf'+comment_id, {distance: 10});
				}
			}
			else { // ne doit jamais arriver si debug db � FALSE
				$('cvp'+comment_id).hide();
				$('cvm'+comment_id).hide();
				$('cvf'+comment_id).update('Internal error, pleaser try again later.');
				$('cvf'+comment_id).show();
			}
		}
	});
	return false;
}

/**
* Ajax Post
* 
*/
function handleSubmitPost(url){
	Element.hide('post_box_fb');
	//if (!$('allfiles').empty()) return false;
	//var value_img=$F('post_picture_0');
	//if(typeof(value_img) != "undefined" && value_img!=""){return false;}
	var post_url=url;
	var options = {
			method : "post",
			encoding : "UTF-8",
			postBody :
				'post_content='+$F('post_content')+'&'+
				//'post_picture_0='+$F('post_picture_0')+'&'+
				'post_location='+$F('post_location')+'&'+
				'post_location_id='+$F('post_location_id')+'&'+
				'country_post='+$F('country_post')+'&'+
				'lx='+$F('lx')+'&'+
				'ly='+$F('ly')+'&'+
				'city_place='+$F('city_place')+'&'+
				'do_post='+$F('do_post'),
        	onException: function (s, e) {/*alert('Exception '+e);*/},
        	onComplete:function(t,json){
    			$('post_box_wait').setStyle({display: 'none'});
    			$('post_news').setStyle({display: 'block'});
            },
        	onSuccess: function(transport) {
            	if (transport.responseText.isJSON()==false){
            		//si la reponse n'est pas du json alors redirigé sur l'accueil
            		//document.location = 'signin_access';
            		window.location = URL_HOST+URL_BASE;
            	}
            	else{   
	            	var json = transport.responseText.evalJSON();         	
	            	$('post_box_fb').removeClassName('fb_success');
	            	$('post_box_fb').removeClassName('fb_error');
	            	Element.show('post_box_fb');
	            	$('do_post').style.display="block" ;
	            	$('post_content').style.height="60px" ;
	            	var errors_string = '';
	            	if (json.stat == 'ok') {
	            		for (var i=0; i<json.errors.length; i++) { errors_string += json.errors[i]; }
	            		$('post_box_fb').update(errors_string);
	            		$('post_box_fb').addClassName('fb_success');
	            		$('post_content').value = '';
	            		//$('post_picture_0').value = '';
	            		refresh_post();
	            		//pagination_lpb(1);
	                }
	            	else {
	            		for (var i=0; i<json.errors.length; i++) { errors_string += json.errors[i]; }
	            		$('post_box_fb').update(errors_string);
	            		$('post_box_fb').addClassName('fb_error');
	                }
            	}
            }
		};

	new Ajax.Request(post_url,options);
}




Element.addMethods("SELECT", (function() {
    function getSelectedOptionHTML(element) {
        if (!(element = $(element))) return;
        var index = element.selectedIndex;
        return index >= 0 ? element.options[index].innerHTML : undefined;
    }

    return {
        getSelectedOptionHTML: getSelectedOptionHTML
    };
})());

//FORM POST MENU CHANGER VILLE
function change_city(){
	if($('change_city').style.display=='none')
		 $('change_city').show();
	else 
		$('change_city').hide();
}
function addlocation(){
	if(!$('street_btn').hasClassName('ok')){
		var elm = document.createElement('input');
		elm.setAttribute('type', 'text');
		elm.setAttribute('id', 'city_place');
		elm.setAttribute('name', 'city_place');
		elm.setAttribute('class', 'postlocation');
		$('street_btn').addClassName('ok');
		$('street_btn').update(elm);
		elm.focus();
		
	}
}

//MENU CATEGORY
	function display_cat(id,ida){
		if($(id).style.display=='none'){
			 //$(id).show();
			 Effect.BlindDown(id, { duration:0.5 });
			 $(id).setStyle({width: ($(ida).getWidth())+'px'});
			 $(ida).addClassName('active');
		}
		else {
			//$(id).hide();
			Effect.BlindUp(id, { duration:0.5 });
			$(ida).removeClassName('active');
		}
	 }

//Show How in 3 steps
	Event.observe(window,'load',function(e){
		if ($('showHow') && $('showHow')!=undefined){
		var x = readCookie('showHow');
		if (x && x=='close') {
			$('showHow').hide(); 
		}
		else{
			Effect.BlindDown('showHow', { duration:0.5 });
		}
	}
	});
	function toggleSteps(){
		Effect.toggle('showHow', 'blind', { duration: 1.0 });
		createCookie('showHow','close',1); 
	 }
	

	function change_version(valeurMobile){
		setCookie("version_mobile", valeurMobile, '365');
		location.reload(true);
	}

	jQuery(document).ready( function($){
		$('.btn').append($('<span />').addClass('helper'));
			
		if (!areCookiesEnabled()){
			$('#activateCookie').show();
		}
	});

		
	
