var mMap = null;
var mGeocoder = null;
//var mUserMark = null;
//var mUserPoint = null;
//var mYouIcon = null;
var mGPSToggle = "OFF";

/*
var mMarkerUserOptions = 
{
    icon: mYouIcon
};
*/

$(document).ready(function()
{
    $('#location').jec();    
});

function btnDown(aBtnName)
{
    if (aBtnName == "goBtn") 
    {
    	var goBtn = document.getElementById('goBtn');
        goBtn.src = "./css/godown.png";
    }
    else if (aBtnName == "gpsBtn")
    {
    	var goBtn = document.getElementById('gpsBtn');
        goBtn.src = "./css/gpsdown.png";
    }
}

function btnUp(aBtnName)
{
    if (aBtnName == "goBtn") 
    {
    	var goBtn = document.getElementById('goBtn');
        goBtn.src = "./css/go.png";
    }
    else if (aBtnName == "gpsBtn")
    {
    	var goBtn = document.getElementById('gpsBtn');
        goBtn.src = "./css/gpsup.png";
    }
}

/*
function createUserMarker(aLatitude, aLongitude, aName)
{
    if (mUserMark == null) 
    {
        try 
        {
            mUserPoint = new GLatLng(aLatitude, aLongitude);
            mUserMark = new GMarker(mUserPoint, mMarkerUserOptions);
            mMap.addOverlay(mUserMark);
        } 
        catch (e) 
        {
            alert("(001) Error: " + e);
        }
    }
    else 
    {
        try 
        {
            mUserPoint = new GLatLng(aLatitude, aLongitude);
            mUserMark.setLatLng(mUserPoint);
            mMap.setCenter(mUserPoint, 11);
        } 
        catch (e) 
        {
            alert("(002) Error: " + e);
        }
    }
}
*/

function init()
{	
    if (GBrowserIsCompatible()) 
    {
        setup();
    }
    else 
    {
    }
}

function setup()
{
    try 
    {
        var mapOptions = 
        {
            googleBarOptions: 
            {
                style: "new",
            }
        }		
        mMap = new GMap2(document.getElementById("map"), mapOptions);		
        mMap.addControl(new ExtMapTypeControl(
        {
            showTraffic: true,
            showTrafficKey: true
        }));
        mMap.addControl(new GSmallMapControl());
        mMap.setMapType(G_NORMAL_MAP);
        mMap.enableGoogleBar();
        
        mGeocoder = new GClientGeocoder();
/*
        mYouIcon = new GIcon(G_DEFAULT_ICON);
        mYouIcon.image = "./css/youicon.png";
        mYouIcon.iconSize = new GSize(49, 49);
*/                
    } 
    catch (e) 
    {
        alert('(006) Error ::setup ' + e);
    }
}

function showMap(aLocation)
{
	var location = null;
	if (aLocation == "")	
    	location = document.getElementById('location').value;
		
	else
		location = aLocation;
		
    mGeocoder.getLatLng(location, function(point)
    {
        if (!point) 
        {
            alert(location + " not found");
        }
        else 
        {
            mMap.setCenter(point, 11);
        }
    });
}

function showMapInputLocation()
{
	var location = document.getElementById('inputLocation').value;
	showMap(location);
}

function toggleGPS()
{
    var gpsBtn = document.getElementById('gpsBtn');
    if (mGPSToggle == "ON") 
    {
        mGPSToggle = "OFF";
        gpsBtn.src = "./css/gpsup.png";
    }
    else 
    {
        mGPSToggle = "ON";
        gpsBtn.src = "./css/gpsdown.bmp";
    }
}

/*********************************************** The following code are for showing hints
 * Show Hint script- © Dynamic Drive (www.dynamicdrive.com)
 * This notice MUST stay intact for legal use
 * Visit http://www.dynamicdrive.com/ for this script and 100s more.
 ***********************************************/
var horizontal_offset = "9px" //horizontal offset of hint box from anchor link
/////No further editting needed

var vertical_offset = "0" //horizontal offset of hint box from anchor link. No need to change.
var ie = document.all
var ns6 = document.getElementById && !document.all

function getposOffset(what, offsettype)
{
    var totaloffset = (offsettype == "left") ? what.offsetLeft : what.offsetTop;
    var parentEl = what.offsetParent;
    while (parentEl != null) 
    {
        totaloffset = (offsettype == "left") ? totaloffset + parentEl.offsetLeft : totaloffset + parentEl.offsetTop;
        parentEl = parentEl.offsetParent;
    }
    return totaloffset;
}

function iecompattest()
{
    return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge)
{
    var edgeoffset = (whichedge == "rightedge") ? parseInt(horizontal_offset) * -1 : parseInt(vertical_offset) * -1
    if (whichedge == "rightedge") 
    {
        var windowedge = ie && !window.opera ? iecompattest().scrollLeft + iecompattest().clientWidth - 30 : window.pageXOffset + window.innerWidth - 40
        dropmenuobj.contentmeasure = dropmenuobj.offsetWidth
        if (windowedge - dropmenuobj.x < dropmenuobj.contentmeasure) 
            edgeoffset = dropmenuobj.contentmeasure + obj.offsetWidth + parseInt(horizontal_offset)
    }
    else 
    {
        var windowedge = ie && !window.opera ? iecompattest().scrollTop + iecompattest().clientHeight - 15 : window.pageYOffset + window.innerHeight - 18
        dropmenuobj.contentmeasure = dropmenuobj.offsetHeight
        if (windowedge - dropmenuobj.y < dropmenuobj.contentmeasure) 
            edgeoffset = dropmenuobj.contentmeasure - obj.offsetHeight
    }
    return edgeoffset
}

function showhint(menucontents, obj, e, tipwidth)
{
    if ((ie || ns6) && document.getElementById("hintbox")) 
    {
        dropmenuobj = document.getElementById("hintbox")
        dropmenuobj.innerHTML = menucontents
        dropmenuobj.style.left = dropmenuobj.style.top = -500
        if (tipwidth != "") 
        {
            dropmenuobj.widthobj = dropmenuobj.style
            dropmenuobj.widthobj.width = tipwidth
        }
        dropmenuobj.x = getposOffset(obj, "left")
        dropmenuobj.y = getposOffset(obj, "top")
        dropmenuobj.style.left = dropmenuobj.x - clearbrowseredge(obj, "rightedge") + obj.offsetWidth + "px"
        dropmenuobj.style.top = dropmenuobj.y - clearbrowseredge(obj, "bottomedge") + "px"
        dropmenuobj.style.visibility = "visible"
        obj.onmouseout = hidetip
    }
}

function hidetip(e)
{
    dropmenuobj.style.visibility = "hidden"
    dropmenuobj.style.left = "-500px"
}

function createhintbox()
{
    var divblock = document.createElement("div")
    divblock.setAttribute("id", "hintbox")
    document.body.appendChild(divblock)
}

if (window.addEventListener) 
    window.addEventListener("load", createhintbox, false)

else 
    if (window.attachEvent) 
        window.attachEvent("onload", createhintbox)
    
    else 
        if (document.getElementById) 
            window.onload = createhintbox

