Fullstack Portal Created by the HCMR for the Marine Strategy Framework Directive Program in order to cover demands and aspects considering extendability and maintainability
 
 
 
 
 

301 lines
6.2 KiB

var maptab_search_results_count=0;
var activeModal = false;
var bathymetry = {};
var overLayer;
var legend = {};
var geoJsonGroup = new L.LayerGroup();
var invisIcon = L.icon({
iconUrl: 'css/images/empty-gif.gif',
iconSize: [16, 16],
iconAnchor: [8, 8],
popupAnchor: [-3, -76],
shadowUrl: 'css/images/empty-gif.gif',
shadowSize: [16, 16],
shadowAnchor: [8, 8]
});
var _proxy_url=host+"src/proxy/index.php";
var lonlat = {};
_proxy_url.replace('admin/','');
/********* remove unnecessary namespaces the IE *******/
/********* adds when reading xml documents ************/
var _class = OpenLayers.Format.XML;
var originalWriteFunction = _class.prototype.write;
var patchedWriteFunction = function()
{
var child = originalWriteFunction.apply( this, arguments );
child = child.replace( new RegExp( 'xmlns:NS1="" NS1:', 'g' ), '' );
child = child.replace(new RegExp('xmlns:NS\\d+="" NS\\d+:', 'g'), '');
return child;
}
_class.prototype.write = patchedWriteFunction;
/***********************************************/
var fn_grid_results_ids_array=[];
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
function fn_objIndexOf(obj,name,value)
{
for(var i=0;i<obj.length;i++)
{
var c=obj[i];
if (c[name]==value) {
return i;
}
}
return -1;
}
function fn_toggleControl(name,toogle,controls)
{
if (typeof controls==="undefined") {
controls=map_controls;
}
if (typeof toogle==="undefined") {
if (controls[name]) {
if(controls[name].active) {
controls[name].deactivate();
} else {
controls[name].activate();
}
}
}
else {
if (controls[name]) {
if (toogle) {
controls[name].activate();
} else {
controls[name].deactivate();
}
}
}
}
function fn_createGetQuery(object)
{
var arr=new Array();
for(var k in object) {
arr.push(k.toString()+"="+object[k]);
}
return arr.join("&");
}
function fn_get()
{
//request can be
//a)registerService
//b)registerLayer
//c)fetchLayers
//d)getInfo
//e)getAttributes
//f)search
this._url=_proxy_url;
this._query="";
this._data=new Array();
this._async=false;
this._timeout=1000;
this._extAjax;
this._success;
this._failure;
this._ajax = function() {
var _q_url=Ext.urlAppend(this._url,this._query);
var _params={};
if (this._data.length>0) {
_params={data:Ext.JSON.encode(this._data)};
}
this._extAjax=Ext.Ajax.request({
url: _q_url,
method: 'POST',
params:_params,
async:this._async,
success:this._success, // callback for success
failure:this._failure
});
return this._extAjax;
}
this.get = function() {
// Ext.getCmp("maptab_bbar_general_wait_label").update(_map_general_please_wait);
// Ext.getCmp("maptab_bbar_general_wait_label").show();
if(typeof this._extAjax!=="undefined") {
Ext.Ajax.abort(this._extAjax);
}
return this._ajax();
}
}
function fn_loadingMask(_element,_message)
{
var m = new Ext.LoadMask(_element, {msg:_message});
return m;
}
function fn_getDateTime()
{
var date = new Date();
var t = (date.getMonth()+1) + "/" + date.getDate() + "/" + date.getFullYear() + " " + date.getHours() +":" + (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) + ":" + (date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds());
return t;
}
function clone(obj) {
if(obj == null || typeof(obj) != 'object')
return obj;
var temp = obj.constructor();
for(var key in obj) {
if(obj.hasOwnProperty(key)) {
temp[key] = clone(obj[key]);
}
}
return temp;
}
function trim(str)
{
return str.replace(/^\s+|\s+$/g,"");
}
function fn_replace(_value,_arrReplace,_arrReplaceWith)
{
for(var i = 0; i < _arrReplace.length; i++) {
_value = _value.replace(new RegExp('{' + _arrReplace[i] + '}', 'gi'), _arrReplaceWith[i]);
}
return _value;
}
// generates internal id
function fn_id()
{
var d = new Date().getTime();
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = (d + Math.random()*16)%16 | 0;
d = Math.floor(d/16);
return (c=='x' ? r : (r&0x7|0x8)).toString(16);
});
return uuid;
};
function fn_surl(_url,_username,_password,_proxy)
{
if (_url.indexOf("?")<0) {
_url=Ext.urlAppend(_url,"?_t");
}
_url=Ext.urlAppend(_proxy_url,"proxy="+_proxy+"&url="+_url);
return _url;
}
function fn_encrypt(_value)
{
return _value;
}
function fn_decrypt(_value)
{
return _value;
}
function fn_reverseAxis(_geometry)
{
var _coords=_geometry.match(/-?\d+\.\d+|\d+\.\d+|\d+\b|\d+(?=\w)/g);
var temp_geom=_geometry;
for(var i=0;i<_coords.length-1;i++) {
temp_geom=temp_geom.replace(_coords[i]+" "+_coords[i+1],_coords[i+1]+"#"+_coords[i]);
}
temp_geom=temp_geom.replace(/#/g," ");
return temp_geom;
}
function fn_determineAxisOrder(_nativeSRS)
{
try {
var _sub=_nativeSRS.substring(0,3);
_sub=_sub.toLowerCase();
if (_sub=="urn") {
if ((mapGetProjectionCode(_nativeSRS)=="EPSG:4326") ||
(mapGetProjectionCode(_nativeSRS)=="EPSG:3035"))
{
return false;
}
}
return true;
} catch(err){return false;}
}
var fn_dateDiff = {
inDays: function(d1, d2) {
var t2 = d2.getTime();
var t1 = d1.getTime();
return parseInt((t2-t1)/(24*3600*1000));
},
inWeeks: function(d1, d2) {
var t2 = d2.getTime();
var t1 = d1.getTime();
return parseInt((t2-t1)/(24*3600*1000*7));
},
inMonths: function(d1, d2) {
var d1Y = d1.getFullYear();
var d2Y = d2.getFullYear();
var d1M = d1.getMonth();
var d2M = d2.getMonth();
return (d2M+12*d2Y)-(d1M+12*d1Y);
},
inYears: function(d1, d2) {
return d2.getFullYear()-d1.getFullYear();
}
}
function loadURL(url) {
var oRequest = new XMLHttpRequest();
oRequest.open('GET', url, false);
oRequest.setRequestHeader("User-Agent", navigator.userAgent);
oRequest.send(null)
return oRequest.responseText;
};