(function(){
YAHOO.namespace("gaia.app.profiles");

// scoped YAHOO objects for shorthand and simplicity
var DOM = YAHOO.util.Dom;


YAHOO.gaia.app.profiles.view = function() {
  var user_close_set = false;
  var item_close_set = false;

  var users;
  var items;

	return {
		setUsers: function(data) {
			users = data;
		},

		initUsers: function() {},

		setItems: function(data) {
			items = data;
		},

		initItems: function() {
			var infos = DOM.getElementsByClassName('item_info');
			for (var i = 0; i < infos.length; i++)
			{
				YAHOO.util.Event.addListener(infos[i], 'click', gapv.showItemInfo, infos[i].getAttribute('name'));
			}
		},

		showUserInfo: function(event, id, obj) {
		  YAHOO.util.Event.stopEvent(event);
		  if (! id)
			return;

		  var user = users[id];
		  if (! user)
			return;

		  user['online'] = parseInt(user['online']);

		  var profile_href = '/profiles/?u=' + id + "&_gaia_t_=718";
		  var fl_href = '/friends/add/' + id + '/?_gaia_t_=724';
		  var sm_href = '/profile/privmsg.php?mode=post&u=' + id + '&_gaia_t_=726';
		  var ig_href = '/profile/friendlist.php?hook=' + id + '&_gaia_t_=724';
		  var ti_href = '/gaia/bank.php?mode=trade&uid=' + id + '&_gaia_t_=728';
		  var bg_href = '/market/?cashshop=true&username=' + escape(user['username']);
		  var vp_href = '/forum/myposts/' + id;
		  var vg_href = '/guilds/index.php?gmode=search&user_id=' + id;
		  var rj_href = '/journal/?mode=view&u=' + id + '&_gaia_t_=722';
		  var mw_href = '/gaia/redirect.php?r=' + escape(user['website']) + '&_gaia_t_=730';
		  var md_href = '/moddog/note/?go=Search&searchstr='+id+'&searchby=user&_gaia_t_=734';
		  var pr_href = '/moddog/'+ id +'/?_gaia_t_=734';
		  var gim_href = 'javascript:YAHOO.gaia.widgets.getIM('+id+');';
		  var jt_href = '/get/location?userid=' + id + '&_gaia_t_=720';
		  var st_href = '/textmessage?recipient_id=' +id+ '&_gaia_t_=866';
		  var ve_href = 'javascript:YAHOO.gaia.apps.ei.getItemList('+id+')';

		  var $ = function(str) {
			  return document.getElementById(str)
		  };

		  var username = $('uip_username');
		  username.href = profile_href;


		  $('uip_ig').href = ig_href;
		  $('user_info_set').value = id;
		  $('uip_fl').href = fl_href;
		  $('uip_sm').href = sm_href;
		  $('uip_st').href = st_href;
		  $('uip_ti').href = ti_href;
		  $('uip_rj').href = rj_href;
		  $('uip_mw').href = mw_href;
		  $('uip_bg').href = bg_href;
		  $('uip_ve').href = ve_href;
		  $('uip_gim').href = gim_href;
		  $('uip_jt').href = jt_href;

          $('uip_jt').parentNode.style.display="block";
		  if(!user['online'])
			  $('uip_jt').parentNode.style.display="none";

		  $('uip_gim').parentNode.style.display="block";
		  if(!user['online'])
			  $('uip_gim').parentNode.style.display="none";


		  var allPM = DOM.getElementsByClassName('pm');
		  DOM.setStyle(allPM, "display", "block");
		  if(user['pm'] == '' || user['pm'] == '0')
			  DOM.setStyle(allPM, "display", "none");

		  var moddog = DOM.get("uip_mod");
		  var profiletool = DOM.get("uip_pro");

		  if (moddog)
		  {
			  moddog.href = md_href;
			  profiletool.href = pr_href;
		  }

		  document.getElementById('uip_mw').parentNode.style.display="block"
		  if(user['website'] == '')
			  document.getElementById('uip_mw').parentNode.style.display="none";

		  gapv.setPopupPosition('user_info_popup_panel', event, obj);
		},

		showBox : function(obj){
			var child = DOM.getChildren(obj);
			child[1].style.visibility =  "visible";
			child[0].style.padding = 0;
			child[0].style.borderTop = "1px solid #3E53A2";
			child[0].style.borderLeft = "1px solid #3E53A2";
			child[0].style.borderBottom = "1px solid #3E53A2";
		},

		hideBox : function(obj){
			var child = DOM.getChildren(obj);
			child[1].style.visibility =  "hidden";
			child[0].style.padding = "1px 0 1px 1px";
			child[0].style.borderTop = 0;
			child[0].style.borderLeft = 0;
			child[0].style.borderBottom = 0;
		},

		setPopupPosition: function(id, event, obj) {
		if (!obj){
			var root = YAHOO.util.Event.getTarget(event);
		}
		else {
			var root = obj;
		}

		  var diff = parseInt(YAHOO.util.Dom.getClientRegion().bottom-YAHOO.util.Dom.getRegion(root).bottom);
		  var offset = DOM.getXY(root);

		  DOM.setStyle(id, 'display', 'block');
  		  var offsetMenu = DOM.getRegion(id);
		  var menuHeight = offsetMenu.bottom - offsetMenu.top;
		  if (diff > menuHeight)
		  {
			  DOM.setStyle(id, 'left', offset[0] + 'px');
			  DOM.setStyle(id, 'top', offset[1] + 51 + 'px');

			  if (YAHOO.env.ua.ie > 0) {
				  DOM.setStyle(id, 'left', offset[0] -2 + 'px');
				  DOM.setStyle(id, 'top', offset[1] + 49 + 'px');
			  }

		  }
		  else {
			  DOM.setStyle(id, 'left', offset[0] + 'px');
			  DOM.setStyle(id, 'top', offset[1] - menuHeight + 1 + 'px');

			  if (YAHOO.env.ua.ie > 0) {
				DOM.setStyle(id, 'left', offset[0] -2 + 'px');
				DOM.setStyle(id, 'top', offset[1] - menuHeight - 1 + 'px');
			  }

		  }

		  YAHOO.util.Event.preventDefault(event);
		},

		closeUserInfo : function(id){
			DOM.setStyle('user_info_popup_panel', 'display', 'none');
		},

		showDelete: function(event){
			var infos = DOM.getElementsByClassName('deletecomment');
			for (var i = 0; i < infos.length; i++)
			{
				infos[i].style.display = 'block';
			}
		}
	};
} ();

// this is for the user dropdown
YAHOO.util.Short(function(){
	var DOM = YAHOO.util.Dom;
	var EVENT = YAHOO.util.Event;
	var allDropBox = DOM.getElementsByClassName('dropBox');
	var allUser = DOM.getElementsByClassName('user_info');
	var allDropDown = DOM.getElementsByClassName('user_info_popup');
	var $ = function(str) { return document.getElementById(str);}
	var firebug = function(str) { try { console.log(str);}	catch (e){} };


	EVENT.addListener(allDropBox, 'mouseover', function(e) {
		EVENT.stopEvent(e);
		//DOM.removeClass( allDropBox, 'down');
		DOM.removeClass( allDropBox, 'trig');
		if ($('user_info_set').value != DOM.getElementsByClassName( 'user_info' , 'a', this)[0].getAttribute('name')){
			gapv.closeUserInfo();
		}
		DOM.addClass(this,"trig");
	});


	EVENT.addListener(allUser, 'mouseover', function(e) {
		EVENT.stopEvent(e);
		DOM.addClass( allDropBox, 'down');
		gapv.showUserInfo(e, this.getAttribute('name'), DOM.getAncestorByClassName(this, 'dropBox'));
	});

	EVENT.addListener(allDropDown, 'mouseover', function(e) {
		EVENT.stopEvent(e);
	});

	EVENT.addListener(document, 'mouseover', function(e) {
		gapv.closeUserInfo();
		DOM.removeClass(allDropBox, 'down');
		DOM.removeClass(allDropBox ,"trig");
	});
});

// end anonymous function scope
})();

var gapv = YAHOO.gaia.app.profiles.view;

