// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
function unsetTextareaToTinyMCE(sEditorID) {
	var oEditor = document.getElementById(sEditorID);
	if(oEditor && bTextareaWasTinyfied) {
		tinyMCE.execCommand('mceRemoveControl', true, sEditorID);
		bTextareaWasTinyfied = false;
	}
	return;
}

function loadjscssfile(filename, filetype){
  if (filetype=="js"){ //if filename is a external JavaScript file
    var fileref=document.createElement('script');
    fileref.setAttribute("type","text/javascript");
    fileref.setAttribute("src", filename);
  }
  else if (filetype=="css"){ //if filename is an external CSS file
    var fileref=document.createElement("link");
    fileref.setAttribute("rel", "stylesheet");
    fileref.setAttribute("type", "text/css");
    fileref.setAttribute("href", filename);
  }
  if (typeof fileref!="undefined") {
    document.getElementsByTagName("head")[0].appendChild(fileref);
  }
  
} 

if (navigator.userAgent.indexOf('Firefox') != -1 && navigator.oscpu == "Windows NT 5.1") {
  loadjscssfile("/stylesheets/firefox_xp.css", 'css');
}

if (navigator.userAgent.match(/(Firefox|Opera|Safari|Chrome)/i) && navigator.userAgent.match(/Windows NT 5.1/i)) {
  loadjscssfile("/stylesheets/xp.css", 'css');
} 



function go(url) {
	location.href = url;
}

function journal_search(){
	var search_text = document.getElementById('q').value;
	document.location.href = "/post/search?q="+search_text;
	return false;
}
function friend_search(f){
	var search_text = document.getElementById('q').value;
	document.location.href = "/users/search?q="+search_text;
	//f.action = "/users/search?q="+search_text;
	return false;
}
function set_friends_search(){
	$('q_friends').value = $F('q');
}		
function set_posts_search(f){
	$('q_posts').value = $F('q');
}			

function enableDisableSend(oFld){
  oFld.form.send.disabled = (oFld.value == "") ? true : false;
}

var z = 10;
function ShowHide(id) {
  var k = document.getElementById(id).style;
  k.display = "block";
  k.zIndex = parseInt(k.zIndex) + 1;
  return false;
}

function updateCachedIcons(cached) {
  //console.log(cached);
  var icons = ['offline', 'onlinem', 'onlinef', 'online'];
  cached.each(function(users, index) {
    var icon = icons[index];
    $$(users.map(function(id){return ".userinfo_"+id+"_icon";})).each(function(e){
      e.src = '/images/design/'+icon+'.gif';
    });
    //console.log(users);
  });
}

function updateCachedPopups(cached) {
  //console.log(cached);
  cached.each(function(u) {
    $$('.userinfo_'+u[0]+'_popup').each(function(e) {
      var inv = e.down('tr.ui_inv');
        if (inv) {
        [1,2,3].without(u[1]).each(function(fr) {
          var el = e.down('tr.ui_inv .userinfo_inv_'+fr);
          e.down('tr.ui_inv .userinfo_inv_'+fr).hide();
        });
        e.down('tr.ui_inv .userinfo_inv_'+u[1]).show();
      }
      var sub = e.down('tr.ui_sub');
      if (sub) {
        e.down('tr.ui_sub .userinfo_sub_'+u[2]).show();
        e.down('tr.ui_sub .userinfo_sub_'+!u[2]).hide();
      }
      var bsub = e.down('tr.ui_bsub');
      if (bsub) {
        e.down('tr.ui_bsub .userinfo_bsub_'+u[3]).show();
        e.down('tr.ui_bsub .userinfo_bsub_'+!u[3]).hide();
      }
    });
    //console.log(u[0]);
  });
}

function userinfoId(el) {
  return $(el).up('div.user_label_new_small').id.gsub('userinfo_', '');
}

function userinfoMessageFormLink(el, user_id){
  userinfo_id = userinfoId(el);
  new Ajax.Updater('send_'+userinfo_id, '/users/sm?buzzer='+userinfo_id+'&userr='+user_id, {asynchronous:true, evalScripts:true});
  return false;
}

function userinfoBuzzerInvite(el, user_id){
  userinfo_id = userinfoId(el);
  new Ajax.Updater('invite_in_group_'+userinfo_id, 
  '/buzzers/invite_in_group_ajax?invited_user_id='+user_id+'&buzzer='+userinfo_id, {asynchronous:true, evalScripts:true});
  return false;
}

function getBuzzQuestion(direction, size, group_id) {
  if (!size){ size = 225;}
  new Ajax.Updater('qqq', '/buzzers/'+direction+'_question'+(size ? '' : '_r')+'?size='+size+'&current='+escape($F('buzz_question'))+(group_id ? '&buzzer_group_id='+group_id : ''), {asynchronous:true, evalScripts:true}); 
  return false; 
}

function get_captcha() {
	if ($('captcha_').innerHTML=='') {
		$('captcha_').innerHTML='Loading ...';
		new Ajax.Updater('captcha_', '/post/get_captcha', {asynchronous:true, evalScripts:true});
	}
}	

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset);
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}


var RssBlog = {
	set_private_posts: function(id) {
		new Ajax.Request('/rssblog/set_private_posts/'+id, {asynchronous:true, evalScripts:true, parameters: {private_posts: ($('rss_blog_private_posts').checked ? 1 : 0)}});
	} 
}

document.observe("dom:loaded", function() { 
  if ($$('.not_logged_header').size() > 0) {
    var user_cookie = getCookie("yst_userid");
    if (user_cookie) { 
      var yst_uid = user_cookie.split('_').first();
      //console.log(yst_uid);
      $$('.logged_in_header').invoke('show');
      
      var yst_ulogin = getCookie("yst_userlogin");
      if (yst_ulogin) {
        var p_ids = $$('.add_to_journal_wrap').pluck('id').map(function(i) {return i.split('_').last()});
        new Ajax.Request('/activity/update_header/', {asynchronous:true, evalScripts:true, parameters: {post_ids: p_ids}});
        
        yst_ulogin = yst_ulogin.split('_');
        yst_ulogin.pop();
        yst_ulogin = yst_ulogin.join('_');
        $$('#login_main_menu a[href*=userlogin]').each(function(e) {
          e.href = e.href.gsub('userlogin', yst_ulogin);
        });
        
        //alert(window.location.href);
        
        var yst_ucity = getCookie("yst_usercity");
        var loc_link = $$('.location_link');
        if (yst_ucity) {
          yst_ucity = yst_ucity.split('_').first();
          loc_link.each(function(e) {
            e.href = e.href.gsub('usercity', yst_ucity);
          });
        } else {
          loc_link.invoke('hide');
        } 
        
        
        var cur_loc = window.location.href.gsub(/(&|\?)\d+$/, '');
        
        
        var ll = $$('.open_menu a').select(function(e){ return cur_loc == e.href.gsub(/(&|\?)\d+$/, ''); });
        if (ll.size() == 0) {
          var l = 'abcdefgh';
          if (cur_loc.match("(start_your_blog_right_here|start_blogging|get_revenues_from_your_blog)")) {
            l = 'start_your_blog_right_here';
          } else if (cur_loc.include("/add_your_blog")) {
            l = '/add_your_blog';
		  } else if (cur_loc.include("/banner/action/add_from_blog")) {
            l = '/banner/action/add_from_blog';
          } else if (cur_loc.include("/buzzers/add_buzzer")) {
            l = '/buzzers/add_buzzer';
          } else if (cur_loc.include(yst_ulogin+"/gallery")) {
            l = yst_ulogin+"/gallery";
          } else if (cur_loc.include("/drafts")) {
            l = "/drafts";
          } else if (cur_loc.include("recent_comments_full")) {
            l = "recent_comments_full";
          } else if (cur_loc.include("communications")) {
            l = "communications";
          } else if (cur_loc.include("invite_friend")) {
            l = "invite_friend";
          } else if (cur_loc.match("(friend_list|guest_list|referred_users)") || cur_loc.include(yst_ulogin+"/friends")) {
            l = "friend_list";
          } else if (cur_loc.include("invitations")) {
            l = "invitations";
          } else if (cur_loc.match("(edit_interests|interest)")) {
            l = "edit_interests";
          } else if (cur_loc.match("(new_messages|received_messages|sent_messages|memorized_messages|messages_from history)")) {
            l = "/users/new_messages";
          }  else if (cur_loc.match("(view_city|view_country|city)")) {
            l = "city";
          } else if (cur_loc.include(yst_ulogin+"/userprofile")) {
            l = yst_ulogin+"/userprofile";
          } else if (cur_loc.include(yst_ulogin+"/subscriptions")) {
            l = yst_ulogin+"/subscriptions";
          } else if (cur_loc.include(yst_ulogin+"/buzzer")) {
            l = yst_ulogin+"/buzzer";
          } else if (cur_loc.include('buzzer/'+yst_ulogin+"/buzzcriptions")) {
            l = 'buzzer/'+yst_ulogin+"/buzzcriptions";
          } else if (cur_loc.include("/buzzer/all_groups")) {
            l = "/buzzer/all_groups";
          } else if (cur_loc.include("/user/"+yst_ulogin+"/games")) {
            l = "/user/"+yst_ulogin+"/games";
		  } else if (cur_loc.include("/user/"+yst_ulogin+"/my_banners")) {
            l = "/user/"+yst_ulogin+"/my_banners";
          } else if (cur_loc.include("/user/"+yst_ulogin+"/my_buzzer")) {
            l = "/user/"+yst_ulogin+"/my_buzzer";				
          } else if (cur_loc.include("/users/revenues")) {
            l = "/users/revenues";
          } else if (cur_loc.include("/user/"+yst_ulogin+"/yst_blogs")) {
            l = "/"+yst_ulogin;
            ll = $$('.open_menu a').select(function(e){ return cur_loc.gsub("/user/"+yst_ulogin+"/yst_blogs", "/"+yst_ulogin) == e.href.gsub(/(&|\?)\d+$/, ''); });
          } else if (cur_loc.include("/user/"+yst_ulogin+"/rss_blogs")) {
            l = "/"+yst_ulogin; 
            ll = $$('.open_menu a').select(function(e){ return cur_loc.gsub("/user/"+yst_ulogin+"/rss_blogs", "/"+yst_ulogin) == e.href.gsub(/(&|\?)\d+$/, ''); });
          } 
          var ll = ll || $$('.open_menu a').select(function(e){ return e.href.include(l); });
        }
        
        ll.each(function(e) {
          var wrapper = e.up('.top_sel_t');
          if (wrapper) {
            wrapper.show();
          } else {
            if (e.href != '#') {
              e.hide();
            }
            
          }
        });
        
        $('login_main_menu').show();
        
        
         //console.log($$('.logged'));
        $$('.logged').invoke('show');
        $$('.not_logged').invoke('hide');
        $$('.not_user_'+yst_uid).invoke('hide');
        $$('.only_user_'+yst_uid).invoke('show');
        $$('.open_menu a[href=#]').invoke('show');
        
      } else {
        window.location = "/account/logout";
  
      } 
    } else {
      $$('.not_logged_header').invoke('show');
    }
  }
  
});

