﻿var Awoo = new Object();
var emailRE = new RegExp("^[\\w-_\\.]+@([a-z|0-9|-]+\\.)+[a-z]{2,5}$");
var userNameRE = new RegExp("^[\u0391-\uFFE5a-zA-Z0-9_]*$");

Awoo.EventMonitor = function(){
	this.listeners = new Object();
}
Awoo.EventMonitor.prototype.broadcast=function(widgetObj, msg, data){
	var lst = this.listeners[msg];
	if(lst != null){
		for(var o in lst){
			lst[o](widgetObj, data);
		}
	}
}
Awoo.EventMonitor.prototype.subscribe=function(msg, callback){
	var lst = this.listeners[msg];
	if (lst) {
		lst.push(callback);
	} else {
		this.listeners[msg] = [callback];
	}
}
Awoo.EventMonitor.prototype.unsubscribe=function(msg, callback){
	var lst = this.listener[msg];
	if (lst != null){
		lst = lst.filter(function(ele, index, arr){return ele!=callback;});
	}
}


var event_monitor = new Awoo.EventMonitor();

function load_event_monitor(root) {
    var re = /a_(\w+)/;
    var fns = {};
    $(".j", root).each(function(i) {
        var m = re.exec(this.className);
        if (m) {
            var f = fns[m[1]];
            if (!f) {
                f = eval("Awoo.init_"+m[1]);
                fns[m[1]] = f;
            }
            f && f(this);
        }

		if(/input_keywords/.exec(this.className)){
			Awoo.init_input_keywords(this);
		}
    });
}


$(function() {
	load_event_monitor(document);
});


var show_dialog = function(div) {
    if($('#dialog').length) return;
    $('body').prepend('<div id="overlay"></div><div id="dialog"></div>');
    if(div != null){
        $('#dialog').html(div);
    }else{
        $('#dialog').html("<div class='loadpop'>正在载入，请稍候...</div>");
    }
    set_overlay();
}

var set_overlay = function(){
	var oheight = ($.browser.msie?11:26),
			dialog=$('#dialog')[0],
			w=dialog.offsetWidth,
			left=(document.body.offsetWidth-w)/2+'px';
	if(!$.browser.msie){
		$('#overlay').css({height:dialog.offsetHeight+oheight,width:w+26,left:left});
		var top = (window.innerHeight-$('#overlay')[0].offsetHeight)/2;
		$('#overlay, #dialog').css({top:top, left:left});
	}else{
		$('#overlay').css({height:dialog.offsetHeight+oheight,width:w+26});
		var top = document.documentElement.scrollTop + (document.documentElement.clientHeight-$('#overlay')[0].offsetHeight)/2;
		$('#overlay, #dialog').css({top:top, left:left, position:'absolute'});
		$('iframe').remove();
		$('<iframe scrolling="no"></iframe>').addClass('bgi').css({padding:'0px',left:left,top:top,'height':$('#dialog')[0].offsetHeight, 'margin':$('#dialog').css('margin'), 'width':$('#dialog').css('width')}).insertAfter($('#dialog'));
	}
}

var close_dialog = function() {
    $('#overlay').unbind('click');
    $('#dialog,#overlay,.bgi').remove();
    if (typeof document.body.style.maxHeight == "undefined") {//if IE6
        $('body','html').css({height: '100%', width: 'auto'});
        $('html').css('overflow', 'auto');
    }
    document.onkeydown = '';
    return false;
}
var refine_dialog = function(){
    set_overlay();
	//load_event_monitor($('#dialog'));
}


var get_form_fields = function(form) {
	var param = {};
	$(':input', form).each(function(i){
		var name = this.name;
		if (this.type == 'radio') {
			if (this.checked) param[name] = this.value;
        } else if (this.type == 'checkbox') {
			if (this.checked) {
				if(param[name]){
					var t = param[name];
					t.push(this.value);
				}else{
					param[name] = [this.value];
				}
			}
		} else if (this.type == 'submit'){
			if (/selected/.test(this.className)) param[name] = this.value;
		} else {
			if (name) param[name] = this.value;
		}


		if(/notnull/.exec(this.className) && $.trim($(this).val()) == ''){
			alert(this.title+"不能为空");
			param['err'] = 'notnull';
		}

		if(/email/.exec(this.className) && !emailRE.test($(this).val())){
			alert("邮箱格式填写不正确");
			param['err'] = 'email';
		}

		if(/userName/.exec(this.className) && !userNameRE.test($(this).val())){
			alert("填写" + this.title + "请勿使用中文，数字，字母或下划线以外的字符");
			param['err'] = 'userName';
		}

		var t = /min_([0-9]+)/.exec(this.className);
		if(t){
			var minLen = (t[1].split("_"))[0];
			if($.trim(this.value).length < minLen){
				alert(this.title+"不能少于" + minLen + "个字符");
				param['err'] = 'lengthInvalid';
			}
		}

		t = /len_([0-9]+)/.exec(this.className);
		if(t){
			var maxLen = (t[1].split("_"))[0];
			if($.trim(this.value).length > maxLen){
				alert(this.title+"不能超过个" + maxLen + "字符");
				param['err'] = 'lengthInvalid';
			}
		}
		
	});

	return param;
}

var get_param=function(o){
	var re = /p_(\w+)/;
	if(!re.test(o.className)){
		return null;
	}
	var t = re.exec(o.className);
	return t[1].split('_');
}


var remote_submit_json = function(form, func, disable) {
    var fvalue = get_form_fields(form);
    if(fvalue['err'] == undefined){
        if(disable != false){
            $(':submit',form).attr('disabled', 1);
            $('textarea',form).attr('disabled', 1);
        }

        $.post(form.action, fvalue, function(ret){
            var json = eval('('+ret+')'); func(json);
        });
    }
}

var enable_form=function(form){
	$(":disabled", form).each(function(i){
		$(this).attr('disabled',0);
	})
}

var max_width_img=function(maxWidth){
	$("img").each(function(i){
		if(this.width > maxWidth){
			$(this).attr("width", maxWidth);
		}
	})
}


var closeTips=function(tipsId){
	$.getJSON(cgi.wwwURL+"/tips/closeTips.html?id=" + tipsId + "&callBack=?", function(data){;});
}

Awoo.init_valid_form=function(form){

	var getWords=function(input){
		if ($(input).val()!=''){
			return $(input).val().length;
		}else{
			return "0";
		}
	}

	var calWords=function(){
		var words = getWords(this);
		var maxLen = $(this).nextAll("span:eq(0)").children("span:eq(1)").text();
		if(words > maxLen){
			 $(this).val($(this).val().substring(0,maxLen));
			 words = maxLen;
		}

		$(this).nextAll("span:eq(0)").children("span:eq(0)").html(words);
	};
	

	$(':input', form).each(function(i){
		var t = /len_([0-9]+)/.exec(this.className);
		if(t){
			$(this).next('.words_info').remove();
				
			var maxLen = (t[1].split("_"))[0];
			$(this).after(" <span class='words_info'><span>" + getWords(this) + "</span><b>/</b><span>"+maxLen+"</span></span>");
			$(this).keyup(calWords).blur(calWords).change(calWords).focus(calWords).click(calWords);
		}

		var h = /dv_(\w+)/.exec(this.className);
		if(h){
			var v = h[1].split('_');
			if(this.type=='radio' || this.type=='checkbox'){
				var objName=$(this).attr("name");
				$('input[name="'+ objName +'"]').val(v);
			}else{
				$(this).val(v);
			}
		}
	});




	$(form).submit(function(){
		  $('.a_input_keywords', form).each(function(){
			if($(this).attr('title') == $(this).attr('value')){
				 $(this).attr('value','');
			}
		  })
		
		var fvalue = get_form_fields(form);

		if(fvalue['err'] != undefined){
			return false;
		}
	})
}

Awoo.init_ajax_form=function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();
	$(form).submit(function(){
		var fvalue = get_form_fields(form);
		if(fvalue['err'] != undefined){
			return false;
		}
		
		remote_submit_json(this, function(data){
			if(data.result && data.result==1){
				$('.result').empty().append($(form).attr('success')).show();
				enable_form(form);
			}
		});

		return false;
	})
}

Awoo.init_common_del=function(link){
	$(link).click(function(){
		if(!confirm("真的要删除?")){
			return false;
		}

		var url =  $(link).attr("href") + "&"+Math.random();
		$.getJSON(url, {}, function(json){
			if(json.result==1){
				$(link).parents(".d_block").remove();
			}else{
				alert("哎呀，操作失败了，请稍后再试");
			}
		})

			return false;
	})
}


Awoo.init_toggle_link=function(link){
	$(link).click(function(){
		
		var url =  $(link).attr("href") + "&"+Math.random();
		var toggleText =  $(link).attr("toggleText");

		$.getJSON(url, {}, function(json){
			if(json.result==1){
				$(link).attr("toggleText", $(link).html());
				$(link).html(toggleText);

			}else{
				alert("哎呀，操作失败了，请稍后再试");
			}
		})

		return false;
			
	});
}


Awoo.init_input_keywords=function(o){

	if($(o).val() == $(o).attr('title')){
		$(o).css("color", "#999");
	}
	


	if($(o).val()=='' && $(o).attr('type') != 'password'){
		$(o).val($(o).attr("title"));
	}

	$(o).blur(function(){
		if(this.value=='' && $(o).attr('type') != 'password'){
			this.value=this.title;
			this.style.color='#999';

			if(/eText/.exec(this.className)){
				var eBox = $(o).parents('.eBox');
				$('.eButton', eBox).slideUp("fast");
			}
		}
	});

	$(o).focus(function(){
		if(this.value==this.title){
			this.value='';
			this.style.color='#333';
			if(/password/.exec(this.className)){
				var cls = this.className;
				var name = $(this).attr('name');
				var id = $(this).attr('id');
				var title = $(this).attr('title');
				var p = '<input type="password" title="' + title + '" id="' + id + '" name="' + name + '" class="' + cls + '"/>';
				$(this).after(p).remove();
				$(':password').removeClass('password').focus();
				load_event_monitor(document);
			}
		}

		
		if(/eText/.exec(this.className)){
			var eBox = $(o).parents('.eBox');
			$('.eButton', eBox).slideDown("fast");
		}
	});
}


Awoo.init_cancel_link=function(o){
	$(o).click(function(){
		$(o).parents(".h_block:first").hide();
		return false;
	})
}

Awoo.init_disp_link=function(o){
	$(o).click(function(){
		$(o).nextAll(".h_block:first").show();
		$(o).blur();
		return false;
	})
}


Awoo.init_cmt_form = function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();

	$(form).submit(function(){
		remote_submit_json(this, function(data){
			if(data.result && data.result==1){
				event_monitor.broadcast(this, "cmtNeedRefresh", 1);
				$("receiverId", form).val('');
				$("textarea", form).val('');
				$("remind.receivedUserId", form).val('');
				enable_form(form);
			}
		});
		return false;
	})
}


Awoo.init_cmt_area=function(o){
	$(o).parent().before('<a name="commentAreaStart"></a>');

	var m = get_param(o);
	var counter = m[0];
	var lordId = m[1];
	var objId = m[2];
	var userId = m[3]
	var isAdmin = m[4]

	var dispComments=function(json){
		if(!json.comments){
			return false;
		}
		
		//留言内容
		$(o).empty();
		for(var i in json.comments){
			var comment = json.comments[i];
			var t = $(o).append(template.comment).find("table:last");
			//头像
			$("td:first",t).append("<img src=" + comment.commenter.icon + " class='logo48'>");

			//留言内容，名字，日期
			$("td:eq(1)",t).append("<span class='rightBlock date'>"+comment.postTime+"</span>").append("<span style='float:left;font-weight:bold;'>"+comment.commenter.name+"</span>");
			if(comment.anonymous==0){
				$("img",t).wrap("<a href='"+ cgi.homeURL + "/" + comment.commenter.id + "/'></a>");
				$("td:eq(1)",t).children("span:eq(1)").wrapInner("<a href='"+ cgi.homeURL + "/" + comment.commenter.id + "/' class='commonLink'></a>");
			}
			$("td:eq(1)",t).wrapInner("<div style='padding-bottom:5px;' class='clearfix'></div>");
			
			$("td:eq(1)",t).append(comment.body);

			//回复，删除，小纸条
			if(userId!=0 && comment.commenter.id!=userId && comment.anonymous==0){
				$("td:last",t).append("<a href='#nogo' class='j a_cmt_rpl commonLink' style='padding-top:2px;' commenterId=" + comment.commenter.id + " commenterName=" + comment.commenter.name + ">回复</a>");

				var superAction = $("td:last",t).append(template.superAction).children("div:first");
				$("ul", superAction).append('<li><a class="commonLink" href="' + cgi.wwwURL + '/msg/compose.html?msgIn.receiverName=' + comment.commenter.name + '">传小纸条</a></li>');
				if(lordId==userId || isAdmin==1){
					$("ul", superAction).append("<li><a href='#nogo' class='j a_cmt_del commonLink p_" + lordId + "_" + comment.id + "' style='padding-top:2px;' >删除</a></li>");
				}

			}else if(comment.commenter.id==userId || lordId==userId || isAdmin==1){
				$("td:last",t).append("<a href='#nogo' class='j a_cmt_del commonLink p_" + lordId + "_" + comment.id + "' style='padding-top:2px;' >删除</a>");
			}
		}

		//翻页
		var pageCtrl = json.pageCtrl;

		if(pageCtrl.pageSize && pageCtrl.pageSize > 1){

			var pDiv = $(o).append('<div class="pagination clearfix"></div>').children("div:last");
			var min = pageCtrl.curPageNum-6;
			var min= min < 1? 1: min;
			var max = pageCtrl.curPageNum-0+6;
			var max= max > pageCtrl.pageSize?pageCtrl.pageSize:max;

			if(pageCtrl.curPageNum != 1){
				var prev = pageCtrl.curPageNum-1
				$(pDiv).append('<a href="#commentAreaStart" class="j a_cmt_page p_' + prev + '" >< 上一页</a>');
			}

			for(var i=min; i <=max; i++){
				if(i==pageCtrl.curPageNum){
					$(pDiv).append('<span class="current">' + i + '</span>');
				}else{
					$(pDiv).append('<a href="#commentAreaStart" class="j a_cmt_page p_' + i + '" title="跳到第' + i + '页">' + i + '</a>');
				}
			}

			if(pageCtrl.curPageNum != pageCtrl.pageSize){
				var next = pageCtrl.curPageNum-0+1
				$(pDiv).append('<a href="#commentAreaStart" class="j a_cmt_page p_' + next + '" >下一页 ></a>');
			}

			$(pDiv).clone().prependTo(o);

		}

		load_event_monitor(o);
	};

	var refreshComments=function(pageIndex){
		var loading = document.createElement("img");
		$(loading).attr("src", cgi.pageURL+"/images/commons/loading.gif");
		$(o).append(loading);

		var url = $(o).attr('link') +"?"+Math.random();

		$.getJSON(url, {lordId:lordId, objId:objId, p: pageIndex}, dispComments);
	};




	if(counter > 0){
		refreshComments(1);
	}

	event_monitor.subscribe("cmtNeedRefresh", function(caller, data){
		$(o).empty();
		refreshComments(data);
	})

	
}



Awoo.init_cmt_rpl=function(link){
	$(link).click(function(){
		var form = $(link).parents("div:first").prevAll("form:first");

		var textArea = $("textarea", form);
		$(textArea).focus();
		$(textArea).val("回复"+$(link).attr('commenterName')+"：");
		$("receiverId", form).val($(link).attr('commenterId'));
		$("remind.receivedUserId", form).val($(link).attr('commenterId'));
	})
}


Awoo.init_cmt_del=function(link){

	var m = get_param(link);
	var lordId=m[0];
	var id=m[1];

	$(link).click(function(){
		if(!confirm("真的要删除?")){
			return;
		}

		var url = $(link).parents('.a_cmt_area:first').attr('delLink');
		$.getJSON(url, {id:id}, function(json){
			if(json.result==1){
				$(link).parents("table:first").remove();
			}
		})
	})
}

Awoo.init_super_actions=function(o){
	var left = $("a",o).offset().left-45;
	$("div",o).css("left", left);

	$(o).hover(function(){
		$("div",o).show();
	},
		function(){
		$("div",o).hide();
	}
	);
}


Awoo.init_cmt_page=function(link){
	var m = get_param(link);
	var p = m[0];

	$(link).click(function(){
		event_monitor.broadcast(this, "cmtNeedRefresh", p);
	})
}

Awoo.init_cmt_rfh=function(link){
	$(link).click(function(){
		event_monitor.broadcast(this, "cmtNeedRefresh", 1);
		return false;
	})
}

Awoo.init_comment_rpl=function(link){
	$(link).click(function(){
		var form = $(link).parents(".comments").next("div > form");

		var textArea = $("textarea", form);
		
		$(textArea).focus();
		$(textArea).val("回复"+$(link).attr('commenterName')+"：");
		$("#receiverId", form).val($(link).attr('commenterId'));

		return false;
	})
}

Awoo.init_confirm_link=function(o){
	$(o).click(function(){
			var text = o.title || $(o).text();
			return confirm("真的要"+text+"?");
		});
}

Awoo.init_multi_select=function(o){
	var m = get_param(o);
	$(o).val(m);
}


Awoo.init_newalbum_dialog=function(link){

	$(link).click(function(){

		//alert("scrollTop:"+document.documentElement.scrollTop+",scrollHeight:"+document.documentElement.scrollHeight+", clientHeight:"+document.documentElement.clientHeight+", offsetHeight:"+document.documentElement.offsetHeight+", offsetTop:"+document.documentElement.offsetTop+", innerHeight:"+window.innerHeight+",clientHeight:"+document.body.clientHeight);

		show_dialog(null);

		$('#dialog').html(template.albumForm);
		refine_dialog();
		
		$.getJSON(cgi.dogURL+"/myDogs.html?callBack=?", function(data){
			
			$.each(data.result, function(i, item){
				//alert(item.name);
				$("#dialog select").append("<option value=" + item.id + ">" + item.name + "</option>");
			});
			
			//alert($("#dialog  select").html());

			refine_dialog();
		});

		load_event_monitor($('#dialog'));


		return false;
	});
	
}

Awoo.init_album_create_form=function(form){

	Awoo.init_valid_form(form);
	$(form).unbind();
	$(form).submit(function(){
		var fvalue = get_form_fields(form);

		if(fvalue['err'] != undefined){
			return false;
		}

		//alert($("form[name='photoUploadForm']").html());

		remote_submit_json(this, function(data){
			if(data){
				var sel = $("form[name='photoUploadForm']").find("select:first");
				$(sel).append("<option value=" + data.id + ">" + data.name + "</option>");

				$('#dialog').html("<div class='loadpop'>相册创建成功</div>");
				refine_dialog();

				$('#dialog, #overlay, .bgi').fadeOut('slow', close_dialog);

				var v = $("option:last", sel).val();
				$(sel).val(v);
			}
		});
		return false;
	})
}

Awoo.init_pnp_edit=function(o){
	$(o).attr("title","点击编辑内容");

	$(o).mouseover(function(){
		$(o).addClass('pnpEdit');
	});

	$(o).mouseout(function(){
		$(o).removeClass('pnpEdit');
	});
}

Awoo.init_photoname_edit=function(o){
	Awoo.init_pnp_edit(o);

	$(o).click(function(){
		var p = $(o).parents(".photoName");
		var t = $("span",o).text();
		var m = get_param(o);
		var id = m[0];

		$("div").data("photoName",$(p).html());
		$(o).after(template.photoNameForm).remove();
		$("textarea",p).val(t);
		$("#id",p).val(id);
		load_event_monitor($(p));
		return false;
	})

}

Awoo.init_photoname_canceledit=function(o){
	$(o).click(function(){
		var p = $(o).parents(".photoName");
		$(p).html($("div").data("photoName"));
		$("div").removeData("photoName")
		$("div:first",p).removeClass('pnpEdit');
		load_event_monitor($(p));
		return false;
	})
}


Awoo.init_photoname_upd=function(form){

	Awoo.init_valid_form(form);
	$(form).unbind();

	$(form).submit(function(){
		var fvalue = get_form_fields(form);

		if(fvalue['err'] != undefined){
			return false;
		}

		remote_submit_json(this, function(data){
			var p = $(form).parents(".photoName");

			if(data.result && data.result==1){
				var t = $("textarea",p).val();
				$(p).html($("div").data("photoName"));
				$("span",p).html(t);
				$("i",p).remove();
				if($.trim(t)==""){
					$("div",p).append("<i>点击添加描述</i>");
				}
			}else{
				alert("哎呀，更新失败了，请稍后再试");
				$(p).html($("div").data("photoName"));
			}

			$("div:first",p).removeClass('pnpEdit');
			$("div").removeData("photoName");
			load_event_monitor($(p));
		})

		return false;
	})
}

Awoo.init_cover_upd=function(o){
	var m = get_param(o);
	var photoId = m[0];

	$(o).click(function(){
		var url = $(o).attr("href");

		$.getJSON(url, {photoId:photoId}, function(json){
			if(json.result==1){
				$(o).after("这是相册封面").remove();
			}else{
				alert("哎呀，操作失败了，请稍后再试");
			}
		})

		return false;
	})
}

Awoo.init_share_link=function(o){
	var m = get_param(o);
	var objId = m[0];

	$(o).click(function(){
		show_dialog(null);
		$('#dialog').html(template.shareForm);
		if($(o).attr("img")){
			$('#dialog').find(".imgCell").css("height", "100px");
			$('#dialog').find(".imgCell").append("<img src='" + $(o).attr("img") + "'>");
		}
		$('#dialog').find("form").attr("action", $(o).attr("href"));
		$('#dialog').find('#shareThingObjId').val(objId);
		$('#dialog').find("b").append($(o).attr("title"));
		refine_dialog();
		
		load_event_monitor($('#dialog'));

		return false;
	});
}

Awoo.init_share_form=function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();

	$(form).submit(function(){
		var fvalue = get_form_fields(form);
		if(fvalue['err'] != undefined){
			return false;
		}

		remote_submit_json(this, function(data){
			if(data && data.result && data.result==1){
				$('#dialog').html("<div class='loadpop'>分享成功</div>");
				refine_dialog();
			}else{
				alert("啊呀，分享失败了，请稍后再试");
			}

			$('#dialog, #overlay, .bgi').fadeOut('slow', close_dialog);
		});
		return false;
	})
}

Awoo.init_msn_form=function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();

	$(form).submit(function(){
		var fvalue = get_form_fields(form);

		if(fvalue['err'] != undefined){
			return false;
		}

		$(form).hide();
		$('#msnFriends .subMenu').empty();
		$('#msnFriends').append('<div class="title"><img src="' + cgi.pageURL + '/images/commons/loading.gif"> 正在加载你的联系人列表</div>'); 

		remote_submit_json(this, function(json){
			if(json.result){
				enable_form(form);
				$('#msnFriends .title').remove();
				if('invited'==$(form).attr('name')){
					postUrl = cgi.wwwURL+'/invited/';
				}else if('msn'==$(form).attr('name')){
					postUrl = cgi.friendURL+'/msn/'
				}
				var submitAction="";
				var submitTxt="";
				var submitTitle="";
				if(json.result==1){
					alert("非法的参数");
				}else if(json.result==2){
					alert("帐号或者密码不能为空");
				}else if(json.result==3){
					alert("帐号格式不正确");
				}else if(json.result==4){
					alert("没有取得你的好友，可能是msn密码或者帐号不正确");
				}else if(json.result == 10){
					alert("系统出现了不可预知的错误，请你重新邀请！");
				}else if(json.result ==5){
					submitTitle="你的msn好友都没有在啊呜注册，可以邀请他们";
					submitAction = postUrl+"invitedMsnFriend.html";
					submitTxt = "邀请他们";
				}else if(json.result == 6){
					submitTitle='你的msn联系人，已经有'+json.num+'个在啊呜注册，你可以加他们为好友';
					submitAction = postUrl+"addFriends.html";
					submitTxt = "加他们为好友";
				}else if(json.result == 7){
					submitTitle='你的msn好友，还有'+json.num+'个没有在啊呜注册，你可以邀请他们';
					submitAction = postUrl+"invitedMsnFriend.html";
					submitTxt = "邀请他们";
				}

				if(json.result <=5 || json.result==10){
					$('#msnForm').show();
				}else{
					$('#msnFriends .subMenu').empty().append(submitTitle).show();
					$('#msnFriends').append(template.friendInviteForm);
					if(json.result == 6){
						$('#msnResultForm').attr('class','j a_add_friends');
					}else if(json.result == 5 || json.result == 7){
						$('#msnResultForm').attr('class', 'j a_invited_form');
					}

					for(var i=0;i<json.num;i++){
						var t;
						var x="";
						var inputName='';
						var msnListName= '';
						if(json.result==6){
							t = json.msnList[i].userId;
							inputName= 'ids';
							msnListName='<a href="'+cgi.homeURL+'/'+json.msnList[i].userId+'/" target="_blank">'+json.msnList[i].name+'</a>';
						}else{
							t = json.msnList[i].email;
							x = '&lt;'+t+'&gt;';
							inputName= 'emails';
							msnListName=json.msnList[i].name 
						}

						$('#msnResultForm table').append('<tr><td><span style="float:right; padding-left:20px;">' + x + '</span><input name="'+inputName+'" type="checkbox" value="'+t+'" checked/>' + msnListName + '</td></tr>');
					}

					$('#msnResultForm td').addClass('wrap');
					$('#msnResultForm tr:even td').css({"background":"#f0f0f6"});
					$('#msnResultForm').attr("action" , submitAction);
					$('#msnResultForm :submit').val(submitTxt);

					if($('#msnResultForm table').height() < 380){
						$('#msnResultForm table').append('<tr><td></td></tr>');
						$('#msnResultForm td:last').append($('#msnResultForm .submitLine').clone());
						$('#msnResultForm .submitLine:last').remove();
					}

					load_event_monitor($('#msnResultForm').parent());
				}

			}
		});
		return false;
	})

}

Awoo.init_invited_form=function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();
	$(form).submit(function(){
		var fvalue = get_form_fields(form);
		if(fvalue['err'] != undefined){
			return false;
		}
		$('#msnFriends').append('<div class="title"><img src="' + cgi.pageURL + '/images/commons/loading.gif">正在邀请好友</div>'); 
		remote_submit_json(this, function(json){
			$('#msnFriends .subMenu').empty();
			if(json.result==1){
				$('#msnFriends .result').remove();
				var str = '成功邀请'+json.invitedNum+'个好友注册啊呜';
				$('#msnFriends .subMenu').after('<div class="result">' + str + '</div>');
				$('#msnResultForm').parent().remove();
			}else{
				var str = '邀请失败，请重新邀请';
				$('#msnFriends .subMenu').after('<div class="result">' + str + '</div>');
				
			}
		});
		return false;
	})
}

Awoo.init_add_friends=function(form){
	
	Awoo.init_valid_form(form);
	$(form).unbind();
	$(form).submit(function(){
		var fvalue = get_form_fields(form);
		if(fvalue['err'] != undefined){
			return false;
		}
		remote_submit_json(this, function(json){
			if('invited'==$(form).attr('name')){
				postUrl = cgi.wwwURL+'/invited/';
			}else if('msn'==$(form).attr('name')){
				postUrl = cgi.friendURL+'/msn/'
			}

			$('#msnFriends .subMenu').empty();
			if(json.result==1){
				var str = '成功的与'+json.friendsNum+'个啊呜会员成为好友';
				$('#msnFriends .subMenu').before('<div class="result">' + str + '</div>');
				submitTitle='你的msn好友，还有'+json.num+'个没有在啊呜注册，你可以邀请他们';
				$('#msnFriends .subMenu').empty().append(submitTitle).show();
				$('#msnResultForm').parent().remove();
				$('#msnFriends').append(template.friendInviteForm);
				$('#msnResultForm').attr('class', 'j a_invited_form');
				submitAction = postUrl+"invitedMsnFriend.html";
				submitTxt = "邀请他们";
				for(var i=0;i<json.num;i++){
					$('#msnResultForm table').append('<tr><td><span style="float:right; padding-left:20px;">&lt;' + json.otherInvitedList[i].email + '&gt;</span><input name="emails" type="checkbox" value="'+ json.otherInvitedList[i].email+'" checked/>' + json.otherInvitedList[i].name + '</td></tr>');
				}

				$('#msnResultForm td').addClass('wrap');
				$('#msnResultForm tr:even td').css({"background":"#f0f0f6"});
				$('#msnResultForm').attr("action" , submitAction);
				$('#msnResultForm :submit').val(submitTxt);

				if($('#msnResultForm table').height() < 380){
					$('#msnResultForm table').append('<tr><td></td></tr>');
					$('#msnResultForm td:last').append($('#msnResultForm .submitLine').clone());
					$('#msnResultForm .submitLine:last').remove();
				}

				load_event_monitor($('#msnResultForm').parent());

				
			}else{
				var str = '加好友失败，请重新加好友';
				$('#msnFriends .subMenu').after('<div class="result">' + str + '</div>');
				
			}
		});
		return false;
	})
}

Awoo.init_check_msnfriends=function(check){
	$(check).click(function(){
		if(check.checked){
			$('#msnResultForm :checkbox').each(function(i){
				$(this).attr("checked","checked");
			});
		}else{
			$('#msnResultForm :checkbox').each(function(i){
				$(this).attr("checked","");
			})
		}
	})
}


Awoo.init_create_dog=function(form){
	var thisYear=$('#thisYear').attr("value")
	for(var i=thisYear; i >= thisYear-25; i--){
		$('#year').append('<option value="' + i + '">' + i + '</option>');
	}
	if($('#dogBreedId').val()==1){
		$('#dogBreedId').attr("readonly","");
	}
	setTimeout(function(){
		Awoo.init_valid_form(form);
		$(form).unbind();

		$(form).submit(function(){
			var fvalue = get_form_fields(form);
			if(fvalue['err'] != undefined){
				return false;
			}

			$('#dogBirthday').val($('#year').val()+'-'+$('#month').val()+'-'+$('#day').val());


			if($('#dogBreedId').val()=="" || ($('#dogBreedId') == "1" && ($('#dogBreedName') == "" || $('#dogBreedName') == "请输入犬种名"))){
				alert("请选择合适的犬种");
				return false;
			}
		});
	
	},1);
	$('input[name="dog.sex"]').each(function(i){
		$(this).click(function(){
			if($(this).val()==0){
				$('.breedableState').empty().append('可否借配：');
			}else{
				$('.breedableState').empty().append('是否繁殖：');
			}
		})
	})
		
}


Awoo.init_get_breed=function(link){
	$(link).click(function(){
		var m = get_param(link);
		var id = m[0];


		if(id == 1){
			$('#dogBreedName').val("请输入犬种名");
			$('#dogBreedName').attr("readonly","");
		}else{
			$('#dogBreedName').val($(link).html());
			$('#dogBreedName').attr("readonly","true");
		}

		$('#dogBreedId').val(id);
		close_dialog();

		return false;
	})
}


Awoo.init_breed_selector=function(o){

	var breedStr=function(breedArray){
		var s = "";

		for(var i=0; i < breedArray.length; i++){
			breed = breedArray[i];
			s += '<a href="#" class="j a_get_breed p_' + breed.id + '">' + breed.name + '</a> <span>|</span> ';
		}

		return s;
	}
	

	$(o).click(function(){
		var s = "";

		s += "<div style='border-bottom:1px dashed #cccccc;'><strong>大型犬：</strong>";
		s += breedStr(_breedList.big.frequently);
		s += "<div style=\"text-align:center;margin-top:5px;\"><a href='#' onclick=\"$('#more_1').toggle();refine_dialog(); return false;\" style=\"background:#6aa5c3;color:white;\">更多大型犬...</a></div><br><div class='more' id='more_1'>";
		s += breedStr(_breedList.big.noFrequently);
		s += "</div></div>"

		s += "<br><div style='border-bottom:1px dashed #cccccc;'><strong>中型犬：</strong>";
		s += breedStr(_breedList.mid.frequently);
		s += "<div style=\"text-align:center;margin-top:5px;\"><a href='#' onclick=\"$('#more_2').toggle(); refine_dialog();return false;\" style=\"background:#6aa5c3;color:white;\">更多中型犬...</a></div><br><div class='more' id='more_2'>";
		s += breedStr(_breedList.mid.noFrequently);
		s += "</div></div>"

		s += "<div style='border-bottom:1px dashed #cccccc;'><strong>小型犬：</strong>";
		s += breedStr(_breedList.small.frequently);
		s += "<br><div style=\"text-align:center;margin-top:5px;\"><a href='#' onclick=\"$('#more_3').toggle(); refine_dialog();return false;\" style=\"background:#6aa5c3;color:white;\">更多小型犬...</a></div><br><div class='more' id='more_3'>";
		s += breedStr(_breedList.small.noFrequently);
		s += "</div></div>"

		s += '<br><a href="#" class="j a_get_breed p_2" >串串</a> ';
		s += '<a href="#" class="j a_get_breed p_1" >其他犬种</a> ';

		s += '<div class="submitLine"><a href="#" onclick="close_dialog(); return false;">关闭窗口</a></div>'

		show_dialog(null);
		$('#dialog').html(s).wrapInner('<div class="breedSelector"></div>');
		refine_dialog();
		load_event_monitor($('#dialog'));
	})
}


Awoo.init_mydog=function(o){
	$.getJSON(cgi.dogURL+"/myDogs.html?callBack=?", function(data){
			
		var s="checked='checked'";
		if(data.result.length > 2){
			s="";
		}

		$.each(data.result, function(i, item){
			
			$(o).append("<span><input name='dogIdList' type='checkbox' " + s + " value=" + item.id + ">" + item.name + "　</span>");
		});


		if(data.result.length < 1){
			$(o).append('无　<a href="' + cgi.dogURL + '/dogCreateForm.html" style="line-height:23px;">新增狗狗</a>');
		}
	});
}

Awoo.init_myalbum=function(o){
	$.getJSON(cgi.photoURL+"/myAlbums.html?callBack=?", function(data){
		$.each(data.result, function(i, item){
			$(o).append("<option value=" + item.id + ">" + item.name + "　</option>");
		});

	});
}

Awoo.init_home_domain_name = function(o){
	$(o).blur(function(){
		if($.trim($('#userDomainName').val())!=""){
			var pattern = /^[A-Za-z_]{1,10}$/;
			if(!pattern.exec($('#userDomainName').val())){
				$('#domainNameError').show();
				return false;
			}
			var url = cgi.homeURL+"/isValidDomainName.html?domainName="+$.trim($('#userDomainName').val())+"&i="+Math.random();
			$.getJSON(url,function(json){
				if(json.result != "1"){
					$('#domainNameError').show();
				}else{
					$('#domainNameError').hide();
				}
			});
		}
	});
}

Awoo.init_set_theme = function(o){
	if($(o).attr("title") == $('#themeSelected').attr("value")){
		$(o).after("<span style='font-weight:bold;'>您正在使用此风格</span>").hide();
	}
	$(o).click(function(){
		var url = $(o).attr('href')+"&"+Math.random();
		$.getJSON(url, function(json){
			if(json.result == "1"){
				var oldTheme = $('#themeSelected').attr("value");
				$(o).after("<span style='font-weight:bold;'>您正在使用此风格</span>").hide();
				var t = $('#setTheme_'+$('#themeSelected').attr("value"));
				$('a', t).show();
				$('span', t).remove();
				$('#themeSelected').attr("value",$(o).attr("title"));
			}
		});	
		return false;
	});
}

Awoo.init_create_status = function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();
	$(form).submit(function(){
		 $('.a_input_keywords', form).each(function(){
			if($(this).attr('title') == $(this).attr('value')){
				 $(this).attr('value','');
			}
		  })

		var fvalue = get_form_fields(form);
		if(fvalue['err'] != undefined){
			return false;
		}
		var a = $('#myStatus').val();
		if(a.length>140){
			alert('长度过长，删掉点吧');
			$('#myStatus').focus();
			return false;
		}

		$('.statusLine div').html('正在更新，请稍后<img src="' + cgi.picURL + '/images/commons/upload_progress.gif">');

		remote_submit_json(this, function(json){
			if(json.result==1){
				$('#statusContent').hide();
				if($('#myStatus').val()==''){
					t = '';
					$('#statusDate').hide();
				}else{
					t = $('#myStatus').val();
				}

				$('.statusLine div').html('');
				if(t != ''){
					$('.statusLine div').append('<span id="statusBody" class="wrap">' + t + '</span>　');
					$('.statusLine div').append('<span id="statusDate">刚刚更新</span> ');
					$('.statusLine div').append('<a href="/status/allStatus.html">更多</a>');
				}
				
				$('.eText', form).val('');
				$('.eText', form).blur();
				enable_form(form);
			}else{
				alert("改变状态失败");
				$('#myStatus').focus();
			}
		});
		return false;
	});
}

Awoo.init_reply_status = function(o){
	$(o).click(function(){
		var t = /statusid_([0-9]+)/.exec(this.className);
		var id = (t[1].split("_"))[0];
		if($('#cancelReplyStatus'+id).attr('id')==undefined){
			var a = '<input type="button" id="cancelReplyStatus'+id+'" class="j a_cancel_reply_status cancel_status_id_'+id+' grayButton" value="取消"></div></div></form>'
			$('#replyStatus'+id).html(template.replyStatus+'　'+a);
			load_event_monitor($('#replyStatus'+id).parents('.a_reply_status_form:first').parent());
		}
		$('#replyStatus'+id).slideDown("fast");
		
		return false;
	});
}

Awoo.init_cancel_reply_status = function(o){
	$(o).click(function(){
		var t = /cancel_status_id_([0-9]+)/.exec(this.className);
		var id = (t[1].split("_"))[0];
		$('#replyStatus'+id).slideUp("fast");
		return false;
	});
}

Awoo.init_reply_status_form = function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();
	$(form).submit(function(){
		var fvalue = get_form_fields(form);
		if(fvalue['err'] != undefined){
			return false;
		}
		remote_submit_json(this, function(json){
			if(json.result==1){
				$('#replyStatus'+json.objId).empty();
			}else{
				alert("回复失败");
				$('#myStatus').focus();
			}
		});
		return false;
	});
}

Awoo.init_change_value = function(o){
	$(o).focus(function(){
		changeValue(o);
	});
	$(o).blur(function(){
		changeValue(o);
	});
}

var changeValue = function(o){
	if($(o).attr("value")==$(o).attr('title')){
		$(o).val('');
	}else if($(o).attr("value")==''){
		$(o).val($(o).attr('title'));
	}
}

Awoo.init_create_status_link = function(o){
	$(o).click(function(){
		var a = $('#myStatus').val();
		if(a.length>140){
			alert('长度过长，删掉点吧');
			$('#myStatus').focus();
			return false;
		}
		var url = cgi.wwwURL+'/status/createUserStatus.html?i='+Math.random();
		$.getJSON(url,{"body":$('#myStatus').val()}, function(json){
			if(json.result==1){
				$('#statusContent').hide();
				if(''==$('#myStatus').val()){
					t='你可以更新你的状态，让你的朋友们知道你正在做什么。。。';
					$('#statusDate').hide();
				}else{
					t=$('#myStatus').val();
				}
				$('#statusBody').html(t);
				$('#statusDate').html(json.shortDate);
			}else{
				alert("改变状态失败");
				$('#myStatus').focus();
			}
		});
		return false;
	});
}

Awoo.init_update_status = function(o){
	$(o).click(function(){
		if($('#statusBody').html().indexOf('你可以更新你的状态，让你的朋友们知道你正在做什么。。')!=-1){
			t = '请输入你的状态。。。';
		}else{
			t = $.trim($('#statusBody').html());
		}
		$('#statusBody').html('<textarea id="myStatus" style="width:300px;height:30px;">'+t+'</textarea><div id="statusButton" style="width:100px;padding-left:220px;"><a href="#" class="j a_create_status_link">确定</a>　<a href="#" onClick="cancel_status_body()">取消</a></div>');
		$('#myStatus').focus();
		load_event_monitor($('#statusButton'));
	});
}

var cancel_status_body = function(){
	if($("#myStatus").val().indexOf('请输入你的状态。。。')!=-1){
		t = '你可以更新你的状态，让你的朋友们知道你正在做什么。。。'
	}else{
		t = $("#myStatus").val();
	}
	$("#statusBody").html(t);
}

Awoo.init_delete_status = function(o){
	$(o).click(function(){
		var t = /id_([0-9]+)/.exec(this.className);
		var id = (t[1].split("_"))[0];
		var url = cgi.wwwURL+'/status/deleteStatus.html?id='+id;
		$.getJSON(url, function(json){
			if(json.result==1){
				$('#userStatus_'+id).hide();
			}else if(json.result==0){
				alert('删除完所有回复后，才可以删除状态');
			}else{
				alert('删除失败，请重新删除');
			}
		});
		return false;
	});
}

Awoo.init_delete_remind = function(o){
	$(o).click(function(){
		var t = /remind_id_([0-9]+)/.exec(this.className);
		var id = (t[1].split("_"))[0];
		var url = cgi.wwwURL+"/remind/deleteRemindAjax.html?id="+id+"&r=" + Math.random();
		$.getJSON(url, function(json){
			if(json.result==0){
				alert('删除失败！');
			}else{
				$('#remind'+id).remove();
			}
		});
		return false;
	});
}

Awoo.init_publisher_link=function(link){
	$(link).click(function(){
		var li = $(link).parents("li:first");
		var t = li.attr("id").split('_')[1];
		var container = "#container_"+t;
		var publisher = "#publisher_"+t;
		$('.publishConainter').each(function(i){
			var tt = $(this).attr("id").split('_')[1];
			if(t != tt){
				$('.a_publisher_cancel', this).click();
			}
		})
		if(t=='blog'){
			if($('.a_mydog', container).attr('id')==undefined){
				$('.mydog', container).addClass('j').addClass('a_mydog');
				load_event_monitor($('.mydog').parent());
			}
		}
		if(t=='album'){
			if($('.a_myalbum', container).attr('id')==undefined){
				$('.myalbum', container).addClass('j').addClass('a_myalbum').addClass('notnull');
				load_event_monitor($('.myalbum').parent());
			}
		}
		$(container).slideDown("fast");
		$(publisher).addClass('selected');
		$(this).blur();

		return false;
	})
}

Awoo.init_publisher_cancel=function(o){
	$(o).click(function(){
		var container = $(o).parents(".publishConainter:first");
		var t = container.attr("id").split('_')[1];
		var publisher = "#publisher_"+t;
		$(container).slideUp("fast");
		$(publisher).removeClass('selected');
	})
}

Awoo.init_share_url = function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();
	$(form).submit(function(){
		if($('#urlStr').val().match('.awoo.cn')){
			alert("请输入一个站外的链接");
			return false;
		}
		if($('#urlStr').val().substr(0,7)!="http://"&&$('#urlStr').val().substr(0,6)!="ftp://"){
			$('#urlStr').val('http\://'+$('#urlStr').val());
		}
		remote_submit_json(this, function(json){
			$('#container_share').hide();
			$("#publisher_share").removeClass('selected');
			enable_form(form);
			if(json.result==1){
				alert("分享成功");
			}else if(json.result==0){
				alert("分享失败");
			}
		});
		return false;
	})
}



Awoo.init_pnp_text=function(o){
	$(o).attr("title","点击编辑内容");

	$(o).mouseover(function(){
		$(o).addClass('pnpEdit');
	});

	$(o).mouseout(function(){
		$(o).removeClass('pnpEdit');
	});


	$(o).click(function(){
		$(o).hide();
		$(o).nextAll('.a_pnp_link:first').hide();
		var form = $(o).nextAll('.a_pnp_form:first');
		$(form).show();
		$('.textContainer:first', form).val($.trim($(o).text())).focus();
		
		return false;
	});

	$(o).nextAll('.a_pnp_form:first').children('.pnpCancel:first').click(function(){
		$(o).nextAll('.a_pnp_form:first').hide();
		$(o).show();
		$(o).nextAll('.a_pnp_link:first').show();
	})

}

Awoo.init_pnp_link=function(link){
	$(link).click(function(){
		$(link).prev('.a_pnp_text').click();
		return false;
	})
}

Awoo.init_pnp_form=function(form){
	Awoo.init_valid_form(form);
	$(form).unbind();

	$(form).submit(function(){
		var fvalue = get_form_fields(form);
		if(fvalue['err'] != undefined){
			return false;
		}

		remote_submit_json(this, function(data){
			var o = $(form).prevAll('.a_pnp_text:first');
			var link = $(form).prevAll('.a_pnp_link:first');

			if(data.result && data.result==1){
				$(form).hide();
				enable_form(form);
				
				$(o).html($('.textContainer',form).val());
				$(o).show();
				$(link).show();
			}else{
				alert("哎呀，操作失败了，请稍后再试");
				$(o).show();
				$(link).show();
			}

		})

		
		return false;
	})
}


Awoo.init_add_dogFriend=function(link){
	var m = get_param(link);
	var lordId = m[0];
	var dogId = m[1];

	$(link).click(function(){
		show_dialog(null);
		$('#dialog').html(template.dogFriendForm);
		refine_dialog();

		var url = cgi.dogURL + "/myDogsAndLordDogs.html?id=" + lordId + "&"+Math.random();
		$.getJSON(url, function(json){
			if(json.result==0){
				alert('无法取得狗狗列表');
			}else{
				var myDogList = json.myDogList;
				var lordDogList = json.lordDogList;

				if(myDogList.length == 0){
					$('.myDogs').html('你还没有狗狗');
					refine_dialog();
					return;
				}

				for(i=0; i < myDogList.length; i++){
					var s = '';
					s += "<div style='padding:5px; align:left'>";
					s += '<INPUT TYPE="checkbox" NAME="myDogIdList" id="myDogIdList" value="' + myDogList[i].id + '" checked="checked" style="margin-right:5px;">' + myDogList[i].name;
					s +="</div>";

					$('.myDogs').append(s);
				}

				for(i=0; i < lordDogList.length; i++){
					var s = '';
					s += "<div style='padding:5px; align:left'>";
					s += '<INPUT TYPE="checkbox" NAME="lordDogIdList" id="lordDogIdList" value="' + lordDogList[i].id + '" checked="checked" style="float:left;">';
					s += '<img src="' + lordDogList[i].img + '" class="logo48" style="margin:0px 5px;">'
					s += lordDogList[i].name;
					s +="</div>";

					if(lordDogList[i].id == dogId){
						$('.lordDogs').prepend(s);
					}else{
						$('.lordDogs').append(s);
					}
				}

				$('.a_dogFriend_form').append('<input type="hidden" name="id" value="' + lordId + '">');
				refine_dialog();
			}
		});
		
		load_event_monitor($('#dialog'));

		return false;
	});
}

Awoo.init_dogFriend_form=function(form){
	$(form).submit(function(){
		remote_submit_json(this, function(data){
			if(data && data.result && data.result==1){
				$('#dialog').html("<div class='loadpop'>邀请已发送成功</div>");
				refine_dialog();
			}else{
				alert("啊呀，邀请失败了，请稍后再试");
			}

			$('#dialog, #overlay, .bgi').fadeOut('slow', close_dialog);
		})

		
		return false;
	})
}

Awoo.init_delete_favourite = function(o){
	$(o).click(function(){
		if(confirm("确定要删除这个收藏吗？")){
			var a = $(o).parent().attr('id');
			var url = cgi.wwwURL+"/share/deleteMyFavourite.html?share.id="+a;
			$.getJSON(url, function(json){
				if(json.result==0){
					alert("出现了点错误，请重新删除");
				}else if(json.result==2){
					alert("请不要删除别人的收藏");
				}else{
					alert("删除成功");
					$('#share_'+a).hide();
				}
			});
		}
		return false;
	});
}


Awoo.init_delete_share = function(o){
	$(o).click(function(){
		if(confirm("确定要删除这个分享吗？")){
			var a = $(o).parent().attr('id');
			var url = cgi.wwwURL+"/share/deleteShareAjax.html?share.id="+a;
			$.getJSON(url, function(json){
				if(json.result==0){
					alert("出现了点错误，请重新删除");
				}else if(json.result==1){
					alert("删除成功");
					$('#share_'+a).hide();
				}else if(json.result==2){
					alert("请不要删除别人的分享");
				}else if(json.result==3){
					alert("删除分享前，请先删除所有的回复");
				}
			});
		}
		return false;
	});
}

Awoo.init_poke_dialog = function(o){
	$(o).click(function(){
		var a = $(o).parent().attr('id');
		var b = $(o).parent().attr('value');
		var c = $(o).parent().attr('class');
		
		var url = cgi.wwwURL+"/poke/pokeDialog.html?userId="+a+"&callBack=?";
		var name = '';
		var icon = '';
		$.getJSON(url, function(json){
				if(json.result==0){
					alert("非法的参数，请重新操作");
				}else if(json.result==2){
					alert("过会在打招呼吧！");
				}else{
					
					name = json.userName;
					icon = json.icon;
					if(json.friendType==0){
						var t = '<a href="#" onClick="selectPoke(0,'+json.friendType+')" style="color:red;">普通</a>　';
					}else{
						var t = '<a href="#" onClick="selectPoke(0,'+json.friendType+')" style="color:red;">普通</a>　<a href="#" onClick="selectPoke(1,'+json.friendType+')">恶搞</a>　<a href="#" onClick="selectPoke(2,'+json.friendType+')">美妙</a>　<a href="#" onClick="selectPoke(3,'+json.friendType+')">节日</a>　<a href="#" onClick="selectPoke(4,'+json.friendType+')">特别</a>　';
					}
					ps = '<form><div><div style="float:left;height:150px;"><img src="'+icon+'" /></div><div style="float:right;width:400px;"><span>'+name+'</span>下次登录后将会收到通知. <div id="pokeList"><table  width="100%"><tbody><tr><th colspan="3">'+t+'</th></tr>';
					for(var i=0;i<pokes[0].length;i++){
						if(i==0 || i%3==0){
							ps += '<tr>';
						}
						if(i==0){
							var a = '<input name="acttype"  value="0" checked="checked" type="radio" />';
						}else{
							a = '<input name="acttype" value="'+i+'" type="radio" />';
						}
						ps += '<td width="33%">'+a+'<img src="'+cgi.pageURL+'/images/poke/pokeact_'+i+'.gif" />'+pokes[0][i]+'</td>';
						if(i==pokes[0].length || i%3==2){
							ps += '</tr>';
						}
					}
					if(json.friendType==4){
						ps += '<tr><th colspan="3">或自定义动作</th></tr>';
						ps += '<tr><th colspan="3"><input type="radio" value="-1" name="acttype"/><img src="'+cgi.pageURL+'/images/poke/poke.gif"/><input type="text" id="headstr" name="left" class="text" style="width: 50px;margin-left: 20px;" maxLenght="10"/><span style="padding-left:10px;padding-right:10px;">他</span><input type="text" id="right" name="right" class="text" style="width:50px;" maxLenght="10"/></th></tr>';
					}
					ps += '</tbody></table></div></div><div class="clear"></div><div class="submitLine"><input type="button" value="确定" class="j a_'+b+' blueButton">　或　<a href="#" onclick="close_dialog();return false;">取消</a></div></div>';
					if(c==null){
						ps += '<input type="hidden" id="rPokeUId" value="'+json.userId+'" /></form>';
					}else{
						ps += '<input type="hidden" id="rPokeUId" value="'+json.userId+'" /><input type="hidden" id="pokeId" value="'+c+'"></form>';
					}
					show_dialog(ps);
					load_event_monitor($('#dialog'));
				}
		});

		return false;
	});
}


Awoo.init_poke = function(o){
	$(o).click(function(){
		var dialog = $('#dialog');
		var form = $('form', dialog);
		var param = get_form_fields(form);
		var type = param['acttype'];
		if(null!=param['left']&&$.trim(param['left']).length>0&&null!=param['right']&&$.trim(param['right']).length>0){
			type = -1;
		}
		if(type==-1){
			var url = cgi.wwwURL+'/poke/poke.html?poke.receivedUserId='+$('#rPokeUId').val()+'&poke.type='+type+"&left="+param['left']+"&right="+param['right']+"&callBack=?";
		}else{
			var url = cgi.wwwURL+'/poke/poke.html?poke.receivedUserId='+$('#rPokeUId').val()+'&poke.type='+type+"&callBack=?";
		}
		$.getJSON(url, function(json){
		
			if(json.result==1){
				$('#dialog').html("<div class='loadpop'>操作已成功</div>");
				refine_dialog();
			}else{
				$('#dialog').html("<div class='loadpop'>操作失败，请再来一遍</div>");
				refine_dialog();
			}
			$('#dialog, #overlay, .bgi').fadeOut('slow', close_dialog);
		});
		return false;
	});
}

Awoo.init_reply_poke = function(o){
	$(o).click(function(){
		var dialog = $('#dialog');
		var form = $('form', dialog);
		var param = get_form_fields(form);
		var id = $('#pokeId').val();
		if(param['acttype']==-1){
			var url = cgi.wwwURL+'/poke/replyPoke.html?pokeId='+id+'&poke.receivedUserId='+$('#rPokeUId').val()+'&poke.type='+param['acttype']+"&left="+param['left']+"&right="+param['right']+"&callBack=?";
		}else{
			var url = cgi.wwwURL+'/poke/replyPoke.html?pokeId='+id+'&poke.receivedUserId='+$('#rPokeUId').val()+'&poke.type='+param['acttype']+"&callBack=?";
		}
		$.getJSON(url, function(json){
			if(json.result==1){
				$('#poke_'+id).hide();
				$('#dialog').html("<div class='loadpop'>操作已成功</div>");
				refine_dialog();
			}else{
				$('#dialog').html("<div class='loadpop'>操作失败，请再来一遍</div>");
				refine_dialog();
			}
			$('#dialog, #overlay, .bgi').fadeOut('slow', close_dialog);
		});
		return false;
	});

}

var selectPoke = function(num,type){
		var b,c,d,e,f,g = '';
		if(num==0){
			var b='style="color:red;"';
		}else if(num==1){
			var c='style="color:red;"';
		}else if(num==2){
			var d='style="color:red;"';
		}else if(num==3){
			var e='style="color:red;"';
		}else if(num==4){
			var f='style="color:red;"';
		}else if(num==5){
			var g='style="color:red;"';
		}
		if(type==0){
			var t = '<a href="#">普通</a>　';
		}else{
			var t = '<a href="#" onClick="selectPoke(0,'+type+')" '+b+'>普通</a>　<a href="#" onClick="selectPoke(1,'+type+')" '+c+'>恶搞</a>　<a href="#" onClick="selectPoke(2,'+type+')" '+d+'>美妙</a>　<a href="#" onClick="selectPoke(3,'+type+')" '+e+'>节日</a>　<a href="#" onClick="selectPoke(4,'+type+')" '+f+'>特别</a>　';
		}
		var ps = '<table  width="100%"><tbody><tr><th colspan="3">'+t+'</th></tr>';
		if(num==0){
			for(var i=0;i<pokes[0].length;i++){
				if(i==0 || i%3==0){
					ps += '<tr>';
				}
				if(i==0){
					var a = '<input name="acttype"  value="0" checked="checked" type="radio" />';
				}else{
					a = '<input name="acttype" value="'+i+'" type="radio" />';
				}
				ps += '<td width="33%" style="height: 27px;">'+a+'<img src="'+cgi.pageURL+'/images/poke/pokeact_'+i+'.gif" />'+pokes[0][i]+'</td>';
				if(i==pokes[0].length || i%3==2){
					ps += '</tr>';
				}
			}
		}else if(num>0&&num!=5){
			for(var i=0;i<pokes[num].length;i++){
				if(i==0 || i%2==0){
					ps += '<tr>';
				}
				var j = num*10 + i;
				if(i==0){
					var a = '<input name="acttype"  value="'+j+'" checked="checked" type="radio" />';
				}else{
					a = '<input name="acttype" value="'+j+'" type="radio" />';
				}
				var h =i+1;
				ps += '<td width="50%" style="line-height:25px;">'+a+'<img src="'+cgi.pageURL+'/images/poke/icon_'+j+'.gif" />'+pokes[num][i]+'</td>';
				if(i==pokes[num].length || i%2==1){
					ps += '</tr>';
				}
			}
		}
		if(type==4){
			ps += '<tr><th colspan="3">或自定义动作</th></tr>';
			ps += '<tr><th colspan="3"><input type="radio" value="-1" name="acttype"/><img src="'+cgi.pageURL+'/images/poke/poke.gif"/><input type="text" id="headstr" name="left" class="text" style="width: 50px;margin-left: 20px;" maxLenght="10"/><span style="padding-left:10px;padding-right:10px;">他</span><input type="text" id="right" name="right" class="text" style="width:50px;" maxLenght="10"/></th></tr>';
		}
		ps += '</tbody></table>';
	$('#pokeList').html(ps);
	set_overlay();
}

Awoo.init_close_tips=function(link){
	var m = get_param(link);
	$(link).click(function(){
		Cookie.set('TIPS','closed', 0.5);
		$(link).parents(".tips-box:first").remove();
		
		if(null != m){
			closeTips(m[0]);
		}

		return false;
	})
}

Awoo.init_dog_flash=function(o){
	if($('o').css('display') == 'none'){
		return;
	}

	var theme = $('body').attr('theme');
	var flash='<embed plaginspage="http://www.macromedia.com/go/getflashplayer" class="dogFlash" quality="high" type="application/x-shockwave-flash" wmode="transparent" src="' + cgi.pageURL + '/images/dogs/theme/' + theme + '/top.swf"></embed>';
	//$(o).css('height',$(o).parent().css('height'));
	$(o).html(flash);
	//$('.dogFlash',o).css('height', $(o).css('height'));
}

Awoo.init_img_holder=function(o){
	var max = $(o).attr('max');

	$('img',o).css({'display':'none', 'max-width': max+'px'});


	$('img',o).load(function(){
		if($(this).attr('width') > max){
			$(this).removeAttr('style');
			$(this).removeAttr('height');

			$(this).attr("width", max);
		}

		
		
		$(this).show();
	})
}


Awoo.init_more_standard=function(link){

	$(link).click(function(){
		$('#info2').show();

		$(this).remove();

		return false;
	})
}


Awoo.init_register_form=function(form){
	
	Awoo.init_valid_form(form);

	$('#userNameId',form).focus(function(){
		$('.registerInfo').html('用户名由2~10个字符组成，(包括字母，数字，下划线，中文)，注册后不能修改');
	})

	$('#emailId',form).focus(function(){
		$('.registerInfo').html('电子邮箱是啊呜与您联系，以及您取回密码的唯一途径，请认真填写');
	})

	$('#passwordId',form).focus(function(){
		$('.registerInfo').html('密码有6~10个字符，建议由英文大小写、数字、特殊字符组成');
	})
}

Awoo.init_autoHide=function(o){
	var m = get_param(o);
	var time = m[0]*1000;

	$(o).fadeOut(time, function(){
		;
	})
}


var populate_tag_btns = function(title, div, tags, hash){
	if (tags.length) {
		var p = $('<p style="line-height:180%" class="pl">'+title+'<br/></p>');
		$.each(tags, function(i,tag) {
			var btn = $('<span class="tagbtn"/>').addClass(hash[tag.toLowerCase()]?'rdact':'gract').text(tag);
			p.append(btn).append(' &nbsp; ');
		});
		div.append(p);
	}
}

Awoo.init_favor_link=function(o){
	var m = get_param(o);
	var url = cgi.wwwURL+"/share/referTags_"+m[1]+".html?domainId="+m[0]+"&callBack=?"
	
	

	$(o).click(function(){
		show_dialog(null);

		if(m[2] == 0){
			$('#dialog').html('<div class="loadpop">使用收藏功能请先<a href="'+ cgi.wwwURL +'/user/login.html">登录</a> 　(<a href="'+ cgi.wwwURL +'/user/register.html">新用户点这里注册</a>)</div>');
			refine_dialog();
			return false;
		}

		$('#dialog').html("<div class='loadpop'>正在加载信息......</div>");
		refine_dialog();

		var html = $(template.favorForm);


		if($(o).attr("img")){
			$(html).find(".imgCell").css("height", "100px");
			$(html).find(".imgCell").append("<img src='" + $(o).attr("img") + "'>");
		}
		
		
		$(html).find("b").append($(o).attr("title"));



		$.getJSON(url, function(json){
			var myTags = json.myTags;
			var popularTags = json.popularTags;
			var tags = json.tags;
			var memo = json.memo;
			
			var content = tags.join(' ');
			if(content.length > 1){
				 $(html).find("input[@name=tags]").val(content + ' ');
			}
			 $(html).find("textarea").val(memo);
           
            var hash = {};
            $.each(tags, function(i,tag){hash[tag.toLowerCase()]=true;});
			populate_tag_btns('我的标签：', $(html).find('#myTags'), myTags, hash);
            populate_tag_btns('啊呜成员常用的标签：', $(html).find('#popularTags'), popularTags, hash);

			if($(html).find('#myTags').html()=='' && $(html).find('#popularTags').html()==''){
				$(html).find('#myTags').parents('td:first').remove();
				$(html).find('td').attr('width','100%');
				$(html).find('input[@name=tags]').css('width','500px');
				$(html).find('textarea[@name=memo]').css('width','500px');
			}


			$('#dialog').html(html);

			$('#dialog').find("form").attr("action", $(o).attr("href"));

			if(m.length > 2){
				$('#dialog').find("form").addClass('p_'+m[0]+'_'+m[1]+'_'+m[2]);
			}

			
		
			load_event_monitor($('#dialog'));

			refine_dialog();
		});


		return false;
	});
}



var updFavorRecord=function(domainId, objId, userId, form){
	var fr = $('.fr_'+domainId+'_'+objId);

	$('.favorMemo', fr).html($('textarea',form).val());

	var tags = $('#tags',form).val();
	var s='';
	if(tags.length > 0){
		var a = tags.split(' ');
		for(var i=0; i < a.length; i++){
			s += '<a href="' + cgi.wwwURL + '/share/myTag_' + userId + '/' + a[i] + '">'+ a[i] + '</a>　';
		}
	}

	$('.favorTags', fr).html(s);

	close_dialog();
}



Awoo.init_favor_form=function(form){
	var m = get_param(form);
	Awoo.init_valid_form(form);
	$(form).unbind();



	var btns = {}, selected = {};
	var select = function(tl) {
		if (btns[tl]) {
			selected[tl] = true;
			$.each(btns[tl], function(i, btn) {
				$(btn).removeClass('gract').addClass('rdact');
			});
		}
	}
	var deselect = function(tl) {
		if (btns[tl]) {
			delete selected[tl];
			$.each(btns[tl], function(i, btn) {
				$(btn).removeClass('rdact').addClass('gract');
			});
		}
	}
	var update = function() {
		var tags = $.trim(form.tags.value.toLowerCase()).split(' '), hash = {};
		$.each(tags, function(i, t){
			if (t != '') { select(t); hash[t] = true; }
		});
		for (t in selected) { if (!hash[t]) deselect(t) }
	};

	update();
	form.tags.focus();

	$('.tagbtn', form).each(function(i){
		var tl = $(this).text().toLowerCase();
		if (btns[tl]) btns[tl].push(this);
		else btns[tl] = [this];
		
	}).click(function(){
		var tag = $(this).text();
		var tags = $.trim(form.tags.value).split(' '), present=false, tl=tag.toLowerCase(), i;
		tags = $.grep(tags, function(t, i){
			if (t.toLowerCase() == tl) {
				deselect(tl); present=true; return false;
			} else return true;
		});
		if (!present) { tags.push(tag); select(tl); }
		var content = tags.join(' ');
		form.tags.value = (content.length > 1) ? content+' ' : content;
		form.tags.focus();
	});

	$(form.tags).keyup(update);





	$(form).submit(function(){
		 $('.a_input_keywords', form).each(function(){
			if($(this).attr('title') == $(this).attr('value')){
				 $(this).attr('value','');
			}
		  })

		var fvalue = get_form_fields(form);
		if(fvalue['err'] != undefined){
			return false;
		}

		$('#dialog').html("<div class='loadpop'>正在保存......</div>");
		refine_dialog();

		remote_submit_json(this, function(data){
			if(data && data.result && data.result==1){
				$('#dialog').html("<div class='loadpop'>收藏成功</div>");
				refine_dialog();
			}else{
				alert("啊呀，收藏失败了，请稍后再试");
			}

			if(m){
				$('#dialog, #overlay, .bgi').fadeOut('slow', updFavorRecord(m[0], m[1], m[2], form));
			}else{
				$('#dialog, #overlay, .bgi').fadeOut('slow', close_dialog);
			}
			
		});
		return false;
	})
}


Awoo.init_my_tags=function(o){
	var m = get_param(o);
	var url = cgi.wwwURL + "/share/myObjTags_" + m[1] +  ".html?domainId="+m[0]+"&"+Math.random();
	

	$.getJSON(url, function(json){
		var tags = json.tags;

		for(var i=0; i < tags.length; i++){
			var tag = tags[i];

			s += '<li>';
			s += '<a href=' + cgi.wwwURL + '/share/myTag_' + m[0] + '/' + tag.nameE + ' title="' + tag.name + '(' + tag.num + ')"><span class="m">' + tag.name + '<em>' + tag.num + '</em></span></a>';
			s += '</li>';
		}
		
		$('#ruser-tags').removeClass('off');
		$('#ruser-tags ul').html(s);
	});
}


Awoo.init_all_tags=function(o){
	var m = get_param(o);
	var url = cgi.wwwURL + "/share/allTags_"+m[0]+".html?"+Math.random();
	var s = "";

	$(o).click(function(){
		var tagStr = $('#ruser-tags ul').html();
		if(tagStr == ''){

			if(s == ''){
				$.getJSON(url, function(json){
					var tags = json.tags;

					for(var i=0; i < tags.length; i++){
						var tag = tags[i];

						s += '<li>';
						s += '<a href=' + cgi.wwwURL + '/share/myTag_' + m[0] + '/' + tag.nameE + ' title="' + tag.name + '(' + tag.num + ')"><span class="m">' + tag.name + '<em>' + tag.num + '</em></span></a>';
						s += '</li>';
					}
					
					$('#ruser-tags').removeClass('off');
					$('#ruser-tags ul').html(s);
				});
			}else{
				$('#ruser-tags').removeClass('off');
				$('#ruser-tags ul').html(s);
			}
		}else{
			$('#ruser-tags').addClass('off');
			$('#ruser-tags ul').html('');
		}
		

		return false;
	})
}

Awoo.init_top_tags=function(o){
	$(o).toggle(function(){
		$('#rtop-tags ul').toggle();
		$('#rtop-tags').addClass('off');
	},
	function(){
		$('#rtop-tags ul').toggle();
		$('#rtop-tags').removeClass('off');
	}
	
		)

}

function iecompattest(){
	return (document.compatMode && document.cmpatMode != "BackCompat") ? document.documentElement : document.body;	
}

function div_disabled_all(id){
	var _item = document.createElement("div");
    _item.className = "div_disabled_all";
	_item.id=id;
    _item.style.height = iecompattest().scrollHeight+200+ "px";
	document.body.appendChild(_item);
}

function div_enable_all(id){
	$('#'+id).remove();
}

function scrollHere(scroll_obj, page_obj) {
	if (!scroll_obj || !page_obj) {
		return;
	}
	var wh = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight;
	var dh = elementY(page_obj) + page_obj.offsetHeight;
	var ey = elementY(scroll_obj) - 100;
	var bh = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
	if (dh - ey < wh) {
		ey -= (wh + ey) - dh;
	}
	if (dh < wh + 100) {
		return;
	}
	var obj = {dy:ey, i:750, cy:0, bh:bh, st:(new Date()).getTime()};
	obj.h = setInterval(function () {
		var t = (new Date()).getTime();
		var s = null;
		if (t > obj.i + obj.st) {
			s = obj.dy;
			clearInterval(obj.h);
		} else {
			var p = (t - obj.st) / obj.i;
			s = (obj.dy - obj.bh) * (1 - Math.pow(1 - Math.sin(Math.PI / 2 * p), 2)) + obj.bh;
		}
		if ((obj.ls1 && obj.ls1 != document.documentElement.scrollTop) || (obj.ls2 && obj.ls2 != document.body.scrollTop)) {
			clearInterval(obj.h);
		} else {
			document.documentElement.scrollTop = document.body.scrollTop = s;  
			obj.ls1 = document.documentElement.scrollTop;
			obj.ls2 = document.body.scrollTop;
		}
	},25);
}

function elementY(obj){
	var top=obj.offsetTop;
	var op=obj.offsetParent;
	while(obj.parentNode&&document.body!=obj.parentNode){
		obj=obj.parentNode;
		top-=obj.scrollTop;
		if(op==obj){
				top+=obj.offsetTop;
			op=obj.offsetParent;
		}
	}
	return top;
}

var template={
	comment:'<TABLE style="margin:0px; padding:0px; margin-bottom:5px;" class="commentTable"><TR><TD width="70" align="center;"></TD><TD valign="top"></TD><TD style="width:48px;" valign="top"></TD></TR></TABLE>'
	,
	superAction:'<div class="j a_super_actions"><a href="#nogo" class="arrow">&nbsp;</a><div class="super-menu"><ul class="menu-item"></ul></div></div>'
	,
	albumForm:'<form action="/albumCreate.html" class="j a_album_create_form"><div><b>创建相册：</b></div><TABLE><TR>	<TD width="100" class="prompt">相册名：</TD>	<TD><INPUT title="相册名" size="30" TYPE="text" NAME="album.name" class="j len_20 notnull"></TD></TR><TR>	<TD class="prompt">相册描述：</TD>	<TD><textarea  NAME="album.description" cols="40" rows="3" class="len_128"></textarea></TD></TR><TR>	<TD class="prompt">关联狗狗：</TD>	<TD><SELECT NAME="album.dog.id"><option>不关联</option></SELECT></TD></TR></TABLE><div class="submitLine"><input type="submit" class="blueButton" value="确定创建">　或　<a href="" onclick="close_dialog();return false;">关闭窗口</a></div></form>'
	,
	photoNameForm:'<div><form action="/photoNameUpd.html" class="j a_photoname_upd"><input type="hidden" name="photo.id" id="id"><textarea name="photo.name" style="width:450px; height:40px;" class="len_200"></textarea><div class="submitLine"><input type="submit" value="确定保存" class="blueButton">　或　<a href="" class="j a_photoname_canceledit">取消</a></div></form></div>'
	,
	shareForm:'<form action="" class="j a_share_form" ><div><b></b><table width="100%"><tr><td width="17%"></td><td width="83%" align="left" class="imgCell"></td></tr><tr><td valign="top" class="prompt">顺便说两句：<br>(可不填)</td><td><textarea name="brief" id="brief" class="shareComments len_140"></textarea><div><input type="checkbox" value="0" checked name="shareType"/>分享给所有人　<input type="checkbox" value="1"  name="shareType"/>自己收藏</div><div class="submitLine"><input id="digButton" value="确 定" type="submit" class="blueButton"/>　或　<a href="#" onclick="close_dialog();return false;">关闭窗口</a></div></td></tr></table></div><input type="hidden" name="share.thing.objId" id="shareThingObjId"></form>'
	,
	favorForm:'<form action="" class="j a_favor_form" ><div><table width="100%"><tr><td width="55%"><b></b><br><br>标签(多个标签用空格分隔)<br><input name="tags" id="tags" class="tagField" maxlength="1000"><br><br><textarea name="memo" id="memo" class="favorComments j a_input_keywords len_200" title="简短附注"></textarea><br><br><INPUT TYPE="checkbox" NAME="private">不产生新鲜事</td><td valign="top"><div id="myTags"></div><div id="popularTags"></div></td></tr><tr><td colspan="2"><div class="submitLine"><input id="digButton" value="确 定" type="submit" class="blueButton"/>　或　<a href="#" onclick="close_dialog();return false;">关闭窗口</a></div></td></tr></table></div></form>'
	,
	friendInviteForm:'<div><form id="msnResultForm" ><div class="friends"><TABLE><TR><TD width="100%"><INPUT TYPE="checkbox" checked="checked" class="j a_check_msnfriends">选择全部</TD></TR></TABLE></div><div class="submitLine"><input type="submit" class="blueButton"></div></form></div>'
	,
	replyStatus:'<div style="background:#ECEFF5;width:400;height:50;"><textarea name="comment.body" style="height:32px;width:330px;margin-left:10px;margin-top:10px;" class="len_200"/></textarea><div style="width: 200px; padding-left: 200px;"><input type="submit" value="回复" class="blueButton" />'
	,
	dogFriendForm:'<form action="/addDogFriends.html" class="j a_dogFriend_form" ><div><b></b><table width="100%"><tr><td width="50%" align="left">你的狗狗：</td><td width="50%" align="left">希望和以下狗狗成为小伙伴：</td></tr><tr><td width="50%" align="left" class="myDogs" valign="top"></td><td width="50%" align="left" class="lordDogs" valign="top"></td></tr></table><table width="100%"><tr><td width="17%"></td><td width="83%" align="left" class="imgCell"></td></tr><tr><td valign="top" class="prompt">顺便说两句：<br>(可不填)</td><td><textarea name="brief" id="brief" class="shareComments len_140"></textarea><div class="submitLine"><input id="digButton" value="发送邀请" type="submit" class="blueButton"/>　或　<a href="#" onclick="close_dialog();return false;">关闭窗口</a></div></td></tr></table></div></form>'
};
