
var _MINI_TOOLS       = false;
var _MINI_TOOLS_LEFT  = 14;
var _MINI_TOOLS_WIDTH = 110;
var _MINI_TOOLS_SHIFT = _MINI_TOOLS_WIDTH - _MINI_TOOLS_LEFT;

var _MINI_INFO        = false;
var _MINI_INFO_TOP    = 14;
var _MINI_INFO_HEIGHT = 200;
var _MINI_INFO_SHIFT  = _MINI_INFO_HEIGHT - _MINI_INFO_TOP;

function include_dom_js(script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('language', 'javascript');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', script_filename);
    html_doc.appendChild(js);
    return false;
}

function include_dom_st(stylesheet_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
    var st = document.createElement('link');
    st.setAttribute('rel', 'stylesheet');
    st.setAttribute('type', 'text/css');
    st.setAttribute('href', stylesheet_filename);
    html_doc.appendChild(st);
    return false;
}

function Graphsy_InitEmbeded(id, width, height, url){
  var graph = document.getElementById(id);
  var txt   = '<iframe src="'+url+'" style="width: 100%; height: 100%; border: 0px solid red;"></iframe>';
  graph.innerHTML = txt;
}

function moveMiniInfoOut(){
  var top  = 0 - _MINI_INFO_SHIFT;
	var anim_parms = {
		top:		{from: top, to: 0}
	};
  mini  = document.getElementById("proj_info");
	var anim	= new YAHOO.util.Anim(mini, anim_parms);
  anim.duration = EXTRA_PANE_DURATION;
  anim.animate();
}

function moveMiniInfoIn(){
  var top  = 0 - _MINI_INFO_SHIFT;
	var anim_parms = {
		top:		{from: 0, to: top}
	};
  mini  = document.getElementById("proj_info");
	var anim	= new YAHOO.util.Anim(mini, anim_parms);
  anim.duration = EXTRA_PANE_DURATION;
  anim.animate();
}

function toggleTopMiniInfo(){
  button  = document.getElementById("mini_info_drop");
  if(_MINI_INFO){
    moveMiniInfoIn();
    _MINI_INFO = false;
    button.className  = "drop_info_down";
  }else{
    moveMiniInfoOut();
    _MINI_INFO = true;
    button.className  = "drop_info_up";
  }
}

function moveMiniToolsOut(){
  var left  = 0 - _MINI_TOOLS_SHIFT;
	var anim_parms = {
		left:		{from: left, to: 0}
	};
  mini  = document.getElementById("embed_tools");
	var anim	= new YAHOO.util.Anim(mini, anim_parms);
  anim.duration = EXTRA_PANE_DURATION;
  anim.animate();
}

function moveMiniToolsIn(){
  var left  = 0 - _MINI_TOOLS_SHIFT;
	var anim_parms = {
		left:		{from: 0, to: left}
	};
  mini  = document.getElementById("embed_tools");
	var anim	= new YAHOO.util.Anim(mini, anim_parms);
  anim.duration = EXTRA_PANE_DURATION;
  anim.animate();
}

function moveDrawAreaOutMini(){
  var left  = parseInt(drawArea.style.left);
  var width = parseInt(drawArea.style.width);
	var anim_parms = {
		width: 	{from: width, to: width-_MINI_TOOLS_SHIFT},
		left:		{from: left, to: left+_MINI_TOOLS_SHIFT}
	};
	var anim	= new YAHOO.util.Anim(drawArea, anim_parms);
	anim.onComplete.subscribe(registerPlanes);
  anim.duration = EXTRA_PANE_DURATION;
  anim.animate();
  shiftAllObjectsLeft(_MINI_TOOLS_SHIFT, EXTRA_PANE_DURATION);
}

function moveDrawAreaInMini(){
  var left  = parseInt(drawArea.style.left);
  var width = parseInt(drawArea.style.width);
	var anim_parms = {
		width: 	{from: width, to: width+_MINI_TOOLS_SHIFT},
		left:		{from: left, to: left-_MINI_TOOLS_SHIFT}
	};
	var anim	= new YAHOO.util.Anim(drawArea, anim_parms);
	anim.onComplete.subscribe(registerPlanes);
  anim.duration = EXTRA_PANE_DURATION;
  anim.animate();
  shiftAllObjectsLeft(0-_MINI_TOOLS_SHIFT, EXTRA_PANE_DURATION);
}

function toggleSideMiniTools(){
  button  = document.getElementById("mini_tools_drop");
  if(_MINI_TOOLS){
    moveDrawAreaInMini();
    moveMiniToolsIn();
    button.className  = "drop_info_right";
    _MINI_TOOLS = false;
  }else{
    moveDrawAreaOutMini();
    moveMiniToolsOut();
    button.className  = "drop_info_left";
    _MINI_TOOLS = true;
  }
}

var BASE_GRAPHSY_URL  = "http://www.graphsy.com"
//var BASE_GRAPHSY_URL  = "http://localhost:3000"

function generateEmbedCode(){
  var chk     = document.getElementById("shr_lines");
  var lines   = chk.checked;
  chk         = document.getElementById("shr_shapes");
  var shapes  = chk.checked;
  chk         = document.getElementById("shr_tools");
  var tools   = chk.checked;
  chk         = document.getElementById("shr_info");
  var info    = chk.checked;

  chk         = document.getElementById("e_width");
  var e_w     = chk.value;
  chk         = document.getElementById("e_height");
  var e_h     = chk.value;

  var c_id    = Math.ceil(Math.random()*100000)

  var txt     = '<div class="graphsy_embed">'
      txt     += '<div style="border: 0px; width:'+e_w+'px; height:'+e_h+'px;" id="graphsy_'+c_id+'"></div></div>\n'
      txt     += '<script type="text/javascript" src="'+BASE_GRAPHSY_URL+'/javascripts/embed.js"> </script>'
      txt     += '<script type="text/javascript">\n'
      txt     += 'Graphsy_InitEmbeded("graphsy_'+c_id+'", "'+e_w+'", "'+e_h+'", "'+BASE_GRAPHSY_URL+'/studio/mini_browse?' +
                  'width='+e_w+'&height='+e_h+
                  '&pid='+_CURR_PID+'&lines='+lines+'&shapes='+shapes+
                  '&tools='+tools+'&info='+info+'");\n'
      txt     += '</script>'

  chk   = document.getElementById("shr_code");
  chk.value = txt;
}

function toggleShare(){
  var check = document.getElementById("shr_share");
  if(check.checked){
    if(_CURR_PID  == -1){
      addFlashMessage("The project must be saved before being shared", 2,true);
      check.checked = false;
    }else{
      disable = false;
      var ch  = document.getElementById("shr_lines");
      ch.checked  = true;
      ch  = document.getElementById("shr_shapes");
      ch.checked  = true;
      ch  = document.getElementById("shr_tools");
      ch.checked  = true;
      ch  = document.getElementById("shr_info");
      ch.checked  = true;
      ch  = document.getElementById("e_width");
      ch.value  = "400";
      ch  = document.getElementById("e_height");
      ch.value  = "400";
    }
  }
}

function setShare(){
  toggleShare();
  generateEmbedCode();
  var check   = document.getElementById("shr_share");
	var form	  = document.createElement("form");
  var input   = form.appendChild(document.createElement("input"));
  input.name  = "share";
  input.value = check.checked;

  var name    = form.appendChild(document.createElement("input"));
  name.name   = "project";
  name.value  = CURRENT_PROJECT_NAME;

  new Ajax.Request('/studio/set_share', 
    { asynchronous:true, 
      evalScripts:true,
      method:'get',
      parameters:Form.serialize(form)
    }
  );
  return false;
}

function toggleCopy(){
  var check   = document.getElementById("shr_copy");
	var form	  = document.createElement("form");
  var input   = form.appendChild(document.createElement("input"));
  input.name  = "copy";
  input.value = check.checked;

  var name    = form.appendChild(document.createElement("input"));
  name.name   = "project";
  name.value  = CURRENT_PROJECT_NAME;

  new Ajax.Request('/studio/set_copy', 
    { asynchronous:true, 
      evalScripts:true,
      method:'get',
      parameters:Form.serialize(form)
    }
  );
  return false;
}
