function initGoogleMap() {
    if (GBrowserIsCompatible()) {
        if(YAHOO.util.Dom.get('google_coords').value != '') {
            var latlng = YAHOO.util.Dom.get('google_coords').value.split(',');
            var map = new GMap2(document.getElementById("map_canvas"));
            map.addControl(new GSmallZoomControl());
            //map.addControl(new GMapTypeControl());
            map.setCenter(new GLatLng(latlng[0], latlng[1]), 10);
            map.setZoom(14);
            map.enableScrollWheelZoom();
            var marker = new GMarker(new GLatLng(latlng[0], latlng[1]),{});
            map.addOverlay(marker);
            marker.show();          
        }
    }
}

function initObjectsSlider(container_id, slider_id) {
    if(typeof window.obslContainer == 'undefined') {
        window.obslContainer = {};
        window.obslSlider = {};
        window.obslMaxScroll = {};
        window.obslTimer = {};
        window.obslScrollSpeed = {};
    }

    window.obslContainer[container_id] = YAHOO.util.Dom.get(container_id);
    window.obslSlider[container_id] = YAHOO.util.Dom.get(slider_id);

    window.obslScrollSpeed[container_id] = 0;
    window.prslMaxScrollSpeed = 18;

    var containerxy = YAHOO.util.Dom.getRegion(window.obslContainer[container_id]);
    var sliderxy = YAHOO.util.Dom.getRegion(window.obslSlider[container_id]);

    window.obslMaxScroll[container_id] = -(sliderxy.right - sliderxy.left - (containerxy.right-containerxy.left));

    YAHOO.util.Event.addListener(window.obslContainer[container_id], 'mousemove', objectSliderScrollSet);
    YAHOO.util.Event.addListener(window.obslContainer[container_id], 'mouseout', objectSliderScrollStop);

    window.obslTimer[container_id] = window.setInterval(objectSliderContinue, 40, container_id);
}


function objectSliderScrollSet(e) {
    var mousexy = YAHOO.util.Event.getXY(e);
    var containerxy = YAHOO.util.Dom.getRegion(window.obslContainer[this.id]);

    var dx = mousexy[0] - containerxy.left;
    var containerWidth = containerxy.right - containerxy.left;

    window.obslScrollSpeed[this.id] = -Math.round((dx - (containerWidth /2)) / (containerWidth / window.prslMaxScrollSpeed / 2));
}

function objectSliderContinue(container_id) {
    var left = parseInt(YAHOO.util.Dom.getStyle(window.obslSlider[container_id], 'left'));
    if(isNaN(left)) {
        left = 0;
    }
    var nleft = left + window.obslScrollSpeed[container_id];

    if(nleft > 0) {
        nleft = 0;
    }
    if(nleft < window.obslMaxScroll[container_id]) {
        nleft = window.obslMaxScroll[container_id];
    }

    YAHOO.util.Dom.setStyle(window.obslSlider[container_id], 'left', nleft+'px');
}

function objectSliderScrollStop(e) {
    var mousexy = YAHOO.util.Event.getXY(e);
    var containerxy = YAHOO.util.Dom.getRegion(window.obslContainer[this.id]);
    if(!(mousexy[0] > containerxy.left && mousexy[0] < containerxy.right && mousexy[1] > containerxy.top && mousexy[1] < containerxy.bottom)) {
        window.obslScrollSpeed[this.id] = 0;
    }
}

function initLightBox() {
    window.lightbox = new YAHOO.widget.Panel("photo-lightbox",
    {width : '720px',//YAHOO.util.Dom.getViewportWidth()*0.7+"px",
      height : Math.min(YAHOO.util.Dom.getViewportHeight()*0.95,605)+"px",
      /*fixedcenter : true,*/
      visible : false,
      modal: true, 
      constraintoviewport : true
     } );
    lightbox.render();
    lightbox.center();
    YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName('hd','div','photo-lightbox')[0],'display','none');    
    YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName('container-close','a','photo-lightbox')[0],'z-index','1000');    

    YAHOO.util.Event.addListener('photo-lightbox_mask', "click", closeLightBox);
    window.lightboxKey = new YAHOO.util.KeyListener(document, {
        keys:27
    },
    {
        fn: closeLightBox,
        scope:lightbox,
        correctScope:true
    });

}

function closeLightBox() {
    lightbox.hide();
    lightboxKey.disable()
    lightbox.setBody('');
}

function initVideoBox() {
    window.videobox = new YAHOO.widget.Dialog("video-lightbox",
    {width : "660px",
      height : "560px",
      /*fixedcenter : true,*/
      visible : false,
      modal: true,
      constraintoviewport : true
     } );
    videobox.render();
    videobox.center();
}

function initMapBox() {
    window.mapbox = new YAHOO.widget.Dialog("map-lightbox",
    {width : "660px",
      height : "560px",
      /*fixedcenter : true,*/
      visible : false,
      modal: true,
      constraintoviewport : true
     } );
    mapbox.beforeHideEvent.subscribe(function() {
        YAHOO.util.Dom.get('map_canvas').innerHTML = '';
    });
    mapbox.render();
    mapbox.center();
}

function showPhoto(pos) {

    var photos = YAHOO.util.Dom.getElementsByClassName('photo_group');
    lightbox.setBody(photos[0].innerHTML);

    window.photoGallery = $('#photo-lightbox .bd').galleria({
        show: pos,
        clicknext:true,
        transition: 'none',
        imagePan: false,
        imageCrop: false,
        showInfo: false,
        debug: false
    });


    lightbox.center();
    lightbox.show();
    lightboxKey.enable();

}

function showMap() {
    mapbox.show();
    initGoogleMap();
}

function addMyObject(objId,url,tOk) {

	addMyObjResult = new YAHOO.widget.SimpleDialog("addMyObjResult", { 
	    width: "20em", 
	    fixedcenter:true,
	    modal:true,
	    visible:false,
	    draggable:false, 
	    buttons: [{text: tOk,  
                   handler: function() {this.cancel()}} ]
	    });
    addMyObjResult.render('content');

    var callback = {
       success: function(o) {
            addMyObjResult.setBody(o.responseText);
            addMyObjResult.show();
           },
       failure: function(o) {
            addMyObjResult.setBody(o.responseText);
       }
    }
    
    var transaction = YAHOO.util.Connect.asyncRequest('GET', url + '?ids=' + objId, callback, null);
}

