﻿function QuickMemberController()
{ 
var _unhoverHandler = null;var timerID = null;var obj;var auth;var subbed;this.Show = function ( objP, user, gender, authP, subbedP, offsetLeft, offsetTop, parentOffset)
{ 
if ( _unhoverHandler == null)
_unhoverHandler = Function.createDelegate(this, this.Hide);this.Cancel();obj = objP;auth = authP;subbed = subbedP;timerID = setTimeout( "document.qmc.ShowQuickMember('divQuickMember', '" + user + "'," + gender + "," + offsetLeft + "," + offsetTop + "," + parentOffset + ");", 2000);};this.Cancel = function ()
{ 
if ( timerID != null)
{ 
clearTimeout( timerID);timerID = null;}
};this.Hide = function () 
{ 
HideFrame( 'divQuickMember');};var User = null;this.ShowQuickMember = function( sDivName, user, male, OffsetLeft, OffsetTop, ControlOffset) 
{
if ( obj == null || obj.parentNode == null || obj.parentNode.nodeType != 1) return;SetupUI();var oCtrl = $get(sDivName);if ( oCtrl == null) return;ControlOffset = ControlOffset == undefined? 10000: ControlOffset;OffsetLeft = OffsetLeft == undefined? 0: OffsetLeft;OffsetTop = OffsetTop == undefined? 0: OffsetTop;var loc = GetLocation( obj);var objLeft = loc.x;var objTop = loc.y;var objHeight = obj.offsetHeight;var objWidth = obj.offsetWidth;oCtrl.style.left = (objLeft + OffsetLeft - 1) + 'px';oCtrl.style.top = (objTop + objHeight + 8 + OffsetTop) + 'px';oCtrl.style.zIndex = 100;var oArrow = $get('divQuickMemberArrow');oArrow.style.left = (objLeft + OffsetLeft + 8) + 'px';oArrow.style.top = (objTop + objHeight + 4 + OffsetTop) + 'px';if ( User != user)
{
User = user;var memberClass = '';if (male == '1')
{
oArrow.className = 'quickMemberArrowMale';memberClass = 'bgMale';} 
else
{
oArrow.className = 'quickMemberArrowFemale';memberClass = 'bgFemale';}
oCtrl.innerHTML = "<div class='quickMember'><div class='"+memberClass+"'><div style='width:16px;height:16px;' class='img'></div></div></div>";if ( user != null)
{
UserService1.GetUserInfo( user, this.OnComplete, this.OnTimeout, this.OnError, null, this);}
}
ShowDiv(sDivName);ShowDiv('divQuickMemberArrow');};var ui = false;function SetupUI()
{
if ( !ui)
{
var div = document.createElement('DIV');safeAppendChild( div);div.innerHTML = "<div id='divQuickMember' style='background-color: #AAA; position:absolute; left:0; top:0;'></div><div id='divQuickMemberArrow' style='position:absolute;left:0px;top:0px;'></div>"
ui = true;}
}
function HideFrame( sDivName ) 
{
deleteHoverBehavior();HideDiv(sDivName);HideDiv('divQuickMemberArrow');var oCtrl = $get('divQuickMember');oCtrl.innerHTML = '';oCtrl.style.left = '0px';oCtrl.style.top = '0px';var oArrow = $get('divQuickMemberArrow');oArrow.style.left = '-10px';oArrow.style.top = '-10px';User = null;obj = null;}
function setHTML( css, image, info)
{
var oCtrl = $get('divQuickMember');if ( oCtrl == null) return;oCtrl.innerHTML = String.format( "<div class='quickMember'><div class='{0}'><div><span>{1}</span>{2}</div></div></div>", css, image, info);createHoverBehavior( oCtrl);}
var _hoverBehavior = null;function createHoverBehavior( popupElement)
{
deleteHoverBehavior();_hoverBehavior = $create(AjaxControlToolkit.HoverBehavior, { "unhoverDelay":100, "hoverElement":popupElement }, null, null, popupElement);_hoverBehavior.add_unhover(_unhoverHandler);}
function deleteHoverBehavior()
{
if (_hoverBehavior) 
{
if ( _unhoverHandler) 
{
_hoverBehavior.remove_unhover( _unhoverHandler);}
_hoverBehavior.dispose();_hoverBehavior = null;} 
}
function userOnlineCss( userInfo)
{
var css = "MaleLink";if (userInfo.Male)
{
if (userInfo.Online)
css += " maleOn";else
css += " maleOff";}
else
{
css = "FemaleLink";if (userInfo.Online)
css += " femaleOn";else
css += " femaleOff";}
return css;}
this.OnComplete = function( result, response, userContext) 
{
var oCtrl = $get('divQuickMember');if ( oCtrl == null) return;if ( result)
{
var flag = '';if ( result.Flag)
flag = String.format(" <img src='{0}../countries/{1}' align='absmiddle' alt='{2}'> ", document.imageRoot, result.Flag, result.Country);var link = String.format("<a href='{0}' class='{1}'>{2}</a>", 
result.Page,
userOnlineCss( result),
result.Name);var image = "";if ( result.Image)
{
if ( result.Image.startsWith( '['))
{
image = String.format("<a href='{0}'><span class='img'>{1}</span></a>", result.Page, document.parserMan.ParseUBB(result.Image,false,true));}
else
{
image = String.format("<a href='{0}'><img src='{1}' border='0' class='img'></a>", result.Page, result.Image);}
}
var note = auth==1 ? String.format("<a class='button' href='javascript://' onclick='return gV(\"$find(\\u0027editPopupMan\\u0027)\",\"{0}\",[this, {1}, \"{2}\"]);'>Note</a>", subbed==1 ?"ShowSendNewNoteRR":"ShowSendNewNote",subbed,result.Name) : "";var info;if ( result.From)
{
info = String.format("<img src='{0}' alt='Close' style='float:right' onclick='document.qmc.Hide();'><b style='font-size=12px'>{1}</b><br />{2}{3}{4}{5}{6}{7}",
document.imageRoot+ "../icn_close_white.gif",
link,
result.Age > 0 ? "<b>Age:</b>" + result.Age + "<br />" : "", 
result.From != "-" ? "<b>From:</b>" + result.From + flag + "<br />" : "",
result.Music ? "<b>Music Tastes:</b> " + result.Music + "<br />" : "",
result.Seen ? "<b>Last Seen: </b>" + result.Seen : "",
note,
result.Message ? "<div style='filter:none;'><i>" + result.Message +"</i></div>" : "");}
else
{
var vlink = String.format(" <a href='{0}'>Lastest video</a>", result.LastVideo);info = String.format("<img src='{0}' alt='Close' style='float:right' onclick='document.qmc.Hide();'><b style='font-size=12px'>{1}</b><br />{2}{3}{4}{5}{6}",
document.imageRoot+ "../icn_close_white.gif",
link,
result.Age > 0 ? "<b>Age:</b>" + result.Age + "<br />" : "", 
result.Videos > 0 ? "<b>Videos:</b> " + result.Videos + vlink + "<br />" : "",
(result.Videos > 0 && result.HotTags) ? "<b>Hot Tags:</b> " + result.HotTags + "<br />" : "",
result.Seen ? "<b>Last Seen: </b>" + result.Seen : "",
note,
result.Message ? "<div style='filter:none;'><i>" + result.Message +"</i></div>" : "");}
setHTML( result.Male ? "bgMale" : "bgFemale", image, info);}
else
{
setHTML( 'bgMale', null, 'User not found.');}
};this.OnTimeout = function ( userContext) 
{
setHTML( 'bgMale', null, 'Time out');};this.OnError = function ( result, response, userContext) 
{
setHTML( 'bgMale', null, 'An error occurred.');};}
document.qmc = new QuickMemberController();
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();