[68] | 1 | /****************************************************************************** |
---|
| 2 | Function LoadProduct |
---|
| 3 | Called when the selection of the parameter change |
---|
| 4 | This function loads the list of the products in the select "Product" |
---|
| 5 | |
---|
| 6 | It calls a function php who loads the list |
---|
| 7 | ******************************************************************************/ |
---|
| 8 | function LoadProduct() |
---|
| 9 | { |
---|
| 10 | |
---|
| 11 | //CHange the display |
---|
| 12 | document.getElementById("ProductLine").style.visibility='visible'; |
---|
| 13 | // document.getElementById('FirstDateLine').style.visibility='hidden'; |
---|
| 14 | // document.getElementById('SecondDateLine').style.visibility='hidden'; |
---|
| 15 | // document.getElementById('Month1').style.visibility='hidden'; |
---|
| 16 | // document.getElementById('Month2').style.visibility='hidden'; |
---|
| 17 | // document.getElementById('Day1').style.visibility='hidden'; |
---|
| 18 | // document.getElementById('Day2').style.visibility='hidden'; |
---|
| 19 | // document.getElementById('DFFLine').style.visibility='hidden'; |
---|
| 20 | // document.getElementById('DFCLine').style.visibility='hidden'; |
---|
| 21 | // document.getElementById('Valid').style.visibility='hidden'; |
---|
| 22 | // document.getElementById('Dates').style.visibility='hidden'; |
---|
| 23 | // document.getElementById('ZoneStudy').style.visibility='hidden'; |
---|
| 24 | // document.getElementById('Output').style.visibility='hidden'; |
---|
| 25 | |
---|
| 26 | |
---|
| 27 | //Clear the select "Parameter" |
---|
| 28 | document.getElementById("Product").options.length = 0; |
---|
| 29 | |
---|
| 30 | ValParameter=document.getElementById("Parameter").value; |
---|
| 31 | ValParameter=ValParameter.split("-"); |
---|
| 32 | ValParameter=ValParameter[0]; |
---|
| 33 | //call of the php function |
---|
| 34 | texte=file('http://zeus.medias.cnes.fr/eccad/CODEPHP/LoadProducts.php?id_param='+escape(ValParameter)); |
---|
| 35 | /*Form of the result of the function: |
---|
| 36 | idprod1,NameProd1>idprod2,NameProd2 |
---|
| 37 | */ |
---|
| 38 | //create the table with the list of Products |
---|
| 39 | TabProducts=texte.split(">"); |
---|
| 40 | for(i=0;i<TabProducts.length-1;i++) |
---|
| 41 | { |
---|
| 42 | ProductIdText=TabProducts[i].split(","); |
---|
| 43 | var element = document.createElement("option"); |
---|
| 44 | //insert id |
---|
| 45 | element.value = ProductIdText[0]+"-"+ProductIdText[1]; |
---|
| 46 | //insert text |
---|
| 47 | element.text = ProductIdText[1]; |
---|
| 48 | document.getElementById("Product").add(element, null); |
---|
| 49 | } |
---|
| 50 | } |
---|
| 51 | |
---|
| 52 | |
---|
| 53 | |
---|
| 54 | /****************************************************************************** |
---|
| 55 | Function LoadDate |
---|
| 56 | This function displays 1 or 2 dates. |
---|
| 57 | According to Period display month and day |
---|
| 58 | Possible evolution: change month and day according to selected year |
---|
| 59 | ******************************************************************************/ |
---|
| 60 | |
---|
| 61 | function LoadDate() |
---|
| 62 | { |
---|
| 63 | //Chose the type of study |
---|
| 64 | NbDate=StudyType(); |
---|
| 65 | |
---|
| 66 | //First Date Last Date |
---|
| 67 | //Period of the data |
---|
| 68 | ValProduct=document.getElementById("Product").value; |
---|
| 69 | ValProduct=ValProduct.split("-"); |
---|
| 70 | ValProduct=ValProduct[0] |
---|
| 71 | texte=file('http://zeus.medias.cnes.fr/eccad/CODEPHP/LoadDates.php?id_produit='+ValProduct); |
---|
| 72 | /* |
---|
| 73 | Form of the result: |
---|
| 74 | Period of the data>First Date>Last Date |
---|
| 75 | */ |
---|
| 76 | Period_begin_end=texte.split(">"); |
---|
| 77 | Period=Period_begin_end[0]; |
---|
| 78 | Period=Period.substring(0,Period.length-4) |
---|
| 79 | Period=parseFloat(Period); |
---|
| 80 | Date1=Period_begin_end[1].split("-"); // Date=[Year, Month, Day] |
---|
| 81 | Date2=Period_begin_end[2].split("-"); |
---|
| 82 | |
---|
| 83 | document.getElementById("ZoneStudy").style.visibility='visible'; |
---|
| 84 | document.getElementById('Valid').style.visibility='visible'; |
---|
| 85 | document.getElementById("Output").style.visibility='visible'; |
---|
| 86 | document.getElementById('DFFLine').style.visibility='visible'; |
---|
| 87 | document.getElementById('DFCLine').style.visibility='visible'; |
---|
| 88 | document.getElementById("Dates").style.visibility='visible'; |
---|
| 89 | |
---|
| 90 | |
---|
| 91 | //Display First Date |
---|
| 92 | // document.getElementById("FirstDateLine").style.visibility='visible'; |
---|
| 93 | document.getElementById("Year1").options.length = 0; |
---|
| 94 | document.getElementById("Month1").options.length = 0; |
---|
| 95 | document.getElementById("Day1").options.length = 0; |
---|
| 96 | for(i=Date1[0]; i<=Date2[0]; i++) |
---|
| 97 | { |
---|
| 98 | var element = document.createElement("option"); |
---|
| 99 | element.text = i+''; |
---|
| 100 | element.value = i+''; |
---|
| 101 | document.getElementById("Year1").add(element, null); |
---|
| 102 | } |
---|
| 103 | //Display Month (or not) |
---|
| 104 | if(Period<=30) |
---|
| 105 | { |
---|
| 106 | for(i=1; i<=12; i++) |
---|
| 107 | { |
---|
| 108 | var element = document.createElement("option"); |
---|
| 109 | element.text = i+''; |
---|
| 110 | element.value = i+''; |
---|
| 111 | document.getElementById("Month1").add(element, null); |
---|
| 112 | } |
---|
| 113 | document.getElementById("Month1").style.visibility='visible'; |
---|
| 114 | } |
---|
| 115 | else { |
---|
| 116 | document.getElementById("Month1").style.visibility='hidden'; |
---|
| 117 | } |
---|
| 118 | |
---|
| 119 | //Display Day (or not) |
---|
| 120 | if(Period<30) |
---|
| 121 | { |
---|
| 122 | for(i=1; i<=31; i++) |
---|
| 123 | { |
---|
| 124 | var element = document.createElement("option"); |
---|
| 125 | element.text = i+''; |
---|
| 126 | element.value = i+''; |
---|
| 127 | document.getElementById("Day1").add(element, null); |
---|
| 128 | } |
---|
| 129 | document.getElementById("Day1").style.visibility='visible'; |
---|
| 130 | } |
---|
| 131 | else { |
---|
| 132 | document.getElementById("Day1").style.visibility='hidden'; |
---|
| 133 | } |
---|
| 134 | |
---|
| 135 | |
---|
| 136 | //Display second date |
---|
| 137 | if(NbDate==2) |
---|
| 138 | { |
---|
| 139 | // document.getElementById('FirstDate').innerHTML='First Date'; |
---|
| 140 | document.getElementById("SecondDateLine").style.visibility='visible'; |
---|
| 141 | document.getElementById("Year2").options.length = 0; |
---|
| 142 | document.getElementById("Month2").options.length = 0; |
---|
| 143 | document.getElementById("Day2").options.length = 0; |
---|
| 144 | for(i=Date1[0]; i<=Date2[0]; i++) |
---|
| 145 | { |
---|
| 146 | var element = document.createElement("option"); |
---|
| 147 | element.text = i+''; |
---|
| 148 | element.value = i+''; |
---|
| 149 | document.getElementById("Year2").add(element, null); |
---|
| 150 | } |
---|
| 151 | //Display Month (or not) |
---|
| 152 | if(Period<=30) |
---|
| 153 | { |
---|
| 154 | for(i=1; i<=12; i++) |
---|
| 155 | { |
---|
| 156 | var element = document.createElement("option"); |
---|
| 157 | element.text = i+''; |
---|
| 158 | element.value = i+''; |
---|
| 159 | document.getElementById("Month2").add(element, null); |
---|
| 160 | } |
---|
| 161 | document.getElementById("Month2").style.visibility='visible'; |
---|
| 162 | } |
---|
| 163 | else { |
---|
| 164 | document.getElementById("Month2").style.visibility='hidden'; |
---|
| 165 | } |
---|
| 166 | |
---|
| 167 | //Display Day (or not) |
---|
| 168 | if(Period<30) |
---|
| 169 | { |
---|
| 170 | for(i=1; i<=31; i++) |
---|
| 171 | { |
---|
| 172 | var element = document.createElement("option"); |
---|
| 173 | element.text = i+''; |
---|
| 174 | element.value = i+''; |
---|
| 175 | document.getElementById("Day2").add(element, null); |
---|
| 176 | } |
---|
| 177 | document.getElementById("Day2").style.visibility='visible'; |
---|
| 178 | } |
---|
| 179 | else { |
---|
| 180 | document.getElementById("Day2").style.visibility='hidden'; |
---|
| 181 | } |
---|
| 182 | } |
---|
| 183 | else { |
---|
| 184 | // document.getElementById('FirstDate').innerHTML='Date'; |
---|
| 185 | document.getElementById("SecondDateLine").style.visibility='hidden'; |
---|
| 186 | document.getElementById("Day2").style.visibility='hidden'; |
---|
| 187 | document.getElementById("Month2").style.visibility='hidden'; |
---|
| 188 | } |
---|
| 189 | } |
---|
| 190 | |
---|
| 191 | |
---|
| 192 | |
---|
| 193 | |
---|
| 194 | |
---|
| 195 | /****************************************************************************** |
---|
| 196 | Function VerifyDate |
---|
| 197 | This functions checks if the fist date is not after the last |
---|
| 198 | ******************************************************************************/ |
---|
| 199 | function VerifyDate() |
---|
| 200 | { |
---|
| 201 | var Year1=document.getElementById("Year1").value; |
---|
| 202 | var Month1=document.getElementById("Month1").value; |
---|
| 203 | var Day1=document.getElementById("Day1").value; |
---|
| 204 | var Year2=document.getElementById("Year2").value; |
---|
| 205 | var Month2=document.getElementById("Month2").value; |
---|
| 206 | var Day2=document.getElementById("Day2").value; |
---|
| 207 | Date1 = new Date(Year1, Month1, Day1); |
---|
| 208 | Date2 = new Date(Year2, Month2, Day2); |
---|
| 209 | if(Date2.getTime() - Date1.getTime() < 0){ |
---|
| 210 | document.getElementById('ErrorDate').innerHTML='<span style="color:#cc0000">First Date is later than last</span>'; |
---|
| 211 | } |
---|
| 212 | else{ |
---|
| 213 | document.getElementById('ErrorDate').innerHTML=''; |
---|
| 214 | } |
---|
| 215 | |
---|
| 216 | } |
---|
| 217 | |
---|
| 218 | |
---|
| 219 | /****************************************************************************** |
---|
| 220 | Function VerifyArea |
---|
| 221 | This functions verify the format of the coordinate |
---|
| 222 | ******************************************************************************/ |
---|
| 223 | function VerifyArea() |
---|
| 224 | { |
---|
| 225 | var UpLeftLat=parseFloat(document.getElementById("UpLeftLat").value); |
---|
| 226 | var UpLeftLon=parseFloat(document.getElementById("UpLeftLon").value); |
---|
| 227 | var LowRightLat=parseFloat(document.getElementById("LowRightLat").value); |
---|
| 228 | var LowRightLon=parseFloat(document.getElementById("LowRightLon").value); |
---|
| 229 | if(UpLeftLat+UpLeftLon+LowRightLat+LowRightLon == Number.NaN){ |
---|
| 230 | document.getElementById('ErrorArea').innerHTML='<span style="color:#cc0000">Invalid coordinates</span>'; |
---|
| 231 | } |
---|
| 232 | else |
---|
| 233 | { |
---|
| 234 | if(UpLeftLat<LowRightLat|| UpLeftLon>LowRightLon){ |
---|
| 235 | document.getElementById('ErrorArea').innerHTML='<span style="color:#cc0000">Invalid coordinates</span>'; |
---|
| 236 | } |
---|
| 237 | else{ |
---|
| 238 | document.getElementById('ErrorArea').innerHTML=''; |
---|
| 239 | } |
---|
| 240 | } |
---|
| 241 | } |
---|
| 242 | |
---|
| 243 | |
---|
| 244 | |
---|
| 245 | |
---|
| 246 | /****************************************************************************** |
---|
| 247 | Function StudyType |
---|
| 248 | Return the number of date to display. |
---|
| 249 | This information should be in the database or in configuration file |
---|
| 250 | ******************************************************************************/ |
---|
| 251 | function StudyType() |
---|
| 252 | { |
---|
| 253 | var list= document.getElementById('Parameter').options; |
---|
| 254 | for(var i=0; i<list.length; i++) |
---|
| 255 | { |
---|
| 256 | if(list[i].selected) NameParameter=list[i].text; |
---|
| 257 | } |
---|
| 258 | |
---|
| 259 | NameParameter=NameParameter.toLowerCase(); |
---|
| 260 | switch (NameParameter) |
---|
| 261 | { |
---|
| 262 | case 'burnt area': |
---|
| 263 | return 2; |
---|
| 264 | break; |
---|
| 265 | case "population": |
---|
| 266 | return 2; |
---|
| 267 | break; |
---|
| 268 | case 'vegetation species': |
---|
| 269 | return 1; |
---|
| 270 | break; |
---|
| 271 | default: |
---|
| 272 | return 1; |
---|
| 273 | break; |
---|
| 274 | } |
---|
| 275 | } |
---|
| 276 | |
---|
| 277 | |
---|
| 278 | //This functions read the function php |
---|
| 279 | function file(fichier) |
---|
| 280 | { |
---|
| 281 | if(window.XMLHttpRequest) // FIREFOX |
---|
| 282 | xhr_object = new XMLHttpRequest(); |
---|
| 283 | else if(window.ActiveXObject) // IE |
---|
| 284 | xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); |
---|
| 285 | else |
---|
| 286 | return(false); |
---|
| 287 | xhr_object.open("GET", fichier, false); |
---|
| 288 | xhr_object.send(null); |
---|
| 289 | if(xhr_object.readyState == 4) return(xhr_object.responseText); |
---|
| 290 | else return(false); |
---|
| 291 | } |
---|