', {id:'RAUtilSaveChanges', style:'color:red'});
$RASaveChanges.text('You must save your changes before using this utility.');
$('#RAUtilWindow').append($RASaveChanges);
pendingChanges = true;
}
}
else
{
$RASaveChanges.remove();
pendingChanges = false;
}
}
function checkAllEditable(RASegs){
var $RAEditable = $('#RAEditable');
var allEditable = true;
var segObj, fromNode, toNode;
for(i=0; i', {id:'RAEditable', style:'color:red'});
$RAEditable.text('One or more segments are locked above your rank or have a closure.');
$('#RAUtilWindow').append($RAEditable);
}
}
return allEditable;
}
function AllSelectedSegmentsRA(){
for (i = 0; i < W.selectionManager.selectedItems.length; i++){
if(W.selectionManager.selectedItems[i].model.attributes.id < 0 || !wLib.Model.isRoundaboutSegmentID(W.selectionManager.selectedItems[i].model.attributes.id))
return false;
}
return true;
}
function ShiftSegmentNodesLat(segObj, latOffset){
var RASegs = wLib.Model.getAllRoundaboutSegmentsFromObj(segObj);
if(checkAllEditable(RASegs)){
var gps;
var newGeometry = segObj.geometry.clone();
var originalLength = segObj.geometry.components.length;
for(i=0; i