/*
* UKFindMap - 1.0
*
* Copyright (c) 2008-12-18 Hikin Yao
*
* Dual licensed under the MIT and GPL licenses:
*   http://www.opensource.org/licenses/mit-license.php
*   http://www.gnu.org/licenses/gpl.html
*
*
*/
;
(function($) {
    $.fn.extend({
        UKFindMap: function(options) {
            options = $.extend($.UKFindMap.defaults, options ||
                                                         {});
            return this.each(function() {
				options.findMapDiv=this;
                new $.UKFindMap(options);
            });
        }
    });

    $.UKFindMap = function(opts) {
		$.UKFindMap.UI(opts);

    };
	$.UKFindMap.UI = function(opts){
		    var parent = $(opts.findMapDiv).parent();
			var parentPos = parent.offset();
			//var left = parentPos.left + parent.width()-570;
			//var top = parentPos.top+1;
			var left = parentPos.left + parent.width()-240;
			var top = parentPos.top + 2;
			//$(opts.findMapDiv).css({"position":"absolute","top":top,"left":left,"width":"240px"});
			$(opts.findMapDiv).empty();
			$(opts.findMapDiv).html('<input type="text" id="input_id" /><a href="javascript:void(0)" id="find_map_show"></a>');
			$(opts.input).val(opts.inputValue);
			$(opts.input).focus(function() {
            if ($(this).val() == opts.inputValue)
            {
                $(this).val('');
            }
        	})
       		$(opts.input).blur(function() {
            if ($(this).val() == "")
            {
                $(this).val(opts.inputValue);
            }
        	})
			$.UKFindMap.AutoComplete(opts);
	};
	$.UKFindMap.AutoComplete = function(opts){
						var autoWidth=$(opts.input).width()+8;
                        $(opts.input).autocomplete(opts.url, {
                            width: autoWidth,
                            multiple: false,
							matchCase: true,
							matchSubset: true,
							matchContains:true,
                            multipleSeparator: "  ",
                            autoFill: false,
							cacheLength: opts.resultSize,
							formatItem: function(data, i, max,value,term,row) {
								if(row.pinYin){
									row.pinYin=row.pinYin.replace("世界 - ","");
								}else{
									row.pinYin="";
								}
                                return data+'<br/><span class="add">'+row.pinYin+'</span> ';
                            },
                            formatMatch: function(row, i, max) {
                                return row.pinYin;
                            },
                            formatResult: function(row) {
                                return row.name;
                            },
							scroll: false
                        }).result(function(event, data, formatted) {
                            if (data && data.id)
                            {
                                data = data.id;
								$.UKFindMap.Redirect(data,opts);
							}})
     };
    $.UKFindMap.Redirect = function(id,opts){
			if(id){
			var url = rootPath+'json/get_map.html';
			var data ={id:id};
			$.post(
					url,
					data,
					function(rs){
						if(rs!=null && rs.message == 'success'){
						   	if(rs.data!=""){
								location.href =opts.redirectURL+rs.data;
							}
						}
					}
					,'json')
		}
	};
    $.UKFindMap.defaults = {
		findMapDiv:'',
		url:rootPath+"json/find_map.html",
		redirectURL:rootPath+"maps/",
		input:'#input_id',
		resultSize:10,
		width:256,
		inputValue:'旅行目标、地区、街道'
        }
})($);
$(document).ready(function() {
    $('#find_map').UKFindMap();     
})
