/*
 * johnny
 * 2010-4-29
 */

// global
var g_ID = 0;
var g_URL;
var g_states = Array('<span class="warning">待审</span>','<span class="ok">正常</span>','<span class="alert">未通过</span>');
var g_statewords=Array('','<span class="ok">已通过</span>','<span class="alert">未通过</span>','<sapn class="alert">已删除</span>');

// define
var OK = 'OK';
var ERROR = 'ERROR';
var MASTER = 'SUNLI'
var LISTNULL = '暂无记录';

var K_GENERAL = 0;
var K_TOPIC = 1;
var K_ALBUM = 2;
var K_BUSINESS = 3;

var S_UNVERIFY = 0;
var S_NORMAL = 1;
var S_ERROR = 2;

var SEPARATOR = '||';

function autoFixUserImage()
{
	$('.picture').each(function(){
		//if(this.width>600) $(this).width(600);
		$(this).wrap('<div style="text-align:center"></div>');
	});
}

// 检查必填表单项目
function checkForm(inputList)
{
	var il = inputList.split(',');
	var obj;
	for(var i=0;i<il.length;i++)
	{
		obj = $("#"+il[i]);
		obj.val(obj.val().trim());
		if(obj.val() == "")
		{
			alert($("#"+il[i]).attr('title') + " 是必须填写的哦");
			$("#"+il[i]).focus();
			return false;
		}
	}
	return true;
}

function isRegisterUserName(s)
{
	var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[_]){4,19}$/;
	return patrn.test(s);
}

function isRegisterEmail(email)
{
	var p=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	return p.test(email);
}

function toggleDiv(show,hidden)
{
	$('#'+show).css('display','block');
	$('#'+hidden).css('display','none');
}

function gotoUrl(url, delay)
{
	if(url==undefined || url=='') url = top.location.href;
	if(delay==0)
		top.location.href = url;
	else
		setTimeout(function(){top.location.href = url;}, delay);
}

function login(admin)
{
	if(!checkForm('UserName,PassWord,Code')) return;
	$.post(ajaxUrl('user','signIn'),{adm:admin,un:$.trim($('#UserName').val()),pw:$('#PassWord').val(),code:$('#Code').val()},
		function(res){
			if(res==OK)
				gotoUrl();
			else
				alert(res);
		});
}

function logout()
{
	$.post(ajaxUrl('user','logout'),null,function(res){
		if(res==OK)
			gotoUrl('.');
		else
			alert(res);
	});
}

function showChangePasswordDialog()
{
	$.fancybox('modules/user/changePassword.html',{'type':'ajax', 'scrolling':'no'});
}

function showRecommendDialog(id,kind)
{
	if(id) g_ID=id;
	$.fancybox('modules/recommend/dialog.html',{'type':'ajax', 'scrolling':'no', 'onComplete':function(){init(kind);}});
}

function HTMLEncode(html)
{
	var temp = document.createElement("div");
	var output=$(temp).text(html).html();
	temp=null;
	return output.replace(/\n/g,'<br/>');
}

function HTMLDecode(text)
{
	var temp = document.createElement("div");
	temp.innerHTML = text;
	var output = temp.innerText || temp.textContent;
	temp = null;
	return output;
}

function deleteAlert(str)
{
	if(confirm(str==undefined?'真的删除吗？':str)) return true;
	return false;
}

function ajaxUrl(c,a)
{
	return '?c='+c+'&a='+a;
}

function getJSON(str)
{
	if(!str || str=='false') return undefined;
	var chr=str.substr(0,1);
	if(chr!='{' && chr!='[')
	{
		alert(str);
		return undefined;
	}
	else
		return eval('('+str+')');
		//return (new Function("return " + data))();
}

function setRadioValue( name, value)
{
	$('input[type="radio"][name="'+name+'"]').each(function(){if($(this).val()==value) $(this).attr('checked','checked');});
}

function createSelecter(id,arr)
{
	var se=$('#'+id);
	for(var i in arr)
	{
		se.append('<option value="'+i+'">'+arr[i]+'</option>');
	}
}

function setSelecterValue( id, value, callback)
{
/*
	$('#'+id).children().each(function(){
		//if($(this).val()==value){$(this).attr('selected','selected');return;}
		if($(this).val()==value)
		{
			setTimeout(function(){$(this).attr('selected','selected');},1);	// for ie6
			return;
		}
	});
*/
	//$('#'+id).attr('value',value);		// 除IE6以外，这句就可以生效了
	setTimeout(function(){$('#'+id+" option[value='"+value+"']").attr('selected',true);},10);	//加setTimeout是为了IE6正常执行
	if(callback!=undefined) callback(value);
}

function getSelecterText( id )
{
	return $('#' + id + ' option:selected').text();
}

function getSelecterValue( id )
{
	return $('#'+id).val();
}

function getCheckBoxValue(id,defaultValue)
{
	return $('#'+id).attr('checked')?$('#'+id).val():defaultValue;
}

function getCheckedValues(name)
{
	var arr = [];
	$("input[name='"+name+"']:checked").each(function(){arr.push(this.value);});
	return arr;
}

function getRadioValue( name )
{
	return $("input[name='"+name+"']:checked").val();
/*
	var objs = document.getElementsByName(name);
	var num = objs.length;
	for(var i=0;i<num;i++)
		if(objs[i].checked) return objs[i].value;
	return 0;
*/
}

function setRadioSelected( name, value)
{
	//$('input[name="'+name+'"]:eq('+index+')').attr('checked',true);	//用序号
	$('input[name="'+name+'"][value="'+value+'"]').attr('checked',true);
}

function titleColor(color)
{
	return (color==''?'':' style="color:'+color+'"');
}

function changeCode(id)
{
//	$('#'+id).html('<img src="modules/class/checkCode.php?'+Math.random()+'" />');
	$('#'+id).html('<img src="'+ajaxUrl('user','getVCode')+'&n='+Math.random()+'" />');
}

function getPagesCount(rowsCount,pageSize)
{
	return parseInt((rowsCount + pageSize - 1) / pageSize);
}

function getPageList(rowsCount, pageSize, currentPage, pageLink)
{
	if(pageSize==0) return 'pageSize 设置错误';
	var pagesCount = getPagesCount(rowsCount,pageSize);
	var str='';
	if(currentPage>0) str += pageLink(currentPage-1,'上一页');
	for(var i=0;i<pagesCount;i++)
	{
		if(i==currentPage)
			str+=' <strong>'+(i+1)+'</strong>';
		else
			str+= ' '+pageLink(i,i+1);
	}
	if(currentPage<(pagesCount-1)) str+= ' '+ pageLink(currentPage + 1,'下一页');
	return ('共有记录 '+rowsCount+' 条，每页显示 '+pageSize+' 条，分页：'+str);
}


// 2010-1-5

function CheckEmail( str )
{ 
	var re = new RegExp("^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$");	//i.
	if(re.test(str)) return true;
	return false;
}

function CheckUsername( s )
{
	var re = new RegExp("^[0-9a-zA-Z\_]+$");
	if(re.test(s)) return true;
	alert("用户名只能是字母和数字及下划线构成");
	return false;
}

function userLogin()
{
	var p,n=document.getElementById("userName");	//在safari浏览器中，这句可以直接找到控件，其它的浏览器却不行
	if(n==null)
	{
		n=window.frames[0].document.getElementById("userName");	//其它的浏览器
		p=window.frames[0].document.getElementById("userPass");
	}else
		p=document.getElementById("userPass");

	//if(!CheckForm("userName,userPass","用户名,密码"))return;
	if(n.value=="")
	{
		alert("请填写用户名。");
		return;
	}
	$.post("mcAjax.aspx",{a:15,un:n.value,pw:p.value},function(res){
		if(res=="ok")
			AutoGotoURL("user.aspx",0);
		else
			alert(res);
	});
}

function userLogout()
{
	$.post("mcAjax.aspx",{a:16},function(res){
		AutoGotoURL(".",0);
	});
}

$(this).ajaxStart($.fancybox.showActivity);
$(this).ajaxSuccess($.fancybox.hideActivity);

//////////////////
// get url parameters
function getURLParameters()
{
	var url = location.href.toString();
	var paraStr = url.substring(url.indexOf("?")+1,url.length).split("&");
	var arr=new Array();
	var tmp;
	for(var i=0;i<paraStr.length;i++)
	{
		tmp = paraStr[i].split('=');
		arr[tmp[0]]=tmp[1];
	}
	return arr;
}

//////// array
function arrayUnique(arr) 
{ 
	var len = arr.length;
	for(var i=0;i<len;) 
	{
		var f=0;
		for(var j=0;j<arr.length;++j)
			if(j!=i && arr[i] == arr[j])
			{
				arr.splice(i,1);
				--len;
				f=1;
			}
		if(f==0) ++i;
	}
} 

///////////// clEditor
function cleditorInit(id)
{
	$('#'+id).cleditor({width:'99%',height:400,controls:'cut copy paste pastetext | icon | image link unlink | bold italic underline strikethrough superscript | font size style | color highlight removeformat | bullets numbering | outdent indent | alignleft center alignright'});
	var e=$('#'+id).cleditor()[0];
	e.focus();	// for ie
	return e;
}

//计算天数差的函数，通用  
function DateDiff(sDate1, sDate2)
{
	var oDate2;
	var oDate1=_getDate(sDate1);
	if(!sDate2)
	{
		oDate2 = new Date();
	}else
	{
		oDate2 = _getDate(sDate2);
	}
	return parseInt((oDate1.getTime() - oDate2.getTime()) / (1000*24*3600));
}

function _getDate(strDate)
{
	var aDate = strDate.split("-");
	return new Date(aDate[0],aDate[1]-1,aDate[2],23,59,0,0);
}

function tab(obj)
{
	$(obj).parent().children().each(function(){
		$(this).toggleClass('current',this==obj);
		$('#'+$(this).attr('target')).toggleClass('hidden',this!=obj);
	});
}
