Revert "converting CRLF to LF"
[geo.git] / edit_wp5_web_folder / geo / mapviewer / js_code / 4326_specific2.js
diff --git a/edit_wp5_web_folder/geo/mapviewer/js_code/4326_specific2.js b/edit_wp5_web_folder/geo/mapviewer/js_code/4326_specific2.js
new file mode 100644 (file)
index 0000000..0288e1b
--- /dev/null
@@ -0,0 +1,425 @@
+\r
+\r
+    serialized = new OpenLayers.Layer.WMS.Untiled( "Your symbolized polygons",\r
+                       "http://193.190.223.53:8080/geoserver/wms", {layers:'topp:serialized_pols',GROUP:'remote',sld: '../stable_sld/permanent_sld/transparent_pols.sld',transparent:"true",format:t_img_format},{opacity:1},{'reproject': false});\r
+\r
+       queryEventHandler = new OpenLayers.Handler.Click({ 'map': map }, {  ondblclick: function() {alert("double click")}, \r
+       'click': function(e) { doGetFeatureInfo(e); }});        \r
+\r
+\r
+                myStyles = new OpenLayers.StyleMap({\r
+                                 "first": new OpenLayers.Style({\r
+                         //  pointRadius: "20", // sized according to type attribute\r
+                           fillColor: "#bcf099",\r
+                           strokeColor: "#3399ff",\r
+                           strokeWidth: "2",\r
+                            fillOpacity: "0.5"\r
+\r
+                       }),\r
+                       "default": new OpenLayers.Style({\r
+                           pointRadius: "20", // sized according to type attribute\r
+                           fillColor: "${color}",\r
+                           fillOpacity: "${fillOpacity}",\r
+                           strokeColor: "${strokeColor}",\r
+                           strokeWidth: "${strokeWidth}",\r
+                           strokeDashstyle: "${strokeDashstyle}"\r
+                       }),\r
+                       "select": new OpenLayers.Style({\r
+                           fillColor: "##baa2e2",\r
+                           strokeColor: "#3399ff",\r
+                           fillOpacity: "0.5"\r
+                       })\r
+                       })\r
+\r
+                  pointLayer = new OpenLayers.Layer.Vector("Point Layer",{styleMap: myStyles,GROUP:"remote"});\r
+                  polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer",{GROUP:"remote",styleMap: myStyles["first"]});\r
+       \r
+       polygonLayerControl=new OpenLayers.Control.DrawFeature(polygonLayer, OpenLayers.Handler.Polygon);\r
+    map.addControl(polygonLayerControl);\r
+    \r
+       \r
+       // toggle the queryEventHandler active state\r
+       function toggleQueryMode()\r
+       {            \r
+\r
+           if(featureInfo.active) {\r
+               queryEventHandler.activate();\r
+           }\r
+           else {\r
+               queryEventHandler.deactivate();\r
+           }\r
+       }\r
+\r
+  \r
+\r
+\r
+\r
+function doGetFeatureInfo(evt) { \r
+       \r
+         var lonlat = map.getLonLatFromViewPortPx(evt.xy);\r
+         //console.info(lonlat);\r
+/*        alert("You clicked near " + lonlat.lat + " N, " +\r
+                                  + lonlat.lon + " E");\r
+*/\r
+                                                                   x = parseFloat(lonlat.lon); // make into floats\r
+                                                                       y = parseFloat(lonlat.lat);\r
+                                               if (ppol_query=="false")\r
+                                                                       {                                                                       \r
+                                                                       var ul = new Array();// x, y\r
+                                                                       var ur = new Array();\r
+                                                                       var bl = new Array();\r
+                                                                       var br = new Array();// x, y    \r
+                                                                       ul[0] = x-0.1;\r
+                                                                       ul[1] = y+0.1;\r
+                                                                       bl[0]= x-0.1;\r
+                                                                       bl[1]= y-0.1;\r
+                                                                       ur[0]= x+0.1;\r
+                                                                       ur[1]= y +0.1;\r
+                                                                       br[0] = x+0.1;\r
+                                                                       br[1] = y-0.1;\r
+                                                                   bbox=[];\r
+                                                                       bbox.push(ul,bl,ur,br,ul);      \r
+                                                               \r
+//console.log("ppol_query false");\r
+                                                               $.getScript('js_code/bind_results_sld.js');\r
+                                                       }\r
+                                                 else\r
+                                               {\r
+//console.log("ppol_query true");                      \r
+                                                               $.getScript('js_code/bind_results_ppol_adaptat.js');                    \r
+                                               }\r
+                                                       }\r
+\r
+/*\r
+map.addLayers([vlayer,edit_blank,edit_admin,shoreline,s_america1,s_america2,oceania1,oceania2]);\r
+shoreline.setVisibility(false);\r
+s_america1.setVisibility(false);s_america2.setVisibility(false);oceania1.setVisibility(false);oceania2.setVisibility(false);\r
+  map.setBaseLayer(edit_blank);\r
+  map.addLayer(edit_gbif);\r
+  edit_gbif.setVisibility(false);\r
+\r
+map.setCenter(bounds.getCenterLonLat(),map.getZoomForExtent(bounds));\r
+*/\r
+\r
+queryEventHandler2 = new OpenLayers.Handler.Click({ 'map': map }, {  ondblclick: \r
+       function() {alert("dounle lick")}, 'click': function(e) {//\r
+       \r
+       doGetFeatureInfo(e); \r
+       }});    \r
+\r
+queryEventHandler2 = new OpenLayers.Handler.Click({ 'map': map }, {  ondblclick: \r
+       function() {alert("dounle lick")}, 'click': function(e) {//\r
+       //alert("dogetfeature"); \r
+       doGetFeatureInfo(e); \r
+       }});\r
+       \r
+// toggle the queryEventHandler active state\r
+       function toggleQueryMode()\r
+       {            \r
+\r
+           if(featureInfo.active) {\r
+               queryEventHandler.activate();\r
+           } \r
+           else {\r
+               queryEventHandler.deactivate();\r
+           }\r
+       }\r
+       function toggleQueryMode2()\r
+       {            \r
+\r
+           if(featureInfo2.active) {\r
+               queryEventHandler.activate();\r
+           }\r
+           else {\r
+               queryEventHandler.deactivate();\r
+           }\r
+       }\r
+//     map.zoomToMaxExtent(bounds);\r
+\r
+       //l'ordre influeeeix!\r
+function serialize(feature) \r
+   {\r
+\r
+   queryEventHandler.deactivate();\r
+//function(evt) {alert ('You clicked on marker m1'); OpenLayers.Event.stop (evt); }\r
+       \r
+       var wkt= new OpenLayers.Format.WKT(map.baseLayer.projection);\r
+       polygon = wkt.write(feature);\r
+    $.getScript('js_code/polygon_q_adaptat.js');\r
+\r
+       }       \r
+\r
+        var f_options = {\r
+                hover: false,\r
+//                highlightOnly: true,\r
+                               click:true,\r
+                               clickout: true,\r
+                 onSelect: serialize\r
+  \r
+  };\r
+  \r
+          feature_select = new OpenLayers.Control.SelectFeature(vlayer, f_options);\r
+  //vlayer.events.register ('mouseout', vlayer, function() {alert("out")});\r
+  //  feature_select\r
+         //   OpenLayers.Feature.Vector.style['default']['strokeWidth'] = '2';\r
+             function show_mouseover_text(evt)\r
+        {\r
+            textContent =\r
+                "The mouse is over" +\r
+                " feature '" + evt.feature.id + "'" +\r
+                " of group '" + evt.name + "'.";\r
+              //  console.warn(textContent);\r
+        }\r
+\r
+\r
+       map.addControl(feature_select);\r
+          \r
+                       var id=0;\r
+                       var gml_serialize=function (feature)\r
+                       {\r
+               //        alert("sfd");\r
+\r
+               polygonLayer.setVisibility(true);\r
+\r
+\r
+\r
+               if (polygonLayer.features.length == 0) {id=0; } else { id=(polygonLayer.features.length -1);}\r
+               polygonLayer.features[id].fid=id;\r
+\r
+                 html='<div id="polygon_symbolize" class="jqmdTL" style="background-size: 40%; z-index: 300;"><div class="jqmdTR"><div class="jqmdTC jqDrag">POLYGON SYMBOLIZER TOOL</div><input type="image" class="jqmdX jqmClose"/>';\r
+                 html+='<form id="fill_form"><label>Polygon fill color<select style="margin-left:20px;"><option value="e4381b">red</option><option value="252ab6">blue</option><option value="617589">grey</option><option value="6ef028">green</option></select></form>';\r
+                html+='<form id="opacity_form"><label>Polygon opacity<select style="margin-left:20px;"><option value="1">100%</option><option value="0.5">50%</option><option value="0.3">30%</option><option value="0.1">10%</option><option value="0.01">0%</option></select></form>';\r
+                 html+='<form id="stroke_width_form"><label>Stroke width<select style="margin-left:20px;"><option value="1">1</option><option value="2">2</option><option value="5">5</option></select></form>';\r
+                 html+='<form id="stroke_color_form"><label>Polygon stroke color<select style="margin-left:20px;"><option value="e4381b">red</option><option value="252ab6">blue</option><option value="617589">grey</option><option value="6ef028">green</option></select></form>';\r
+                   html+='<form id="stroke_opacity_form"><label>Stroke opacity<select style="margin-left:20px;"><option value="1">100%</option><option value="0.5">50%</option><option value="0">0%</option></select></form>';\r
+                 html+='<form id="stroke_style_form"><label>Stroke style<select style="margin-left:20px;"><option value="solid">solid</option><option value="2_3">dotted</option><option value="2_7">long dotted</option><option value="4_2">short dash</option><option value="5_7">dashed</option><option value="10_5">long dashed</option><option value="10_30">Very long dashed</option></select></form>';\r
+                 html+='<br><br><p>If desired, add a text to your polygon</p><br><TEXTAREA id="label" COLS=40 ROWS=3></TEXTAREA>';\r
+                 html+='<form id="text_size_form"><label>Select the text size <select style="margin-left:20px;"><option value="5">5</option><option value="10">10</option><option value="30">30</option><option value="40">40</option></select></form>';\r
+                 html+='</div><br> <input type="button" value="print it" id="serialize"/><div class="jqmdTC jqDrag">POLYGON SYMBOLIZER TOOL</div>';\r
+\r
+                 if ($('#fill_form').length > 0)\r
+                       {\r
+                 $('#ex4').empty();        \r
+                 $('#ex4').append(html);\r
+                 }\r
+                 else {  $('#ex4').append(html);}\r
+                       $('input.jqmdX').hover(function(){\r
+                        $(this).addClass('jqmdXFocus')},function(){  $(this).removeClass('jqmdXFocus')}).focus(function(){this.hideFocus=true;$(this).addClass('jqmdXFocus')}).blur(function(){$(this).removeClass('jqmdXFocus')}).click(function(){$('#ex4').empty().hide();\r
+                               });\r
+                msie=($.browser.msie==true)?true:false; \r
+               if (msie)\r
+               {\r
+\r
+                $('input.jqmdX').css('background','url(../mapviewer/img/close.gif)  no-repeat top left').css('width','15px');\r
+               }\r
+               else \r
+               {\r
+               $('input.jqmdX').css('background','url(../mapviewer/img/close.gif) no-repeat top left');\r
+               }\r
+               $('input.jqmdX').hover(function(){$(this).addClass('jqmdXFocus')},function(){ $(this).removeClass('jqmdXFocus')}).focus(function(){this.hideFocus=true;$(this).addClass('jqmdXFocus')}).blur(function(){$(this).removeClass('jqmdXFocus')}).click(function(){$('#ex2').hide(); \r
+                });\r
+                  $("#ex4") .jqDrag('.jqDrag')\r
+                          .jqResize('.jqResize') ;\r
+\r
+               $("#ex4").animate({width:'420',height:'415'},"slow");\r
+\r
+                           feature.attributes = {};\r
+\r
+               $("#ex4 input:button").click(function()\r
+               {\r
+\r
+               //defining the Feature in GML\r
+                      feature.attributes['fill_color'] = $("#fill_form option:selected").val();  \r
+                      feature.attributes['fill_opacity'] = $("#opacity_form option:selected").val(); \r
+                      feature.attributes['stroke_color'] = $("#stroke_color_form option:selected").val();\r
+                              feature.attributes['stroke_opacity'] =  $("#stroke_opacity_form option:selected").val();\r
+                      feature.attributes['stroke_width'] = $("#stroke_width_form option:selected").val();\r
+                      feature.attributes['text_size'] = $("#text_size_form option:selected").val();\r
+                  \r
+\r
+\r
+                     // = $("#stroke_style_form option:selected").val();\r
+                    switch ($("#stroke_style_form option:selected").val())\r
+                    {\r
+                   case 'solid': { feature.attributes['stroke_style']='no_style';break}\r
+                       case '2_3':{ feature.attributes['stroke_style']="2 3 2 3";break;}  //short dotted \r
+                               case '2_7':{ feature.attributes['stroke_style']="2 7 2 7";break;} //long dotted\r
+                                       case '4_2':{ feature.attributes['stroke_style']="4 2 4 2";break;}\r
+                                               case '5_7':{feature.attributes['stroke_style']="5 7 5 7";break;}\r
+                                               case '10_5':{ feature.attributes['stroke_style']="10 5 10 5";break;}\r
+                                                       case '10_30':{ feature.attributes['stroke_style']="10 30 10 30";break;} //very long dash\r
+                    }\r
+                      feature.attributes['label'] = $("#label").val();\r
+                      feature.attributes['id'] = id;\r
+\r
+               //definint polygonLayer\r
+                   polygonLayer.features[id].attributes.color=$("#fill_form option:selected").val();    \r
+                   polygonLayer.features[id].attributes.fillOpacity=$("#opacity_form option:selected").val();\r
+                polygonLayer.features[id].attributes.strokeColor=$("#stroke_color_form option:selected").val();\r
+                polygonLayer.features[id].attributes.strokeWidth=$("#stroke_width_form option:selected").val();\r
+                 polygonLayer.features[id].attributes.strokeDashstyle=$("#stroke_style_form option:selected").val();\r
+\r
+                          polygonLayer.redraw();\r
+                        //g variable is... new OpenLayers.Format.GML(); \r
+                  var data = g.write(feature.layer.features);  //ALL THE FEATURES will be written in g (& data) variable-->GML-->SLD\r
+                           //OpenLayers.Util.getElement("gml").value = data;\r
+                  var wkt= new OpenLayers.Format.WKT(map.baseLayer.projection);\r
+                       to_insert = wkt.write(feature);\r
+\r
+                       $.ajax({url:'../queries/data_insert.php',\r
+                                                               processData:false, type:'GET',dataType:'text',data:'data='+to_insert+'&gid='+id+'&user='+userid,success:function()\r
+                                                               {\r
+                                                       //      alert("polygon inserted on dbase");\r
+                                                               //let's create SLD\r
+                       $.ajax({url:'../gml_sld.php',\r
+                                                               processData:false, type:'POST',dataType:'text',data:'data='+data+'&user='+userid,\r
+                                                               success:function(url)\r
+                                                               {\r
+                                                               serialized.params.SLD=url;\r
+                                                               if (serialized.map==null)\r
+                                                               {\r
+                                                               map.addLayer(serialized);\r
+                                                               }\r
+                                                               else{                                           \r
+                                                               serialized.redraw();\r
+                                                               }\r
+                                                               polygonLayer.setVisibility(false);\r
+                                                               }\r
+                                                               })\r
+                                                               }\r
+                                                               });\r
+\r
+               $("input[name='Your symbolized polygons']").show().next().show();\r
+                            //var text = format.write(doc);\r
+                 })\r
+\r
+                       } //end serialize function\r
+                  vlayer.onFeatureInsert =function(){\r
+                     $("input[name='Polygon to query']").show().next().show();\r
+                  if (vlayer.features.length >1) {vlayer.destroyFeatures(vlayer.features[0])};\r
+                  ppol_query="false";                                          \r
+\r
+               //user='no_user';               \r
+\r
+                feature_select.activate();\r
+                 draw_to_query.deactivate();\r
+\r
+\r
+                  };\r
+                 polygonLayer.onFeatureInsert = gml_serialize;\r
+             var select_options = {\r
+               onClick: true,\r
+               multiple:false,\r
+               onUnselect:function(feature) {feature.selected=false;},\r
+               onSelect: function(feature) { \r
+                \r
+                               polygonLayer.setVisibility(true);\r
+                feature.selected=true;               \r
+                html='<div class="jqmdTL" style="background-size: 40%; z-index: 300;"><div class="jqmdTR"><div class="jqmdTC jqDrag">HOLA</div><input type="image" class="jqmdX jqmClose"/>';\r
+                               html+='<b><div id="remove_div">Do you want to delete some polygon? if yes, you can select more than one (just click over it). Then, if really want to delete, just click';\r
+                               html+='<button id="delete" onclick="remove()" value="Delete them!">Delete them!</button></div>';\r
+               \r
+                       if ($('#remove_div').length == 0)\r
+        {\r
+  $('#ex5').empty();        \r
+  $('#ex5').append(html);\r
+\r
+msie=($.browser.msie==true)?true:false; \r
+if (msie)\r
+{$('input.jqmdX').css('background','url(../mapviewer/img/close.gif)  no-repeat top left').css('width','15px');}\r
+else {$('input.jqmdX').css('background','url(../mapviewer/img/close.gif) no-repeat top left');}\r
+$('input.jqmdX').hover(function(){$(this).addClass('jqmdXFocus')},function(){        $(this).removeClass('jqmdXFocus')}).focus(function(){this.hideFocus=true;$(this).addClass('jqmdXFocus')}).blur(function(){$(this).removeClass('jqmdXFocus')}).click(function(){$('#ex2').hide();  });\r
+$("#ex5").animate({width:'280',height:'105'},"slow");\r
+                       }\r
+               }\r
+            }; //END OnSelect de select_options         \r
+    var select = new OpenLayers.Control.SelectFeature(polygonLayer, select_options);\r
+        map.addControl(select);\r
+     //       select.activate();    \r
+\r
+\r
+\r
+              v_options = {\r
+                      hover: true,\r
+                      onSelect: function(feature) { \r
+       //             console.warn(feature.attributes.code);\r
+         if ($("#polygon_info").length)\r
+                {\r
+                $("#polygon_info tr").each(function(i)\r
+       {\r
+       $(this).remove();\r
+\r
+\r
+       })\r
+\r
+                               $("#polygon_info tbody").append('<tr><td>Polygon code: </td><td>'+feature.attributes.code+'</td></tr><tr><td>Number of genus: </td><td>'+feature.attributes.numtax+'</td></tr><tr><td>Number of records: </td><td>'+feature.attributes.numreg+'</td></tr><tr><td>Taxa/record: </td><td>'+feature.attributes.taxa_record+'</td></tr>'); \r
+\r
+\r
+                      }\r
+\r
+       }\r
+                   };\r
+                                          function v_toggle(element) {\r
+\r
+                                               if(element.checked==true) {\r
+                               vectors.params.filter="<Filter><And><PropertyIsEqualTo><PropertyName>userid</PropertyName><Literal>"+userid+"</Literal></PropertyIsEqualTo></And></Filter>";\r
+                               //                                        v_select.activate();\r
+                                                                        if  ($("#interactive_analysis_input").hasClass("first"))\r
+\r
+                                                    {\r
+\r
+                                                                    map.addLayer(vectors);\r
+\r
+\r
+                                                     $("#interactive_analysis_input").removeClass('first');\r
+                                                    }\r
+                                                  else {  \r
+\r
+                                                  vectors.setVisibility(true);\r
+\r
+                                                  } \r
+                                                 v_select.activate();\r
+\r
+                                               } \r
+                                               else \r
+                                               {              \r
+                                               vectors.setVisibility(false);\r
+\r
+                                                   v_select.deactivate();\r
+                                           }\r
+                                       }\r
+                                       myStyles2 = new OpenLayers.StyleMap({\r
+                                               "default": new OpenLayers.Style({                   \r
+                                                   fillColor: "#ebbc1e",\r
+                                                                       fillOpacity:0.25,\r
+                                                                       strokeColor: "#242b32",\r
+                                                   strokeWidth: 1.5\r
+                                               }),\r
+                                               "select": new OpenLayers.Style({\r
+                                                   fillColor: "#ee3e3a", //vermell\r
+                                                   fillOpacity:0.5,\r
+                                                   strokeWidth: 2,\r
+                                                   strokeColor: "#3399ff"\r
+                                               })\r
+\r
+                                           });\r
+\r
+\r
+                                                  vectors = new OpenLayers.Layer.WFS(\r
+                                   "My polygons to hover",\r
+                                   "http://193.190.223.53:8080/geoserver/wfs",\r
+                                   {typename: "topp:point_pol",\r
+                                   filter:"<Filter><And><PropertyIsEqualTo><PropertyName>userid</PropertyName><Literal>"+userid+"</Literal></PropertyIsEqualTo></And></Filter>"},\r
+                                   {isBaseLayer: false, extractAttributes: true, styleMap: myStyles2}\r
+                               );\r
+                   v_select = new OpenLayers.Control.SelectFeature(vectors, v_options);\r
+                   map.addControl(v_select);\r
+                   v_select.handlers.feature.stopDown = false;\r
+\r
+                   v_select.handlers.feature.stopUp = false;\r
+\r
+                                        g = new OpenLayers.Format.GML();\r
+\r
+\r
+\r
+                       //polygonLayer.features.attributes.color='#f9cac3';\r