﻿// load Google APIs by name & version
var map;
var traffic;
var searchContainer;
var resultContainer;
var mapContainer;
var searchControl;

// Call this function when the page has been loaded
function show_gsearch() {
    searchContainer = document.getElementById("searchcontrol");
    resultContainer = document.getElementById("results");
    searchControl = new google.search.SearchControl();
    var searchOptions = new google.search.SearcherOptions();
    //searchOptions.setRoot(document.getElementById("vidresults"));
    searchControl.addSearcher(new google.search.WebSearch(), searchOptions);
    searchControl.addSearcher(new google.search.NewsSearch(), searchOptions);
    searchControl.addSearcher(new google.search.VideoSearch(), searchOptions);
    searchControl.addSearcher(new google.search.BlogSearch(), searchOptions);
    searchControl.addSearcher(new google.search.LocalSearch(), searchOptions);
    searchControl.addSearcher(new google.search.ImageSearch(), searchOptions);
    searchControl.addSearcher(new google.search.BookSearch(), searchOptions);
    searchControl.addSearcher(new google.search.PatentSearch(), searchOptions);
    var drawOptions = new google.search.DrawOptions();
    drawOptions.setSearchFormRoot(searchContainer);
    //drawOptions.setInput(document.getElementById("searchText"));
    drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED);
    searchControl.setLinkTarget(google.search.Search.LINK_TARGET_SELF);
    searchControl.setResultSetSize(google.search.Search.LARGE_RESULTSET);
    searchControl.draw(resultContainer, drawOptions);
}

function search_exec() {
    searchControl.execute();
}

function search_clear() {
    searchControl.clearAllResults();
}

function search_target(targ) {
    if (targ == "self") {
        searchControl.setLinkTarget(google.search.Search.LINK_TARGET_SELF);
    } else {
        searchControl.setLinkTarget(google.search.Search.LINK_TARGET_BLANK);
    }
}

function show_gmaps() {
    mapContainer = document.getElementById("map");
    map = new google.maps.Map2(mapContainer);
    var point;
    var note;

    if (google.loader.ClientLocation) {
        point = new google.maps.LatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude);
        note = google.loader.ClientLocation.address.city + ", " + google.loader.ClientLocation.address.region + ", " + google.loader.ClientLocation.address.country_code;
    }
    else {
        point = new google.maps.LatLng(32.725, -117.172);
        note = "San Diego, CA, US";
    }

    map.setCenter(point, 13);
    //map.addOverlay(new GMarker(point));
    map.openInfoWindow(map.getCenter(), document.createTextNode(note));
    map.addControl(new google.maps.SmallMapControl());
    map.addControl(new google.maps.MenuMapTypeControl());
    //map.addControl(new google.maps.LocalSearch());


    var trOptions = { incidents: true };
    traffic = new google.maps.TrafficOverlay(trOptions);
    document.getElementById("mapOptions").innerHTML = "<input type='checkbox' onclick='trafficOverlay()' id='tr' checked='checked' /><label for='tr'>traffic</label>";
    map.addOverlay(traffic);
}

function load_gmaps() {
    google.load("maps", "2", { "callback": show_gmaps });
}

function load_gsearch() {
    google.load("search", "1", { "callback": show_gsearch });
    google.load("feeds", "1");
}

function gIP_info() {
    var info;
    if (google.loader.ClientLocation) {
        info = "Country Code: " + google.loader.ClientLocation.address.country_code;
        info += "<br/>Region: " + google.loader.ClientLocation.address.region;
        info += "<br/>City: " + google.loader.ClientLocation.address.city;
        info += "<br/>Country: " + google.loader.ClientLocation.address.country;
        info += "<br/>Latitude: " + google.loader.ClientLocation.latitude;
        info += "<br/>Longitude: " + google.loader.ClientLocation.longitude;
    }
    else {
        info = "No IP information located";
    }

    document.getElementById("ip").innerHTML = info;
}

function trafficOverlay() {
    if (document.getElementById('tr').checked) {
        map.addOverlay(traffic);
    } else {
        map.removeOverlay(traffic);
    }
}


function gSearchLoader() {
    var script = document.createElement("script");
    script.src = "http://www.google.com/jsapi?key=ABQIAAAA9nPgLAGxumvZ8rk6vBhhAxQ59m-Ur3NaVfJu4j4G8qZ2tMW2JRQenMtgNTa2Ds7awyBAAQwPqCy34A&callback=load_gsearch";
    script.type = "text/javascript";
    document.getElementsByTagName("head")[0].appendChild(script);
}

function gMapLoader() {
    var script = document.createElement("script");
    script.src = "http://www.google.com/jsapi?key=ABQIAAAA9nPgLAGxumvZ8rk6vBhhAxQ59m-Ur3NaVfJu4j4G8qZ2tMW2JRQenMtgNTa2Ds7awyBAAQwPqCy34A&callback=load_gmap";
    script.type = "text/javascript";
    document.getElementsByTagName("head")[0].appendChild(script);
}

function weatherURL() {
    var wURL;
    if (google.loader.ClientLocation) {
    wURL = "http://weather.ibegin.com/js/" + google.loader.ClientLocation.address.country_code + "/" + google.loader.ClientLocation.address.region + "/";
    wURL += google.loader.ClientLocation.address.city + "/1/1/1/1/0/custom.js&background_color=ffffff&color=000000&width=164&padding=4&border_width=0&border_color=ffffff&font_size=10&font_family=Verdana&showicons=1";
    } else {
    wURL = "http://weather.ibegin.com/js/"  + document.getElementById('fldCountry').value + "/" + document.getElementById('fldState').value + "/";
    wURL += document.getElementById('fldCity').value + "/1/1/1/1/0/custom.js&background_color=ffffff&color=000000&width=164&padding=4&border_width=0&border_color=ffffff&font_size=10&font_family=Verdana&showicons=1";
    }
    return wURL;
}