/*-----------------------------------------------------------------------------------------------*/
//
// Copyright (c) 2008 Agence Clark (http://www.agence-clark.com)
//
/*-----------------------------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------------------------*/
// Init Page
/*-----------------------------------------------------------------------------------------------*/
Event.observe(window, 'load', InitPage, false);
function InitPage(){
	
	
	//-- Envoyer ami --//
	if($('bt_envoyer')) Event.observe($('bt_envoyer'),'click',function(){ OpenClose('bt_envoyer','div_envoyer'); });
	
	if($('aff_resultats')){
		//-- Rollover savoir --//
		$$('#aff_resultats li.savoir').each(
			function(e){
				Event.observe(e, 'mouseover', function(){ e.addClassName('on'); });			 
				Event.observe(e, 'mouseout', function(){ e.removeClassName('on'); });
			}
		);
		
		$$('#aff_resultats .liste .resultat .actions_droite input').each( function(e,i){
			Event.observe(e,'click',function(){ CheckBeforeCompare(e); });
		} ) ;
		
		//-- Comparer --//
		$$('#aff_resultats .resultat .comparer input').each(function(e,i){
			Event.observe(e,'click',function(){ VerifComparer(e); });
		});
		
		
		
		// Nono - C'est juste un lien ;)
		Event.observe($('bt_comparer_haut'),'click',function(){ frmComparerSubmit( $('bt_comparer_haut') ); } );
		Event.observe($('bt_comparer_bas'),'click',function(){ frmComparerSubmit( $('bt_comparer_bas') ); } );
	}
	
	$$('#div_selec_ul .checkbox input').each(function(e,i){
		Event.observe(e,'click',function(){ VerifComparer(e); });
		Event.observe(e,'click',function(){ CheckBeforeCompare(e); });
	});
	
	if($('btn_selection_comparer')) Event.observe($('btn_selection_comparer'),'click',function(){ frmComparerSubmit( $('btn_selection_comparer') ); } );
	/*elementSelection =   document.getElementsByName("comparer_selection");
	alert(elementSelection.length)
	for(var i = 0; i < elementSelection.length; i ++)
	{
		alert(elementSelection[i]);
		Event.observe(elementSelection[i],'click',function(){ VerifComparer(elementSelection[i]); });
		//alert(a + ", " + elementSelection [a]);
	}*/
	
	
	if($('aff_resultats') || $('fiche_camping')){
		//-- Visionneuse --//
		
		
		var Visionneuse;
		$$('#fiche_camping .onglets li.galerie a','#aff_resultats .onglets li.galerie a').each(function(e,i){
			
			if(!e.up().hasClassName('vide')){				
				Event.observe(e, 'click',function(){
					
					InitGoogleMaps(e);							 
					var action_overlay = e.ancestors()[2];
					var div = action_overlay.down('div.galerie');
					//alert(div.list_id + ", "+div.list_html);
					if($(div.el) != undefined) $(div.el).update(div.el_html);
					
					
					if($(div.list_id) != undefined) 
					{
						$(div.list_id).update(div.list_html);
						
						//div.list_id = undefined;
						
						//div.list_id = undefined;
						//div.el = undefined;
						
						/*var al = div.list_ids.split(",");
						for(var i = 0; i < al.length; i++)
						{
							window.console.log(al[i] + ", " +$(al[i]))
							if($(al[i]) == undefined) continue;
							
							//if($(al[i]).done == undefined)
							{
								alert(al[i] + ", " + div.list_id_indice);
								$(al[i]).done = 1;
								Event.observe($(al[i]), 'click', ChangeIndice (div.list_id_indice, i, div.list_ids.length)); 
							}
						}*/
						affVisionneuse(div,e,i);
						
						
					}
					
				});
			}
		});
		
		if($("fiche_camping"))
		{
			Event.observe($("fiche_camping"),'click',function(){
				
				
				
				var e = $("fiche_camping");
							
				var lien = $("div_galerie_205");
				
				var zoom = $("zoom_250");
				
				
				if(lien.getStyle('display')=='block'){
					lien.setStyle({display:'none'});				
					Visionneuse = null;		
				}
				else{
					
					lien.setStyle({display:'block'});
					Visionneuse = new Transition(zoom.id,zoom.firstChild.src);
				}
				
			});		
		}
		
		
		
		
		$$('#fiche_camping .actions_overlay .galerie a.lien','#aff_resultats .actions_overlay .galerie a.lien').each(function(e,i){			
			Event.observe(e,'click',function(){
				
				var div = e.up('div.galerie');
				
				var lien = div.up('.actions').down('li.galerie a');
				lien.removeClassName('on');
				div.setStyle({display:'none'});
				Visionneuse = null;
			});		
		});
		
		/*$$('#fiche_camping .actions_overlay .galerie li a','#aff_resultats .actions_overlay .galerie li a').each(function(e,i){
			
			Event.observe(e,'click',function(){ ChangeIndice(e,8); });
		});*/
		
		//-- Google maps --//
		$$('#fiche_camping .onglets li.localisation a','#aff_resultats .onglets li.localisation a').each(function(e,i){
			Event.observe(e,'click',function(){
				HideGalerie();
				var action_overlay = e.ancestors()[2];
				var div = action_overlay.down('div.localisation');
				var map = div.down('div.map_localisation');
				
				var lien = action_overlay.ancestors()[0].down('ul.onglets li.selection a') ;
				if( lien )
				{
					var savoir_plus = lien.id.split('-') ;
					var proava_idt = savoir_plus[1] ;
					
					// On doit aussi remonter la disponibilit� de produit //
					var parent_div = map.ancestors()[1].id.split('_') ;
					var pro_idt = parent_div[2] ;
				}else proava_idt = 0 ;
				
				InitGoogleMaps(div);
				GestionGoogleMaps(div,map.id,e,proava_idt);
			});
		});
		
		if($("div_localisation_residence"))
		{
			Event.observe($("div_localisation_residence"),'click',function(){
				
				var div = $("div_localisation_map");				
				var map = div.down('div.map_localisation');
				
				var savoir_plus = map.id.split('-') ;
				var proava_idt = savoir_plus[1] ;
				
				InitGoogleMaps(div);
				GestionGoogleMaps(div,map.id,map,proava_idt);
			});
		}
		$$('#fiche_camping .actions_overlay div.localisation a.lien','#aff_resultats .actions_overlay div.localisation a.lien').each(function(e,i){
			Event.observe(e,'click',function(){
				var fathers = e.ancestors();
				var lien = fathers[4].down('li.localisation a');
				fathers[2].setStyle({visibility:'hidden'});
				lien.removeClassName('on');
				GUnload();
			});																								  
		});
	}
	
	if($("lien_nb_selec") && $("lien_nb_selec").innerHTML != "0")
	{
		if($('div_selec').getStyle('display') !='block')
		{
			OpenClose('bt_open_selec','div_selec'); 
		}
	}
}
Event.observe(window, 'unload', ClosePage, false);
function ClosePage(){
	GUnload();
}
/*-----------------------------------------------------------------------------------------------*/
// Fonctions
/*-----------------------------------------------------------------------------------------------*/


function clear_opt()
{
	$("opt_option_set").innerHTML = "";
}
function submit_opt(form, opt_name, value)
{
	if($(opt_name+"_"+value) != null)
	{
		$(opt_name+"_"+value).name="";
		$(opt_name+"_"+value).value="";
	}
	else 
	{
		$("opt_option_set").innerHTML += "<input type='hidden' id='"+opt_name+"_"+value+"' name='"+opt_name+"' value='"+value+"'/>";		
	}
	$(form).submit();
}

//-- HideGalerie --//
var HideGalerie = function(){
	/*$$('#fiche_camping .actions_overlay .galerie','#aff_resultats .actions_overlay .galerie').each(function(e){
		e.hide();
		var a = e.ancestors()[1].down('.onglets').down('.galerie a');
		a.removeClassName('on');
	});*/
};

//-- InitGoogleMaps --//
var InitGoogleMaps = function(div){
	/*$$('#fiche_camping .actions_overlay .localisation','#aff_resultats .actions_overlay .localisation').each(function(div_e,div_i){
		//db(div_e.id);
		if(div != div_e){
			var lien = div_e.up('.actions').down('li.localisation a');
			lien.removeClassName('on');
			div_e.setStyle({visibility:'hidden'});
			GUnload();
		}
	});*/
};

//-- GestionGoogleMaps --//
var GestionGoogleMaps = function(div, map, lien,proava_idt ){
	var id_camping = $(map).id.substr($(map).id.lastIndexOf('_')+1);
	
	if(div.getStyle('visibility') == 'hidden'){		
		div.setStyle({visibility:'visible'});
		//lien.addClassName('on');
		new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=AfficheLocalisation',
		{
			parameters: {'id_camping' : id_camping, 'proava_idt': proava_idt},
			onComplete: function(requester){
				if(requester.responseText != "false"){
					var datas = requester.responseText.split("#");
					InitMapCamping(map, Number(datas[0]), Number(datas[1]), Number(datas[2]), datas[3], datas[4], datas[5], datas[6], datas[7]);
				} else ModalInfo(cl_app_attention, cl_app_insc_nl_err);
			}
		});
	}else{
		div.setStyle({visibility:'hidden'});
		//lien.removeClassName('on');
		GUnload();
	}
};

//-- Google Maps --//
var InitMapCamping = function (MapId, MapZoom, PtLat, PtLng, PtNom, PtAdresse, PtLien, PtVille, PtImage) {
	if (GBrowserIsCompatible()) { 
		// Init Map
		var map = new GMap2($(MapId));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(PtLat,PtLng),MapZoom, G_HYBRID_MAP);
		// Init Point
		var baseIcon = new GIcon();
		baseIcon.iconSize = new GSize(17, 25);
		baseIcon.iconAnchor = new GPoint(0, 0);	
		baseIcon.infoWindowAnchor = new GPoint(5, 27);
		baseIcon.infoShadowAnchor = new GPoint(0, 0);

		function createMarker(point, msgHtml) {
			var iconPerso = new GIcon(baseIcon);
			iconPerso.image = site_url + "images/commun/fav_gmaps.gif";
		
			// Set up our GMarkerOptions object
			markerOptions = { icon:iconPerso };
			var marker = new GMarker(point, markerOptions);
		
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml(msgHtml);
			});
			return marker;
		}
		// Init Infobulle
		var latlng = new GLatLng(PtLat, PtLng);
		var tmp = '<div class="gmaps_toocamp" style="font-size:12px;color:#414141;">';
		tmp += '<h1 style="font-size:12px;font-weight:bold;">'+cl_app_adresse+' : <a href="'+PtLien+'" target="_blank"><strong style="color:#ff7500;">'+PtNom+' - '+PtVille+'</strong></a></h1>';
		tmp += '<div><p style="padding:5px 0 10px 0;text-align:left;">'+PtAdresse+'</p></div>';
		if(PtImage != '') tmp += '<div style="padding:0 0 10px 0;text-align:center;"><img src="'+PtImage+'" alt="" height="87" width="114" /></div>';
		tmp += '<div style="text-align:center;padding-bottom: 10px;"><a href="'+PtLien+'" target="_blank"><img src="' + site_url + 'images/'+cl_app_var_langue+'/bt_savoir_google.gif" alt="" /></a></div><div class="breaker"></div></div>';
		map.addOverlay(createMarker(latlng, tmp));
	}
};

//-- Initialisation Visionneuse --//
var InitVisionneuse = function(div){
	$$('#fiche_camping .actions_overlay .galerie','#aff_resultats .actions_overlay .galerie').each(function(div_e,div_i){
		if(div != div_e){
			var lien = div_e.up('.actions').down('li.galerie a');
			lien.removeClassName('on');
			div_e.setStyle({display:'none'});
			Visionneuse = null;
		}
	});
};

//-- Affichage Visionneuse --//
var affVisionneuse = function(div,a_e,a_i){
	var zoom = div.down('.cont_zoom')
	
	InitVisionneuse(div);
	if($(a_e).hasClassName('on') && $(div).getStyle('display')=='block'){
		div.setStyle({display:'none'});
		$(a_e).removeClassName('on');
		Visionneuse = null;		
	}
	else{
		$(a_e).addClassName('on');
		div.setStyle({display:'block'});
		Visionneuse = new Transition(zoom.id,zoom.firstChild.src);
	}
};

//-- Changer Indice --//
var ChangeIndice= function (id, i, nb_visuel)
{
	//alert("ChangeIndice: " + id +"," + i +","+ nb_visuel)
	if($(id))
		$(id).innerHTML = (i)+'/'+nb_visuel;
}
/*var ChangeIndice = function(a, ancestor){
	var fathers = a.ancestors();
	var aff_res = fathers[3].down('.gauche strong');
	var rech = $$('#'+fathers[4].id+' .droite li a')
	var nb_visuel = rech.size();
	rech.each(function(e,i){ if(e == a) aff_res.update((i+1)+'/'+nb_visuel); });
	
	//alert((i+1)+'/'+nb_visuel);
	
};*/

//-- Verification Comparer --//
var VerifComparer = function(input){
	
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=CheckSelectionCount' ,
		{
			parameters: { },
			onComplete: function(http){
				var nbCheck = parseInt( http.responseText );
				if(nbCheck>4){
					input.checked = false;
					ModalInfo(cl_app_attention, cl_app_comp_trop_err);
				}
			}
		}
	);
};

/*-----------------------------------------------------------------------------------------------*/
// Verification de formulaires
/*-----------------------------------------------------------------------------------------------*/
var frmComparerSubmit = function( element ){
	var nbCheck = 0;
	
	new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=CheckSelectionCount' ,
		{
			parameters: { ref: document.location },
			onComplete: function(http){
				var nbCheck = parseInt( http.responseText );
				
				if(nbCheck<2) ModalInfo (cl_app_attention, cl_app_comp_peu_err);
				else $('frm_comparer').submit();
			}
		}
	);
};

//-- Envoyer a un ami --// //AA : le 13/10/08
var frmEnvoyerAmi = function(){
	param_form = { mep: 'msg_champ', autoScroll: false, action: 'submit'};
	champs_form = {
		envoyer_nom: {alerte:cl_app_frm_nom},
		envoyer_email: {type:'mel', alerte:cl_app_frm_email},
		envoyer_email_ami: {type:'mel', alerte:cl_app_frm_email_ami}
	};
	//return formVerif('frm_envoyer_ami', champs_form, param_form);
	if(formVerif('frm_envoyer_ami', champs_form, param_form)){	
		// Envoi de la requ�te ajax.
		new Ajax.Request( site_url + 'plugins/common/_ajax.php?ACT=SendFriend' ,
			{
				parameters: Form.serialize($('frm_envoyer_ami')),
				onComplete: function(http){
					var msg = http.responseText;
					//console.log("#"+msg+"#");
					if (msg == 'ok') $('envoyer_ami_confirmation').style.display = '';						
				}
			}
		);
	}
	return false;
};