//Concept Studio Scripts
//-----------------------------------Relative Box Positioning---------------------------//
var relativeLayers=[];
function AddRelative(Id,RefId,RefValue,RefType){
relativeLayers[relativeLayers.length] = [Id, RefId, RefValue, RefType, 0, 0];
}


function HandleRelative(RId){
for (var i=0; i<relativeLayers.length; i++) {
  var layerData =  relativeLayers[i];
  var Id             =  layerData[0];
  var RefId       =  layerData[1];
  var RefValue =  layerData[2];
  var RefType  =  layerData[3];
  var MinHeight= 0;//layerData[4];
  var MinWidth = 0;//layerData[5];
  if (RefId == RId){
    var baseObject = MM_findObj(Id, false);
    var refObject     = MM_findObj(RefId, false);
    if (baseObject && refObject){
      MinHeight = baseObject.style.height;
      MinWidth  = baseObject.style.width;
      switch(RefType){
        case "top":
          baseObject.style.top = (parseInt(refObject.offsetTop) + parseInt(RefValue)) + "px";
          break;
        case "left":
          baseObject.style.left = (parseInt(refObject.offsetLeft) + parseInt(RefValue)) + "px";
          break;
        case "right":
          baseObject.style.left = (parseInt(refObject.offsetLeft) + parseInt(refObject.offsetWidth) + parseInt(RefValue)) + "px";
          break;
        case "bottom":
          baseObject.style.top = (parseInt(refObject.offsetTop) + parseInt(refObject.offsetHeight) + parseInt(RefValue)) + "px";
          break;
        case "width":
          baseObject.style.width = Math.max(parseInt(MinWidth), parseInt(refObject.offsetWidth) + parseInt(RefValue)) + "px";
          break;
        case "height":
          //alert(parseInt(ApproxHeight(refObject)));
          baseObject.style.height = Math.max(baseObject.offsetHeight, parseInt(ApproxHeight(refObject) + parseInt(RefValue)) ) + 'px';
          break;
        }
      }
    }
  }
}

function AlignRelatives(){
var processed = [];
for (var j=0; j<relativeLayers.length; j++) {
  var layerData = relativeLayers[j];
  var RID = layerData[1];
  var b = true;
  for (var k=0;k<processed.length; k++){
    if (processed[k] == RID){b = false;break;}
    }
  if(b){
    HandleRelative(RID);
    processed[processed.length] = RID;
    }
}
}
//-----------------------------------Relative Box Positioning---------------------------//
