function onSendToFriendOpen() {
   clearSatusMessages();

   var cont = document.getElementById("sendToContainer");
   if (!cont) return;
   var c = findPos(cont);
   var stf = document.getElementById("sendToFriend");
   if (!stf) return;

   stf.style.left = c[0] + "px";
   stf.style.top = (c[1] - 1) + "px";
   stf.style.display = "block";
}

function onSendToFriendClose() {
   var stf = document.getElementById("sendToFriend");
   if (!stf) return;
   stf.style.display = "none";
}

function findPos(obj) {
   var curleft = curtop = 0;
   if (obj.offsetParent) {
      do {
         curleft += obj.offsetLeft;
         curtop += obj.offsetTop;
      } while (obj = obj.offsetParent);
   }
   return [curleft,curtop];
}

function sendToFriend(video, urlTitle) {
   var ebox = document.getElementById("t0");
   var fromemail = ebox == undefined ? null : ebox.value;
   var to = document.getElementById("t1").value;
   var name = document.getElementById("t2").value;

   if (!validate(fromemail, to)) return;
   var xmlHttp = getHttpRequest();
   if (xmlHttp == null) return;

   var msg = 'video=' + encodeURIComponent(video);
   msg += '&to=' + encodeURIComponent(to);

   if (fromemail != undefined && fromemail != null && fromemail != "")
      msg += '&from=' + encodeURIComponent(fromemail);
   msg += '&name=' + encodeURIComponent(name);
   msg += '&urlTitle=' + encodeURIComponent(urlTitle);

   xmlHttp.onreadystatechange = function() {
      if (xmlHttp.readyState == 4) {
         var res = xmlHttp.responseText;

         // GLASSFISH Version
         if (res.length < 12) return;
         //&gt;s/&lt;
         if (res.substr(0, 12) == "&lt;s/&gt;") {
            deactivateForm();
            // reset form
            if (ebox != undefined && ebox != null) ebox.value = "";
            document.getElementById("t1").value = "";
            document.getElementById("t2").value = "";
         }
         onSendToFriendClose();
         document.getElementById("msg").innerHTML = res.substr(4, res.length - 4);
      }
   }
   xmlHttp.open('POST', '/app/sendToFriend.tv', true);
   xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
   xmlHttp.send(msg);
}

function clearSatusMessages() {
   removeChildNodes(document.getElementById("msg"));
}

function showAllTags() {
   document.getElementById('firstTags').style.display = 'none';
   document.getElementById('allTags').style.display = 'block';
}

var favorited = false;

function addToFavorites(v, u, e, c) {
   var r = 0;
   if (favorited) r = 1;
   favorited = !favorited;
   var xmlHttp = getHttpRequest();
   if (xmlHttp == null) return;

   xmlHttp.open("GET", "/app/favorite.tv?v=" + v + "&u=" + u + "&e=" + e + "&c=" + c + "&r=" + r, true);
   xmlHttp.onreadystatechange = function() {
      if (xmlHttp.readyState == 4) {
         var e = document.getElementById("favorite");
         if (favorited) {
            e.innerHTML = "Favorilerden çıkar";
            e.onmouseover = onUnFavOver;
            e.onmouseout = onUnFavOut;
         } else {
            e.innerHTML = "Favorilere ekle";
            e.onmouseover = onFavOver;
            e.onmouseout = onFavOut;
         }
      }
   }
   
   xmlHttp.send(null);
}

var unfavorited = false;

function removeFromFavorites(v, u, e, c) {
   var r = 1;
   if (unfavorited) r = 0;
   unfavorited = !unfavorited;
   var xmlHttp = getHttpRequest();
   if (xmlHttp == null) return;

   xmlHttp.open("GET", "/app/favorite.tv?v=" + v + "&u=" + u + "&e=" + e + "&c=" + c + "&r=" + r, true);
   xmlHttp.onreadystatechange = function() {
      if (xmlHttp.readyState == 4) {
         var e = document.getElementById("favorite");
         if (unfavorited) {
            e.innerHTML = "Favorilere ekle";
            e.onmouseover = onFavOver;
            e.onmouseout = onFavOut;
         } else {
            e.innerHTML = "Favorilerden çıkar";
            e.onmouseover = onUnFavOver;
            e.onmouseout = onUnFavOut;
         }
      }
   }
   xmlHttp.send(null);
}

/* in Favorites page, we should know which video is in action */
function removeFromFavoritesInFavorites(id, v, u, e, c) {
   var confirmResult = confirm("Bu videoyu favorilerinizden çıkarmak istiyor musunuz?");

   if (confirmResult == false){
      return;
   }

   var r = 1;

   var xmlHttp = getHttpRequest();
   if (xmlHttp == null) return;

   xmlHttp.open("GET", "/app/favorite.tv?v=" + v + "&u=" + u + "&e=" + e + "&c=" + c + "&r=" + r, true);
   xmlHttp.onreadystatechange = function() {
      if (xmlHttp.readyState == 4) {
         document.getElementById('favdiv_' + v).style.display = 'none';
         document.getElementById('favclr_' + v).style.display = 'none';
      }
   }
   xmlHttp.send(null);
}

function onFavOver() {
   return;
}
function onFavOut() {
   return;
}
function onUnFavOver() {
   return;
}
function onUnFavOut() {
   return;   
}

