var abspath = "moods/";
var c_mood;
var c_start;
var c_moodid;
var c_mov_id;
var c_mov_mood;

// Movie controls
function reloadCurrentVideo (){
  reloadVideo ('moods/'+document.getElementById ('mainform').video.value,'preview.jpg');
}
function load_movies(mood,start,num) {
  text = '';
  mid = -1;
  for (i=0; i<moods.length; i++) {
    if (moods[i] == mood) {
      mid = i;
      break;
    }
  }
  
  if (mid == -1){
    // No such mood
    return;
  }

  if (start < 0 || start > clips[mid].length) {
    return;
  }
  
  stop = start+num;
  
  if (stop > clips[mid].length){
    stop = clips[mid].length;
  }
  
  for (i=start; i<stop; i++) {
    if (clips[mid][i]) {
      crt = (i == c_mov_id && c_mov_mood == mood) ? '_selected' : '';
      text += '<td bgcolor="white" style="padding: 0px;" align="center"><a href="javascript:void(change_actor('+i+'));"><img width=96 height=72 src="'+abspath+mood+"/thumbnails/"+thumbs[mid][i]+'" class="thumb'+crt+'" id="actor'+i+'" /></a><br /><div style="background-color: #eaeaea; border-bottom: 1px solid gray; padding: 2px;" class="info">'+captions[mid][i]+'</font>';
      s = clips[mid][i];
      if (s.charAt(0) == "#") {
        text += '<img onmouseover="showAltBox(\'You cannot send this clip to a mobile\')" onmouseout="hideAltBox();" width=20 height=20 border=1 src="images/nophone.jpg" style="position: absolute; margin-top: -25px;">';
      }
      text += '</td>\r\n';
      if ((i+1)%4 == 0 && i != (stop-1)){
        text += '</tr><tr><td></td></tr>\r\n';
      }
      else if ((i+1)%4!=0 && i != (stop-1)) {
        text += '<td style="background-color: #ffffff; width: 5px;"></td>\r\n';
      }
    }
  }
  
  if (4-(stop%4) != 4) {
    for (i=0;i<4-(stop%4);i++){
      text += "<td></td><td width=96></td>";
    }
  }
  
  text = "<table cellspacing=0>" + text + "</table>";
  c_start = start;
  c_mood = mood;
  c_moodid = mid;
  
  document.getElementById ("prevBtn").style.display = 'none';
  document.getElementById ("nextBtn").style.display = 'none';
  if (c_start + 4 < clips[mid].length && clips[mid].length >= 4) {
    document.getElementById ("nextBtn").style.display = 'block';
  }
  if (c_start - 4 >= 0 && clips[mid].length >= 4) {
    document.getElementById ("prevBtn").style.display = 'block';
  }
  
  document.getElementById ('movies').innerHTML = text;
}
function next_movies() {
  collapse ();
  load_movies (c_mood, c_start+4, 4);
}
function prev_movies() {
  collapse ();
  load_movies (c_mood, c_start-4, 4);
}
function show_all () {
  load_movies (c_mood, 0, clips[c_moodid].length);
  document.getElementById ("prevBtn").style.display = 'none';
  document.getElementById ("nextBtn").style.display = 'none';
  document.getElementById ('showallBtn').style.display = 'none';
  if (clips[c_moodid].length > 4) {
    document.getElementById ('collapseBtn').style.display = 'block';
  }
  else {
    document.getElementById ('collapseBtn').style.display = 'none';
  }
}
function collapse () {
  load_movies (c_mood, 0, 4);
  document.getElementById ('collapseBtn').style.display = 'none';
  if (clips[c_moodid].length > 4) {
    document.getElementById ('showallBtn').style.display = 'block';
  }
  else {
    document.getElementById ('showallBtn').style.display = 'none';
  }
}
// -------------------------
function isDigit(num) {
  if (num.length>1){
    return false;
  }
  var string="1234567890";
  if (string.indexOf(num)!=-1){
    return true;
  }
  return false;
}

function isInteger (val) {
  if (val == "") {
    return false;
  }
  for (var i=0; i<val.length; i++) {
    if (!isDigit (val.charAt (i))) {
      return false;
    }
  }
  return true;
}

function valid_mail(x){
  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (filter.test (x)) {
    return true;
  }
  else {
    return false;
  }
}
function check_message (e) {
  if (e.value == "<type your message here>") {
    e.value = "";
  }
}
function check_form (f){
  f.rec_phone.value = f.rec_phone1.value + f.rec_phone2.value + f.rec_phone3.value;
  if (f.sender_name.value == "") {
    alert ("Please enter your name.");
    return false;
  }
  if (f.sender_email.value == "") {
    alert ("Please enter your email address.");
    return false;
  }
  if (!valid_mail (f.sender_email.value)) {
    alert ("Please enter a valid email for the sender.");
    return false;
  }
  if (f.rec_name.value == "") {
    alert ("Please specify the reciever's name.");
    return false;
  }
  if ( f.rec_email.value == "" && f.rec_phone.value == "") {
    alert ("Please specify either the reciever's email or phone.");
    return false;
  }
  if (f.rec_email.value != "" && !valid_mail (f.rec_email.value)) {
    alert ("Please enter a valid email for the reciever.");
    return false;
  }
  if (f.rec_phone.value != "" && (!isInteger(f.rec_phone.value) || f.rec_phone.value.length != 10)) {
    alert ("Please enter a valid phone number (10 digits).");
    return false;
  }
  if (f.video.value == "") {
    alert ("Please choose a video file.");
    return false;
  }
  if (window.statwin && statwin.open && !statwin.closed) {
    statwin.window.close();
  }
  statwin = window.open ("statwin.html", "statwin", "width=300, height=100, toolbar=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, modal=yes;");
  return true;
}

function check_s() {
  loc = ifrm.window.location.href;
  if (loc.indexOf("status=") != -1){
    status = loc.substr (loc.indexOf("status=")+7, loc.length);
    status = status.replace("+", " ");
    status = unescape (status);
    status += '<br /><br /><button onclick="self.close();">Send another message</button>';
    statwin.document.body.innerHTML = status;    
  }
  else {
    window.setTimeout("check_s()", 1000);
  }
}

function change_actor (id) {
  var s = clips[c_moodid][id];

  for (i=0; i<clips[c_moodid].length; i++) {
    if (document.getElementById('actor'+i)){
      document.getElementById ('actor'+i).className='thumb';
    }
  }
  document.getElementById ('actor'+id).className='thumb_selected';
  movie = c_mood + "/";
  
  if (s.charAt(0) == "#") {
    movie += s.substr(1,s.length);
    document.getElementById ('phone1').readOnly=true;
    document.getElementById ('phone2').readOnly=true;
    document.getElementById ('phone3').readOnly=true;
    document.getElementById ('phone1').disabled=true;
    document.getElementById ('phone2').disabled=true;
    document.getElementById ('phone3').disabled=true;
  }
  else {
    movie += s;
    document.getElementById ('phone1').readOnly=false;
    document.getElementById ('phone2').readOnly=false;
    document.getElementById ('phone3').readOnly=false;
    document.getElementById ('phone1').disabled=false;
    document.getElementById ('phone2').disabled=false;
    document.getElementById ('phone3').disabled=false;
  }
  
  document.getElementById ('mainform').video.value = movie;
  document.getElementById ('mainform').subject.value = captions[c_moodid][id];
  document.getElementById ('typedtext').value = captions[c_moodid][id];

  reloadVideo('moods/'+movie,'preview.jpg')
  
  c_mov_id = id;
  c_mov_mood = c_mood;
}

function options_toggle (){
  if (document.getElementById ('secondform').style.display == 'none'){
    document.getElementById ('secondform').style.display = 'block';
    document.getElementById ('togglespan').innerHTML = '<img border=0 src="images/redtriangle2.gif" /> Hide send options';
    window.location.href = "#secondform";
  }
  else {
    document.getElementById ('secondform').style.display = 'none';
    document.getElementById ('togglespan').innerHTML = '<img border=0 src="images/send.gif" />';
  }
}

function textoptions_toggle (){
  if (document.getElementById ('textoptions').style.display == 'none'){
    document.getElementById ('textoptions').style.display = 'block';
    document.getElementById ('texttogglespan').innerHTML = '<img border=0 src="images/redtriangle2.gif" /> Hide text options';
  }
  else {
    document.getElementById ('textoptions').style.display = 'none';
    document.getElementById ('texttogglespan').innerHTML = '<img border=0 src="images/redtriangle1.gif" /> Show text options';
  }
}

function change_mood (mood) {
  for (i = 0; i < moods.length; i++) {
    document.getElementById ('moodimg'+i).src = 'images/whitecircle.gif';
  }
    document.getElementById ('moodimg'+mood).src = 'images/bluecircle.gif';
    load_movies (moods[mood], 0, 4);
    collapse();
}

function print_moods () {
  for (i=0; i<moods.length; i++){
    document.write ('<a class="mood" href="javascript:void(change_mood('+i+'))"><img id="moodimg'+i+'" src="images/whitecircle.gif" border=0 style="margin-right: 3px;" />'+moods[i]+'</a> &nbsp;&nbsp;');
  }
}

function changemovietext() {
  text = document.getElementById ('typedtext').value;
  if (text == "") {
    text = "&nbsp;";
  }
  document.getElementById ('movietext').innerHTML = text;
}

function init() {
  //load_movies (moods[0], 0, 4);
  //show the clips in "special"
  
  //document.getElementById ('moodimg'+init_mood).src = 'images/bluecircle.gif';
  //load_movies (moods[init_mood], 0, 4);
  change_mood (5);
  collapse ();
  var FU = { 	movie:"flvplayer.swf",width:"320",height:"250",majorversion:"7",build:"0",bgcolor:"#FFFFFF",
              flashvars:"file=w3.flv&showdigits=false&showicons=true&volume=100&ybott=10&msg=Type your message here&textcolor=0XFFFFFF&bkgrcolor=0X000000&msgfont=Arial&msgfontsize=14" };
  UFO.create(	FU, "mov");
  
  change_actor (0);
}


// viewMsg.html functions
function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  return "";
}

function show_msg () {
   
  movie = getQueryVariable("video");
  
  movie = unescape (movie);

  for (i=0;i<clips.length;i++) {
    for (j=0;j<clips[i].length;j++){
      if (clips[i][j] == movie){
        movie = moods[i] + "/" + movie;
      }
    }
  }
   
  message = getQueryVariable("message");
  message = unescape (message);
  
 
  fromname = getQueryVariable("sender_name");
  fromname = unescape (fromname);
  document.getElementById ("from").innerHTML = fromname;
  
  toname = getQueryVariable("recipient_name");
  toname = unescape (toname);
  document.getElementById ("to").innerHTML = toname;
  
  ybott = unescape(getQueryVariable("ybott"));
  if (ybott == "")
    ybott = 20;
    
  bgcolor = unescape(getQueryVariable("bkgrcolor"));
  if (bgcolor == ""){
    bgcolor = "#ffffff";
  }

  msgfont = unescape(getQueryVariable("msgfont"));
  if (msgfont == ""){
    msgfont = "Arial";
  }
  
  msgfontcolor = unescape(getQueryVariable("msgfontcolor"));
  if (msgfontcolor == ""){
    msgfontcolor = "0X000000";
  }
  
  msgfontsize = unescape(getQueryVariable("msgfontsize"));
  if (msgfontsize == ""){
    msgfontsize = "14";
  }
  
  myFlashVars = "file=moods/"+movie+"&autostart=true&showdigits=false&showicons=true&volume=100&showfsbutton=false&repeat=false&msg="+message+"&ybott="+ybott+"&bkgrcolor="+bgcolor+"&msgfont="+msgfont+"&msgfontsize="+msgfontsize+"&msgfontcolor="+msgfontcolor;
	var FU = { 	movie:"flvplayer.swf",width:"320",height:"250",majorversion:"7",build:"0",bgcolor:"#FFFFFF",
				flashvars: myFlashVars};
	UFO.create(	FU, "mov");
  
}

function check_stat (){
  tmp = getQueryVariable ("status");
  if (tmp != "") {
    tmp = tmp.replace("+", " ");
    tmp = unescape (tmp);
    tmp += '<br /><br /><button onclick="self.close();">Send another message</button>';
    document.body.innerHTML = tmp;
  }
}

function show_webonly(){
  d = document.getElementById ("webonly");
  d.style.display = 'block';
}

function hide_webonly(){
  d = document.getElementById ("webonly");
  d.style.display = 'none';
}

function getX(evt) {
     if (document.all) { return (evt.clientX); }
     return (evt.layerX);
}
function getY(evt) {
     if (document.all) { return (evt.clientY); }
     return (evt.layerY);
}
function getScrollX() {
     if (document.all) { return (document.body.scrollLeft); }
     return (window.pageXOffset);
}
function getScrollY() {
     if (document.all) { return (document.body.scrollTop); }
     return (window.pageYOffset);
}


function getMousePos(e)
{
   var posx = 0;
   var posy = 0;
   posx = getX(e) + getScrollX();
   posy = getY(e) + getScrollY();
   return {
    x:posx,
    y:posy
   }
}


function show_alt(obj, text, e){
 
  e = e ? e : window.event;
 
  x = getMousePos(e).x;
  y = getMousePos(e).y;
  
  id = obj.id + '_alt';
  if (document.getElementById(id) != null) {
    d = document.getElementById(id);
    d.style.left = x;
    d.style.top = y;
    d.style.display = 'block';
  }
  else {
    html = '<div id="'+id+'" style="background-color: #eaeaea; border: 1px solid gray; color: gray; padding: 2px; font-family: verdana; font-size: 12px; position: absolute; left: '+x+'; top: '+y+'">'+text+'</div>';
    document.body.innerHTML+=html;
  }
}

function hide_alt(obj){
  id = obj.id + '_alt';
  document.getElementById(id).style.display='none';
}

document.onmousemove = updateAltBox;
var x, y;

function updateAltBox(e) {
  b = document.getElementById('AltBox');
	x = (document.all) ? window.event.x + document.body.scrollLeft : e.pageX;
	y = (document.all) ? window.event.y + document.body.scrollTop  : e.pageY;
	if (b != null) {
		b.style.left = x + 10 + "px";
		b.style.top 	= y + 10 + "px";
	}
}

function showAltBox(msg) {
	b = document.getElementById('AltBox');
	b.innerHTML = msg;
	b.style.display = "block";
}

function hideAltBox() {
  b = document.getElementById('AltBox');
	b.style.display = "none";
}

function kp(e){
  if(window.event){
    keynum = e.keyCode;
  }
  else if(e.which){
    keynum = e.which;
  }
  if (keynum == 13){
    reloadCurrentVideo();
    return false;
  }
  return true;
}