var xcaret = {
    slide : function () {
        if (document.getElementById("photos") != null) {
            //alert('photos');
            $('#photos').galleryView({
                panel_width: 400,
                panel_height: 300,
                frame_width: 100,
                frame_height: 75
            });
        }
    },
    set_lang : function() {
        if (document.getElementById("dst") != null) {
            //alert('lang_set');
            // select language
            var dst = document.getElementById('dst');
            for (l in google.language.Languages) {
                var lng = l.toLowerCase();
                var lngCode = google.language.Languages[l];
                dst.options.add(new Option(lng, lngCode));
            }
        }
    },
    trans : function(dest) {
        //var dest = "<%= @favorite_lang %>";
        //alert('dest='+dest);
        var elements = $(document.getElementsByTagName("div"));// array
        //alert('length='+elements.length);
        elements.each( function() {
            if (this.id.search(/trans/i) != -1) {
                //alert('div.id='+this.id);
                var trans_id = this.id;
                var src = document.getElementById(trans_id).innerHTML;
                //alert("src="+src);
                google.language.translate(src,'',dest,function(result){
                    if(!result.error){
                        document.getElementById(trans_id).innerHTML = result.translation;
                    }
                });
            }
        });
        var elements2 = $(document.getElementsByTagName("span"));// array
        //alert('length='+elements.length);
        elements2.each( function() {
            if (this.id.search(/trans/i) != -1) {
                //alert('div.id='+this.id);
                var trans_id = this.id;
                var src = document.getElementById(trans_id).innerHTML;
                //alert("src="+src);
                google.language.translate(src,'',dest,function(result){
                    if(!result.error){
                        document.getElementById(trans_id).innerHTML = result.translation;
                    }
                });
            }
        });
    },
    trans_except : function(dest,except_id) {
        var elements = $(document.getElementsByTagName("div"));// array
        elements.each( function() {
            if (this.id.search(/trans/i) != -1) {
                var trans_id = this.id;
                if (trans_id != except_id) {
                    var src = document.getElementById(trans_id).innerHTML;
                    google.language.translate(src,'',dest,function(result){
                        if(!result.error){
                            document.getElementById(trans_id).innerHTML = result.translation;
                        }
                    });
                }
            }
        });
        var elements2 = $(document.getElementsByTagName("span"));// array
        elements2.each( function() {
            if (this.id.search(/trans/i) != -1) {
                var trans_id = this.id;
                if (trans_id != except_id) {
                    var src = document.getElementById(trans_id).innerHTML;
                    google.language.translate(src,'',dest,function(result){
                        if(!result.error){
                            document.getElementById(trans_id).innerHTML = result.translation;
                        }
                    });
                }
            }
        });
    },
    trans_clear : function(dest) {
        if (dest == "ja" ) {
            //alert("cookie clear");
            $.cookie('keep_lang',null);
        }
    },
    trans_pin_ja : function(dest,virtual_lang,org_lang,trans_id) {
        if (dest != 'ja') {
            google.language.translate(virtual_lang,'',dest,function(result){
                if(!result.error){
                    document.getElementById(trans_id).innerHTML = result.translation;
                }
            });
        } else {
            document.getElementById(trans_id).innerHTML = org_lang;
            //alert('set '+virtual_lang);
        }
    },
    set_select_val : function(dest) {
        if (dest == null || dest == '') {
            document.getElementById("dst").value = "ja";
        } else {
            document.getElementById("dst").value = dest;
        }
    },
    branding : function() {
        if (document.getElementById("branding") != null) {
            google.language.getBranding('branding');
        }
    },
    map : function() {
        if (document.getElementById("map_canvas") != null) {
            //alert('map');
            if (GBrowserIsCompatible()) {
                var map = new GMap2(document.getElementById("map_canvas"));
                map.setCenter(new GLatLng(22.279695, 114.188805), 15);
            }
            // point
            var point = new GLatLng(22.279695, 114.188805);
            map.addOverlay(new GMarker(point));
            map.addControl(new GSmallMapControl());
            map.addControl(new GMapTypeControl());
        }
    }
}
