/************************************************************************** ** Nom du fichier : layer.js ** Créé le : 04/05/07 Par : JERRY ** Contenu : Fichier des fonctions javascripts ** ** ** Modifications : ** numéro : auteur : date : ** objet : le : ** ***************************************************************************/ /********* AJAX **************/ var xhr = null; function getXhr_arc(){ if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } } /******************************/ function verifdivaffiche(){ idlegtype = $('legType').value; if(idlegtype != '')$(idlegtype).style.display = "block"; else $('singleSymbol').style.display = "block" } function TabClick_arc(nTab,paramurl){ showDiv_arc('singleSymbol', 'none'); showDiv_arc('graduateColor', 'none'); showDiv_arc('graduateSymbol', 'none'); showDiv_arc('singleValue', 'none'); showDiv_arc('diagram', 'none'); showDiv_arc(nTab, 'block'); parURL = paramurl+'ajax_arc.inc.php'; param = 'action=selectLegendType&value='+nTab; ajaxSend_arc(parURL,param); switch(nTab){ case 'singleSymbol': creatSymbol('symbunik','',paramurl); break; } } function ajaxSend_arc(parurl,param){ getXhr_arc(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ var reponse = new Array(); str = xhr.responseText ; str = str.replace(/[\n\r\t]/g,'') ; //alert(str); if(str != ''){ $('divWait_arc').style.display = 'none'; stravant = str.split("$$$$"); if(stravant.length == 2){ $(stravant[1]).innerHTML = "" ; $(stravant[1]).innerHTML = stravant[0]; }else if(stravant.length == 1){ reponse = stravant[0].split("££"); if(reponse.length == 2){ if(reponse[0] != '' && reponse[1] != ''){ idContainer = reponse[0]; sContent = reponse[1]; $(idContainer).innerHTML = sContent; } }else{ if(reponse[0] != '' && reponse[1] != '' && reponse[2] != '' && reponse[3] != ''){ $(reponse[0]).innerHTML = reponse[1]; $(reponse[2]).innerHTML = reponse[3]; } } } } } } xhr.open("POST",parurl,true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send(param); } function showDiv_arc(nomDiv, mode){ if(cibleClass = $(nomDiv)) { cibleClass.style.display = mode ; } } function creatSymbol(param,field,paramurl){ layernom = $('layerIndexModif').value; if(param == 'valunik'){ parURL = paramurl+'ajax_arc.inc.php'; paramx = 'layernom='+layernom+'&field='+field+'&group='+param; if(field == 'Aucun'){ $('unikfieldSymb').innerHTML = ""; alert('vous deviez choisir un champ pour la classification'); return; } }else if(param == 'symbunik'){ parURL = paramurl+'ajax_arc.inc.php'; paramx = 'layernom='+layernom+'&group='+param; }else if(param == 'symbGrad'){ parURL = paramurl+'ajax_arc.inc.php'; paramx = 'layernom='+layernom+'&field='+field+'&group='+param; methode = $('methodeHidden').value; nombreClass = $('nombreClassSaisieHidden').value; gradCol = $('gradColHidden').value; symbol = $('symbSymbolhidden').value; paramx += '&methode='+methode+'&nombreClass='+nombreClass+'&gradCol='+gradCol+'&symbol='+symbol; if(field == 'Aucun'){ $('symbcontenu').innerHTML = ""; alert('vous deviez choisir un champ pour la classification'); return; } }else if(param == 'colorgrad'){ parURL = paramurl+'ajax_arc.inc.php'; paramx = 'layernom='+layernom+'&field='+field+'&group='+param; methode = $('methodeHidden').value; nombreClass = $('nombreClassSaisieHidden').value; gradCol = $('gradColHidden').value; paramx += '&methode='+methode+'&nombreClass='+nombreClass+'&gradCol='+gradCol; if(field == 'Aucun'){ $('gradColorDispl').innerHTML = ""; alert('vous deviez choisir un champ pour la classification'); return; } } paramx += '&action=creatsymbol'; $('divWait_arc').style.display = 'block'; //alert(paramx); ajaxSend_arc(parURL,paramx); } function transfertCode(param1,param2){ r=$('rval').value; g=$('gval').value; b=$('bval').value; $(param1).style.backgroundColor = "rgb("+r+","+g+","+b+")"; $(param2).value = r+" "+g+" "+b; } function openClassif(slayerIndex,idLegType,idField,paramurl){ parURL = paramurl+'classifForm.php?layerIndex='+slayerIndex; var sLegType = $(idLegType).value; switch(sLegType){ case 'graduateColor': var sMethode = $('methodeHidden').value; var nbClass = $('nombreClassSaisieHidden').value; var sColor = $('gradColHidden').value; var sField = $(idField).value; parURL += '&value='+sLegType+'&field='+sField+'&methode='+sMethode+'&nombreClass='+nbClass+'&gradCol='+sColor; break; case 'graduateSymbol': var sMethode = $('methodeHidden').value; var nbClass = $('nombreClassSaisieHidden').value; var sColor = $('gradColHidden').value; var sField = $(idField).value; parURL += '&value='+sLegType+'&field='+sField+'&methode='+sMethode+'&nombreClass='+nbClass+'&gradCol='+sColor; break; default: break; } openCadre_arc('cadre_classif','Gestion du classification des classes',220,315,220,200,parURL) } function verifyKeyPressInt(e){ // Détéction des navigateurs var strUserAgent = navigator.userAgent.toLowerCase(); var isIE = strUserAgent.indexOf("msie") > -1; var isNS6 = strUserAgent.indexOf("netscape6") > -1; var isNS4 = !isIE && !isNS6 && parseFloat(navigator.appVersion) < 5; if (isIE) { iKeyCode = e.keyCode; } else { iKeyCode = e.which; } //alert(iKeyCode); if (((iKeyCode >= 48) && (iKeyCode <=57)) || (iKeyCode == 40) || (iKeyCode == 41) || (iKeyCode == 32) || (iKeyCode == 8) || (iKeyCode == 0)){ if (isIE){ e.returnValue = true; } else{ return true; } } else{ if (isIE){ e.returnValue = false; } else{ return false; } } } function avantcreatclassif(field,iddest,paramurl){ $('methodeHidden').value = $('methode').value; $('nombreClassSaisieHidden').value = $('nombreClass').value; $('gradColHidden').value = $('gradCol').value; if(iddest == 'graduateSymbol') $('symbSymbolhidden').value = $('symbSymbol').value; fermer_arc('cadre_classif'); if(field != 'Aucun'){ if(iddest == 'graduateColor')creatSymbol('colorgrad',field,paramurl); else if(iddest == 'graduateSymbol')creatSymbol('symbGrad',field,paramurl); } } function postVal(classcur,parValue, parDiv){ cibleRemplisage= $(parDiv) ; cibleRemplisage.value = parValue ; if (classcur != '')$('idfond').className = classcur; } function fermer_arc(cadreid) { Windows.getWindow(cadreid).close(); } function checkallbox(div,tag,val){ listSelect = $(div).getElementsByTagName('input'); if($(val).checked == false){ for(iSel = 0; iSel < (listSelect.length); iSel++){ if(listSelect[iSel].getAttribute(tag,false) == "oka") { listSelect[iSel].checked=false; } } }else{ for(iSel = 0; iSel < (listSelect.length); iSel++){ if(listSelect[iSel].getAttribute(tag,false) == "oka") { listSelect[iSel].checked=true; } } } } function createNewClass_Arc(urlcompl) { var cont = parseInt($('comptage').value); if(cont < 4){ $('comptage').value = cont+1; strblock1 = " "; strblock1 += " "; strblock1 += "
"; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += " "; strblock1 += "
"; strblock1 += "
"; strblock2 = " "; strblock2 += " "; strblock3 = " "; strblock4 = " "; var tmpTr = document.createElement('tr'); var tmpTd1 = document.createElement('td'); var tmpTd2 = document.createElement('td'); var tmpTd3 = document.createElement('td'); var tmpTd4 = document.createElement('td'); tmpTd1.innerHTML = strblock1; tmpTd2.innerHTML = strblock2; tmpTd3.innerHTML = strblock3; tmpTd4.innerHTML = strblock4; tmpTr.appendChild(tmpTd1); tmpTr.appendChild(tmpTd2); tmpTr.appendChild(tmpTd3); tmpTr.appendChild(tmpTd4); $('newClassedit').appendChild(tmpTr); } } function suppressiondirect(obj,cont){ $('comptage').value = cont; obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode); } function addStyleInClass(compleUrl){ veriftype = $('verifty').value; sNameLayer = $('layerIndex').value; idClass = $('numClass').value; var parURL = compleUrl+'ajax_arc.inc.php'; var parama = 'action=addStyle&layerIndex='+sNameLayer+'&idClass='+idClass+'&veriftype='+veriftype; var aTexture = loadAllData('symbolBordure'); if(aTexture.length > 0){ var sTexture = aTexture.join('µ'); parama += '&texture='+sTexture; } var aColor = loadAllData('colorbordureextUnique'); if(aColor.length > 0){ var sColor = aColor.join('µ'); parama += '&color='+sColor; } var aSize = loadAllData('largeurbordurext'); if(aSize.length > 0){ var sSize = aSize.join('µ'); parama += '&size='+sSize; } ajaxSend_arc(parURL,parama); } function transitsupprStyle(complUrl,valObj){ numclass=$('numClass').value; layerIndex=$('layerIndex').value; supprStyle(complUrl,layerIndex, numclass,valObj); } function supprStyle(complUrl,slayerIndex, idClass, valObj){ veriftype = $('verifty').value; var parURL = complUrl+'ajax_arc.inc.php'; var parama = 'action=supprStyle&layerIndex='+slayerIndex+'&idClass='+idClass+'&veriftype='+veriftype; var aTexture = loadAllData('symbolBordure'); if(aTexture.length > 0){ var sTexture = aTexture.join('µ'); parama += '&texture='+sTexture; } var aColor = loadAllData('colorbordureextUnique'); if(aColor.length > 0){ var sColor = aColor.join('µ'); parama += '&color='+sColor; } var aSize = loadAllData('largeurbordurext'); if(aSize.length > 0){ var sSize = aSize.join('µ'); parama += '&size='+sSize; } /* var aStyle = getListSuppr('supprStyle'); if(aStyle.length <= 0){ alert("Veuillez cocher au moins un style"); } else{ var sStyle = aStyle.join('µ');*/ parama += '&idStyleSuppr='+valObj; ajaxSend_arc(parURL,parama); //} } function loadAllData(sIdPart){ var iteration = 0; var aVal = new Array(); while ($(sIdPart+iteration)){ aVal.push($(sIdPart+iteration).value); iteration ++; } return aVal; } function openCadre_arc(divNomT,titleT,le,wi,he,to,UrlT){ //if(divNomT == 'cadreGestionLayer'){ var par = document.body; /*}else{ var par = Windows.getWindow('cadreGestionLayer').getContent(); }*/ gWindowz.calledAjaxContent(divNomT,{title:titleT,left:le,width:wi,height:he,top:to,parent:par},UrlT) } function showPicker(bagcol,textcol){ //alert(bagcol+"--"+textcol) var bg = $(bagcol).style.backgroundColor; if(bg == '' || bg == 'transparent'){ bg = 'rgb(-1,-1,-1)'; } //alert(bg); var tab = bg.split(","); var a = tab[0].split("("); var c = tab[2].split(")"); gPicker.called({initColor:{r:a[1],g:tab[1],b:c[0]},inputSet: $(textcol), imgSet: $(bagcol)}); } function listTexturePoly(paramDiv){ var polyList = $(paramDiv) ; if(polyList){ polyList.style.display = "block" ; } } function sendSymbol(classcur,parValue, parDiv, divContent, idReceiver){ $(divContent).style.display = "none" ; cibleRemplisage= $(parDiv) ; cibleRemplisage.className = classcur; if (classcur != '')$(idReceiver).value = parValue; } function supprClass(urlplus,sIdPart, slayerIndex){ var parURL = urlplus+'ajax_arc.inc.php'; var parama = 'action=supprClass&layerIndex='+slayerIndex; var sLegType = $('legType').value; if(sLegType != '') parama += '&legType='+sLegType; aNumClass = getListSuppr(sIdPart); if(aNumClass.length <= 0) { alert("Veuillez cocher au moins une classe!!"); return; }else{ var sListeClass = aNumClass.join('µ'); parama += '&listeClass='+sListeClass; //alert(parama); ajaxSend_arc(parURL,parama); } } function getListSuppr(sIdPart){ var iteration = 0; var aNumClass = new Array(); while ($(sIdPart+iteration)){ if($(sIdPart+iteration).checked == true) aNumClass.push($(sIdPart+iteration).value); iteration ++; } return aNumClass; } function giveVal(sVal,prevId){ switch(sVal){ case '': sCSSClass = 'bordurevide'; case 'line': sCSSClass = 'bordure1'; break; case 'dashed_point1': sCSSClass = 'bordure2'; break; case 'dashed_point2': sCSSClass = 'bordure3'; break; case 'dashed_point3': sCSSClass = 'bordure4'; break; case 'dashed_point4': sCSSClass = 'bordure5'; break; } $(prevId).className = sCSSClass; //fermer_arc('cadre_icon_poly'); } function valideEditLabel_arc(){ size = $('editsize').value; fond = ($('editcolorfond').value == "")? "-1 -1 -1" : $('editcolorfond').value; cont = $('editcolorcont').value; pos = $('editposition').value; contour = $('editcolorcontour').value; polce = $('editpolice').value; minscale = $('arclabMinscale_').value; maxscale = $('arclabMaxscale_').value; minscale = (minscale.replace(/^\s+|\s+$/g,'') == '')? '-1' : minscale; maxscale = (maxscale.replace(/^\s+|\s+$/g,'') == '')? '-1' : maxscale; $('sizelabelcla').value = size; $('fontcollabelcla').value = fond; $('outcollabelcla').value = cont; $('poslabelcla').value = pos; $('contourlabelcla').value = contour; $('policelabelcla').value = polce; $('arclabMinscale').value = minscale; $('arclabMaxscale').value = maxscale; fermer_arc('cadre_icon_editLabel'); } function transparenceCouche() { tp = (arguments[0])? arguments[0] : '-'; vl = parseInt($('arc_transparence').value); if(tp == '-') { $('arc_transparence').value = vl - 1; }else { $('arc_transparence').value = vl + 1; } } function selectOptionByValue(seli,val) { sel = $(seli); if(!sel) return; for(var iSe=0; iSe < sel.options.length; iSe++) { if(sel.options[iSe].value == val) return sel.options[iSe]; } if(sel.selectedIndex && sel.selectedIndex >= 0) return sel.options[sel.selectedIndex]; if(sel.options[0]) return sel.options[0]; return false; } function valideLayerForm() { var strV = "------"; var sField = "------"; if($('graduateColor').style.display == 'block') { //graduateColor strV = $('gradColorDispl').innerHTML.toString(); strV = (!/<[a-z]{1,}>/i.test(strV))? '' : strV; sField = $('colorGrad').value; } else if($('graduateSymbol').style.display == 'block') { //graduateSymbol strV = $('symbcontenu').innerHTML.toString(); strV = (!/<[a-z]{1,}>/i.test(strV))? '' : strV; sField = $('symbolGrad').value; } else if($('singleValue').style.display == 'block') { //singleValue strV = $('unikfieldSymb').innerHTML.toString(); strV = (!/<[a-z]{1,}>/i.test(strV))? '' : strV; sField = $('unikValSymb').value; } strV = strV.replace(/^\s+|\s+$/g,''); sField = sField.replace(/^\s+|\s+$/g,''); if(strV == '' || sField == '') { alert('Vous deviez choisir une valeur pour la classification'); return; } $('form_layerForm').submit(); }