/*
  metaMedia.js

*/
function playBox()
{
  var ctnt = "<p id" + "=\"player$id$\"" + "><a href";
  ctnt += "=\"http://www.macromedia.com/go/getflashplayer\"";
  ctnt += ">You need Flash</a> for this content.</p>";
  return ctnt;
}
function playControl( inner )
{
  var ctnt = "<script id=\"mediaController$id$\" type=\"text/javascript\">";
  if( inner )
    ctnt += inner;
  else  
    ctnt += "playMedia(\"$id$\",\"penderecki.mp3\",\"200\",\"40\");";
  ctnt += "</script>";
  return ctnt;
}
function parsePlayer()
{
  var played = document.getElementById("mediaController$id$");

  var fileBox = document.getElementById("mediaFile");
  var widthBox = document.getElementById("mediaWidth");
  var heightBox = document.getElementById("mediaHeight");

  if( played )
  {
    var innerContent = played.innerHTML;
    var arry = innerContent.split("\"");
    for( var i=0; i< arry.length; i++ )
    {
      switch( i )
      {
        case 3:  // media
        fileBox.value = arry[i];
        break;
        case 5: // width
        widthBox.value = arry[i];
        break;
        case 7: // height:
        heightBox.value = arry[i];
        break;
        default:
        break;
      }
    }
  }
  else
  {
    alert( "no  mediaController found");
  }
}
function setPlay()
{
  var played = document.getElementById("mediaController$id$");
  var fileBox = document.getElementById("mediaFile");
  var widthBox = document.getElementById("mediaWidth");
  var heightBox = document.getElementById("mediaHeight");
  var innerContent; 
  if( played )
  {
    var parsedContent = "";
    var innerContent = played.innerHTML;
    var arry = innerContent.split("\"");
    for( var i=0; i< arry.length; i++ )
    {
      switch( i )
      {
        case 0:
        parsedContent += arry[i]; // no leading quote
        break;
        case 3:  // media
        parsedContent +=  "\"" + fileBox.value; //alert (  fileBox.value );
        break;
        case 5: // width
        parsedContent += "\"" + widthBox.value; //alert (  widthBox.value );
        break;
        case 7: // height:
        parsedContent += "\"" + heightBox.value; //alert (  heightBox.value );
        break;
        default:
        parsedContent += "\"" +  arry[i];
        break;
      }
    }

    // Set the content for update
     var codeContainer = document.getElementById("content");
     if( codeContainer )
     {
       codeContainer.value= playBox() + playControl(parsedContent);
       ctrlChanged(codeContainer);
     }

    // Now actualy run it
    evalAry = parsedContent.split("(");
    if( evalAry.length == 2 )
    { 
      eevalAry = evalAry[1].split(")");
      if( eevalAry.length == 2 )
      {
        eval( "playMedia( " + eevalAry[0] + ")" );
      }
    }
  } // end if we found the played (media controller )
}
function viewMedia( )
{
  var codeContainer = document.getElementById("content");
  if( codeContainer )
  {
    // give it the default if it has no content
    if( codeContainer.value.length == 0 )
    { 
      codeContainer.value = playBox();
      codeContainer.value += playControl(); 
    }
    // set the test visual for feedback and parsing for form vars
    var actualContent = codeContainer.value;
    if( actualContent.length )
    {
      // the content editor should have a blank div for display called 'contentView'
      var contentView =  document.getElementById("contentView");
      if( contentView )
      {
        contentView.innerHTML = actualContent;
      }
    }

    // hide the textarea
    codeContainer.style.display="none";
  } 
}

function playMedia( id, file, boxWidth, boxHeight )
{

  var path = "../media/";
  /*if( file.search(/[Mm][Pp]3/) < 0 ) // handle a bug in the flash player
  {
    path = "../media/";
  }*/
  path += file;
  var divId = "player";
  divId += id;
  var player = document.getElementById(divId);
  if( player )
  {
    var s1 = new SWFObject("/scripts/flvplayer.swf","single",boxWidth,boxHeight,"7");
    s1.addParam("allowfullscreen","true");
    s1.addParam("menu","false");
    s1.addVariable("file",path);
    s1.write(divId);
  }
}

// New! for document management
function documentControl ()
{
 var codeContainer = document.getElementById("content");
  if( codeContainer )
  {
    codeContainer.style.display="none";
    var actualContent = codeContainer.value;
    var contentView =  document.getElementById("contentView");
    if( contentView )
    {
      contentView.innerHTML = actualContent +
                              "<input type='text' id='linkName' maxlength='100'>"  +
                              "<input type='button' onclick='getResource(\"contentView\")'>";
    }
  }
}

var relativePath;
var editCtrl;
var linkName;
function getResource(ectrl)
{
  editCtrl = ectrl;
  editCtrl =  document.getElementById("contentView");
  linkNameCtrl = document.getElementById("linkName");
  if(  linkNameCtrl ) linkName =  linkNameCtrl.value;
  relativePath = "../";
  window.open("filePick.cgi/resources","_blank",
              "scrollbars=yes,toolbar=no,menubar=no,location=no");
}

function getResourceCallback(my_link)
{
  if (editCtrl && my_link != null)
  {
    editCtrl.value = "<a target='documents' href='" + relativePath + "resources/" + my_link + "'>* " + linkName + " *</a>";
  }
  return;
}


