// JavaScript Document

try{
	if(window.fbJavascriptLibrariesHaveLoaded)
	{
		Util.error('You have double-included base.js and possibly other Javascript files; '+'it may be in a package. This will cause you great unhappiness. Each '+'file should be included at most once.');
	}
    window.fbJavascriptLibrariesHaveLoaded=true;
}
catch(ignored){}

//s
function ge(id){
if(typeof(id)=='undefined'){Util.error('Tried to get an undefined element!');return null;}
var obj;
if(typeof(id)=='string')
{
	obj=document.getElementById(id);
	if(!(ua.ie()>=7)){return obj;}
    if(!obj){return null;}
	else if(typeof(obj.id)=='string'&&obj.id==id){return obj;}
	else
	{
		var candidates=document.getElementsByName(id);
	     if(!candidates||!candidates.length){return null;}
         var maybe=[];
		 for(var ii=0;ii<candidates.length;ii++)
		 {
			 var c=candidates[ii];
			 if(!c.id&&id){continue;}
			 if(typeof(c.id)=='string'&&c.id!=id){continue;}
             maybe.push(candidates[ii]);
		  }
        if(maybe.length!=1){Util.error('ge() failed in a bizarre complicated edge case. Check comments.');return null;}
        return maybe[0];
     }
}
else{return id;}
return null;
}
//e


//s
function hide(){
	for(var i=0;i<arguments.length;i++){
		var element=ge(arguments[i]);
		if(element&&element.style)element.style.display='none';
		}
    return false;
}
//e



//s
function addEventBase(obj,type,fn,name_hash){
	if(obj.addEventListener)obj.addEventListener(type,fn,false);
	else if(obj.attachEvent){
		obj["e"+type+fn+name_hash]=fn;
		obj[type+fn+name_hash]=function(){obj["e"+type+fn+name_hash](window.event);}
        obj.attachEvent("on"+type,obj[type+fn+name_hash]);
	}
}
//e

//s
function removeEventBase(obj,type,fn,name_hash){
	if(obj.removeEventListener)obj.removeEventListener(type,fn,false);
	else if(obj.detachEvent){
		obj.detachEvent("on"+type,obj[type+fn+name_hash]);
		obj[type+fn+name_hash]=null;
		obj["e"+type+fn+name_hash]=null;
	}
}
//e

//s
function optional_menu(arrow,link,menu,event,arrow_class,arrow_old_class,on_click_callback,off_click_callback){
	if(menu.style.display=='none'){
		menu.style.display='block';
		var old_arrow_classname=arrow_old_class?arrow_old_class:arrow.className;
		if(link){
			link.className='navMenu_Active';
			}
        arrow.className=arrow_class?arrow_class:'Amenu_arrow_active';
		var justChanged=true;
		var shim=ge(menu.id+'_iframe');
		if(shim){
			shim.style.top=menu.style.top;shim.style.right=menu.style.right;
			shim.style.display='block';
			shim.style.width=(menu.offsetWidth)+'px';
			shim.style.height=(menu.offsetHeight)+'px';
			}
        menu.offclick=function(e){
			if(!justChanged){
				hide(this);
				if(link){
					link.className='';
					}
                arrow.className=old_arrow_classname;
				var shim=ge(menu.id+'_iframe');
				if(shim){
					shim.style.display='none';
					shim.style.width=menu.offsetWidth+'px';
					shim.style.height=menu.offsetHeight+'px';
					}
                if(off_click_callback){off_click_callback(e);}
                removeEventBase(document,'click',this.offclick,menu.id);
			}else{
				justChanged=false;
				}
		}.bind(menu);
		if(on_click_callback){on_click_callback();}
		addEventBase(document,'click',menu.offclick,menu.id);
	}
    return false;
}
//e

var ua={ie:function(){return this._ie;},firefox:function(){return this._firefox;},opera:function(){return this._opera;},safari:function(){return this._safari;},windows:function(){return this._windows;},osx:function(){return this._osx;},populate:function(){var agent=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso).(\d+\.\d+))|(?:Opera.(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(navigator.userAgent);var os=/(Mac OS X;)|(Windows;)/.exec(navigator.userAgent);if(agent){ua._ie=agent[1]?parseFloat(agent[1]):NaN;ua._firefox=agent[2]?parseFloat(agent[2]):NaN;ua._opera=agent[3]?parseFloat(agent[3]):NaN;ua._safari=agent[4]?parseFloat(agent[4]):NaN;}else{ua._ie=ua._firefox=ua._opera=ua._safari=NaN;}
if(os){ua._osx=!!os[1];ua._windows=!!os[2];}else{ua._osx=ua._windows=false;}},adjustBehaviors:function(){onloadRegister(addSafariLabelSupport);if(ua.ie()<7){try{document.execCommand('BackgroundImageCache',false,true);}catch(ignored){}}}};

var Try={
	these:function(){
		var len=arguments.length;
		var res;
		for(var ii=0;ii<len;ii++){
			try{
				res=arguments[ii]();
				return res;
				}
			catch(anIgnoredException){}
		}
        return res;
	}
};


var Util={isDevelopmentEnvironment:function(){return env_get('dev');},warn:function(){Util.log(sprintf.apply(null,arguments),'warn');},error:function(){Util.log(sprintf.apply(null,arguments),'error');},log:function(msg,type){if(Util.isDevelopmentEnvironment()){var written=false;if(typeof(window['TabConsole'])!='undefined'){var con=TabConsole.getInstance();if(con){con.log(msg,type);written=true;}}if(typeof(console)!="undefined"&&console.error){console.error(msg);written=true;}if(!written&&type!='deprecated'){aiert(msg);}}else{if(type=='error'){msg+='\n\n'+Util.stack();(typeof(window['debug_rlog'])=='function')&&debug_rlog(msg);}}},deprecated:function(what){if(!Util._deprecatedThings[what]){Util._deprecatedThings[what]=true;var msg=sprintf('Deprecated: %q is deprecated.\n\n%s',what,Util.whyIsThisDeprecated(what));Util.log(msg,'deprecated');}},stack:function(){try{try{({}).llama();}catch(e){if(e.stack){var stack=[];var trace=[];var regex=/^([^@]+)@(.+)$/mg;var line=regex.exec(e.stack);do{stack.push([line[1],line[2]]);}while(line=regex.exec());for(var i=0;i<stack.length;i++){trace.push('#'+i+' '+stack[i][0]+' @ '+(stack[i+1]?stack[i+1][1]:'?'));}return trace.join('\n');}else{var trace=[];var pos=arguments.callee;var stale=[];while(pos){for(var i=0;i<stale.length;i++){if(stale[i]==pos){trace.push('#'+trace.length+' ** recursion ** @ ?');return trace.join('\n');}}stale.push(pos);var args=[];for(var i=0;i<pos.arguments.length;i++){if(pos.arguments[i]instanceof Function){var func=/function ?([^(]*)/.exec(pos.arguments[i].toString()).pop();args.push(func?func:'anonymous');}else if(pos.arguments[i]instanceof Array){args.push('Array');}else if(pos.arguments[i]instanceof Object){args.push('Object');}else if(typeof pos.arguments[i]=='string'){args.push('"'+pos.arguments[i].replace(/("|\\)/g,'\\$1')+'"');}else{args.push(pos.arguments[i]);}}trace.push('#'+trace.length+' '+/function?([^(]*)/.exec(pos).pop()+'('+args.join(', ')+') @ ?');if(trace.length>100)break;pos=pos.caller;}return trace.join('\n');}}}catch(e){return'No stack trace available';}},whyIsThisDeprecated:function(what){return Util._deprecatedBecause[what.toLowerCase()]||'No additional information is available about this deprecation.';},_deprecatedBecause:{},_deprecatedThings:{}};

function bind(obj,method){var args=[];for(var ii=2;ii<arguments.length;ii++){args.push(arguments[ii]);}
return function(){var _obj=obj||this;var _args=args.slice();for(var jj=0;jj<arguments.length;jj++){_args.push(arguments[jj]);}
if(typeof(method)=="string"){if(_obj[method]){return _obj[method].apply(_obj,_args);}}else{return method.apply(_obj,_args);}}}
Function.prototype.bind=function(context){var argv=[arguments[0],this]
var argc=arguments.length;for(var ii=1;ii<argc;ii++){argv.push(arguments[ii]);}
return bind.apply(null,argv);}


function deletePhotoTag(phid, tagid,albumId) {
	var location = "/Album/?page=actionPage&parm=action=deletePhotoTag(@)photoTag.phid=" + phid + "(@)photoTag.tagId=" + tagid+"(@)alid="+albumId;
	window.location.href = location;
}

function tagFriend() {
	
	var position = $('#tagRect').position();
  	var width = $('#tagRect').width();  	
  	var height = $('#tagRect').height();
  	
	$('#left').val(position.left);
	$('#top').val(position.top);
	$('#width').val(width);
	$('#height').val(height);
	
	return true;
}

function tagFriendOnEditPhotoPage() {
	return true;
}

function addComment() {
	if (!validateComment()) {
		return false;
	}
	else {
		document.CommentForm.submit();
	}
}

function validateComment() {
	if (Trim(document.CommentForm.comment.commentcontent.value) == "") {
		alert("评论不能为空!");
		return false;
	}
	else if (document.CommentForm.comment.commentcontent.value.length > 150) {
		alert("评论的内容不能超过150个字");
		return false;
	}
	return true;
}

function commentTextClear() {
	var leavewordtext = document.getElementById("comment.commentcontent").value;
	if (leavewordtext == "输入评论内容") {
		document.getElementById("comment.commentcontent").value = "";
		document.getElementById("comment.commentcontent").style.color = "#000";
	}
	else
	{
		document.getElementById("comment.commentcontent").style.color = "#000";
	}
	
}

function commentTextReset() {
	var leavewordtext = document.getElementById("comment.commentcontent").value;
	if (leavewordtext == "") {
		document.getElementById("comment.commentcontent").value = "输入评论内容";
		document.getElementById("comment.commentcontent").style.color = "#777";
	}
}

function Trim(ui){ 
	var notValid=/(^\s)|(\s$)/; 
	while(notValid.test(ui))
	{ 
		ui=ui.replace(notValid,"");
	} 
	return ui;
}

function deleteComment(coid) {
	var location = "/album-deleteComment/?coid=" + coid + "&redirect=" + encodeURIComponent(window.location.href);
	window.location.href = location;
}

function rebackComment(coid, reversionUserId) {
	$('#reversionUserId').val(reversionUserId);
	
	var commentobj = document.getElementById("comment.commentcontent");
	
	var rebackName = $('#' + coid + 'name').text();
	
	$('textarea[id=comment.commentcontent]').val('回复' +　rebackName + ': ');
	
	var pn = parseInt(commentobj.value.length);
	if (isNaN(pn))
		return;
	var rng = commentobj.createTextRange();
	rng.moveStart("character", pn);
	rng.collapse(true);
	rng.select();
	
	commentobj.focus();
	return;
}

