/**
 * @copyright Copyright 2008 WnG Solutions Sàrl, all rights reserved
 * @author Daniel Calderini <daniel [dot] calderini [at] wng [dot] ch>
 * @package Site wurlod.ch
 *
 * @filename functions.js
 * @version 1.0.0
 * @date 2009-05-26
 */

/**
 * Fonctions générales
 */

/**
 * Ajoute les événements nécessaires au fonctionnement du menu déroulant
 *
 * @param string id Identifiant du menu à afficher/cacher
 * @return void
 */
function addShowMenuEvent(id) {
	$('#menuMain_' + id + ' a.menuMain').addClass('noCursor');
	$('#menuMain_' + id + ' a.menuMain').attr('onclick', 'return false;');
	$('#menuMain_' + id).hover(
		function() {
			$('#menuSub_' + id).fadeIn('def');
		}, 
		function() {
			$('#menuSub_' + id).fadeOut('fast');
		}
	);
}

/**
 *
 */
function addHoverSubMenuEvent(id) {
	
}

/**
 * Ajoute un effet de hover aux miniatures de la galerie des réalisations
 *
 * @param string imgClass
 * @return void
 */
function addGalleryHoverEvent(imgClass) {
	$('.' + imgClass).hover(
		function() {
			$('.' + imgClass).fadeTo('fast', 0.7);
		},
		function() {
			$('.' + imgClass).fadeTo('fast', 1);
		}
	);
}

/**
 * Action à exécuter lorsque le focus est donné à un champ de formulaire
 *
 * @param res field Resource du champ
 * @param string origValue Valeur d'origine du champ
 * @return void
 */
function formFieldFocus(field, origValue) {
	if (field.value == origValue)
		field.value = '';
}

/**
 * Action à exécuter lorsque le focus est repris d'un champ de formulaire
 *
 * @param res field Resource du champ
 * @param string origValue Valeur d'origine du champ
 * @return void
 */
function formFieldBlur(field, origValue) {
	if (field.value == '')
		field.value = origValue;
}

/**
 * Génère l'affichage d'une carte Google
 *
 * @param string mapId Identifant du bloc HTML dans lequel sera affiché la carte
 * @param string mapInfoContent Contenu de l'info-bulle qui sera affichée aux coordonnées mapLatLng
 * @param LatLng mapLatLng Coordonnées du point à afficher sur la carte
 * @param LatLng mapCenter Coordonnées du point central de la carte
 * @return void
 * @see http://code.google.com/apis/maps/documentation/index.html
 */
function initializeGGMap(mapId, mapInfoContent, mapLatLng, mapCenter) {
	if (GBrowserIsCompatible()) {
		// Création de la carte
		var map = new google.maps.Map2(document.getElementById(mapId));
		map.setCenter(mapCenter, 14);
		
		// Ajout du point
		var marker = new GMarker(mapLatLng);
		marker.value = 1;
		GEvent.addListener(marker, 'click', function() {
			map.openInfoWindowHtml(mapLatLng, mapInfoContent);
		});
		
		// Ajout des contrôleurs
		map.addControl(new GLargeMapControl3D());
		map.addControl(new GMapTypeControl());
		
		map.addOverlay(marker);
		map.openInfoWindowHtml(mapLatLng, mapInfoContent);
	}
}