var Query = Class.create();

Query.prototype = {
    m_query : null,
    
    m_lat : 0,
    m_lon : 0,

    initialize : function(queryHash) {
        this.m_query = queryHash;
    },
    
    getStyle : function()
    {
        if( this.m_query.style ) 
        { 
            return {
                defined : true,
                style : Number(this.m_query.style)
            };
        }
        else
        {
            return {defined : false};
        }
    },
    
    getCenter : function()
    {
        if( this.m_query.gabix ) //gabix=4_7078650_326533
        { 
            //Startup coordinate
            var _y_x = this.m_query.gabix.split("_");
            var latlon = UTMToLatLon(_y_x[1], _y_x[2], 33);
            //alert([_y_x[1], _y_x[2], latlon.lat, latlon.lon]);
            lat = latlon.lat;
            lon = latlon.lon;
            
            return {
                defined : true,
                lat : lat,
                lon : lon,
                level : 4
            };
        }
        else if( this.m_query.lat && this.m_query.lon )
        {
            return {
                defined : true,
                lat : parseFloat(this.m_query.lat),
                lon : parseFloat(this.m_query.lon),
                level : (this.m_query.level) ? Number(this.m_query.level) : this.m_query.level
            };
        }
        else
        {
            return {
                defined : false
            };
        }
    },
    
    getRSS : function()
    {
        if( this.m_query.skey && this.m_query.rssid )
        {
            return {
                defined : true,
                url : "/tolk/Page/Map/ResultFeeder.aspx?skey=" + this.m_query.skey,
                id : this.m_query.rssid
            };
        }
        else
        {
            return {
                defined : false
            };
        }
    },
    
    getCaption : function()
    {
       if( this.m_query.caption )
        {
            return {
                defined : true,
                caption : this.m_query.caption
            };
        }
        else
        {
            return {
                defined : false
            };
        } 
    },
    
    getType : function()
    {
        if( this.m_query.type )
        {
            return {
                defined : true,
                type : this.m_query.type
            };
        }
        else
        {
            return {
                defined : false
            };
        } 
    },
    
    getStartDetails : function()
    {
        if( this.m_query.description1 )
        {
            return {
                defined : true,
                description : this.m_query.description1,
                phonenumber : this.m_query.phonenumber1,
                mobile : this.m_query.mobile1,
                streetname : this.m_query.streetname1,
                housenumber : this.m_query.housenumber1,
                entrance : this.m_query.entrance1,
                postcode : this.m_query.postcode1,
                postarea : this.m_query.postarea1,
                firstname : this.m_query.firstname1,
                lastname : this.m_query.lastname1,
                lat : this.m_query.lat1,
                lon : this.m_query.lon1
            };
        }
        else
        {
            return {
                defined : false
            };
        } 
    },
    
    getDestinationDetails : function()
    {
        if( this.m_query.description2 )
        {
            return {
                defined : true,
                description : this.m_query.description2,
                phonenumber : this.m_query.phonenumber2,
                mobile : this.m_query.mobile2,
                streetname : this.m_query.streetname2,
                housenumber : this.m_query.housenumber2,
                entrance : this.m_query.entrance2,
                postcode : this.m_query.postcode2,
                postarea : this.m_query.postarea2,
                firstname : this.m_query.firstname2,
                lastname : this.m_query.lastname2,
                lat : this.m_query.lat2,
                lon : this.m_query.lon2
            };
        }
        else
        {
            return {
                defined : false
            };
        } 
    },
        
    getPointDetails : function()
    {
        if( this.m_query.description )
        {
            return {
                defined : true,
                description : this.m_query.description,
                phonenumber : this.m_query.phonenumber,
                mobile : this.m_query.mobile,
                streetname : this.m_query.streetname,
                housenumber : this.m_query.housenumber,
                entrance : this.m_query.entrance,
                postcode : this.m_query.postcode,
                postarea : this.m_query.postarea,
                firstname : this.m_query.firstname,
                lastname : this.m_query.lastname,
                county : this.m_query.county
            };
        }
        else
        {
            return {
                defined : false
            };
        } 
    },
    
    getScene : function()
    {
        if( this.m_query.sceneid )
        {
            return {
                defined : true,
                sceneid : this.m_query.sceneid
            };
        }
        else
        {
            return {
                defined : false
            };
        } 
    }
}

