var MAGIC_NUMBER=6356752.3142;
var DEG2RAD=0.0174532922519943;

var PI=3.14159267;

//Default image format
var FORMAT_DEFAULT="image/png";

var MERC_ZOOM_DEFAULT = 5;
function dd2MercMetersLng(p_lng) {
    return MAGIC_NUMBER * (p_lng * DEG2RAD);
}

function dd2MercMetersLat(p_lat) {
    if(p_lat >= 85) p_lat = 85;
    if(p_lat <= -85) p_lat = -85;
    return MAGIC_NUMBER * Math.log(Math.tan(((p_lat*DEG2RAD) + (PI/2))/2));
}
                
CustomGetTileUrl = function(a,b,c) {

    if (this.myMercZoomLevel == undefined) {
        this.myMercZoomLevel = MERC_ZOOM_DEFAULT;
    }

    if (this.myFormat == undefined) {
        this.myFormat = FORMAT_DEFAULT;
    }

    if (typeof(window['this.myStyles']) == "undefined") {
        this.myStyles = "";
    }

    //BBOX
    var lULP = new GPoint(a.x*256,(a.y+1)*256);
    var lLRP = new GPoint((a.x+1)*256,a.y*256);
    var lUL = G_NORMAL_MAP.getProjection().fromPixelToLatLng(lULP,b,c);
    var lLR = G_NORMAL_MAP.getProjection().fromPixelToLatLng(lLRP,b,c);
    var lBBOX = lUL.x+","+lUL.y+","+lLR.x+","+lLR.y;

    var lSRS="EPSG:4326";
    var lURL=this.myBaseUrl;

    //already contains a name/value pair
    if(lURL.indexOf("=") > 0){
        lURL+="&";
    }

    lURL+="SERVICE=WMS";
    lURL+="&VERSION=1.1.1";
    lURL+="&REQUEST=GetMap";
    lURL+="&LAYERS="+this.myLayers;
    lURL+="&STYLES="+this.myStyles;
    lURL+="&SRS="+lSRS;
    lURL+="&BBOX="+lBBOX;
    lURL+="&WIDTH=256";
    lURL+="&HEIGHT=256";
    lURL+="&FORMAT="+this.myFormat;
    //not mandatory
    lURL+="&BGCOLOR=0xFFFFFF";
    lURL+="&TRANSPARENT=TRUE";
    lURL+="&REASPECT=false";

    return lURL;

}

