var GlobalDrag;
function gbTurnOff (a) {
if (document.getElementById(a+"_a")) { document.getElementById(a+"_a").checked='' };
if (document.getElementById(a+"_n")) { document.getElementById(a+"_n").checked='' };
}
function gbCheck (button,state) {
var a = button.id;
a = a.substring(0,a.lastIndexOf("_"));
var container = document.getElementById(a);
if (!container) { return false; }
var checkboxes = container.getElementsByTagName('input');
if (!checkboxes) { return false; }
var added_tracks = false;
if (state == 1){
var track_names = new Array();
for (var i=0; i<checkboxes.length; i++) {
checkboxes[i].checked=state;
track_names.push(checkboxes[i].value)
}
added_tracks = Controller.add_tracks(track_names);
}
if (!added_tracks) {
for (var i=0; i<checkboxes.length; i++) {
checkboxes[i].checked=state;
gbToggleTrack(checkboxes[i]);
}
}
gbTurnOff(a);
button.checked="on";
return false;
}
function gbToggleTrack (button) {
var track_name = button.value;
var visible = button.checked;
ShowHideTrack(track_name,visible);
}
function ShowHideTrack(track_name,visible) {
if (visible && !Controller.track_exists(track_name)) {
Controller.add_track(track_name);
return false;
}
Controller.each_track(track_name,function(gbtrack) {
var el_id = gbtrack.track_div_id;
var element = $(el_id);
if (visible) {
if (element.style.display == "none") {
element.style.display="block";
Controller.set_track_visibility(gbtrack.track_id, 1);
}
}
else {
if (element && element.style.display != "none") {
element.style.display="none";
Controller.set_track_visibility(gbtrack.track_id, 0);
}
}
});
if ($(track_name+'_check') == null)
track_name = track_name.sub(/:(overview|region|detail)$/,'');
$(track_name + '_check').checked = visible ? true : false;
}
function update_segment (formdata) {
var postData = 'render=detailview';
if (formdata && formdata.length>0) {
postData = postData + ';' + formdata
}
$('details_panel').innerHTML='Loading...';
new Ajax.Updater('details_panel',
document.URL,
{ method: 'post',
postBody: postData,
evalScripts: true
}
);
}
function create_drag (div_name) {
GlobalDrag = div_name;
Sortable.create(
div_name,
{
tag: 'div',
constraint: 'vertical',
only: 'track',
handle: 'titlebar',
scroll: window,
onUpdate: function() {
var postData = Sortable.serialize(div_name,{name:'label'})+';action=change_track_order';
new Ajax.Request(document.URL,{method:'post',postBody:postData});
}
}
);
}