var locate                  = window.location;
document.recieve.var1.value = locate;
var text                    = document.recieve.var1.value;
var idx                     = 1;
var bmark_url		    = 0;

function delineate(str) {
   theleft  = str.indexOf("=") + 1;
   theright = str.indexOf("$");
   if (theright < 0) {
       theright  = str.indexOf("&");
   } else {
       bmark_url = 1;
   }

   if (theright < 0)
      val = str.substring(theleft,str.length);
   else
      val = str.substring(theleft,theright);

   if (bmark_url) {
       rText = "var"+idx+"="+val+"$";
   } else {
       rText = "var"+idx+"="+val+"&";
   }
   text  = text.replace(rText,"");
   idx++;

   return(val);
}

var _uid = delineate(text);
var _m   = delineate(text);
var _w   = delineate(text);
var _h   = delineate(text);

var bsc_uid = -1;
var bsc_verf= -1;

function getM() {
   _httpMovie="http://www.bioscreencast.com/bsc_movwin.php?var1="+_uid+"$var2="+_m+"$var3="+_w+"$var4="+_h;
   return _m;
}

function getW() {
   return parseInt(_w);
}

function getH(v) {
   var r;
   if (v != null)
       r = parseInt(_h) + parseInt(v);
   else
       r = parseInt(_h);
   return r;
}

var md = new Object();  
var mov_dataset;
var _newMovie;
var _httpMovie;
var _relMovies;
var _currMovie = 0;
var _comments;
var _docs;
var _origWinW  = (BrowserDetect.browser == "Explorer") ? document.body.clientWidth : window.innerWidth;
var _origWinH  = (BrowserDetect.browser == "Explorer") ? document.body.clientHeight: window.innerHeight;
var _origMovW  = _w+"px";
var _origMovH  = _h+"px";
var _origMenuH = (_h+4)+"px";
var _weblinks;
var _movType;

//alert(_origWinW+"x"+_origWinH);
//window.resizeTo(_origWinW, _origWinH);

// some variables to save
var currentPosition;
var currentVolume;

// these functions are caught by the JavascriptView object of the player.
function sendEvent(typ,prm) { 
	if (_movType == "mov") 
	   thisMovie("single").Stop();
	else 
	if (_movType == "flv") 
    	   thisMovie("single").sendEvent(typ,prm); 
}

function close_tools() {
      function show_comments() {
	document.getElementById("tools").style.display = "none";

   	var attr_md = {
            opacity: {to: 1 } 
        };

        var anim_md = new YAHOO.util.Motion('vid_comments', attr_md, 0.5, YAHOO.util.Easing.backOut);
        anim_md.animate();
      }

      var attr_md = {
	    opacity: {to: 0},
	    height:  {to: 0}
      };

      var anim_md = new YAHOO.util.Anim('tools', attr_md, 0.5, YAHOO.util.Easing.backOut);
      anim_md.onStart.subscribe(function() { document.getElementById("tools").innerHTML = ""; });
      anim_md.onComplete.subscribe(show_comments);
      anim_md.animate();
}

function proc_tools(callerid) {

   var zoorap = _currMovie;

   if (callerid == 0) {
	
      function show_tool_content() {
	document.getElementById("tools").innerHTML = '<div style="position:relative;margin:20px;"><div style="position:relative;">'
        						 +'<div style="position:absolute;top:0px;left:0px;"><img src="images/tags_icon.jpg" width="30" height="30" border="0"></div>'
        						 +'<div style="position:absolute;top:10px;left:40px;font-size:12px;border-bottom:1px dashed #999;padding-bottom:5px;">Add this screencast to my favorites</div>'
  							 +'</div>'
  							 +'<div style="clear:both;"></div>'
  							 +'<br><br>'
  							 +'<p style="font-size:11px;">[enter one or more tags so you can quickly search for screencasts in your playlist. use commas to seperate tags. eg: proteins, protein genomics]</p>'
  							 +'<textarea name="tags" id="tags" rows="3" cols="40"></textarea>'
  							 +'<br><br>'
  							 +'<div id="favorites_btn_div" style="color:red;"><img id="favorites_btn" src="images/bluebutton_small_add.png" onclick="submit_favorites(\''+getM()+'\');"></div>'
  							 +'<br>'
  							 +'<div id="favorites_result"></div></div>'
  							 +'<div onclick="close_tools();" style="position:absolute;top:0px;right:0px;cursor:pointer;font-size:11px;padding:3px;border-left:1px dotted #999;border-bottom:1px dotted #999;">close</div>';

	if (bsc_uid < 0) {
	    document.getElementById("favorites_btn_div").innerHTML = "&laquo;&nbsp;please <a id='login' style='cursor:pointer;text-decoration:underline;'>signin</a> or <a id='signup' style='cursor:pointer;text-decoration:underline;'>signup!</a> to add to your favorites&nbsp;&raquo;";
	    showLoginPanel();
	    showSignupPanel();
	}
      }
      function show_tool() {
   	var attr_md = {
            points:  {from: [YAHOO.util.Dom.getX('vid_comments')+1, YAHOO.util.Dom.getY('vid_comments')+1], to: [YAHOO.util.Dom.getX('vid_comments')+1, YAHOO.util.Dom.getY('vid_comments')+1] },
	    height:  {to: 260}
        };

        var anim_md = new YAHOO.util.Motion('tools', attr_md, 0.5, YAHOO.util.Easing.backOut);
	anim_md.onStart.subscribe(function() { document.getElementById("tools").style.display = "block"; document.getElementById("tools").style.opacity = 1; });
	anim_md.onComplete.subscribe(show_tool_content);
        anim_md.animate();
      }
      var attr_md = {
         //opacity: {to: 0.4}
      };

      var anim_md = new YAHOO.util.Anim('vid_comments', attr_md, 0.5, YAHOO.util.Easing.backOut);
      anim_md.onStart.subscribe(function() { document.getElementById("tools").innerHTML = ""; });
      anim_md.onComplete.subscribe(show_tool);
      anim_md.animate();
   }
   else if (callerid == 1) {

      function show_tool_content() {
	document.getElementById("tools").innerHTML = '<div style="position:relative;margin:20px;">'
                   				   + '<div style="float:left;position:absolute;top:0px;left:0px;"><img src="images/email_icon.jpg" border="0" width="30" height="30"></div>'
						   + '<div style="position:absolute;top:5px;left:40px;border-bottom:1px dashed #999;padding-bottom:5px;">Email this screencast</div><div style="clear:both;"></div>'
						   + '<br><br><br>'
                   				   + 'To<br><input name="to" id="to" type="text" size="40"><br><br>'
                   				   + 'Your Name<br><input name="from" id="from" type="text" size="40"><br><br>'
                   				   + 'Subject<br><input name="subject" id="subject" type="text" size="40" value="bioscreencast.com: Video ID#'+mov_dataset[zoorap].ID+'"><br><br>'
                   				   + 'Body<br><textarea name="body" id="body" rows="5" cols="50">check it out: '+_httpMovie+'</textarea><br><br>'
                   			   	   + '<img id="email_btn" src="images/bluebutton_small_submit.png" onclick="submit_email(\''+mov_dataset[zoorap].ID+'\');">'
                   				   + '<div id="email_result" style="position:absolute;top:298px;left:100px;"></div>'
						   + '<div style="position:relative;margin-top:10px;border-top:1px dotted #ccc;padding-bottom:5px;">'
						   + '<br><br>'
						   + '</div></div>'
  						   + '<div onclick="close_tools();" style="position:absolute;top:0px;right:0px;cursor:pointer;font-size:11px;padding:3px;border-left:1px dotted #999;border-bottom:1px dotted #999;">close</div>';
      }
      function show_tool() {
   	var attr_md = {
            points:  {from: [YAHOO.util.Dom.getX('vid_comments')+1, YAHOO.util.Dom.getY('vid_comments')+1], to: [YAHOO.util.Dom.getX('vid_comments')+1, YAHOO.util.Dom.getY('vid_comments')+1] },
	    height:  {to: 370}
        };

        var anim_md = new YAHOO.util.Motion('tools', attr_md, 0.5, YAHOO.util.Easing.backOut);
	anim_md.onStart.subscribe(function() { document.getElementById("tools").style.display = "block"; document.getElementById("tools").style.opacity = 1; });
	anim_md.onComplete.subscribe(show_tool_content);
        anim_md.animate();
      }
      var attr_md = {
         //opacity: {to: 0.4}
      };

      var anim_md = new YAHOO.util.Anim('vid_comments', attr_md, 0.5, YAHOO.util.Easing.backOut);
      anim_md.onStart.subscribe(function() { document.getElementById("tools").innerHTML = ""; });
      anim_md.onComplete.subscribe(show_tool);
      anim_md.animate();

   } 
   else if (callerid == 2) {

      function show_tool_content() {
	document.getElementById("tools").innerHTML = '<div style="position:relative;margin:20px;"><div style="position:relative;">'
						    + '<div style="position:absolute;top:5px;left:0px;"><img src="images/delicious.jpg" border="0" width="20" height="20"></div>'
						    + '<div style="float:left;position:absolute;top:5px;left:40px;border-bottom:1px dashed #999;">Bookmark this screencast</div><div style="clear:both;height:30px;width:30px;"></div><div style="clear:both;"></div><br><br>'
                   				    + '<div style="float:left;"><a href="http://del.icio.us/post?url=http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[zoorap].UID+'$var2='+mov_dataset[zoorap].ID+'$var3='+mov_dataset[zoorap].DIMENSION.substring(0,mov_dataset[zoorap].DIMENSION.lastIndexOf("x"))+'$var4='+mov_dataset[zoorap].DIMENSION.substring(mov_dataset[zoorap].DIMENSION.lastIndexOf("x")+1,mov_dataset[zoorap].DIMENSION.length)+'&title=Bioscreencast.com: '+mov_dataset[zoorap].DESCR+'"><img src="images/delicious_sm.jpg" title="del.icio.us" alt="del.icio.us" border="0"></a></div>'
                   				    + '<div style="float:left;"><img src="images/blue-divider.gif"></div><div style="float:left;"><a href="http://www.connotea.org/add?uri=http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[zoorap].UID+'$var2='+mov_dataset[zoorap].ID+'$var3='+mov_dataset[zoorap].DIMENSION.substring(0,mov_dataset[zoorap].DIMENSION.lastIndexOf("x"))+'$var4='+mov_dataset[zoorap].DIMENSION.substring(mov_dataset[zoorap].DIMENSION.lastIndexOf("x")+1,mov_dataset[zoorap].DIMENSION.length)+'&title=Bioscreencast.com: '+mov_dataset[zoorap].DESCR+'"><img src="images/connotea_sm.jpg" title="connotea" alt="connotea" border="0"></a></div>'
                   				    + '<div style="float:left;"><img src="images/blue-divider.gif"></div><div style="float:left;"><a href="http://www.reddit.com/submit?url=http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[zoorap].UID+'$var2='+mov_dataset[zoorap].ID+'$var3='+mov_dataset[zoorap].DIMENSION.substring(0,mov_dataset[zoorap].DIMENSION.lastIndexOf("x"))+'$var4='+mov_dataset[zoorap].DIMENSION.substring(mov_dataset[zoorap].DIMENSION.lastIndexOf("x")+1,mov_dataset[zoorap].DIMENSION.length)+'&title=Bioscreencast.com: '+mov_dataset[zoorap].DESCR+'"><img src="images/reddit_sm.jpg" title="reddit" alt="reddit" border="0"></a></div>'
                   				    + '<div style="float:left;"><img src="images/blue-divider.gif"></div><div style="float:left;"><a href="http://www.digg.com/submit?phase=2&url=http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[zoorap].UID+'$var2='+mov_dataset[zoorap].ID+'$var3='+mov_dataset[zoorap].DIMENSION.substring(0,mov_dataset[zoorap].DIMENSION.lastIndexOf("x"))+'$var4='+mov_dataset[zoorap].DIMENSION.substring(mov_dataset[zoorap].DIMENSION.lastIndexOf("x")+1,mov_dataset[zoorap].DIMENSION.length)+'&title=Bioscreencast.com: '+mov_dataset[zoorap].DESCR+'"><img src="images/digg_sm.jpg" title="digg" alt="digg" border="0"></a></div>'
                   				    + '<div style="float:left;"><img src="images/blue-divider.gif"></div><div style="float:left;"><a href="http://www.sphere.com/search?q=sphereit:http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[zoorap].UID+'$var2='+mov_dataset[zoorap].ID+'$var3='+mov_dataset[zoorap].DIMENSION.substring(0,mov_dataset[zoorap].DIMENSION.lastIndexOf("x"))+'$var4='+mov_dataset[zoorap].DIMENSION.substring(mov_dataset[zoorap].DIMENSION.lastIndexOf("x")+1,mov_dataset[zoorap].DIMENSION.length)+'&title=Bioscreencast.com: '+mov_dataset[zoorap].DESCR+'"><img src="images/sphere_sm.jpg" title="sphere" alt="sphere" border="0"></a></div>'
                   				    + '<div style="float:left;"><img src="images/blue-divider.gif"></div><div style="float:left;"><a href="http://www.stumbleupon.com/submit?url=http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[zoorap].UID+'$var2='+mov_dataset[zoorap].ID+'$var3='+mov_dataset[zoorap].DIMENSION.substring(0,mov_dataset[zoorap].DIMENSION.lastIndexOf("x"))+'$var4='+mov_dataset[zoorap].DIMENSION.substring(mov_dataset[zoorap].DIMENSION.lastIndexOf("x")+1,mov_dataset[zoorap].DIMENSION.length)+'&title=Bioscreencast.com: '+mov_dataset[zoorap].DESCR+'"><img src="images/stumbleupon_sm.jpg" title="stumbleupon" alt="stumbleupon" border="0"></a></div>'
                   				    + '<div style="float:left;"><img src="images/blue-divider.gif"></div><div style="float:left;"><a href="http://www.technorati.com/favs?add=http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[zoorap].UID+'$var2='+mov_dataset[zoorap].ID+'$var3='+mov_dataset[zoorap].DIMENSION.substring(0,mov_dataset[zoorap].DIMENSION.lastIndexOf("x"))+'$var4='+mov_dataset[zoorap].DIMENSION.substring(mov_dataset[zoorap].DIMENSION.lastIndexOf("x")+1,mov_dataset[zoorap].DIMENSION.length)+'&title=Bioscreencast.com: '+mov_dataset[zoorap].DESCR+'"><img src="images/technorati_sm.jpg" title="technorati" alt="technorati" border="0"></a></div>'
                   				    + '<div style="float:left;"><img src="images/blue-divider.gif"></div><div style="float:left;"><a href="http://www.facebook.com/share.php?u=http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[zoorap].UID+'$var2='+mov_dataset[zoorap].ID+'$var3='+mov_dataset[zoorap].DIMENSION.substring(0,mov_dataset[zoorap].DIMENSION.lastIndexOf("x"))+'$var4='+mov_dataset[zoorap].DIMENSION.substring(mov_dataset[zoorap].DIMENSION.lastIndexOf("x")+1,mov_dataset[zoorap].DIMENSION.length)+'&title=Bioscreencast.com: '+mov_dataset[zoorap].DESCR+'"><img src="images/facebook_sm.jpg" title="facebook" alt="facebook" border="0"></a></div><div style"clear:both;"></div></div></div>'
  						   +'<div onclick="close_tools();" style="position:absolute;top:0px;right:0px;cursor:pointer;font-size:11px;padding:3px;border-left:1px dotted #999;border-bottom:1px dotted #999;">close</div>';
      }
      function show_tool() {
   	var attr_md = {
            points:  {from: [YAHOO.util.Dom.getX('vid_comments')+1, YAHOO.util.Dom.getY('vid_comments')+1], to: [YAHOO.util.Dom.getX('vid_comments')+1, YAHOO.util.Dom.getY('vid_comments')+1] },
	    height:  {to: 260}
        };

        var anim_md = new YAHOO.util.Motion('tools', attr_md, 0.5, YAHOO.util.Easing.backOut);
	anim_md.onStart.subscribe(function() { document.getElementById("tools").style.display = "block"; document.getElementById("tools").style.opacity = 1; });
	anim_md.onComplete.subscribe(show_tool_content);
        anim_md.animate();
      }
      var attr_md = {
         //opacity: {to: 0.4}
      };

      var anim_md = new YAHOO.util.Anim('vid_comments', attr_md, 0.5, YAHOO.util.Easing.backOut);
      anim_md.onStart.subscribe(function() { document.getElementById("tools").innerHTML = ""; });
      anim_md.onComplete.subscribe(show_tool);
      anim_md.animate();

   } else if (callerid == 3) {

      document.getElementById("vid_docs_head_select").style.visibility     = "visible";
      get_comments(zoorap);
      document.getElementById("vid_comments_head_select").style.visibility = "hidden";

   } else if (callerid == 4) {

      document.getElementById("vid_comments_head_select").style.visibility = "visible";
      add_weblinks_upload(zoorap);
      get_root_weblinks(zoorap);
      document.getElementById("vid_docs_head_select").style.visibility     = "hidden";

   }
   
}

/*
function getUpdate(typ,pr1,pr2,pid) {
	if(typ == "time") { currentPosition = pr1; }
	else if(typ == "volume") { currentVolume = pr1; }
	var id = document.getElementById(typ);
	id.innerHTML = typ+ ": "+Math.round(pr1);
	pr2 == undefined ? null: id.innerHTML += ", "+Math.round(pr2);
	if(pid != "null") {
		document.getElementById("pid").innerHTML = "(received from the player with id <i>"+pid+"</i>)";
	}
}

// These functions are caught by the feeder object of the player.
function loadFile(obj) { 
	if (_movType == "mov") 
	    thisMovie("single").SetURL(obj);
	else
	if (_movType == "flv") 
	    thisMovie("single").loadFile(obj); 
}

function addItem(obj,idx) { thisMovie("single").addItem(obj,idx); }

function removeItem(idx) { thisMovie("single").removeItem(idx); }

// This is a javascript handler for the player and is always needed.
function thisMovie(movieName) {
    if(navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}

function show_details(r) {
   erase_content_right();
   show_content_right(r); 
   add_weblinks_upload(r);
   get_root_weblinks(r);
   add_comments_upload(r);
   get_comments(r);
}
*/

function new_movie(r) {

//alert("xxx:"+r);
//alert("xxx:"+mov_dataset[r].ID);
   updateNumViews(r, md['arr'][r].ID, md['arr']);

   //window.location.replace("bsc_movwin.html?var1="+mov_dataset[r].UID+"&var2="+mov_dataset[r].ID+"&var3="+mov_dataset[r].DIMENSION.substring(0,mov_dataset[r].DIMENSION.lastIndexOf("x"))+"&var4="+mov_dataset[r].DIMENSION.substring(mov_dataset[r].DIMENSION.lastIndexOf("x")+1,mov_dataset[r].DIMENSION.length));

}
/*
function erase_content() {
   erase_content_left();
   erase_content_right();
}
*/

function contract_vid() {

   function flip_ctrl() {
       var attr_md = {
          points:  { to: [YAHOO.util.Dom.getX('flash_marker')+420, YAHOO.util.Dom.getY('flash_marker')] }
       };

       var anim_md = new YAHOO.util.Motion('flash_ctrl', attr_md, 0.5, YAHOO.util.Easing.easeOut);
       anim_md.animate();
       document.getElementById("flash_ctrl").innerHTML = "<img src='./images/expand_vid.gif' onclick='expand_vid();'>";
   }
   function show_body() {
   	document.getElementById("tab0_img").style.visibility = "visible";
   	document.getElementById("tab0_img_txt").style.visibility = "visible";
   }
   var attr_md = {

         points:  {to: [YAHOO.util.Dom.getX('flash_marker')+2, YAHOO.util.Dom.getY('flash_marker')+2] },
	 width:   {to: 400},
	 height:  {to: 260}
   };

   var anim_md = new YAHOO.util.Motion('flashcontent', attr_md, 0.5, YAHOO.util.Easing.backOut);
   anim_md.onStart.subscribe(flip_ctrl);
   anim_md.onComplete.subscribe(show_body);
   anim_md.animate();
}

function expand_vid() {

   function flip_ctrl() {
       var attr_md = {
         points:  {to: [parseInt(YAHOO.util.Dom.getDocumentWidth()/2)+parseInt(_w/2)+10,140] },
  	 opacity: {to: 1}
       };

       var anim_md = new YAHOO.util.Motion('flash_ctrl', attr_md, 0.5, YAHOO.util.Easing.easeOut);
       //anim_md.onComplete.subscribe(embed_vid);
       anim_md.animate();
       document.getElementById("flash_ctrl").innerHTML = "<img src='./images/expand_vid.gif' onclick='contract_vid();'>";	
   }
   function hide_body() {
   	document.getElementById("tab0_img").style.visibility = "hidden";
   	document.getElementById("tab0_img_txt").style.visibility = "hidden";
   }
   var attr_md = {
         points:  {to: [parseInt(YAHOO.util.Dom.getDocumentWidth()/2)-parseInt(_w/2),140] },
	 width:   {to: _w},
	 height:  {to: parseInt(_h)+20}
   };
   var anim_md = new YAHOO.util.Motion('flashcontent', attr_md, 0.5, YAHOO.util.Easing.easeOut);
   anim_md.onStart.subscribe(hide_body);
   anim_md.onComplete.subscribe(flip_ctrl);
   anim_md.animate();
}

/*
function erase_content_right() {

   var attr_md = {
         opacity: { to: 0 }
   };

   var anim_md = new YAHOO.util.Anim('_menuContentRight', attr_md, 0.5, YAHOO.util.Easing.easeOut);
   anim_md.animate();

   var t = document.getElementById("_menuContentRight");
   document.getElementById("_body").removeChild(t);
}

function erase_content_left() {

   var attr_md = {
         opacity: { to: 0 }
   };

   var anim_md = new YAHOO.util.Anim('_menuContent', attr_md, 0.5, YAHOO.util.Easing.easeOut);
   anim_md.animate();

   var t = document.getElementById("_menuContent");
   document.getElementById("_menu").removeChild(t);
}
*/


function add_docs_upload() {
   createFileInput();
}

function get_docs() {

}

function submit_weblinks(vid, idx) {

   var uid = bsc_uid;
   var lnk = document.getElementById("weblink").value;
   var des = document.getElementById("webdesc").value;

   if (lnk.length < 1) {
      document.getElementById("weblink").value = "please enter a url...";
      return false;
   }
   if (des.length < 1) {
      document.getElementById("webdesc").value = "please enter a description...";
      return false;
   }

   var postData = "cmd=4&user_id="+uid+"&video_id="+vid+"&lnk="+lnk+"&desc="+des;
   var cb = {
                success : function(o) {
                        document.getElementById("weblink_btn").src = "images/bluebutton_small_add.png";
			add_weblinks_upload(idx);
                        get_root_weblinks(idx);
                },
                failure : function(o) {
                        document.getElementById("weblink_btn").src = "images/bluebutton_small_add.png";
                }
        }
   document.getElementById("weblink_btn").src = "images/loading_blue_small.gif";
   var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/proc_tools.php", cb, postData);
}

function add_weblinks_upload(idx) {
   _weblinks =    "      <div style='position:relative;'><div style='position:absolute;top:0px;left:0px;'><img src='images/web_icon.jpg' border='0' width='30' height='30'></div><div style='position:absolute;left:40px;top:5px;'><b>Add Weblinks</b></div><div style='clear:both;'></div></div><br><br><br>"
        	+ '      <input name="weblink" id="weblink" type="text" size="40" value="http://"><br><br>'
   		+ '      <b>Add Description</b><br>'
        	+ '      <input name="webdesc" id="webdesc" type="text" size="40"><br><br>'
        	+ '      <img id="weblink_btn" src="images/bluebutton_small_add.png" onclick="submit_weblinks(\''+md['arr'][idx].ID+'\','+idx+');"><br><br>';
}

function get_user_weblinks(idx) {

   var postData = "video_id="+md['arr'][idx].ID;
   var cb = {
                success : function(o) {

                        _weblinks += "<b style='color:#35A0E8;'>Community Web Links</b><br><div style='border-top: 1px solid #d2d2d2;width:250px;height:10px;'></div>";

                        if (o.responseText == "none") {
                           _weblinks += "no community weblinks for this screencast";
                        }
                        else {
                           var we = new Object();
                           var weblinks_dataset;

                           eval("we="+o.responseText);
                           weblinks_dataset = we['arr'];

                           for (var i=0; i<weblinks_dataset.length; i++) {
                               _weblinks += "<div style='position:relative;font-size:11px;'><div style='position:absolute;top:3px;left:0px;margin-right:10px;'><img src='images/comments.gif'></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;posted on: "+weblinks_dataset[i].DATE+" | by: <a onclick='send_mailto(\""+weblinks_dataset[i].EMAIL+"\")'>"+weblinks_dataset[i].USER+"</a></div>";
                               _weblinks += "<div style='text-align:justify;margin-top:5px;'><a target='_blank' href='"+weblinks_dataset[i].WEBLINK+"'>"+weblinks_dataset[i].WEBDESC+"</a></div>";
                               _weblinks += "<div><img src='images/dotted-line-200.png'></div><br>";
                           }
                        }
                        document.getElementById("vid_comments").innerHTML = _weblinks;
                },
                failure : function(o) {
                        _weblinks = "failure: "+o.responseText;
                }
        }
    document.getElementById("vid_comments").innerHTML = "<img src='./images/loading_blue_small.gif'>";
    var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_weblinks.php", cb, postData);
}

function get_root_weblinks(idx) {

   var postData = "cmd=1&video_id="+md['arr'][idx].ID;
   var cb = {
                success : function(o) {

			_weblinks += "<b style='color:#35A0E8;'>Authors Web Links</b><br><div style='border-top: 1px solid #d2d2d2;width:250px;height:10px;'></div>";

                        if (o.responseText == "none") {
                           _weblinks += "no author weblinks for this screencast";
                           _weblinks += "<div><img src='images/dotted-line-200.png'></div><br>";
                        }
                        else {
                           var we = new Object();
                           var weblinks_dataset;

                           eval("we="+o.responseText);
                           weblinks_dataset = we['arr'];

                           for (var i=0; i<weblinks_dataset.length; i++) {
                               _weblinks += "<div style='position:relative;font-size:11px;'><div style='position:absolute;top:3px;left:0px;margin-right:10px;'><img src='images/comments.gif'></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;posted on: "+weblinks_dataset[i].DATE+" | by: <a onclick='send_mailto(\""+weblinks_dataset[i].EMAIL+"\")'>"+weblinks_dataset[i].USER+"</a></div>";
                               _weblinks += "<div style='text-align:justify;margin-top:5px;'><a target='_blank' href='"+weblinks_dataset[i].WEBLINK+"'>"+weblinks_dataset[i].WEBDESC+"</a></div>";
                               _weblinks += "<div><img src='images/dotted-line-200.png'></div><br>";
                           }
                        }
			get_user_weblinks(idx);
                },
                failure : function(o) {
                        _weblinks = "failure: "+o.responseText;
                }
        }
    var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_weblinks.php", cb, postData);
}

function submit_comments(vid, idx) {

   var uid = bsc_uid; 
   var co  = document.getElementById("comment").value; 

   if (co.length < 1) {
      document.getElementById("comment").value = "please enter a comment...";
      return false;
   }
   
   var postData = "cmd=3&user_id="+uid+"&video_id="+vid+"&cmt="+co;
   
   var cb = {
		success : function(o) {
			document.getElementById("comment_btn").src = "images/bluebutton_small_add.png";
			get_comments(idx);
		},
		failure : function(o) {
			document.getElementById("comment_btn").src = "images/bluebutton_small_add.png";
		}
	}							
   document.getElementById("comment_btn").src = "images/loading_blue_small.gif";
   var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/proc_tools.php", cb, postData);
}

function send_mailto(v) {
    alert("send mail to:"+v);
}

function update_comments(id, idx) {

}

function delete_comments(id, idx) {
   var postData = "cmd=1&id="+id;
   var cb = {
                success : function(o) {
			if (o.responseText == "none") {
			   add_comments_upload(idx);
			   _comments += "no comments for this screencast";
		   	   document.getElementById("comments").innerHTML = _comments;
			} else {
		     	   get_comments(idx);
			}
                },
                failure : function(o) {
			alert(o.responseText);
                }
        }
    var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_comments.php", cb, postData);
}

function add_comments_upload(idx) {
    _comments =   "<div style='position:relative;'><div style='position:absolute;top:-5px;left:0px;'><img src='images/favs_icon.jpg' border='0' width='30' height='30'></div><div style='position:absolute;left:40px;top:5px;'><b>Add Comments</b></div><div style='clear:both;'></div></div><br><br><br>"
		+ "<textarea name='comment' id='comment' rows='3' cols='40'></textarea><br><br>"
		+ "<img id='comment_btn' src='images/bluebutton_small_add.png' onclick='submit_comments(\""+mov_dataset[idx].ID+"\","+idx+");'><br><br>";
}

function get_comments(idx) {

   var uid = bsc_uid;
   var postData = "video_id="+mov_dataset[idx].ID;

   var cb = {
		success : function(o) {

			if (o.responseText == "none") {
			   //_comments = "please <a id='login' style='cursor:pointer;text-decoration:underline;'>signin</a> to add comments";
			   //showLoginPanel();
   			   add_comments_upload(idx);
			} 
			else {			
   			   var co = new Object();
            		   var comments_dataset;
					
			   eval("co="+o.responseText);
  			   comments_dataset = co['arr'];
   			   add_comments_upload(idx);

			   for (var i=0; i<comments_dataset.length; i++) {
			           _comments += "<div style='position:relative;font-size:11px;'><div style='position:absolute;top:3px;left:0px;margin-right:10px;'><img src='images/comments.gif'></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;posted on: "+comments_dataset[i].DATE+" | by: <a onclick='send_mailto(\""+comments_dataset[i].EMAIL+"\")'>"+comments_dataset[i].USER+"</a></div>"; 
			           _comments += "<div style='text-align:justify;margin-top:5px;'>"+comments_dataset[i].COMMENT+"</div>"; 
			           _comments += "<div><img src='images/dotted-line-200.png'></div><br>"; 
			   }
			}
			document.getElementById("vid_comments").innerHTML = _comments;		
		},
		failure : function(o) {
			_comments = "failure: "+o.responseText;
		}
	}							
    var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_comments.php", cb, postData);
}

function add_content() {
   //add_docs_upload();
   //get_docs();

   add_weblinks_upload(0);
   get_root_weblinks(0);
   add_comments_upload(0);
   get_comments(0);
}

function submit_favorites(vid) {
   var uid  = bsc_uid;
   var tags = document.getElementById("tags").value;

   if (tags.length < 1) {
      document.getElementById("favorites_result").innerHTML = "<br><font color='red'>please enter at least one tag...</font>";
      return false;
   }

   var postData = "cmd=1&user_id="+uid+"&video_id="+vid+"&tags="+tags;

   var cb = {
                success : function(o) {
                        document.getElementById("favorites_result").innerHTML = "<br><font color='green'>[ "+o.responseText+" ]</font>";
			document.getElementById("favorites_btn").src          = "images/bluebutton_small_add.png";
                },
                failure : function(o) {
                        document.getElementById("favorites_result").innerHTML = "<br><font color='red'>failed</font>: "+o.responseText;
			document.getElementById("favorites_btn").src          = "images/bluebutton_small_add.png";
                }
        }      
	document.getElementById("favorites_btn").src          = "images/loading_blue_small.gif";
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/proc_tools.php", cb, postData);
}

function submit_email(vid) {
   var uid = bsc_uid;
   var to  = document.getElementById("to").value;
   var from= document.getElementById("from").value;
   var sb  = document.getElementById("subject").value;
   var bdy = document.getElementById("body").value;

   if (to.lastIndexOf("@") == -1) {
      document.getElementById("email_result").innerHTML = "<br><font color='red'>please enter a valid email address...</font>";
      return false;
   }

   var postData = "cmd=2&user_id="+uid+"&video_id="+vid+"&to="+to+"&from="+from+"&sb="+sb+"&bdy="+bdy;

   var cb = {
                success : function(o) {
                        document.getElementById("email_result").innerHTML = "<font color='green'>[ "+o.responseText+" ]</font>";
			document.getElementById("email_btn").src          = "images/bluebutton_small_submit.png";
                },
                failure : function(o) {
                        document.getElementById("email_result").innerHTML = "<font color='red'>failure</font>: "+o.responseText;
			document.getElementById("email_btn").src          = "images/bluebutton_small_submit.png";
                }
        }      
	document.getElementById("email_btn").src          = "images/loading_blue_small.gif";
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/proc_tools.php", cb, postData);
}

function cleanup_tags(list) {
   var l = list.split(","); 
   var cl= "<div style='border-bottom:1px dotted #ccc;cursor:pointer;'>";
   for (var i=0; i<l.length-1; i++) {
	l[i] = l[i].replace(/^\s*|\s*$/g,'');
 	cl  += "<a href='bsc_main.html?req1=0&req2="+l[i].toLowerCase()+"'>"+l[i].toLowerCase()+"</a>"+"</div><div style='border-bottom:1px dotted #ccc;cursor:pointer;'>";
   }
   l[i] = l[i].replace(/^\s*|\s*$/g,'');
   cl  += "<a href='bsc_main.html?req1=0&req2="+l[i].toLowerCase()+"'>"+l[i].toLowerCase()+"</a></div>";
   return cl;
}

function show_content_right(idx) {

   var dimensionAry = mov_dataset[idx].DIMENSION.split("x");
   var mlen         = mov_dataset[idx].LENGTH.split(":");

   if (mlen[1].length == 1) {
       mlen[1] = "0"+mlen[1];
   }
 
   var _menuHead = '<div style="float:left;color:#167CBC;width:90px;">Submitted by</div><div style="float:left;">'+mov_dataset[idx].AUTHOR+'</div>'
		  + '<div style="clear:both;"></div>'
		  + '<div style="float:left;color:#167CBC;width:90px;">Length</div><div style="float:left;">'+mlen[0]+":"+mlen[1]+'min</div>'
		  + '<div style="clear:both;"></div>'
		  + '<div style="float:left;color:#167CBC;width:90px;">Size</div><div style="float:left;">'+mov_dataset[idx].SIZE+'</div>'
		  + '<div style="clear:both;"></div>'
		  + '<div style="float:left;color:#167CBC;width:90px;">Views</div><div style="float:left;">'+mov_dataset[idx].VIEWS+'</div>'
		  + '<div style="clear:both;"></div>'
		  + '<div style="border-bottom:1px dotted #ccc;height:10px;"></div>'
		  + '<p style="text-align:justify;">'+mov_dataset[idx].DETAIL+'</p>';

   document.getElementById("vid_tags").innerHTML = cleanup_tags(mov_dataset[idx].TAGS);

   var _menuC              =  document.createElement("div");
   _menuC.id               = "_menuContentRight";
   _menuC.innerHTML        = _menuHead;
   _menuC.style.opacity    = 0;
   _menuC.style.margin     = "0px 0px 0px 10px";
   _menuC.style.padding    = "10px 0px 0px 0px";
   _menuC.style.textAlign  = "left";
   _menuC.style.width      = "280px";
   _menuC.style.height     = "260px";
   //_menuC.style.border	   = "1px solid #ff0000";

   document.getElementById("vid_details").appendChild(_menuC);

   var attr_md = {
         opacity: { to: 1 }
   };

   var anim_md = new YAHOO.util.Anim('_menuContentRight', attr_md, 0.5, YAHOO.util.Easing.easeOut);
   anim_md.animate();
}

function show_content_left(idx) {

    var _menuHead = '<div><div style="float:left;"><img src="images/tab_relvideos_on.png" border="0"></div><div style="float:left;width:250px;height:22px;border-bottom:1px solid #999;"></div><div style="clear:both;"></div>'+_relMovies+'</div>';

   var _menuC              =  document.createElement("div");
   _menuC.id               = "_menuContent";
   _menuC.innerHTML        = _relMovies;
   _menuC.style.opacity    = 0;
   //_menuC.style.marginTop  = "0px";
   _menuC.style.padding    = "3px";
   _menuC.style.background = "#ffffde";
   _menuC.style.overflow   = "hidden";

   document.getElementById("vid_related").appendChild(_menuC);
   
   document.getElementById("row_rel_"+_currMovie).style.backgroundColor  = "#ffffde";

/*
   document.getElementById("col0_rel_"+_currMovie).style.border          = "1px solid #d2d2d2";
   document.getElementById("col0_rel_"+_currMovie).style.borderRight     = "0px";
   document.getElementById("col1_rel_"+_currMovie).style.border          = "1px solid #d2d2d2";
   document.getElementById("col1_rel_"+_currMovie).style.borderLeft      = "0px";
   document.getElementById("col1_rel_"+_currMovie).style.borderRight     = "0px";
   document.getElementById("col2_rel_"+_currMovie).style.border          = "1px solid #d2d2d2";
   document.getElementById("col2_rel_"+_currMovie).style.borderLeft      = "0px";
*/

   document.getElementById("col3_rel_"+_currMovie).innerHTML             = "Now Playing";
   document.getElementById("col3_rel_"+_currMovie).style.backgroundColor = "#f8f8f8";
   document.getElementById("col3_rel_"+_currMovie).style.borderLeft      = "1px solid #d2d2d2";
   document.getElementById("col3_rel_"+_currMovie).style.borderBottom    = "1px solid #d2d2d2";
   document.getElementById("col3_rel_"+_currMovie).style.borderTop       = "1px solid #ffffff";
   document.getElementById("col3_rel_"+_currMovie).style.borderRight     = "1px solid #ffffff";

   var attr_md = {
         opacity: { to: 1 }
   };

   var anim_md = new YAHOO.util.Anim('_menuContent', attr_md, 0.5, YAHOO.util.Easing.easeOut);
   anim_md.animate();
}

function hide_movie() {

   var rect = mov_dataset[_currMovie].DIMENSION.split("x");
   var width  = parseInt(rect[2]);
   var height = parseInt(rect[3]);

   if (currentPosition != "0")
       sendEvent('playpause');

   document.getElementById("_movie").style.visibility = "hidden";
}

/*
function show_menu() {
   //_origWinW  = (BrowserDetect.browser == "Explorer") ? document.body.clientWidth : window.innerWidth;
   //_origWinH  = (BrowserDetect.browser == "Explorer") ? document.body.clientHeight: window.innerHeight;
   _origMovW  = document.getElementById("_movie").style.width;
   _origMovH  = document.getElementById("_movie").style.height;
   _origMenuH = document.getElementById("_menu").style.height;

   document.getElementById("_movie").style.width = "1000px";
   document.getElementById("_movie").style.height= "624px";
   document.getElementById("_menu").style.height = "628px";
   window.resizeTo(1060, 705);

   document.getElementById("_menuArw").innerHTML = "<img id='_menuArw_c' src='images/menu.png' onmouseover='this.src=\"images/menu_close.png\"' onmouseout='this.src=\"images/menu.png\"'>";
   menu_ctrl(1);
   show_content_left(_currMovie);
   show_content_right(_currMovie);
   add_weblinks_upload(_currMovie);
   get_root_weblinks(_currMovie);
   add_comments_upload(_currMovie);
   get_comments(_currMovie);
}

function show_movie() {
   document.getElementById("_movie").style.visibility = "visible";
   menu_ctrl(0);
   if (currentPosition != "0")
       sendEvent('playpause');
}

function close_menu() {
   document.getElementById("_movie").style.width = _origMovW;
   document.getElementById("_movie").style.height= _origMovH;
   document.getElementById("_menu").style.height = _origMenuH;
//alert(_origWinW+"x"+_origWinH);
   if (BrowserDetect.OS == "Windows") {
       window.resizeTo(_origWinW+5, _origWinH+30+25);
   } else {
       window.resizeTo(_origWinW, _origWinH+20);
   }

   document.getElementById("_menuArw").innerHTML = "<img id='_menuArw_o' src='images/menu.png' onmouseover='this.src=\"images/menu_open.png\"' onmouseout='this.src=\"images/menu.png\"'>";
   erase_content();
}

function menu_ctrl(v) {

   if (v == 0) {
      var attr_md = {
         opacity: { to: 1 },
         width:   { to: 400 }
      };

      var anim_md = new YAHOO.util.Anim('_menu', attr_md, 0.5, YAHOO.util.Easing.backOut);
      anim_md.onStart.subscribe(hide_movie);
      anim_md.onComplete.subscribe(show_menu);
      YAHOO.util.Event.on(document.getElementById("_menuArw_o"),'click', anim_md.animate, anim_md, true);
   } 
   
   if (v >= 1) {
	var attr_md = {
       	  opacity: { to: 0.5 },
          width:   { to: 1 } 
   	}; 

   	var anim_md = new YAHOO.util.Anim('_menu', attr_md, 0.5, YAHOO.util.Easing.easeOut);
   	anim_md.onStart.subscribe(close_menu);
   	anim_md.onComplete.subscribe(show_movie);

	if (v == 2)  
	   anim_md.animate(); 
	else 
   	   YAHOO.util.Event.on(document.getElementById("_menuArw_c"),'click' , anim_md.animate, anim_md, true);
   }
}
*/

function init_movie() {

	var postData = "vid="+getM();
	var cb = {
             success : function(o) {
                       	eval("md="+o.responseText);
                       	mov_dataset = md['arr'];

			//- CLEANUP: We most probably don't need the if case, only else, so get rid of it. 
			//- The dbase doesn't have http in the 'track' field.
			if (mov_dataset[0].TRACK.substring(0,4) == "http") {
			    _newMovie = mov_dataset[0].TRACK; 
			} else {
			    _newMovie = "http://bioscreencast.s3.amazonaws.com/"+mov_dataset[0].UID+"/"+mov_dataset[0].ID+mov_dataset[0].TRACK.substring(mov_dataset[0].TRACK.lastIndexOf("."),mov_dataset[0].TRACK.length);
			}
			embed_vid();
   			_relMovies = "<table style='font: normal normal normal 12px arial' border='0' cellpadding='5' cellspacing='0'><tr id='row_rel_0'><td valign='top' width='110' align='center' id='col0_rel_0'><img style='cursor:pointer;border:1px solid #999;' src='"+mov_dataset[0].THUMB+"' title='click to play' border='0' style='border:1px solid #999999;' height='89' width='100' onclick='new_movie("+0+");'><td id='col1_rel_0' width='1'>&nbsp;</td><td id='col2_rel_0' valign='top' align='justify'><div style='position:relative;'><img style='cursor:pointer;' onclick='new_movie("+0+");' src='images/play_on.png' onmouseover='this.src=\"images/play_off.png\"' onmouseout='this.src=\"images/play_on.png\"'>&nbsp;&nbsp;<br><br><b>Summary:</b> "+mov_dataset[0].DESCR+"<div id='col3_rel_0' style='position:absolute;font-size:11px;font-style:normal;top:-2px;right:-6px;color:#35A0E8;padding:5px;'></div></div></td></tr>";
			for (var i=1; i<mov_dataset.length; i++) {
		        if (i%2) {
			   _relMovies += "<tr id='row_rel_"+i+"' style='background:rgb(234,244,255);'>";
			} else {
			   _relMovies += "<tr id='row_rel_"+i+"' style='background:#ffffff;'>";
			}
   			_relMovies += "<td valign='top' width='110' align='center' id='col0_rel_"+i+"'><img style='cursor:pointer;border:1px solid #999;' src='"+mov_dataset[i].THUMB+"' title='click to see details' border='0' style='border:1px solid #999999;' height='89' width='100' onclick='new_movie("+i+");'><td id='col1_rel_"+i+"' width='1'>&nbsp;</td><td id='col2_rel_"+i+"' valign='top' align='justify'><div style='position:relative;padding:3px;'><img style='cursor:pointer;' onclick='new_movie("+i+");' src='images/play_on.png' onmouseover='this.src=\"images/play_off.png\"' onmouseout='this.src=\"images/play_on.png\"'>&nbsp;&nbsp;<br><br><b>Summary:</b> "+mov_dataset[i].DESCR+"<div id='col3_rel_"+i+"' style='position:absolute;font-size:11px;font-style:normal;top:-6px;right:-6px;color:#35A0E8;padding:5px;'></div></div></td></tr>";
			}
			_relMovies += "</table>"; 
			show_content_left(_currMovie);
			show_content_right(_currMovie);
			get_comments(_currMovie);
			init_embed(_currMovie);
			init_link(_currMovie);
             },
             failure : function(o) {
                alert(o.responseText);
             }
	}
	var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_rel_mov.php", cb, postData);
}

function move_flash_ctrl() {
   var attr_md = {
        points:  {from: [YAHOO.util.Dom.getX('flash_marker')+420, YAHOO.util.Dom.getY('flash_marker')], to: [YAHOO.util.Dom.getX('flash_marker')+420, YAHOO.util.Dom.getY('flash_marker')] },
	opacity: {to: 1}
    };

   var anim_md = new YAHOO.util.Motion('flash_ctrl', attr_md, 0.5, YAHOO.util.Easing.backOut);
   anim_md.animate();
}

function embed_vid() {

  if(_newMovie.substring(_newMovie.length-3, _newMovie.length) == "swf") {
     var so = new SWFObject(_newMovie,'gallery','100%','100%','8');
     so.write('flashcontent');
  } else {
     var so = new SWFObject("./player/mediaGallery/mediaGallery.swf", "gallery", "100%", "100%", "6", "#dddddd");                
     var s1 = "./player/mediaGallery/auto_folders.php?vid="+_uid+"_"+_m;
     so.addVariable("data_source", s1);
     so.write("flashcontent");
  }
}

//******** COMMON CODE BEGINS HERE : MOVE THIS TO COMMON FILE AND SOURCE FROM BSC_MAIN & BSC_MOVWIN 

var c = new Object();
var cat_dataset;

var m = new Object();
var mov_dataset;
var movlist = new Array();

var t = new Object();
var tag_dataset;

var ft = new Object();
var fav_tag_dataset;

var initFavDone = 0;
var fav_oAutoComp2;

function removeFav(id, uid) {

        var postData = "cmd=9&uid="+uid+"&vid="+id;
        var cb = {
                        success : function(o) {
                            if (fav_count > 0)
                                fav_count--;

                            viewFavs();
                        },
                        failure : function(o) {
                            alert(o.responseText);
                        }
        }
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/proc_db.php", cb, postData);
}

function init_del_confirm(cmd, uid, fn, vid) {

  // Define various event handlers for Dialog
  var handleYes = function() {
                                if (cmd == 0) {
                                  delete_from_db(uid, fn, vid);
                                }
                                if (cmd == 1) {
                                  removeFav(vid, uid);
                                }
                                this.hide();
                };
  var handleNo = function() {
                                this.hide();
                };

  // Instantiate the Dialog
  YAHOO.example.container.simpledialog1 = new YAHOO.widget.SimpleDialog("simpledialog1",
                                                                         { width: "300px",
                                                                           fixedcenter: true,
                                                                           visible: false,
                                                                           draggable: true,
                                                                           close: true,
                                                                           text: "Do you want to delete this?",
                                                                           icon: YAHOO.widget.SimpleDialog.ICON_WARN,
                                                                           constraintoviewport: true,
                                                                           buttons: [ { text:"Yes", handler:handleYes, isDefault:true },
                                                                           { text:"No",  handler:handleNo } ]
                                                                         } );

  YAHOO.example.container.simpledialog1.setHeader("Confirmation");

  // Render the Dialog
  YAHOO.example.container.simpledialog1.render(document.body);
}

function delete_fav(vid) {
     var uid     = readCookie('bsc_uid');
     var fn = "x";

     init_del_confirm(1, uid, fn, vid);
     YAHOO.example.container.simpledialog1.show();
}

function submitTags(id, vid, uid) {
        var new_tags = document.getElementById("my_tags_"+id).value;

        var postData = "cmd=10&uid="+uid+"&vid="+vid+"&tags="+new_tags;
        var cb = {
                        success : function(o) {
                            document.getElementById("fav_tags_"+id).innerHTML    = new_tags;
                            document.getElementById("edit_tags_"+id).innerHTML   = "<img style='cursor:pointer;' onclick='editTags(\""+new_tags+"\","+id+",\""+vid+"\","+uid+");' src='./images/edit_tags.gif'>";
                        },
                        failure : function(o) {
                            alert(o.responseText);
                        }
        }
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/proc_db.php", cb, postData);
}

function cancelTags(t, id, vid, uid) {
        document.getElementById("fav_tags_"+id).innerHTML    = t;
        document.getElementById("edit_tags_"+id).innerHTML   = "<img style='cursor:pointer;' onclick='editTags(\""+t+"\","+id+",\""+vid+"\","+uid+");' src='./images/edit_tags.gif'>";
}

function editTags(t, id, vid, uid) {
        document.getElementById("fav_tags_"+id).innerHTML    = "<input type='text' size='30' id='my_tags_"+id+"' value='"+t+"'>";
        document.getElementById("edit_tags_"+id).innerHTML   = "<img style='cursor:pointer;' onclick='submitTags("+id+",\""+vid+"\","+uid+");' src='./images/submit_tags.gif'><img src='./images/blue-divider.gif'><img style='cursor:pointer;' onclick='cancelTags(\""+t+"\","+id+",\""+vid+"\","+uid+");' src='./images/cancel_tags.gif'>";
}

function filterFavTags(key, str) {
   if (key == 0) {
        viewFavs();
        return false;
   }
   if (key == 1) {
        alert("Still working on it!");
        return false;
   }
   if (key == 2) {
        var q;
        if (str == '') {
           //q  = document.getElementById("ysearchfavinput1").value;
           q = "";
        } else {
           q = str;
        }

        var count = 0;
        for (var i=0; i<fav_dataset.length; i++) {
            tst_str = fav_dataset[i].TAGS.toLowerCase();
            if (tst_str.match(q) == null) {
                document.getElementById("fav_row_"+i).style.display = "none";
            } else {
                count++;
                document.getElementById("fav_row_"+i).style.display = "block";
            }
        }
   }

   return false;
}

function procFavTags(sQuery) {
    aResults = [];
    aResults.push(["","all"]);
    if(sQuery && sQuery.length > 0) {
        var charKey = sQuery.substring(0,1).toLowerCase();
        var oResponse = fav_tag_dataset[charKey];

        if(oResponse) {
            for(var i = oResponse.length-1; i >= 0; i--) {
                var sKey = oResponse[i].TAG;
                var sKeyIndex = encodeURI(sKey.toLowerCase()).indexOf(sQuery.toLowerCase());

                if(sKeyIndex === 0) {
                    aResults.unshift([sKey, oResponse[i].CNT]);
                }
            }
            return aResults;
        }
    }
    // Empty queries return all states
    else {
        for(var letter in fav_tag_dataset) {
            var oResponse = fav_tag_dataset[letter];
            for(var i = 0; i<oResponse.length; i++) {
                aResults.push([oResponse[i].TAG, oResponse[i].CNT]);
            }
        }
        return aResults;
    }
}

function initFavTags() {

        var oACDS2 = new YAHOO.widget.DS_JSFunction(procFavTags);
        var oAutoComp2 = new YAHOO.widget.AutoComplete('ysearchfavinput1','ysearchfavcontainer1', oACDS2);
        fav_oAutoComp2 = oAutoComp2;

           // Instantiate second AutoComplete

           oAutoComp2.queryDelay               = 0;
           oAutoComp2.animVert                 = true;
           oAutoComp2.animHoriz                = false;
           oAutoComp2.maxResultsDisplayed      = 50;
           oAutoComp2.minQueryLength           = 0;
           oAutoComp2.useShadow                = false;
           oAutoComp2.allowBrowserAutocomplete = true;
           oAutoComp2.alwaysShowContainer      = true;

           oAutoComp2.formatResult = function(oResultItem, sQuery) {
                var sKey = oResultItem[0];
                var nQuantity = oResultItem[1];
                var sKeyQuery = sKey.substr(0, sQuery.length);
                var sKeyRemainder = sKey.substr(sQuery.length);
                var aMarkup = ["<div onclick='triggerFavFilter(\""+sKey+"\");'><div class='ysearchresult'><div class='ysearchquery'>",
                    nQuantity+" results",
                    "</div><span style='font-weight:bold;'>",
                    sKeyQuery,
                    "</span>",
                    sKeyRemainder.substr(0,30)+"..",
                    "</div></div>"];
                return (aMarkup.join(""));
            };

            setTimeout('fav_oAutoComp2.sendQuery("")', 1000);
            return;
}

function triggerFavFilter(q) {
   filterFavTags(2,q);
}

function updateNumViews(id, vid, mlist) {

        var postData = "cmd=11&vid="+vid;

        var cb = {
                        success : function(o) {
                            var dimensionAry = mlist[id].DIMENSION.split("x");
                            var w = parseInt(dimensionAry[0]);
                            var h = parseInt(dimensionAry[1])+16;
                            var w1= w+60;
                            var h1= h+30;
			    //alert(mlist[id].ID);
                            window.location.replace("bsc_movwin.php?var1="+mlist[id].UID+"&var2="+mlist[id].ID+"&var3="+w+"&var4="+h);
                            //alert(o.responseText);
                        },
                        failure : function(o) {
                           alert(o.responseText);
                        }
        }
        // Connect to our tag data source and load tag_dataset
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/proc_db.php", cb, postData);
}

function openMovInNewWindow(id, type) {

    updateNumViews(id, movlist[id].ID, movlist);

    return true;
}

function show_fav_mov(vid) {

       for (var i=0; i<movlist.length; i++) {
          if (movlist[i].ID == vid) break;
       }

       openMovInNewWindow(i,0);
}

function resume_update(arg) {
    var bsc_uid  = readCookie('bsc_uid');
    var val      = document.getElementById("profile-"+arg).value;

    if (arg == 1) argv = "email";
    if (arg == 2) argv = "password";
    if (arg == 3) argv = "firstname";
    if (arg == 4) argv = "lastname";
    if (arg == 5) argv = "city";
    if (arg == 6) argv = "state";
    if (arg == 7) argv = "country";
    if (arg == 8) argv = "profession";
    if (arg == 9) argv = "company";
    if (arg ==10) argv = "url";

    var postData = "cmd=1&uid="+bsc_uid+"&arg="+argv+"&val="+val;
    var cb = {
                        success : function(o) {
                                var log = new Object();
                                eval("log="+o.responseText);
                                login_dataset_full = log['arr'];
                        },
                        failure : function(o) {
                                alert(o.responseText);
                        }
    }
    var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_login.php", cb, postData);

    if (arg == 2)
        document.getElementById("update-"+arg).innerHTML = "******";
    else
        document.getElementById("update-"+arg).innerHTML = val;

    YAHOO.util.Event.on(document.getElementById("update-"+arg),  'mouseover', show_update, arg, true);
    YAHOO.util.Event.on(document.getElementById("update-"+arg),  'mouseout',  hide_update, arg, true);
    YAHOO.util.Event.on(document.getElementById("update-"+arg),  'click',     proc_update, arg, true);
}

function getFavTags() {
        var uid = readCookie("bsc_uid");
        var postData = "uid="+uid;

        var tag_cb = {
                        success : function(o) {
                           if (o.responseText != "no tags") {
                               eval("ft="+o.responseText);
                               fav_tag_dataset = ft['arr'];
                           }
                        },
                        failure : function(o) {
                           alert("TAG CONNECTION FAILED!");
                        }
        }
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_fav_tags.php", tag_cb, postData);
}

var zidx = 10003;
function show_tab(id)
{

    if (id == 0) {
	document.getElementById("flashcontent").style.visibility = "visible";
	document.getElementById("flash_ctrl").style.visibility = "visible";
    }
    else {
	document.getElementById("flashcontent").style.visibility = "hidden";
	document.getElementById("flash_ctrl").style.visibility = "hidden";
    }

    for (var i=0; i<4; i++) {
           if (id != i) {
              document.getElementById("tab"+i+"_img").src        = "./images/tabs_off.png";
              document.getElementById("tab_c"+i).style.display   = "none";
              document.getElementById("tab"+i).style.zIndex      = zidx + "";
              document.getElementById("tab"+i).style.opacity     = 0.7;
              zidx--;
           } else {
              document.getElementById("tab"+i+"_img").src        = "./images/tabs_on.png";
              document.getElementById("tab_c"+i).style.display    = "block";
              document.getElementById("tab_c"+i).style.visibility = "visible";
              document.getElementById("tab"+i).style.zIndex      = "10005";
              document.getElementById("tab"+i).style.opacity     = 1;
           }
        }
}

function viewFavs() {

        var uid = readCookie('bsc_uid');

        var postData = "cmd=8&uid="+uid;
        var cb = {
                        success : function(o) {

                           if (o.responseText != "null") {

                                eval("f="+o.responseText);
                                fav_dataset = f['arr'];

                                fav_count  = 0;
                                var output = new Array();
                                for (var i=0;i<fav_dataset.length; i++) {

                                   fav_count++;

                                   var bg;
                                   if ((i % 2) == 1)
                                        bg = "#eaf4ff;";
                                   else
                                        bg = "#ffffff;";

                                   var fake_fn = "-";

                                   output.push("<div id='fav_row_"+i+"' style='position:relative;height:110px;background:"+bg+"'>");
                                   output.push("<div style='float:left;width:10px;height:10px;'></div><div style='float:left;margin-top:10px;border:1px solid #cccccc;width:100px;height:89px;'><img onmouseover='this.style.opacity=0.8;' onmouseout='this.style.opacity=1;' src='http://bioscreencast.s3.amazonaws.com/"+fav_dataset[i].UID+"/"+fav_dataset[i].THUMB+"' width='100' height='89' onclick='show_fav_mov(\""+fav_dataset[i].VID+"\");'></div>");
                                   output.push("<div style='float:left;width:10px;height:10px;'></div><div style='float:left;margin:10px 0px 0px 5px;'><b>My Tags</b></div>");
                                   output.push("<div id='fav_tags_"+i+"' style='float:left;width:200px;margin:10px;'>"+fav_dataset[i].TAGS+"</div><div style='float:right;width:20px;height:10px;'></div><div style='float:right;padding-top:5px;'><img style='cursor:pointer;' onclick='delete_fav(\""+fav_dataset[i].VID+"\");' src='./images/delete_tags.gif'></div><div style='float:right;padding-top:5px;'><img src='./images/blue-divider.gif'></div><div id='edit_tags_"+i+"' style='float:right;padding-top:5px;'><img style='cursor:pointer;' onclick='editTags(\""+fav_dataset[i].TAGS+"\","+i+",\""+fav_dataset[i].VID+"\","+uid+");' src='./images/edit_tags.gif'></div><div style='clear:both;'></div>");
                                   output.push("<div id='fav_row_d_"+i+"' style='position:absolute;top:40px;left:120px;width:450px;align:top;text-align:justify;border-top:1px dashed #ccc;padding:5px;background:"+bg+"'><b>Details</b><br>"+fav_dataset[i].DETAILS+"</div>");
                                   output.push("</div>");
                              }
                              document.getElementById("FavBox").innerHTML = output.join('');
                           } else {

                              document.getElementById("FavBox").innerHTML ="<br>&nbsp;&nbsp;no favorites<br><br>";
                           }

                        },
                        failure : function(o) {
                            alert(o.responseText);
                        }
        }
        document.getElementById('FavBox').innerHTML = "<img src='images/loading_blue_small.gif'>";
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/proc_db.php", cb, postData);
}

function resume_update(arg) {
    var bsc_uid  = readCookie('bsc_uid');
    var val      = document.getElementById("profile-"+arg).value;

    if (arg == 1) argv = "email";
    if (arg == 2) argv = "password";
    if (arg == 3) argv = "firstname";
    if (arg == 4) argv = "lastname";
    if (arg == 5) argv = "city";
    if (arg == 6) argv = "state";
    if (arg == 7) argv = "country";
    if (arg == 8) argv = "profession";
    if (arg == 9) argv = "company";
    if (arg ==10) argv = "url";
    if (arg ==11) argv = "bio";

    var postData = "cmd=1&uid="+bsc_uid+"&arg="+argv+"&val="+val;
    var cb = {
                        success : function(o) {
                                var log = new Object();
                                eval("log="+o.responseText);
                                login_dataset_full = log['arr'];
                        },
                        failure : function(o) {
                                alert(o.responseText);
                        }
    }
    var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_login.php", cb, postData);

    if (arg == 2)
        document.getElementById("update-"+arg).innerHTML = "******";
    else
        document.getElementById("update-"+arg).innerHTML = val;

    YAHOO.util.Event.on(document.getElementById("update-"+arg),  'mouseover', show_update, arg, true);
    YAHOO.util.Event.on(document.getElementById("update-"+arg),  'mouseout',  hide_update, arg, true);
    YAHOO.util.Event.on(document.getElementById("update-"+arg),  'click',     proc_update, arg, true);
}

function show_update(e, arg) {
    document.getElementById("update-info").innerHTML = "click to edit";
}

function hide_update(e, arg) {
    document.getElementById("update-info").innerHTML = "";
}

function proc_update(e, arg) {
    var val;

    if (arg == 1) val = login_dataset_full[0].EMAIL;
    if (arg == 2) val = login_dataset_full[0].PASSWORD;
    if (arg == 3) val = login_dataset_full[0].FNAME;
    if (arg == 4) val = login_dataset_full[0].LNAME;
    if (arg == 5) val = login_dataset_full[0].CITY;
    if (arg == 6) val = login_dataset_full[0].STATE;
    if (arg == 7) val = login_dataset_full[0].COUNTRY;
    if (arg == 8) val = login_dataset_full[0].PROFESSION;
    if (arg == 9) val = login_dataset_full[0].COMPANY;
    if (arg ==10) val = login_dataset_full[0].URL;
    if (arg ==11) val = login_dataset_full[0].BIO.replace("/<br>/","\n");

    document.getElementById("update-"+arg).innerHTML = "<input type='text' id='profile-"+arg+"' size='30' value='"+val+"' onblur='resume_update("+arg+")'>";
    document.getElementById("profile-"+arg).focus();
    YAHOO.util.Event.removeListener(document.getElementById("update-"+arg), 'click');
    YAHOO.util.Event.removeListener(document.getElementById("update-"+arg), 'mouseover');
}

function init_profile_update() {

   for (var i=1; i<=11; i++) {
      YAHOO.util.Event.on(document.getElementById("update-"+i), 'mouseover', show_update, i, true);
      YAHOO.util.Event.on(document.getElementById("update-"+i), 'mouseout',  hide_update, i, true);
      YAHOO.util.Event.on(document.getElementById("update-"+i), 'click',     proc_update, i, true);
   }
}

function showAccDetails() {
   var bsc_uid  = readCookie('bsc_uid');
   var postData = "cmd=0&uid="+bsc_uid;
   var cb = {
                        success : function(o) {
                                var log = new Object();
                                eval("log="+o.responseText);
                                login_dataset_full = log['arr'];
                                        document.getElementById("my_profile").innerHTML = "<table style='font-size:11px;' border=0 cellspacing=0 cellpadding=0>"
                                                 + "<tr><td colspan='3'><font color='#1C8CE2'>Login Details</font></td></tr>"
                                                 + "<tr><td colspan='3'><div style='border-top:1px dashed #1C8CE2;width:250px;height:5px;'></div></td></tr>"
                                                 + "<tr><td width='120'>Email</td><td colspan='2' width='300'>"
                                                 + "<div id='update-1' style='cursor:pointer;'>"+login_dataset_full[0].EMAIL+"</div></td></tr>"
                                                 + "<tr><td>Password</td><td colspan='2'><div style='cursor:pointer;' id='update-2'>******</div></td></tr>"
                                                 + "<tr><td colspan='3' height='20'></td></tr>"
                                                 + "<tr><td colspan='3'><font color='#1C8CE2'>About Me</font></td></tr>"
                                                 + "<tr><td colspan='3'><div style='border-top:1px dashed #1C8CE2;width:250px;height:5px;'></div></td></tr>"
                                                 + "<tr><td>First Name</td><td colspan='2'><div style='cursor:pointer;' id='update-3'>"+login_dataset_full[0].FNAME+"</div></td></tr>"
                                                 + "<tr><td>Last Name</td><td colspan='2'><div style='cursor:pointer;' id='update-4'>"+login_dataset_full[0].LNAME+"</div></td></tr>"
                                                 + "<tr><td>City</td><td colspan='2'><div style='cursor:pointer;' id='update-5'>"+login_dataset_full[0].CITY+"</div></td></tr>"
                                                 + "<tr><td>State</td><td colspan='2'><div style='cursor:pointer;' id='update-6'>"+login_dataset_full[0].STATE+"</div></td></tr>"
                                                 + "<tr><td>Country</td><td colspan='2'><div style='cursor:pointer;' id='update-7'>"+login_dataset_full[0].COUNTRY+"</div></td></tr>"
                                                 + "<tr><td colspan='3' height='20'></td></tr>"
                                                 + "<tr><td colspan='3'><font color='#1C8CE2'>Professional Details</font></td></tr>"
                                                 + "<tr><td colspan='3'><div style='border-top:1px dashed #1C8CE2;width:250px;height:5px;'></div></td></tr>"
                                                 + "<tr><td>Profession</td><td colspan='2'><div style='cursor:pointer;' id='update-8'>"+login_dataset_full[0].PROFESSION+"</div></td></tr>"
                                                 + "<tr><td>Company/University</td><td colspan='2'><div style='cursor:pointer;' id='update-9'>"+login_dataset_full[0].COMPANY+"</div></td></tr>"
                                                 + "<tr><td>Website</td><td colspan='2'><div style='cursor:pointer;' id='update-10'>"+login_dataset_full[0].URL+"</div></td></tr>"
                                                 + "</table>";

                                        document.getElementById("bio_profile").innerHTML = "<table style='font-size:11px;' border=1 cellspacing=0 cellpadding=0>"
						 + "<tr><td colspan='3'><font color='#1C8CE2'>My Face</font></td></tr>"
						 + "<tr><td colspan='3'><div style='border-top:1px dashed #1C8CE2;width:250px;height:5px;'></div></td></tr>"
						 + "<tr><td width='120'>My Bio</td><td colspan='2' width='300'>"
						 + "<div id='update-11' style='cursor:pointer;'>"+login_dataset_full[0].BIO+"</div></td></tr>"
						 + "</table>";

                                init_profile_update();
                        },
                        failure : function(o) {
                                document.getElementById("my_profile").innerHTML = "fail: "+o.responseText;
                        }
        }      

        document.getElementById("my_profile").innerHTML = "<img src='images/loading_blue_small.gif'>";
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_login.php", cb, postData);
}

function init_wait() {

        var cat_cb = {
                        success : function(o) {
                           eval("c="+o.responseText);
                           cat_dataset = c['arr'];

                           var bsc_acc    = readCookie('bsc_access');
                           if (bsc_acc > 0) {
                                   var bsc_usr = readCookie('bsc_user');

                                   showAccDetails();

                                   document.getElementById("tab1").style.visibility = "visible";
                                   document.getElementById("tab1").style.zindex     = "10003";
                                   document.getElementById("tab2").style.visibility = "visible";
                                   document.getElementById("tab2").style.zindex     = "10002";
                                   document.getElementById("tab3").style.visibility = "visible";
                                   document.getElementById("tab3").style.zindex     = "10001";

                                   getFavTags();
                           }
                        },
                        failure : function(o) {
                           alert("CATEGORY CONNECTION FAILED!");
                        }
        }
        // Connect to our tag data source and load tag_dataset
        var conn = YAHOO.util.Connect.asyncRequest("GET", "./php/get_cat.php", cat_cb);

        var mov_pd = "cmd=4";
        var mov_cb = {
                        success : function(o) {
                           eval("m="+o.responseText);
                           mov_dataset = m['arr'];
                           movlist = mov_dataset;
                        },
                        failure : function(o) {
                           alert("MOV CONNECTION FAILED!");
                        }
        }
        // Connect to our tag data source and load tag_dataset
        var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/get_mov.php", mov_cb, mov_pd);

        var tag_cb = {
                        success : function(o) {
                           eval("t="+o.responseText);
                           tag_dataset = t['arr'];
                        },
                        failure : function(o) {
                           alert("TAG CONNECTION FAILED!");
                        }
        }
        // Connect to our tag data source and load tag_dataset
        var conn = YAHOO.util.Connect.asyncRequest("GET", "./php/get_tags.php", tag_cb);
}

function init_embed(idx) {
   document.getElementById("vid_embed").value = '<!-- copy and paste. change width,height to suite your needs --><embed type=\'application/x-shockwave-flash\' quality=\'high\' width=\''+mov_dataset[idx].DIMENSION.substring(0,mov_dataset[idx].DIMENSION.lastIndexOf("x"))+'\' height=\''+mov_dataset[idx].DIMENSION.substring(mov_dataset[idx].DIMENSION.lastIndexOf("x")+1,mov_dataset[idx].DIMENSION.length)+'\' src=\'http://www.bioscreencast.com/flash/flvplayer.swf\' allowfullscreen=\'true\' flashvars=\'&file=http://www.bioscreencast.com/screencasts/'+mov_dataset[idx].UID+'/'+mov_dataset[idx].ID+mov_dataset[idx].TRACK.substring(mov_dataset[idx].TRACK.lastIndexOf("."),mov_dataset[idx].TRACK.length)+'\'></embed>';

   document.getElementById("wiki_embed").value = '{{bioscreencast.embed(\"'+mov_dataset[idx].ID+'\",'+mov_dataset[idx].DIMENSION.substring(0,mov_dataset[idx].DIMENSION.lastIndexOf("x"))+','+mov_dataset[idx].DIMENSION.substring(mov_dataset[idx].DIMENSION.lastIndexOf("x")+1,mov_dataset[idx].DIMENSION.length)+')}}';
}
function init_link(idx) {
   document.getElementById("vid_link").value = 'http://www.bioscreencast.com/bsc_movwin.php?var1='+mov_dataset[idx].UID+'&var2='+mov_dataset[idx].ID+'&var3='+mov_dataset[idx].DIMENSION.substring(0,mov_dataset[idx].DIMENSION.lastIndexOf("x"))+'&var4='+mov_dataset[idx].DIMENSION.substring(mov_dataset[idx].DIMENSION.lastIndexOf("x")+1,mov_dataset[idx].DIMENSION.length);
}
function init_login() {

   init_flash_ctrl();

   var uid = readCookie('bsc_uid');
   var verf= readCookie('bsc_verf');

   if ((uid == null) || (verf == null)) {
      init_movie();
      return;
   }

   var postData = "uid="+uid+"&verf="+verf;
   var cb = {
                success : function(o) {
		   if (o.responseText == "success") {
		      bsc_uid  = uid;
		      bsc_verf = verf; 
		   }
		   init_wait();
		   init_movie();
                },
                failure : function(o) {
		   alert(o.responseText);
                }
        }
   var conn = YAHOO.util.Connect.asyncRequest("POST", "./php/validate_login.php", cb, postData);
}
YAHOO.util.Event.on(window, "load", init_login);
