/***********************************************************************
* Javascript file and functions for What's On Your Mind
* Created By Chris Michaelides aka grVulture
* http://www.axxis.gr - info@axxis.gr
* @copyright ajax.js Copyright (C) 2009,2010,2011  Axxis.gr / All rights reserved.
************************************************************************/
// load the appropriate xmlHttpRequest for IE or Mozilla
// this sniffer code can be found at
// http://jibbering.com/2002/4/httprequest.html
var xmlHttp;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
  try {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")
} catch (e) {
  try {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
  } catch (E) {
   xmlHttp=false
  }
}
@else
xmlHttp=false
@end @*/
if (!xmlHttp) {
try {
  xmlHttp = new XMLHttpRequest();
}
catch (e) {
  xmlHttp=false;
  alert(e);
}
}
// end jibbering.com code

function mind_share(who)
{
var str = document.getElementById('mind_text').value;
var start_text = document.getElementById('start_text').value;
if (str==start_text) {str=''};

  if (strstr(document.getElementById('linkdiv').innerHTML,'<form')||strstr(document.getElementById('linkdiv').innerHTML,'<FORM')) document.getElementById('linkdiv').innerHTML = '';
	if (document.getElementById('linkdiv').innerHTML!='') {
	 linktoembed = document.getElementById('linkdiv').innerHTML.split('<table');
	 if (!linktoembed[1]) linktoembed = document.getElementById('linkdiv').innerHTML.split('<TABLE');
   str += '<br /><table '+linktoembed[1].replace(/(\r\n|\n|\r)/gm,"");
	 document.getElementById('linkdiv').innerHTML='';
	}
  if (strstr(document.getElementById('imagediv').innerHTML,'<form')||strstr(document.getElementById('imagediv').innerHTML,'<FORM')) document.getElementById('imagediv').innerHTML = '';
	if (document.getElementById('imagediv').innerHTML!='') {
	  if (strstr(document.getElementById('imagediv').innerHTML,'<img')||strstr(document.getElementById('imagediv').innerHTML,'<IMG'))
  	   str += '<br />'+document.getElementById('imagediv').innerHTML;
  	document.getElementById('imagediv').innerHTML='';
  }
  if (strstr(document.getElementById('videodiv').innerHTML,'<form')||strstr(document.getElementById('videodiv').innerHTML,'<FORM')) document.getElementById('videodiv').innerHTML = '';
	if (document.getElementById('videodiv').innerHTML!='') {
  	str += '<br />'+document.getElementById('videodiv').innerHTML;
  	document.getElementById('videodiv').innerHTML='';
  }
	document.getElementById('mind_text').value = str;

var mind_text = document.getElementById('mind_text').value;
var myid = document.getElementById('mind_id').value;

if (mind_text==start_text) return;
if (mind_text=="") {
  document.getElementById('mind_text').value = start_text;
  return;
}

  if (!who) who=0;
  if (myid==who && !strstr(mind_text,'<embed') && !strstr(mind_text,'<img') && !strstr(mind_text,'<EMBED') && !strstr(mind_text,'<IMG') && document.getElementById('mind_header')!=null) document.getElementById('mind_header').innerHTML = '<span class="activity_status">'+mind_text+'</span>';

var mind_text = encodeURIComponent(document.getElementById('mind_text').value);
var grsite = document.getElementById('grsite').value;
var url = grsite+'components/com_comprofiler/plugin/user/plug_cbonyourmind/share.php';
  if (document.getElementById('usename')!=null) 
    var usename_js = document.getElementById('usename').value;
  else
    var usename_js = '0';
  xmlMessage = 'myid='+myid+'&mind='+mind_text+'&other='+who+'&usename='+usename_js;
  xmlHttp.open("POST", url, false);
  // for ie compatability
  xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  xmlHttp.send(xmlMessage);
  loadXMLmind('');
}

function loadXMLmind(url)
{
//==============================================================================
  var brs = navigator.appVersion;
  if (strstr(brs,'Chrome')) {
    location.reload( true );  
    return;
  }
  var mind_self = location.href;
  if (document.getElementById('gr_iframe') != null) {
    try
    {
      if (window.frames['gr_iframe'].location != mind_self) {
        window.frames['gr_iframe'].location = mind_self;
        if (window.frames['gr_iframe'].location != mind_self) location.reload( true );  
      } else {
        window.frames['gr_iframe'].location.reload(true);
      }
    }
    catch(err)
    {
      document.getElementById('gr_iframe').src = mind_self;
    }
  }
  document.getElementById('mind_process').style.display = 'block';
  document.getElementById('mind_button').disabled = 'disabled';
  document.getElementById('mind_text').disabled = 'disabled';
  gottaWait();
//==============================================================================
}

function gottaWait() {
  var start_text = document.getElementById('start_text').value;
  if (document.getElementById('gr_iframe') != null) {
    grFrame = window.frames['gr_iframe'].document.getElementById('activity_wrapper');
    if (!grFrame && document.getElementById('gr_iframe').contentDocument!=null)
      grFrame = document.getElementById('gr_iframe').contentDocument.getElementById('activity_wrapper');
    if (!grFrame)
      grFrame = document.getElementById('gr_iframe').contentWindow.document.getElementById('activity_wrapper');
    if (grFrame) {
      document.getElementById('activity_wrapper').innerHTML = grFrame.innerHTML;
      document.getElementById('mind_process').style.display = 'none';
      //document.getElementById('mind_button').value = 'Share';
      document.getElementById('mind_text').value = start_text;
      document.getElementById('mind_button').disabled = false;
      document.getElementById('mind_text').disabled = false;
      document.getElementById('gr_iframe').src = '';
    } else {
      setTimeout(gottaWait,1000);
    }
  } else { // Comments add-on not installed
    location.reload( true );
  }
}

function focus_blur() 
{
var mind_text = document.getElementById('mind_text').value;
var start_text = document.getElementById('start_text').value;
if (mind_text==start_text) document.getElementById('mind_text').value='';
else if (mind_text=="") document.getElementById('mind_text').value=start_text;
}

function deletemind(myid)
{
document.getElementById('mind_header').innerHTML = '';
var grsite = document.getElementById('grsite').value;
var url = grsite+'components/com_comprofiler/plugin/user/plug_cbonyourmind/delete.php';
    xmlMessage = 'myid='+myid;
    xmlHttp.open("POST", url, false);
    // for ie compatability
    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlHttp.send(xmlMessage);
    //loadXMLmind('');
}


// the php script to process the form.  var must be global!
try {
  var grsite = document.getElementById('grsite').value;
} catch(err) {
    var grsite = 'http://'+window.location.hostname+'/';
}
var URLto = grsite+'components/com_comprofiler/plugin/user/plug_cbonyourmind/embedprocess.php';

// function to communicate with remote script
function send_post(theFormName) {
var grsite = document.getElementById('grsite').value;
var URLto = grsite+'components/com_comprofiler/plugin/user/plug_cbonyourmind/embedprocess.php';
document.getElementById('gr_loading_gif').style.display='inline';
    var xmlMessage = 'videoURL='+encodeURIComponent(document.getElementById('URL').value);
    xmlHttp.open("POST", URLto, false);
    // for ie compatability
    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlHttp.send(xmlMessage);
}
function send_image(theFormName) {
var grsite = document.getElementById('grsite').value;
var URLto = grsite+'components/com_comprofiler/plugin/user/plug_cbonyourmind/embedprocess.php';
document.getElementById('gr_loading_gif').style.display='inline';
    var xmlMessage = 'imageURL='+encodeURIComponent(document.getElementById('imageURL').value);
    //xmlMessage += '&grsite='+encodeURIComponent(document.getElementById('grsite').value);
    xmlHttp.open("POST", URLto, false);
    // for ie compatability
    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlHttp.send(xmlMessage);
}
function send_link(theFormName) {
var grsite = document.getElementById('grsite').value;
var URLto = grsite+'components/com_comprofiler/plugin/user/plug_cbonyourmind/embedprocess.php';
document.getElementById('gr_loading_gif').style.display='inline';
    var xmlMessage = 'linkURL='+encodeURIComponent(document.getElementById('URL').value);
    //alert(URLto+'?'+xmlMessage);
    xmlHttp.open("POST", URLto, false);
    // for ie compatability
    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlHttp.send(xmlMessage);
}

function display_response(theDiv) {
  document.getElementById('gr_loading_gif').style.display='none';
    var optionDiv = document.getElementById(theDiv);
    optionDiv.innerHTML = xmlHttp.responseText;
    document.getElementById('imageformdiv').style.display = 'none';
    //alert(xmlHttp.responseText);
}

function Uploaded(what) {
    var optionDiv = document.getElementById('imagediv');
    optionDiv.innerHTML = what;
    //alert(what);
}

function fembedimage() {
  if (document.getElementById('imageformdiv').style.display == "block") document.getElementById('imageformdiv').style.display = "none";
  else document.getElementById('imageformdiv').style.display = "block"; 
  //'<form name="imageform" action="'+document.getElementById('grsite').value+'components/com_supermessenger/upload.php" target="upload_target" method="POST" enctype="multipart/form-data">'+link+'<br />'+upload+'<br />'+submit+hidden+grsite+'</form>';
}
function fembedvideo() {
  if (strstr(document.getElementById('videodiv').innerHTML,'<form')||strstr(document.getElementById('videodiv').innerHTML,'<FORM'))
    document.getElementById('videodiv').innerHTML = '';
  else 
    document.getElementById('videodiv').innerHTML = '<form name="videoform">'+document.getElementById('linkvideo').innerHTML+'</form>';
}
function fembedlink() {
  if (strstr(document.getElementById('linkdiv').innerHTML,'<form')||strstr(document.getElementById('linkdiv').innerHTML,'<FORM'))
    document.getElementById('linkdiv').innerHTML = '';
  else 
    document.getElementById('linkdiv').innerHTML = '<form name="videoform">'+document.getElementById('linklink').innerHTML+'</form>';
}

function strstr (haystack, needle, bool) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: strstr('Kevin van Zonneveld', 'van');
    // *     returns 1: 'van Zonneveld'
    // *     example 2: strstr('Kevin van Zonneveld', 'van', true);
    // *     returns 2: 'Kevin '
    // *     example 3: strstr('name@example.com', '@');
    // *     returns 3: '@example.com'
    // *     example 4: strstr('name@example.com', '@', true);
    // *     returns 4: 'name'
 
    var pos = 0;
    
    haystack += '';
    pos = haystack.indexOf( needle );
    if (pos == -1) {
        return false;
    } else{
        if (bool){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}
/*----------------------------------------------------------------------------*/
  function thumbnail_switcher(thumbnail,count) {
    if (thumbnail == count) {
      switch_to = 0;
    } else {
      switch_to = thumbnail;
    }
    document.getElementById('gr_thumb_holder').innerHTML = document.getElementById('gr_thumb'+switch_to).innerHTML;
    document.getElementById('thumbnail_switcher').innerHTML = '<small><span id="thumbnail_numerer">'+(switch_to+1)+' of '+count+' <a href="javascript:thumbnail_switcher('+(switch_to+1)+','+count+')">Switch thumbnail</a></span> <label><input type="checkbox" onclick="switch_thumbnail()" />No thumbnail</label></small></div>';
  }
  
  function switch_thumbnail() {
    if (document.getElementById('gr_thumb_holder').style.display=='none') {
      document.getElementById('gr_thumb_holder').style.display='block';
      if (document.getElementById('thumbnail_numerer')) document.getElementById('thumbnail_numerer').style.display='inline';
    } else {
      document.getElementById('gr_thumb_holder').style.display='none';
      if (document.getElementById('thumbnail_numerer')) document.getElementById('thumbnail_numerer').style.display='none';
    }
  }  
  
  function checkEnter(trigger,e,div,holder) {
    var characterCode; 
    if (e && e.which) { e = e; characterCode = e.which; } 
    else { e = event; characterCode = e.keyCode; } 

    if (characterCode == 13) {
      document.getElementById('mind_button').disabled=false; 
      if (div=='link_title') {
        spanorb = '<b onclick="document.getElementById(\'mind_button\').disabled=true; document.getElementById(\''+div+'\').innerHTML = document.getElementById(\''+holder+'\').innerHTML;">';
        spanend = '</b>';
        holderinput = '<input type="text" id="linkTitleentry" value="'+trigger.value+'" style="width:100%" onkeyup="checkEnter(this,event,\'link_title\',\'linkTitle\')" />';
        holdertext  = '<input type="text" id="linkTitleentry" value="'+trigger.innerHTML+'" style="width:100%" onkeyup="checkEnter(this,event,\'link_title\',\'linkTitle\')" />';
      } else {
        spanorb = '<span onclick="document.getElementById(\'mind_button\').disabled=true; document.getElementById(\''+div+'\').innerHTML = document.getElementById(\''+holder+'\').innerHTML;">';
        spanend = '</span>';
        holderinput = '<textarea id="linkDescriptionentry" style="width:100%;" onkeyup="checkEnter(this,event,\'link_description\',\'linkDescription\')" >'+trigger.value+'</textarea>';
        holdertext  = '<textarea id="linkDescriptionentry" style="width:100%;" onkeyup="checkEnter(this,event,\'link_description\',\'linkDescription\')" >'+trigger.innerHTML+'</textarea>';
      }
      if (trigger.value) {
        document.getElementById(div).innerHTML = spanorb+trigger.value+spanend;
        document.getElementById(holder).innerHTML = holderinput;
      } else {
        document.getElementById(div).innerHTML = spanorb+trigger.innerHTML+spanend;
        document.getElementById(holder).innerHTML = holdertext;
      }
      return false; 
    } else { 
      return true; 
    } 
  }

