/**
 * SHADOWBOX
 */
Shadowbox.init();

var $j = jQuery.noConflict();

/**
 * LAUNCH ADVERTISEMENT SHADOWBOX
 */
window.onload = function() {
	if (openIframe && $j('#advertisement a[rel^=shadowbox]').length == 1) {
		var iframeLink 		= $j('#advertisement a[rel^=shadowbox]');
		var iframeURL 		= iframeLink.attr('href');
		
		var regExpWidth 	= /.*width=(\d+).*/;
		var regExpHeight 	= /.*height=(\d+).*/;
		
		var iframeWidth 	= regExpWidth.exec(String(iframeLink.attr('rel')))[1];
		var iframeHeight 	= regExpHeight.exec(String(iframeLink.attr('rel')))[1];
		
		Shadowbox.open({
			content:    iframeURL,
			player:     'iframe',
			width:      iframeWidth,
			height:     iframeHeight
		});
	}
};
/**/

$j(document).ready(function(){
	/**
	 * MENU DEROULANT
	 */
	$j('ul.sf-menu').superfish({
    	delay:       400,                           
    	animation:   {opacity:'show',height:'show',width:'show'},
		speed:       'fast',
		autoArrows:  false,
		dropShadows: false
    });
	
	/**
	 * REALISATIONS
	 */
	var realisationsSlider = $j('div.box_photo_realisations_fiche div.box_silder div.box_silder_content');
	if (realisationsSlider.length == 1) {
		/**
		 * CYCLE
		 */
		realisationsSlider.cycle({
			fx: 		'scrollVert',
			timeout: 	0,
			next:   	'#next',
			prev:   	'#previous',
			rev: 		true,
			nowrap: 	1
		});
		
		/**
		 * BIG IMAGE
		 */
		var bigImage = $j('div.box_photo_realisation_principale img');
		realisationsSlider.find('img').click(function(){
			var imageAlt 		= $j(this).attr('alt');
			var imageTitle 		= $j(this).attr('title');
			
			var imagePath 		= $j(this).attr('src');
			var imageName 		= imagePath.substring(imagePath.lastIndexOf('/'), imagePath.length);
			
			var bigImagePath 	= bigImage.attr('src');
			var bigImageDir 	= bigImagePath.substring(0, bigImagePath.lastIndexOf('/'));
			
			bigImage.attr('src', bigImageDir + imageName);
			bigImage.attr('alt', imageAlt);
			bigImage.attr('title', imageTitle);
		});
	}
	
	/**
	 * ACCORDEONS
	 */
	 $j(".accordion" ).accordion({
		header: '.accordionToggle',
		active:$j('.accordionToggleSelected'),
		fillSpace: false, 
		autoheight: false
	});
	
	/**
	 * INIT FORMULAIRE DE RECRUTEMENT
	 */
	initFormRecrutement();
		
	/**
	 * VIDAGE AUTOMATIQUE SUR FOCUS
	 */
	$j('.deleteDefaultValueOnFocus').deleteDefaultValueOnFocus();
		
	/**
	 * INIT SHOWROOM CYCLE
	 */
	var showroomSlider = $j('#showroom_slider');
	if (showroomSlider.length == 1) {
		showroomSlider.cycle({
			fx: 		'scrollHorz',
			timeout: 	0,
			next:   	'#next',
			prev:   	'#previous',
			nowrap: 	1
		});
	}
	
	/**
	 * INIT MAISONS-TERRAINS HOME CYCLE
	 */
	var maisonsTerrainsSlider = $j('#maisons_terrains_slider');
	if (maisonsTerrainsSlider.length == 1) {
		maisonsTerrainsSlider.cycle({
			fx: 		'scrollHorz',
			timeout: 	5000
		});
	}
	
	/**
	 * Sauvegarde des recherche utilisateur
	 */
	$j('.formSaveUserSearch').submit(function(){
		addToUserSearch(this);
	});
	
	/**
	 * LOAD MAISONS TERRAINS SELECTION
	 */
	if ($j('#selection').length == 1) {
		$j.get(urlScriptGetSelection, {
			type: selectionType
		}, function(data){
			$j('#selection')
				.show()
				.html(data);
		});
	}
	
	/**
	 * UNSELECT MAISONS TERRAINS
	 */
	$j('img.btn_sup_panier').live('click', function(){
		var domId = $j(this).attr('id');
		domId = domId.split('_');
		updateSelectionMaisonTerrain(domId[0], domId[1]);
		
		$j('#checkbox_' + domId[1]).attr('checked', '');
	});
});

/**
 * ADD THIS
 */
window.addEvent("domready", function(){
	if($$('div .addthis_toolbox').length){
		addthis.init();
	}
});

/**
 * FORMULAIRE DE RECRUTEMENT
 */
function initFormRecrutement(){
	if($j('.formRecrutement').length>0){
		 
		/**
		 * Activation / Desactivation du champ autre poste
		 */
		$j('.formRecrutement select[name=recrutement_postulant_poste]').change(function(){
			if($j(this).val() == -1){
				$j('.formRecrutement .recrutementBlocPosteAutre').show();
				$j('.formRecrutement input[name=recrutement_postulant_poste_autre]').val('');
			}else{
				$j('.formRecrutement .recrutementBlocPosteAutre').hide();
			}
		});		
	}
}

/**
 * FORMULAIRE DE RECHERCHE DE TERRAINS
 */
function control_form_search_maisons_terrains_fields(){
	if($j('#form_search_maisons_terrains #budget_max').val() == 'Maxi'){
		$j('#form_search_maisons_terrains #budget_max').val('');
	}
	if($j('#form_search_maisons_terrains #budget_min').val() == 'Mini'){
		$j('#form_search_maisons_terrains #budget_min').val('');
	}
	
	return true;
}

/**
 * FORMULAIRE DE NEWSLETTER "Template"
 */
function control_form_common_newsletter_fields(){
	if($j('#common_form_newsletter #newsletter_email').val() == 'Inscrivez-vous à notre newsletter !'){
		$j('#common_form_newsletter #newsletter_email').val('');
	}
}

/**
 * AJOUTER OBJET AUX SELECTIONS UTILISATEUR
 */
function addToUserSelection(objectId, type){
	
	Shadowbox.options.displayNav = false;
	
	Shadowbox.open({		
        content:    urlScriptUserSelection + '&oid=' + objectId + '&type=' + type,
        player:     "iframe",
        width:      710,
		height:     257
    });	
}

/**
 * SUPPRIMER OBJET DES SELECTIONS UTILISATEUR
 */
function delUserSelection(userSelectionId){
	
	$j.ajax({
		url: urlScriptUserSelection,
		data: {'ac':'del', 'usid':userSelectionId},
		success: function(data){
		  document.location.reload();
		}
	});
}

/**
 * AJOUTER RECHECHE UTILISATEUR
 */
 function addToUserSearch(form){
	
	/**
	 * serialisation des parramètres pour passage dans l'url
	 */
	var data 	= $j(form).serialize();
	/*var urlArgs = '';
	for (var key in data){
		urlArgs += '&' + key + '=' + data[key];
	}*/
	
	Shadowbox.options.displayNav = false;
	//console.log(urlScriptUserSearch + data);
	Shadowbox.open({
        content:    urlScriptUserSearch + data,
        player:     "iframe",
        width:      710,
		height:     257
    });	
}
 
 /**
 * SUPPRIMER RECHECHE UTILISATEUR
 */
function delUserSearch(userSearchId){
	
	$j.ajax({
		url: urlScriptUserSearch,
		data: {'ac':'del', 'usid':userSearchId},
		success: function(data){
		  document.location.reload();
		}
	});
}

/**
 * SELECTION POUR CONTACT MAISON / TERRAIN
 */
function updateSelectionMaisonTerrain(type, objectId){
	$j.post(urlScriptSelectionMaisonTerrain, {
		type: 	type,
		itm: 	objectId
	}, function(data){
		if (data.nb_selections > 0){
			$j('#valider_selection_nb_selections').show();
			$j('#valider_selection').show();
			$j('#nb_selections').html(data.nb_selections);
		} else {
			$j('#valider_selection_nb_selections').hide();
			$j('#valider_selection').hide();
			$j('#valider_selection_form').hide();
			$j('#nb_selections').html('0');
		}
		
		$j.get(urlScriptGetSelection, {
			type: type
		}, function(data){
			$j('#selection')
				.show()
				.html(data);
		});
	}, 'json');
}

function show_form_selection(){
	$j('#container_form_selection').show();
	$j('#valider_selection_form').show();
}

function show_form_rdv_porte_ouverte(){
	$j('#container_rdv_porte_ouverte').show();
}
	
function openGoogleMapPointLocalisation(objectId, type, context){
	var url_googlemap = urlScriptPopupGooglemap + '&oid=' + objectId + '&type=' + type;
	
	if (context){
		url_googlemap += '&context=' + context;
	}
	
	Shadowbox.open({
        content:    url_googlemap,
        player:     "iframe",
        width:      900,
		height:     475
    });
}

/**
 * FORM CHECK UTILS
 */
function form_del_error(object){
	if (object){
		object.style.borderColor = 'none';
		if ($(object.id+'_error_message')){
			$(object.id+'_error_message').style.display = 'none';
		}
		if ($(object.id+'_error_picto')){
			$(object.id+'_error_picto').style.display = 'none';
		}
	}
}

function form_del_error_div(object){
	if ($(object+'_error_message')){
		$(object+'_error_message').style.display = 'none';
	}
}

function form_del_error_tab(tab_object_id){
	for (i=0; i<tab_object_id.length; i++){
		object = $(tab_object_id[i]);
	
		if (object){
			if ($(object+'_error_message')){
				$(object+'_error_message').style.display = 'none';
			}
			if ($(object+'_error_picto')){
				$(object+'_error_picto').style.display = 'none';
			}
			$(object).style.borderColor = 'none';
		}
	}
}

function prepareCheckFieldForm(f){	
	var checkBoxElements 	= [];
	var radioElements 		= [];
	
	for(i=0;i<f.elements.length;i++){
		if(f.elements[i].type == 'radio'){
			elemFound = false;
			elemFoundNum = null;
			for(j=0;j<radioElements.length;j++){
				if(f.elements[i].name == radioElements[j][0]){
					elemFound = true;
					elemFoundNum = j;
				}
			}
			if(elemFound){
				if (f.elements[i].checked){
					radioElements[elemFoundNum][1] = true;
				}
			} else {
				radioElements.push(new Array(f.elements[i].name,f.elements[i].checked));
			}
		}
		if(f.elements[i].type == 'checkbox'){
			elemFound = false;
			elemFoundNum = null;
			for(j=0;j<checkBoxElements.length;j++){
				if(f.elements[i].name == checkBoxElements[j][0]){
					elemFound = true;
					elemFoundNum = j;
				}
			}
			if(elemFound){
				if (f.elements[i].checked){
					checkBoxElements[elemFoundNum][1] = true;
				}
			} else {
				checkBoxElements.push(new Array(f.elements[i].name,f.elements[i].checked));
			}
		}
	}
	
	for(i=0;i<radioElements.length;i++){
		if (radioElements[i][1] == false){
			createHiddenFieldInputValue1(f, radioElements[i][0]);
		}
	}
	
	for(i=0;i<checkBoxElements.length;i++){
		if (checkBoxElements[i][1] == false){
			createHiddenFieldInputValue1(f, checkBoxElements[i][0]);
		}
	}
}

function createHiddenFieldInputValue1(form, name){
	var hidden_input_field = document.createElement('input');
	hidden_input_field.type = 'hidden';
	hidden_input_field.name = name+'_novalue';
	hidden_input_field.value = 1;	
	form.appendChild(hidden_input_field);
}

/* Creation d'accordeon attend 4 paramètres 
	toggleClassName		:	 Nom de class des toggle à instancier
	elementClassName	:	 Nom de class des element associés aux toggles
	imgPucePlus		:	Chemin complet de la puce plus à attribuer
	imgPuceMoins		:	Chemin complet de la puce moins à attribuer
*/
function creatAccordion(toggleClassName, elementClassName, numElementToOpen, imgPucePlus, imgPuceMoins){
	objAccordion = new Accordion($$(toggleClassName), $$(elementClassName), {
		alwaysHide: false,
		display: numElementToOpen,
		alwaysHide: true,
		onActive: function(toggle, element){
			//On vérifie que l'état de l'élément pour l'ouvrir ou le fermer
			if(toggle.hasClass('open')){
				toggle.removeClass('open');
				// Changement de la puce ouverture fermeture avec un effet
				if(toggle.getElement('img') && imgPucePlus){
					toggle.getElement('img').src = imgPucePlus;
				}
			}else{
				toggle.addClass('open');
				// Changement de la puce ouverture fermeture avec un effet
				if(toggle.getElement('img') && imgPuceMoins){
					toggle.getElement('img').src = imgPuceMoins;
				}
			}
		},
		onBackground: function(toggle, element){
			toggle.removeClass('open');
			//Changement de la puce ouverture fermeture avec un effet								
			if(toggle.getElement('img') && imgPucePlus){
				toggle.getElement('img').src = imgPucePlus;
			}
		}
	});
	return objAccordion;
}


/**
 * DW
 */
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

