
addListenner(window, "load", addNewAdEvents, true);

function addNewAdEvents()
{
    
    refreshEvents();
    
} // end of "addNewAdEvents()"




function refreshEvents()
{
    /**
     * 'universSelect', 'getHeadings', 'headingSelect'
     * 
     * - id html / évènement déclencheur
     * - routine php fournissant les données
     * - action js (prend en paramètre les données) / id élément à modifier
     * - permettre de cascader plusieurs fonctions / éléments à modifier
     * 
     */
    
    registerAjaxEvent('BSU_id', 'change', 'getHeadings', 
                      function(oData) { 
    						
                            updateSelect('BIRU_id', oData['data']);
                            
                            updateContactLink();
                            
                            //updateFieldState('BIMA_id', false, true);
                            //updateFieldState('BIGA_id', false, true);
                            updateFieldState('newAdDynamicFields', false, false);
                            updateFieldState('newAdSubCategory', false, false);
                      });
    
    
    registerAjaxEvent('BSU_id', 'change', 'getAdTypes', 
                      function(oData) { 
                          var sFieldModelId = 'radioTemplate';
                          if (oData['data']['multiple'] && oData['data']['multiple'] == 1) {
                              oData['data']['multiple'] = null;
                              sFieldModelId = 'checkboxTemplate';
                          }
                          createFromTemplate('newAdState', oData['data'], sFieldModelId, 'adType');
                          updateFieldState('newAdState', !isEmpty(oData['data']), false);
                      });
    
    
    registerAjaxEvent('BSU_id', 'change', 'getBrands', 
                      function(oData) {
                            updateSelect('BIMA_id', oData['data']);
                            updateFieldState('BIMA_id', !isEmpty(oData['data']), true);
                            updateFieldState('BIGA_id', false, true);
                      });
    
    
    registerAjaxEvent('BIRU_id', 'change', 'getBrands', 
                      function(oData) {
    						updateContactLink();
						    var suniverse = document.getElementById('BSU_id');
						    if (suniverse) {
						    	suniverse = suniverse.options[suniverse.selectedIndex].value;
						    } else {
						    	suniverse = 0;
						    }
						    if (suniverse >= 3 && suniverse <= 8  && isEmpty(oData['data'])) {
						    	return false;
						    }
                            updateSelect('BIMA_id', oData['data']);
                            updateFieldState('BIMA_id', !isEmpty(oData['data']), true);
                            updateContactLink();
                      });
    
    
    registerAjaxEvent('BIRU_id', 'change', 'getSubHeadings', 
                      function(oData) { 
    						createFromTemplate('newAdSubCategory', oData['data'], 'checkboxTemplate', 'subHeadingCB');
    						updateFieldState('newAdSubCategory', !isEmpty(oData['data']), false);
    				  });
    
    
    registerAjaxEvent('BIRU_id', 'change', 'getEquipments',
                      function(oData) { 
                                        createFields('newAdDynamicFields', oData['data']);
                                        updateFieldState('newAdDynamicFields', !isEmpty(oData['data']['equipment']), false);
                                      });
    
    
    registerAjaxEvent('BIMA_id', 'change', 'getBrandRanges',
                      function(oData) { 
                                        updateSelect('BIGA_id', oData['data']); 
                                        updateFieldState('BIGA_id', !isEmpty(oData['data']), true);
                                        updateContactLink();
                                      },
                      function () {
                                    	  var su = document.getElementById('BSU_id');
                                    	  if (!su) {
                                    		  return false;
                                    	  }
										  var data = {};
										  data['BSU_id'] = su.options[su.selectedIndex].value;
										  return data;
                                      }
    				  );
    
    
    registerAjaxEvent('PFC_id', 'change', 'getAjaxTotal',
                      function(oData) { updateAdPrice(oData['data']);},
                      getAdPriceInfos);
    
    
    /*registerAjaxEvent('paperOptions', 'mousedown', 'getAjaxTotal',
            function(oData) { 
                              //createFields('newAdDynamicFields', oData['data']);
                              //updateFieldState('newAdDynamicFields', true, false);
                            }, getAdPriceInfos);*/
    
    
    var oOptions = document.getElementById('paperOptions');
    if (oOptions) {
        oOptions = oOptions.getElementsByTagName('input');
        if (oOptions) {
            for (var i=0; i < oOptions.length; i++) {
                registerAjaxEvent(oOptions[i].id, 'click', 'getAjaxTotal',
                                  function(oData) { updateAdPrice(oData['data']);},
                                  getAdPriceInfos);
            }
        }
    }
    
    if (document.getElementById('myPaperAdPrice')) {
	    registerAjaxEvent('AN_detail_abrege', 'keyup', 'getAjaxTotal',
	                      function(oData) { updateAdPrice(oData['data']);},
	                      getAdPriceInfos, true);
    }
    
    //previewPhoto
    var optionPhoto = document.getElementById('options-5');
    if (optionPhoto) {
    	optionPhoto.onchange = function() {
    		var previewPhoto = document.getElementById('previewPhoto');
    		if (!previewPhoto) {
    			return false;
    		}
    		if (this.checked) {
    			removeClass(previewPhoto, 'hidden');
    		} else {
    			addClass(previewPhoto, 'hidden');
    		}
    	};
    }
    
    var oObserved = document.getElementById('AN_detail_abrege');
    if (oObserved) {
        oObserved.onkeyup = function(e) {
        						var preview = document.getElementById('previewPaperText');
        						if (preview) {
        							preview.innerHTML = this.value;
        						}
                                var limitChar = document.getElementById('maxChar');
                                var limitNewLine = document.getElementById('maxNewLine');
                                var limitCharPerLine = document.getElementById('charPerLine');
                                if (limitChar) {
                                    limitChar = limitChar.innerHTML;
                                } else {
                                    limitChar = 0;
                                }
                                if (limitNewLine) {
                                    limitNewLine = limitNewLine.innerHTML;
                                } else {
                                    limitNewLine = 0;
                                }
                                if (limitCharPerLine) {
                                    limitCharPerLine = limitCharPerLine.innerHTML;
                                } else {
                                    limitCharPerLine = 0;
                                }
                                registerLimitObserver('charsLeft', 'AN_detail_abrege', limitChar, limitNewLine, limitCharPerLine);
                            } // end of "oObserved.onchange"
        //oObserved.onkeyup();
    }

}


/**
 * Met à jour les liens "contact" de demande d'ajout de marque ou gamme
 * 
 */
function updateContactLink()
{
	var subUniverseId = 0;
	var headingId = 0;
	var brandId = 0;
	
	var field = document.getElementById('BSU_id');
	if (field && field.selectedIndex) {
		subUniverseId = field.options[field.selectedIndex].value;
	}
	
	var field = document.getElementById('BIRU_id');
	if (field && field.selectedIndex) {
		headingId = field.options[field.selectedIndex].value;
	}
	
	var field = document.getElementById('BIMA_id');
	if (field && field.selectedIndex) {
		brandId = field.options[field.selectedIndex].value;
	}
	
	var href = '?sousunivers=' + subUniverseId;
	if (headingId > 0) {
		href += '&rubrique=' + headingId;
	}
	if (brandId > 0) {
		href += '&marque=' + brandId;
	}
	href += '&demande=';
	
	var link = document.getElementById('createBrandLink');
	if (link) {
		href = link.href.split('?')[0] + href;
		link.href = href + 'marque';
	}
	var link = document.getElementById('createRangeLink');
	if (link) {
		link.href = href + 'gamme';
	}
} // end of "updateContactLink()" function








