function asyncme_loaded(){
    if(!document || !document.body)
        return;
		
    if(!window.frames['ASYNCME'] || !window.frames['ASYNCME'].document || !window.frames['ASYNCME'].document.body)
	   return;
	   
    var source = window.frames['ASYNCME'].document.body.firstChild;
    while(source){
        var next = source.nextSibling;
        if(source.id){
            var target = document.getElementById(source.id);
            if(target){
				if(target.innerHTML)
                   target.innerHTML = source.innerHTML;
					
				for(i = 0; i < source.attributes.length; i++)
				    target.setAttribute(source.attributes[i].nodeName, source.attributes[i].nodeValue);   
            }
        }
        source = next;
    }   
}
function deleteContact(sid, where){
    var f = document.getElementById('ASYNCME');
    if (f && confirm("Would you like to delete this contact?")) {
       var s = "/leave?sid="+sid+"&red=" + where;
       f.src = s; 
    }
}
function abuse(sid, uid){
    var f = document.getElementById('ASYNCME');
	if (f && confirm("Would you like to signal such content as abusive?")) {
		var s = "/abuse?si d=" + sid;
		if(uid)
		  s +="&userid=" + uid;
		  
	   f.src = s; 
	}
}
function fgoogle(tx){
	var value = document.getElementById('object-of-search').value;
    var g = document.getElementById('cse-search-box');
	var v = value;
	var i,k;
    do{
	    i = v.indexOf('topic:');
	    if(i >= 0){
		v = v.substring(0,i) + v.substring(i+6);
	    }
	    k = v.indexOf('type:');
	    if(k >= 0){
		v = v.substring(0,k) + v.substring(k+5);
	    }
	} while(i >= 0 || k >= 0);
	   
    g.q.value = v;
    g.q_feed.value = value;
    g.submit();
}
function inviteResultNote(v, list){
    if(!v || v.length < 1)
        return '';
    var a = v.split(',');    
    if(!a || a.length < 1)
        return '';
    var x = '';
    for(i = 0; i < a.length; i++){
        a[i] = trim(a[i]);
        if(a[i] && a[i].length > 0){
         if(!isKnown(a[i], list)){
            if(a[i].indexOf('@') < 1){
                if(window.confirm("Create a new collection called " + a[i] + "?"))
                    x = x + "," + a[i];
            }else
                x = x + "," + a[i];
         }else
           x = x + "," + a[i];
        }
    }
    return x;                        
}
function inviteResultSpace(v, list){
    if(!v || v.length < 1)
        return '';
    var a = v.split(',');    
    if(!a || a.length < 1)
        return '';
    var x = '';
    for(i = 0; i < a.length; i++){
        a[i] = trim(a[i]);
        if(a[i] && a[i].length > 0){
         if(!isKnown(a[i], list)){
            if(a[i].indexOf('@') < 1)
                alert(a[i]+": unknown user name or email address.");
            else
                x = x + "," + a[i];
         }else
           x = x + "," + a[i];
        }
    }
    return x;                        
}

function isKnown(text, list){
	for(var i = 0; i < list.length; i++){
        if(text == list[i])
		return true;		
	}
	return false;
}
var popup_current = null;
//hides the popup selected by id
function popup_hide(id)
{
    if(popup_current) popup_current.style.display = "none";

    var msgbox = document.getElementById(id);
    if(msgbox) msgbox.style.display = "none";
    
    var scr = null;
	src = document.getElementById('popup_screen_block');
    if(src) src.style.display = 'none';
}
//shows the popup selected by id at position or center of the screen if positions are not defined
function popup_show(id, left, top)
{
  var scr = document.getElementById('popup_screen_block');
  scr.style.display = 'block';
  var msgbox = document.getElementById(id);
  var x = (window.innerWidth / 2) - (msgbox.offsetWidth / 2);
  var y = (window.innerHeight / 2) - (msgbox.offsetHeight / 2);
  if(left){
    if(top){
        x = left;
        y = top;
    }   
  }
  popup_current = msgbox;
  msgbox.style.top = y + "px";
  msgbox.style.left = x +"px";
  msgbox.style.display = "block";
  return msgbox; 
}

function getText(e){
    var s = "";
    for( i = 0; i < e.childNodes.length; i++){
        if(e.childNodes[i].nodeValue)
            s+=e.childNodes[i].nodeValue;
        else
            s+=getText(e.childNodes[i]);
    }
    return s;
}

function trim(str){
    return str.replace(/^\s+|\s+$/g,"");
}
//invite
var invitemode = 'on';

function pat(t, obj)
{
	var x = trim(obj.value);
    if(x != t)
        return;
         
    obj.value="";
    obj.style.color="#000000";
}
function unpat(t, obj)
{
    var x = trim(obj.value);
    if(x != '')
        return;
        
    obj.value=t;
    obj.style.color="#A7A8AA";
}
var selimg = new Image();
selimg.src = 'resources/img/input/checkbox3.png';
var unremember = new Image();
unremember.src = 'resources/img/input/checkbox2.png';

function rememberMe()
{
    var img = document.getElementById('chk');
    var txt = document.getElementById('chktext');
	var d = document.getElementById('form_login');
    if(img.src == unremember.src){
        img.src = selimg.src;
        txt.style.color = "#000000";
        d.rememberme.value='y';
    }else{
        img.src = unremember.src;
        txt.style.color="#A7A8AA";
        d.rememberme.value='n';
    }
}
function logout(){
	var hostname = window.location.hostname
    Delete_Cookie('bounceituser');
    Delete_Cookie('bounceituser', '/', '.bounceit.net');
    Delete_Cookie('bounceituser', '/', 'www.bounceit.net');
    Delete_Cookie('bounceituser', '/', hostname);
    location.href = '/';
}
function Get_Cookie( check_name ) {
    var a_all_cookies = document.cookie.split( ';' );
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false;
    
    for ( i = 0; i < a_all_cookies.length; i++ ){
        a_temp_cookie = a_all_cookies[i].split( '=' );
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
        if ( cookie_name == check_name ){
            b_cookie_found = true;
            if ( a_temp_cookie.length > 1 ){
                cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
            }
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if ( !b_cookie_found )
        return null;
}       
function Delete_Cookie( name, path, domain ) {
    if (Get_Cookie( name ) ) 
        document.cookie = name + "=" + ( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
function expand(){
    var v = document.getElementById('entries');
    var n = v.firstChild;
    while(n){
		setOn(n);
       	n = n.nextSibling;
    }
}
function expandAll(){
    for(var i=0; i < selectedEntries.length; i++){
        var s = selectedEntries[i];
        var n = document.getElementById("entry-"+s);
        setOn(n);
    }
}
function setEdit(n){
	if (n && n.className)
		n.className = n.className.replace(/^on /g, 'edit ');
}
function setOn(n){
	if (n && n.className) {
		n.className = n.className.replace(/^off /g, 'on ');
		n.className = n.className.replace(/^edit /g, 'on ');
	}
}
function setOff(n){
	if (n && n.className)
		n.className = n.className.replace(/^on /g, 'off ');
}
function collapse(){
    var v = document.getElementById('entries');
    var n = v.firstChild;
    while(n){
		setOff(n);
        n = n.nextSibling; 
    }
}
function collapseAll(){
    for(var i=0; i < selectedEntries.length; i++)
        setOff(document.getElementById("entry-"+selectedEntries[i]));
}

function deleteone(e, sp){
    var url = "delete?a=delete&nid="+e+"&sid="+sp;
    var img = document.getElementById("ASYNCME");
    img.src = url;
    var v = document.getElementById('entry-'+e);
    v.parentNode.removeChild(v);
    return;
}
/*
function moremenu(t){
    var v  = document.getElementById('morebtn');
    popup_show('popup-more', v.offsetLeft + 10, v.offsetTop + 10);
}
*/
function deselectall(){
    var ul = document.getElementById('entries');
    var li = ul.firstChild;
    while(li){
		//alert(li.id);
        if(li && li.id && 0 == li.id.indexOf('entry-')){
            var s = li.id.substring(6);
            if(isSelected(s)){
                removeSelected(s);
            }
        }
        li = li.nextSibling;
    }
    popup_hide('popup-more');
}
function selectall(){
    var ul = document.getElementById('entries');
    var li = ul.firstChild;
    while(li != null){
		//alert(li.id);
        if(li && li.id && 0 == li.id.indexOf('entry-')){
            var s = li.id.substring(6);
            if(!isSelected(s)){
                select(s);
            }
        }
        li = li.nextSibling;
    }
	popup_hide('popup-more');
}
var imgaddactive = new Image();
imgaddactive.src = 'resources/img/input/add.png';

var imgaddunactive = new Image();
imgaddunactive.src = 'resources/img/input/add.png';

var universe_img = null;
function newnote(type){
	document.getElementById("create-00").style.display = 'none';
	document.getElementById("create-01").style.display = 'none';
	document.getElementById("create-02").style.display = 'none';
	document.getElementById("create-03").style.display = 'none';
	document.getElementById("create-04").style.display = 'none';
	document.getElementById("create-05").style.display = 'none';
	document.getElementById("create-06").style.display = 'none';
	document.getElementById("addnoteimg").src = imgaddunactive.src;
	
	var v = document.getElementById("addnote");
	if (type) {
		v = document.getElementById("create-0" + type);
		v.style.display = 'block';
		v = document.getElementById("addnoteimg");
		v.src = imgaddactive.src;
    }
    ununiverse();
}
function universe(img){
    universe_img = img;
    var v = document.getElementById('addnoteimg');
    popup_show('popup-universe', v.offsetLeft+v.offsetWidth, v.offsetTop+v.offsetHeight);   
}
function ununiverse(e){
    universe_img = null;
    popup_hide('popup-universe');
}
function selectReplacement(obj){
      obj.className += ' replaced';
      var ul = document.createElement('ul');
      ul.className = 'selectReplacement';
      var opts = obj.options;
      for (var i=0; i<opts.length; i++){
        var selectedOpt;
        if (opts[i].selected) {
          selectedOpt = i;
          break;
        } else {
          selectedOpt = 0;
        }
      }
      for (var i=0; i<opts.length; i++) {
        var li = document.createElement('li');
        var txt = document.createTextNode(opts[i].text);
        li.appendChild(txt);
        li.selIndex = opts[i].index;
        li.selectID = obj.id;
        li.onclick = function() {
          selectMe(this);
        }
        if (i == selectedOpt) {
          li.className = 'selected';
          li.onclick = function() {
            this.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this);
            }
          }
        }
        if (window.attachEvent) {
          li.onmouseover = function() {
            this.className += ' hover';
          }
          li.onmouseout = function() {
            this.className = 
              this.className.replace(new RegExp(" hover\\b"), '');
          }
        }
        ul.appendChild(li);
      }
      // add the input and the ul
      obj.parentNode.appendChild(ul);
    }
    function selectMe(obj) {
      var lis = obj.parentNode.getElementsByTagName('li');
      for (var i=0; i<lis.length; i++) {
        if (lis[i] != obj) { // not the selected list item
          lis[i].className='';
          lis[i].onclick = function() {
            selectMe(this);
          }
       } else {
          setVal(obj.selectID, obj.selIndex);
          obj.className='selected';
          obj.parentNode.className = 
            obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
          obj.onclick = function() {
            obj.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this);
            }
          }
        }
      }
    }
    function setVal(objID, selIndex) {
      var obj = document.getElementById(objID);
      obj.selectedIndex = selIndex;
    }
    function setForm() {
      /*var s = document.getElementsByTagName('select');
      for (var i=0; i<s.length; i++)
        selectReplacement(s[i]);*/
    }
    function closeSel(obj) {
      // close the ul
    }
    window.onload = function() {
      (document.all && !window.print) ? null : setForm();
    }
//selection
var currentEntry = '00';
var selectedEntries = new Array();

function select(entry){
    var img = document.getElementById('chk'+entry);
    if(img.src == unsimg.src){
        img.src = selimg.src;
        selectedEntries.push(entry);
    }else{
        removeSelected(entry);
        img.src = unsimg.src;
    }
}           
function removeSelected(name){
    var img = document.getElementById('chk'+name);
    if(img)
        img.src = unsimg.src;
    
    for(var i=0; i < selectedEntries.length; i++){
        if(selectedEntries[i] && selectedEntries[i] == name){
            selectedEntries.splice(i, 1);
            break;
        }
    }
}
function isSelected(name){
    for(var i = 0; i < selectedEntries.length; i++){
      if(selectedEntries[i] && selectedEntries[i] == name)
        return true;
    }
    return false;
}
var selimg = new Image();
selimg.src = 'resources/img/input/checkbox3.png';
var unsimg = new Image();
unsimg.src = 'resources/img/input/checkbox.png';
var editimg = new Image();
editimg.src = 'resources/img/icon/pencil-active.png';
var uneditimg = new Image();
uneditimg.src = 'resources/img/icon/pencil.png';

function save(entry){
    var t = 'title-' + entry + '-ta';
	t = document.getElementById(t);
    var	f = document.getElementById('form-' + entry);
    if(!f)   
	   f = document.getElementById(entry);
	   
	if(!f)
	   return;

	if (t) 
		f.title.value = t.value;
	
	if (f.content) {
		if (f.content.value == 'Content')
			f.content.value = '';
        if(trim(f.content.value).length < 1){
            alert('Cannot save a bounce without content!');
            return;
        }
	}

    if (f.description) {
        if (f.description.value == 'Description')
            f.description.value = '';
    }

    if (f.tag) {
		if (f.tag.value == 'tags' || f.tag.value == 'Tags' || f.tag.value == 'Topics' || f.tag.value == 'topics') 
			f.tag.value = '';
        if(trim(f.tag.value).length < 1){
            alert('Cannot save a bounce without a topic!');
            return;
        }
	}

    if (f.title) {
        if (f.title.value == 'Title')
            f.title.value = '';
        if(trim(f.title.value).length < 1){
            alert('Cannot save a bounce without title!');
            return;
        }
    }

    f.submit();
	unedit(entry);
}
function open_load(entry, sid, news){
    var e = document.getElementById('ASYNCME');
    e.src = 'space?f_feed='+sid+'&entry='+entry+'&news='+news;
    openNote(entry);
}
function isOn(e){
	return (e.className.indexOf('on ') > -1);
}
function isEdit(e){
	return (e.className.indexOf('edit ') > -1);
}
function openNote(entry) {
    var t = 'entry-' + entry;
    t = document.getElementById(t);
    if (isOn(t))
		setOff(t);
	else
		setOn(t);
}
function editfeed() {
    var t = document.getElementById('feededitor');
    t.className = 'main-header edit-header-on'; 
    t = document.getElementById('feedviewer');
    t.className = 'main-header edit-header-off';
}
function uneditfeed() {
    var t = document.getElementById('feededitor');
    t.className = 'main-header edit-header-off';
    t = document.getElementById('feedviewer');
    t.className = 'main-header edit-header-on'; 
}
function edit(entry) {
    var t = 'entry-' + entry;
    t = document.getElementById(t);
    if(isEdit(t)){
        unedit(entry);
        return;
    }
    setEdit(t);
	dynamicSize(document.getElementById('content-'+entry+'e'));
}
function unedit(entry){
    var t = 'entry-' + entry;
    t = document.getElementById(t);
    setOn(t);
}
function search(query, space){
    var v = document.getElementById("clipboard");
    var s = document.getElementById("object-of-search");
    s.value = query;
    var i = document.getElementById("searchbox");
    i.src = "html?x=toolbox-search&q_query="+query+"&sid="+space;
    v.className = "on";
}
function closeSearch(){
    var v = document.getElementById("clipboard");
    if(v.className=='on')
        v.className = "off";
    else
        v.className = "on";
}
function comment(entry){
    var v = document.getElementById("comment-" + entry);
    if(v.className == 'comments open-off')
        v.className = 'comments open-on';
    else
        v.className = 'comments open-off';
}
function getSelText(){
    var txt = '';
    if (window.getSelection)
        txt = window.getSelection();
    else if (document.getSelection)
        txt = document.getSelection();
    else if (document.selection)
        txt = document.selection.createRange().text;
    else 
        return "";
    
    return txt;
}
//space
function up(divid, size){
    var d = document.getElementById(divid);
    d.scrollTop -= size;
}
function down(divid, size){
    var d = document.getElementById(divid);
    d.scrollTop += size;
}
function open_comment(entry){
    var c = document.getElementById("comment-" + entry);
    if(c)
        c.className = "comments open-on";
}
function close_comment(entry){
    var c = document.getElementById("comment-" + entry);
    if(c)
        c.className = "comments open-off";
}

function countlines(area) {  
    var text = area.value.replace(/\s+$/g,"")  
    var split = text.split("\n")  
    return split.length  
}  

function dynamicSize(it){
	if(it)
        it.style.height = (it.rows = countlines(it)+4) + "em";
}

function forgotten(){
    var v = document.getElementById('form_login');
    var x = v.l.value;
    v = document.getElementById('ASYNCME');
    v.src = "forgotten?email=" + x;
}
function mustlogin(ix){
    var p = document.getElementById('alert-msg');
    p.style.display = 'block';
}
function getQueryParam(name){
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var href = window.location.href ;
  var results = regex.exec( href );
  var param =  (results != null) ? results[1] : "";
  param = param.replace(/%20/g, ' ');
  param = param.replace(/\+/g, ' ');
  param = param.replace(/%3A/g, ':');
  param = param.replace(/\s+/g, ' ');
  return param;
}
function beeSelection(universe){
    var type = '';
    if (universe == 'univers0')
        type = 'xhtml';
    else if (universe == 'univers1')
        type = 'image';
    else if (universe == 'univers2')
        type = 'video';
    else if (universe == 'univers3')
        type = 'sound';
    else if (universe == 'univers4')
        type = 'event';
    else if (universe == 'univers5')
        type = 'commercial';
    else if (universe == 'univers6')
        type = 'question';
     
    var query = document.getElementById('object-of-search').value; 
    query = query.replace(/type\:\s*[\w\\\/]+/g, '');
	if (query != '')
        document.getElementById('object-of-search').value = query +" AND type:" + type;
    else
        document.getElementById('object-of-search').value = "type:" + type;
		
    return fgoogle();
}