

window.addEvent('domready', function(){
// 输入框鼠标行为样式控制
try{
	$$('input.text_name').addEvents({
		'mouseover': function(e){
			new Event(e).stop();
			this.addClass('text_hover');
		},
		'mouseout': function(e){
			new Event(e).stop();
			this.removeClass('text_hover');
		}
	});
} catch(ex) {}

// 返回顶部js支持
if ( $('totop') != null ) {
	$('totop').addEvent('click',function(e){
		new Event(e).stop();
		// new Fx.Scroll('totop').toTop.delay(2500, this);
		window.scrollTo(0,0);
	});
	
	window.addEvents({
		'load':function(e){
			winsize = window.getSize();
			if ( winsize.x > 1000 ) {
				$('totop').setStyle('right',winsize.x*48/100 - 480);
			}
			if ( navigator.userAgent.indexOf('MSIE')<0 ) {
				scroll = window.getScroll();
				if ( scroll.y * 3 > winsize.y ) {
					$('totop').setStyle('display','block');
				} else {
					// $('totop').morph('opacity','1', '0');
					$('totop').setStyle('display','none');
				}
			}
		},
		'resize':function(e) {
			winsize = window.getSize();
			if ( winsize.x > 1000 ) {
				$('totop').setStyle('right',winsize.x*48/100 - 480);
			} else {
				$('totop').setStyle('right',10);
			}
		},
		'scroll':function(e){
			winsize = window.getSize();
			if ( navigator.userAgent.indexOf('MSIE')<0 ) {
				scroll = window.getScroll();
				if ( scroll.y > 2 ) {
					$('totop').setStyle('display','block');
				} else {
					// $('totop').morph('opacity','1', '0');
					$('totop').setStyle('display','none');
				}
			}
		}
	});
}

// 举报js支持
try{
	if ( $('people_report_trigger') ) {
		$('people_report_trigger').addEvent('click',function(){
			ZN.UI.show_mask();
			$('people_report_dialog').setStyle('display','block');
		});
		// 提交举报按钮事件
		$('form_report_submit').addEvent('click', function(){
			var reason = $('form_report').getElement('input[name=reason][checked]');
			if ( null == reason ) {
				alert('请选择举报原因，这便于我们归类排查。');
				return false;
			}
			$('form_report').send();
			$('report_success_tip').setStyle('display','block');
			$('form_report').setStyle('display','none');
			return false;
		});

		// 取消举报按钮事件
		$$('a.close_reportbox').addEvent('click', function(){
			new Fx.Morph($('people_report_dialog'),{duration:'short', transition: Fx.Transitions.Sine.easeOut}).start({'display':'none'});
			ZN.UI.hide_mask();
			return false;
		});
	}
} catch(ex){}

// 回顶部 js支持
if ( null != $('btn_gototop') ) {
	try{
		$('btn_gototop').addEvent('click',function(){
			window.scrollTo(0,0);
		});
	} catch(ex){}
}

});

/////////////////////////////////////////
/**
 *   @param stock 		必填参数	股票代码，例如：600018
 *   @param	callback 选填参数	回调函数
 *   @param	param			选填参数	若不使用默认参数值，则在此定义新值
 */
function add_stock(stock, callback, param){
	var param_default = new Hash({
		'url': 't.php',
		'ac': 'stock',
		'op': 'add',
		'ajax': '1',
		'stock': stock
	});
	if ($chk(param)=='object'){
		param_default.extend(param);
	}

	if ($chk(callback)!='function'){
		var callback = function(ret){
			if (!ret){
				msg("服务器忙，请稍后再试");
			}else{
				switch(ret.result){
					case -1:
						msg = "股票代码不正确";
						break;
					case 0:
						msg = "添加自选股失败";
						break;
					case 1:
						msg = "添加自选股成功"
						break;
					default:
						msg = "未知错误"
				}
			}
			alert(msg);
		}
	}

	var url = param_default['url'];

	new Request.JSON({url:url, onComplete:callback}).get(param_default);

	return true;
}

/**
 *   @param id 				必填参数	自选股ID
 *   @param	callback 选填参数	回调函数
 *   @param	param			选填参数	若不使用默认参数值，则在此定义新值
 */
function del_stock(id, callback, param){
	if (!confirm("您确定要把本只自选股票移除吗？")){
		return false;
	}
	var param_default = new Hash({
		'url': 't.php',
		'ac': 'stock',
		'op': 'del',
		'ajax': '1',
		'id': id
	});
	if ($chk(param)=='object'){
		param_default.extend(param);
	}

	if ($chk(callback)!='function'){
		var callback = function(ret){
			if (!ret){
				msg("服务器忙，请稍后再试");
			}else{
				switch(ret.result){
					case -1:
						msg = "没有权限";
						break;
					case 0:
						msg = "该记录不存在";
						break;
					case 1:
						msg = "成功删除"
						break;
					default:
						msg = "未知错误"
				}
			}

			alert(msg);
		}
	}
	var url = param_default['url'];

	new Request.JSON({url:url, onComplete:callback}).get(param_default);

	return true;
}



/*
---

script: Sow.js

description: 风声通用类

requires: mootools.js

风声id，评论id，请求目标的url

*/
var Sow = new Class({

	Implements: [Options, Events],

	options: {
		sowid: 0,
		comid: 0,
		type: 'sowid',
		url: ''
	},

    initialize: function(options){
		this.subject = this.subject || this;
		this.setOptions(options);
    },
    reset : function(){
    	this.setOptions({sowid:0,comid:0,type:'sowid',url:''});
    },
    delsow: function(options){
		Zn.showznbox({
			url:options.url,
			title:'删除风声',
			args:'ac=submit&inajax=1&op=delete&idtype=sowid&sowid=' + options.sowid
		});
    },
    removesow: function(options){
		var tarsow = $('sli' + options.sowid);
		//tarsow.set('slide', {duration: 'long',transition: 'bounce:out'});
		//tarsow.slide('hide').slide('out');
		(function(){
			tarsow.dispose();
		}).delay(2000);
    },
    showcoment: function(options){
		//获取评论页面
		Zn.showznbox({
			url:options.url,
			title:'评论',
			args:'ac=submit&inajax=1&op=getcomment&sowid=' + options.sowid
		});
    },
    timer:0,
    canrelay:1,
    relaysow: function(options){
		//获取转发页面
		Zn.showznbox({
			url:options.url,
			title:'转发风声',
			args:'ac=submit&inajax=1&op=relay&sowid=' + options.sowid
		});
		if(this.timer){
			$clear(this.timer);
		}
		this.timer = function(){
			if($('relay_textarea')){
				var inputed = 0;
				if(!($('relay_textarea').value.length < 140)) {
					inputed = $('sow_message').value.length - input_box_max;
					$('relay_textarea_count').set('html','已超出<em>' + inputed + '</em>个字');
					this.canrelay = 0;
				} else {
					inputed = input_box_max - $('sow_message').value.length;
					$('relay_textarea_count').set('html','还可以输入<em>' + inputed + '</em>个字');
					if($('relay_textarea').value.length < 4){
						sow.canrelay = 0;
					}else{
						sow.canrelay = 1;
					}
				}
			}
		}.periodical(30);
    },
    postrelay:function(form){
    	if(this.canrelay){
    		Zn.ajaxpostform(form,'box_body',sow.debug(),2000);
    	}else{
    		return false;
    	}
    },
    collectsow: function(options) {
    	Zn.showznbox({
			url:options.url,
			title:'收藏风声',
			args:'ac=submit&inajax=1&op=collect&sowid=' + options.sowid
		});
		(function(){Zn.hideBox();}).delay(2000);
    },
    show_stockbox: function(){
    	var sow_stock = $('sow_stock')
		if(sow_stock){
			$('stock_textfield').set('value','股票代码/拼音/简称');
			sow_stock.setStyle('display','block');
		}
    },
    upfile_done: function(rst) {
		$('image_loading').setStyle('display','none');//正在上传图片的状态消失
		var publisher_pv = $('publisher_pv');
		if(rst){
			$('attached').value = 1;
			var result = JSON.decode(rst);
			//file_info  图片相关信息  类型 路径等等 文件
			if(result.file_pre == 'f'){//失败
				$('message_image').setStyle('display','block');
				//$('message_file'). // TODO 重置
				alert('上传失败');//没接到内容，但是提交成功
			}else{
				$('file_info').value = rst;
				var publisher_preimage = $('publisher_preimage');
				publisher_preimage.empty();
				new Element('img', {'style':{'border':'1px solid #000','padding':'1px'},'src': result.file_pre}).inject(publisher_preimage);
				publisher_pv.setStyle('display','block');//显示删除图片按钮

			}
		}else{//如失败显示上传按钮
			$('message_image').setStyle('display','block');
			alert('上传失败');//没接到内容，但是提交成功
		}

    },
    show_bigpic: function(img){
    	var img = $(img);

    	//在box中显示大图


    },
    show_huifu: function(options){


    },
    replay_him: function(options){
    	var oContentNode = $('replay_txt_' + options.sowid);
    	var sCurrentValue = oContentNode.value.clean();
		var reg=/^\u56de\u590d[^:]*:/;
		if(sCurrentValue.test(reg)) {
			oContentNode.value=sCurrentValue.replace(reg,"回复@"+sCname+":")
		}else {
			oContentNode.value="回复@"+sCname+":"+sCurrentValue
		}

    },
    show_replay_him: function(options){

    	//显示弹出框
 		Zn.showznbox({
			url:options.url,
			title:'评论',
			args:'ac=submit&inajax=1&op=getcomment&tarname='+ options.name +'&sowid=' + options.sowid
		});
    	/*
    	var oContentNode = $('replay_txt_' + options.sowid);
    	var sCurrentValue = oContentNode.value.clean();
		var reg=/^\u56de\u590d[^:]*:/;
		if(sCurrentValue.test(reg)) {
			oContentNode.value=sCurrentValue.replace(reg,"回复@"+sCname+":")
		}else {
			oContentNode.value="回复@"+sCname+":"+sCurrentValue
		}*/

    },
    follow: function(options){
    	alert(options.uid + options.url);
    },
    unfollow: function(options){
	    alert(options.uid + options.url);
    },
    addbak: function(options){
    	alert(options.uid + options.url);
    },
    follow_fans: function(options){
    	new Request({url:options.url,method:'get',onSuccess: function(txt){
    		if(txt.toInt() >= 1 && (txt.toInt()!=4)){
    			//alert('good');
				var fo_div = $('fo_list_' + options.uid);
				var do_r = fo_div.getElement('.wind_l_r');
				var img = new Element('img',{alt:'',src:'skin/default/images/real_time/object.gif'});
				var c_a = new Element('a',{'text':'取消关注','class':'blue1','href':'javascript:;','events':{'click':function(){sow.unfollow({'uid':options.uid,'url':'sow.php'})}}});
				var s_a = new Element('a',{'text':'设置备注','class':'blue1','href':'javascript:;','events':{'click':function(){sow.addbak({'uid':options.uid,'url':'sow.php'})}}});
				do_r.empty();
				img.inject(do_r);
				c_a.inject(do_r);
				s_a.inject(do_r);
    		}else if(txt.toInt()==4){
    			alert('您被对方拒绝关注');
    		}
		}}).send('ac=submit&op=follow&uid=' + options.uid);
    },
    unfollow_fans: function(options){

    },
    remove_fans: function(options){

    },
    debug: function(){
    	//alert('xxx');
    }
});


Sow.showover = function() {

}


var sow = sow?sow:new Sow();
/*
@author:JuneWen
@date:2010-07-05
提供列表的更多的功能，
参数可以为SowList中的所有属性
调用方式
var data={
		max:{$count},//最多显示的列表数
		ajaxData:{}//更新列表所调用的AJAX参数,其中侦听函数名称只能为complete
		}
SowList.init(data);//初始化

*/
var SowList={
	max  : 200,
	len  : 20,
	ajax : 0,
	start: 0,
	ajaxData:null,
	getMaxData:null,
	listener:null,
	_data:'',
	more:function(obj){
		SowList.start+=SowList.len;
		if(SowList.start>SowList.max){
			SowList.disabledMore(obj);
			return;
		}else if(SowList.start+SowList.len>=SowList.max){
			SowList.disabledMore(obj);
		}
		SowList.request();
	},
	disabledMore:function(obj)
	{
		obj.setStyle('color', 'gray');
		obj.set('href', 'javascript:;');
	},
	request:function(){
		if(!SowList.ajax&&SowList.ajaxData){
			SowList.ajax = 1;
			SowList.ajaxData.onComplete= function(sow){
				SowList.ajaxData.complete(sow);
				SowList.ajax = 0;
			};
			if(typeof(SowList.ajaxData._data)=='undefined'){
				SowList.ajaxData._data = SowList.ajaxData.data;
			}

			SowList.ajaxData.data =SowList.ajaxData._data+'&s='+SowList.start+'&len='+SowList.len+'&ajax=1';
			new Request.JSON(SowList.ajaxData).send();
		}else{
			SowList.start-=SowList.len;
		}
	},
	getMax:function(){
		if(!SowList.ajax&&SowList.getMaxData){
			SowList.ajax = 1;
			SowList.getMaxData.onSuccess= function(set){
				SowList.getMaxData.complete(set);
				SowList.ajax = 0;
			};
			new Request.JSON(SowList.getMaxData).send();
		}else{
			SowList.start-=SowList.len;
		}
	},
	refresh:function()
	{
		if(SowList.listener&&SowList.getMax){
			var time = SowList.listener.get('time');
			time = time >10?time:30;
			if(SowList.listener.get('checked')&&!SowList.setRefreshInt){
				SowList.setRefreshInt = setInterval("SowList.getMax()",time*1000)
			}else if(!SowList.listener.get('checked')&&SowList.setRefreshInt){
				clearInterval(SowList.setRefreshInt);
			}
		}
	},
	scrollRefresh:function()
	{
		var top = document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
		if(top>=document.documentElement.scrollHeight-document.documentElement.clientHeight){
			if(SowList.start < SowList.max - 2*SowList.len){
				SowList.more();
			}
		}
	},
	init:function(param)
	{
		if(typeof(param)=='undefined'){
			return;
		}
		for(var i in SowList){
			if(typeof(param[i])!='undefined'){
				SowList[i] = param[i];
			}
		}
		if(SowList.listener&&SowList.getMaxData){
			SowList.refresh();
			SowList.listener.addEvent('change', SowList.refresh);
		}

		window.addEvent('domready',function(){
			window.addEvents('scroll', SowList.scrollRefresh);
		});
	}
}

//文本框默认显示提示信息支持
window.addEvent('domready', function(){
	if ('placeholder' in document.createElement('INPUT')) {
		return;
	}
 
	var placeholder_color = '#aaa';
 
	$$('input').each(function(el)
	{
		var placeholder	 = el.get('placeholder');
		var normal_color = el.getStyle('color');
 
		if (placeholder)
		{
			el.setStyle('color', (el.get('value').length == 0)?placeholder_color:normal_color)
			  .set('value', (el.get('value').length == 0)?placeholder:el.get('value'))
			  .addEvent('focus', function()
				{
					if (el.value == '' || el.value == placeholder)
					{
						el.setStyle('color', normal_color)
						  .set('value', '');
					}
					// ie 浏览器不支持 el.set('type', 'password'); modify by zhang junhua
					if ( navigator.userAgent.indexOf('MSIE')<0 && el.get('placeholder_type')=='password_placeholder')
					{
						el.set('type', 'password');
					}
				})
			  .addEvent('blur', function()
				{
					if (el.value == '' || el.value == placeholder)
					{
						if ( navigator.userAgent.indexOf('MSIE')<0 && el.get('type')=='password')
						{
							el.set('type', 'text');
							el.set('placeholder_type', 'password_placeholder');
						}

						el.setStyle('color', placeholder_color)
						  .set('value', placeholder);

					}					
				});
 
			// edir by zhang jiuhua
			var form = el.getParent('form');
			if (form) {
				form.addEvent('submit', function(e) {
					if ( el.get('value') == placeholder || el.get('value').length == 0 ) {
						e.stop();
						new Fx.Tween(el,{duration:1000}).start('backgroundColor','#FFFF00','#FFF');
					}
				});
			}
		}
	});
});

