var lat = i18n.init_lat;
var lon = i18n.init_lon;
var scale = i18n.init_scale;
var g_map = i18n.init_g_map;
var geocoder = i18n.init_geocoder;

var InfoWindowW = 470;
var InfoWindowH = 280;

var iframeWidth = "100%";
var iframeHeight = 240;

/*
var channel_1 = '5,8,9,10,11';
var channel_2 = '12,13,14,15,16,17,18,19,20,21';
//var channel_3 = '22,23,24,25,26,28,29,30';
var channel_3 = '80,81,82,83,84,85,86';
*/

//1:TTNews(旅遊新聞)    25:Citytalk(最新活動)  33:Look(購物好康報)
var channel_1 = '1';
var channel_2 = '33';
var channel_3 = '25';

var AnchorIcon_options = {icon: i18n.img_gmap_anchor, width: 60, height: 59, zIndex: 1999};


var gmarkers = [];
var gicons = [];
var zoom_ = '';

if (i18n.init_nocahce) {
    var no_cache = "&t=" + new Date().getTime();
}

var loaded_movie_callback = function () {
        $('#loading-indicator').html(i18n.txt_loaded_movie_callback).hide(i18n.init_load_hidetime);
    } // info -----

function display(message) {
    $("#display-div").html(message);
} /* thickbox onclick function by Vincent/Y2 */
//function dotb(title, url) { $(document).ready(function(){ tb_show(title, url, null); });}
/* greybox onclick function by Vincent/Y2 */
var GB_ANIMATION = true;
var GB_btn_close = true;
var GB_click_overlay = true;
var GB_html_overflow = true;

function dotb(title, url) {
    GB_show(title, url, i18n.init_greybox_h, i18n.init_greybox_w, '', true);
}

/* search
----------------------------------*/
function geocallback(data){

//if (geocoder) {
//                var result = ""
                if(data.results != null){
/*
                    for(var i=0;i<data.results.length;i++){
                        result += data.results[i].name + ", (" + data.results[i].lat + ', ' + data.results[i].lon + ')<br>';
*/
				var point = new GLatLon(data.results[0].lat, data.results[0].lon);

//                var marker = new GMarker(point);
                var marker = new GShape(GShapeType.Pushpin, point);

//                var scale = g_map.getZoom();
                var scale = g_map.GetZoomLevel();
//                var center = g_map.getCenter();
                var center = g_map.GetCenter();

//				g_map.setCenter(point, scale);
				g_map.SetCenterAndZoom(point, scale);


                if ($("#btn-dl-news").length > 0) {
                    $("#btn-dl-news").click();
                }
                if ($("#btn-dl-movie").length > 0) {
                    $("#btn-dl-movie").click();
                }

                $("#stats").html(i18n.txt_info_latlng + center.toString() + i18n.txt_info_scale + scale);


                    g_map.AddShape(marker);
                }
            else {
                alert(i18n.txt_nofound_address + $("#address").val());
			}

//}


}

function showAddress(address) {
    if (!address) {
        alert(i18n.txt_noinput_address);
        $("#address").focus();
        return false;
    }

	g_map.GeocodeService(address, geocallback);
}

/*---------- Function ready --------------------*/
$(function () {

    jQuery.preloadImages = function () {
        for (var i = 0; i < arguments.length; i++) {
            jQuery("<img>").attr("src", goc_i_dir + arguments[i]);
        }
    }

/* preload images
----------------------------------------------------------*/
    $.preloadImages("onlinecenter_exe_icon_128_2-.gif", "zoom-all-gray.gif", "arrow-right-gray.gif", "formbg.gif", "search.gif", "cht_dll_bitmap_241-rox.gif", "cht_dll_bitmap_240-rox.gif", "cht_dll_bitmap_251-s.gif", "cht_dll_bitmap_230.gif", "cht_dll_bitmap_221.gif", "cht_dll_bitmap_223.gif", "cht_dll_bitmap_243-rox.gif", "cht_dll_bitmap_244-rox.gif", "zoomin-button.gif", "zoomout-button.gif", "progmini-t2.gif", "smile16.gif", "sad16.gif", "overlay.png", "blank.gif");

});

/*---------- Document ready --------------------------------------------------*/
$(document).ready(function () {

/* layout resize
-------------------------------*/
    offset_gmap = ($.browser.mozilla) ? 3 : 2;

    function _resize() {
        var _height = $(window).height();

        var hh = $('#header').height();
        var fh = $('#footer').height();
        var sh = $('#srchbox').height();

        g_h = _height - hh - fh;
        n_1 = $("#tab-menu").height();

        //$("#o-map").height(g_h-9);
        $("#gg-map").height(g_h - 7 - offset_gmap);

        offset_ = ($.browser.msie) ? 13 : 17;

        $("#news").height(g_h - n_1 - 32);
        $("#movies").height(g_h - n_1 - 32);
        $("#intro").height(g_h - n_1 - 32);
        $("#navigation").height(g_h - n_1 - 32);

    }

    $(window).wresize(_resize);
    _resize();

    $("#news").height(g_h - n_1 - offset_);
    $("#movies").height(g_h - n_1 - offset_);
    $("#intro").height(g_h - n_1 - offset_);
    $("#navigation").height(g_h - n_1 - offset_);

/* gmap_init
----------------------------------------------------------*/
    //if (GBrowserIsCompatible()) {

    $('#loading-indicator').html(i18n.txt_gmap_loading); // info -----
    //g_map = new GMap2(document.getElementById("gg-map"));
    g_map = new GarMap('gg-map');
//    g_map.onLoadMap(start_app);

	g_map.onLoadMap = function () {

		init_anchore = getStartLocation();
		start_app();

	};

    g_map.LoadMap();

/* ----------------------------------------------------------------------------------------------- */


	CenterMarker = new GShape(GShapeType.Pushpin, new GLatLon(0, 0), AnchorIcon_options);

/* APP --------------------------------*/
function start_app (){
/* app_start */
//if (init_anchore != true) { setAnchorCenter(); }

}
/* app_end */


    $('#loading-indicator').html(i18n.txt_gmap_loaded).hide(i18n.init_load_hidetime); // info -----
    //}

    /* conrner */
    //$('div#header').corner("bottom");
    $('.corner').corner();
    $('div#srchbox').corner();
    //$('div#o-map').corner("top");
    //$('div#footer').corner("bottom");
    /* tabs + cookie , remember last click tab */
    $('#container-1 ul').tabs( /*{ cookie: { expires: i18n.init_tabs_cooki } }*/ );

    if ($("#frmnews").length > 0) {
        $("#frmnews").cssCheckbox();
        if (i18n.init_checkall) {
            $("#frmnews input[@type='checkbox'] + label", this).each(function () {
                $(this).cssCheckboxToggle();
            });
        }
    } else {
        $("#news2009").cssCheckbox();
        if (i18n.init_checkall) {
            $("#news2009 input[@type='checkbox'] + label", this).each(function () {
                $(this).cssCheckboxToggle();
            });
        }

    }


    //$('#btn-pnd-movie').attr({href: i18n.init_thickbox_movie + i18n.init_thickbox_default + no_cache ,title: i18n.txt_tabs1})
    $('#btn-pnd-movie').attr({
        title: i18n.txt_tabs1
    })
    $('#btn-pnd-news').attr({
        title: i18n.txt_tabs2
    })
    $('#reset').attr({
        title: i18n.txt_control_reset
    })

/* Movie
--------------------------------------*/
    $('#btn-dl-movie').click(function () {

$('#list').html('');
//$("#message").appendTo($('#gg-map'));

//        var center = g_map.getCenter();
        var center = g_map.GetCenter();

        if (i18n.init_loaded_clearOverlays) {
//            g_map.clearOverlays();
//            g_map.addOverlay(CenterMarker, AnchorOptions);
			g_map.DeleteAllShapes();
			setAnchorCenter();
        }
        $('#loading-indicator').html(i18n.txt_loading_img + i18n.txt_tabs1 + i18n.txt_loading).show(i18n.init_load_showtime); // info -----
        georss = new MGeoRSS();
        g_map.addMGeoRSS(georss);
        georss.setIcon(i18n.img_georss_movie_icon);
        georss.load(i18n.init_gpi_movie_rss + "&olat=" + center.Latitude + "&olon=" + center.Longitude, i18n.init_proxy, i18n.init_autozoom, i18n.init_callback_time);

    });

/* News
--------------------------------------*/
    /* get news geonews rss, and put it into Gmap */
    $('#btn-dl-news').click(function () {

        if (g_map != undefined) {
//            var center = g_map.getCenter();
              var center = g_map.GetCenter();

            if ($("#frmnews").length > 0) {
                var val = $("#frmnews :checkbox").fieldValue();
            } else {
                var val = $("#news2009 :checkbox").fieldValue();
            }

            if (!val[0]) {
                alert(i18n.txt_nochoosenews);
            } else {
                if (i18n.init_loaded_clearOverlays) {
//                    g_map.clearOverlays();
//                    g_map.addOverlay(CenterMarker, AnchorOptions);

//					g_map.DeleteAllShapes();
					g_map.DeleteAllShapes();
					setAnchorCenter();

                }
                $('#loading-indicator').html(i18n.txt_loading_img + i18n.txt_tabs2 + i18n.txt_loading).show(i18n.init_load_showtime); // info -----

                if ($("#frmnews").length > 0) {
                    georss = new MGeoRSS();
                    g_map.addMGeoRSS(georss);
                    georss.setIcon(i18n.img_georss_news_icon);
                    georss.load(i18n.init_gpi_news_rss + "channel=" + val + "&lat=" + center.Latitude + "&lon=" + center.Longitude, i18n.init_proxy, i18n.init_autozoom, i18n.init_callback_time);
                } else {


                    // create the map
                    //var lat = Math.round(center.lat() / 360 * 4294967296);
                    //var lon = Math.round(center.lng() / 360 * 4294967296);
                    var final_chl = '';

                    var chk1 = val.exists("1");
                    var chk2 = val.exists("2");
                    var chk3 = val.exists("3");

                    if (chk1) {
                        final_chl += channel_1;
                    }
                    if (chk2) {
                        final_chl += (chk1) ? ',' + channel_2 : channel_2;
                    }
                    if (chk3) {
                        final_chl += (chk1 || chk2) ? ',' + channel_3 : channel_3;
                    }

                    georss = new MGeoRSS();
                    g_map.addMGeoRSS(georss);
                    georss.setIcon(i18n.img_georss_news_icon);
//                    georss.load(i18n.init_gpi_news_rss + "&olat=" + center.lat() + "&olon=" + center.lng() + "&channel=" + final_chl + "&maxRecordNum=" + i18n.init_gpi_news_maxRecordNum, i18n.init_proxy, i18n.init_autozoom, i18n.init_callback_time);
                    georss.load(i18n.init_gpi_news_rss + "&olat=" + center.Latitude + "&olon=" + center.Longitude + "&cpId=" + final_chl, i18n.init_proxy, i18n.init_autozoom, i18n.init_callback_time);

                }
            }

        } else {
            alert("你的瀏覽器沒有載入或不支援 n&ugrave;Map 喲!");
        }

    });


    $('#btn-pnd-movie').click(function () {
        var center = g_map.GetCenter();
        dotb(i18n.txt_tabs1, i18n.init_thickbox_movie + '&lat=' + center.Latitude + '&lon=' + center.Longitude + i18n.init_thickbox_default + no_cache);
        return false;
    });


    /* DL news to PND */
    $('#btn-pnd-news').click(function () {
        if ($("#frmnews").length > 0) {
            var val = $("#frmnews :checkbox").fieldValue();
        } else {
            var val = $("#news2009 :checkbox").fieldValue();
        }


        if (!val[0]) {
            alert(i18n.txt_nochoosenews);
            return false;
        } else {
	        var center = g_map.GetCenter();
            dotb(i18n.txt_tabs2, i18n.init_thickbox_news + '&val=' + val + '&lat=' + center.Latitude + '&lon=' + center.Longitude + i18n.init_thickbox_default + no_cache);
            return false;
        }

    });

    $('#reset').click(function () {
        g_map.zoomToMarkers();
    });

});


/* 2009 */
Array.prototype.exists = function (o) {
    for (var i = 0; i < this.length; i++)
    if (this[i] === o) return true;
    return false;
}


/* new 2011/08/24 get start location */
        function getStartLocation(){
            if (navigator && navigator.geolocation) {
                // HTML5 GeoLocation

                navigator.geolocation.getCurrentPosition(setUserPosition);

				//return true;
            }
			//return false;
        }
        function setUserPosition(position) {
            var userPos = {
                "lat": position.coords.latitude,
                "lng": position.coords.longitude
            }

		if (userPos.lat && userPos.lng)
			{
        g_map.SetView({
            center:  new GLatLon(userPos.lat , userPos.lng),
            animate: 1,
            zoom: 10
        });
		setAnchorCenter();

			}

		}

function setAnchorCenter(){
var center = g_map.GetCenter();

 $("#stats").html(i18n.txt_info_latlng + center.toString() + i18n.txt_info_scale + scale);

CenterMarker = new GShape(GShapeType.Pushpin, new GLatLon(center.Latitude, center.Longitude), AnchorIcon_options);
g_map.AddShape(CenterMarker);
CenterMarker.SetLocation(g_map.GetCenter());

g_map.AttachEvent("onchangeview", function () {

		var scale = g_map.GetZoomLevel();
        CenterMarker.SetLocation(g_map.GetCenter());

       $("#stats").html(i18n.txt_info_latlng + center.toString() + i18n.txt_info_scale + scale);

});

}


function tipMeFunction(caller, t){
        $(caller).qtip({
            content: t,
            style: { width: 450 }
        });
}
