var Url = {

	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},

	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},

	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	},

	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while ( i < utftext.length ) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}

}


function favoritePhoto(id)
{
	// -3 非法操作
	// -2 没有登录
	// -1 已经收藏
	// false 操作失败
	var param = "photo_id=" + id;
	var button_text = $("#favorite_button").html();
	$("#favorite_button").html('正在添加请稍后...')
	$.ajax({ url: "/photo/favorite",
	timeout:5000,
	type:"post",
	dataType:"text",
	data: param,
	success:function(data){
		if(data == "-3") {
			alert("非法操作！");
			return;
		}
		if(data == "-2") {
			var flag = confirm('登录后才可以进行此操作，要进行登录吗？');
			if(flag) {
				window.location = "/user/login?url="+document.location;
			}
			return;
		}
		if(data == "-1") {
			alert("您已收藏过该图片！");
			return;
		}
		if(data == "0") {
			alert("操作失败！");
			return;
		}
		alert("已成功收藏！");
		/*
		if(data == "1") {
		alert("操作成功！");
		}else {
		alert("未知错误！");
		}*/
	},
	complete:function(){
		$("#favorite_button").html(button_text);
	},
	error:function(){
		// $("#photos_list").html('操作失败！请重试！')
	}
	});
}

function refreshCc() {
	var ccImg = document.getElementById("auth_code_photo");
	if (ccImg) {
		ccImg.src="/user/buildauthcode?ran="+Math.random();
	}
}

function checkCommentSubmit(item)
{

	if(item.reply_content.value == "") {
		alert("请填写评论内容!");
		item.reply_content.focus();
		return false;
	}else {
		var str = item.reply_content.value;
		if(str.length > 1000) {
			alert("评论内容不能超1000个字符!");
			return false;
		}
	}
	if(item.auth_code.value == "") {
		alert("请输入验证码!");
		item.auth_code.focus();
		return false;
	}

	return true;
}

function checkSearchSubmit(item)
{
	if(item.keyword.value == "") {
		alert("请输入您要搜索的内容!");
		item.keyword.focus();
		return false;
	}
	return true;
}

function checkComplainSubmit(item)
{
	if(item.url.value == "") {
		alert("请输入要投诉的链接!");
		item.url.focus();
		return false;
	}

	if(item.title.value == "") {
		alert("请输入要投诉的主题!");
		item.title.focus();
		return false;
	}

	if(item.content.value == "") {
		alert("请输入要投诉的内容!");
		item.content.focus();
		return false;
	}
	if(item.content.value.length > 1000) {
		alert("投诉的内容不能超1000个字符!");
		return false;
	}
	return true;
}

function InputCount(obj,limit_length,obj_name,info_id)
{
	var len=0;
	var pass = true;
	for(var i=0;i<obj.value.length;i++){
		if(obj.value.charCodeAt(i)>255){
			len = len+2;
		}else{
			len++;
		}

		if (len>limit_length){
			obj.value = obj.value.substring(0, i);
			obj.blur();
			if (info_id == ""){
				alert(obj_name+'只能输入'+(limit_length/2)+'个汉字');
			}else{
				VchangeClass(info_id, 'MessageOff',obj_name+'只能输入'+(limit_length/2)+'个汉字');
			}

			pass = false;
			break;
		}
	}

	if (pass == true&&info_id != ""){
		VchangeClass(info_id, 'reg_info','');
	}
}

function VchangeClass(item_id, class_name, msg_info)
{
	//alert(item_id);
	var item = document.getElementById(item_id);
	item.className = class_name;
	if (msg_info != null){
		item.innerHTML = msg_info;
	}
}

function isNumber(str){

	var reg = /^[1-9]\d*$/;
	var found=reg.exec(str);
	if(found == null){
		return false;
	}else{
		return true;
	}
}

function is_Number(str){

	if(str){
		var reg = /^[0-9]\d*$/;
		var found=reg.exec(str);
		if(found == null ){
			return false;
		}else{
			return true;
		}
	}else{

		return true;
	}

}
function isGroup(str,type){
	if(!type){
		end = 16;
	}else{
		end = 32;
	}
	var reg = /^[0-9]\d*$/;
	var found=reg.exec(str);
	if(found == null){
		return false;
	}else{
		//alert(str)
		if(str >= 2 && str <= end){
			return true;
		}else{
			return false;
		}
	}
}

function isPhoneNumber(str){
	/*	var reg = /^[0-9]\d*$/;*/ // |(\d{11})
	var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,})(-(\d{3,}))?$/;
	//var reg2 = /^([1\+]\d{10})?$/;
	var found=reg.exec(str);
	//var found2=reg2.exec(str);
	//&& found2 == null
	if(found == null){
		return false;
	}else{
		return true;
	}
}


function getCookie( name )
{
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure )
{
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
	( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
	( ( path ) ? ';path=' + path : '' ) +
	( ( domain ) ? ';domain=' + domain : '' ) +
	( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain )
{
	if ( getCookie( name ) ) document.cookie = name + '=' +
	( ( path ) ? ';path=' + path : '') +
	( ( domain ) ? ';domain=' + domain : '' ) +
	';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

function GetParam(name)
{
	var start=location.search.indexOf("?"+name+"=");
	if (start<0) start=location.search.indexOf("&"+name+"=");
	if (start<0) return '';
	start += name.length+2;
	var end=location.search.indexOf("&",start)-1;
	if (end<0) end=location.search.length;
	var result='';
	for(var i=start;i<=end;i++) {
		var c=location.search.charAt(i);
		result=result+(c=='+'?' ':c);
	}
	return unescape(result);
}
function AscSort(x, y) {
	return x == y ? 0 : (x > y ? 1 : -1);
}

function DescSort(x, y) {
	return x == y ? 0 : (x > y ? -1 : 1);
}

function RandomSort(x, y) {
	return Math.floor(Math.random() * 2 - 1 );
}

function compareDate(a_date,b_date)
{
	var a_date,b_date;
	if(!b_date){
		var d = new Date();
		var cur_date = d.getUTCFullYear()+ "-"+(d.getMonth() + 1)+ "-"+d.getDate();
		bS	=	get_time(cur_date);
	}else{
		bS	=	get_time(b_date)
	}
		aS	=	get_time(a_date)
	if(aS<bS){
		return false;
	}else{
		return true;
	}
}

function get_time(date)
{
	bss = date.split("-");
	bD 	= new Date(bss[0],bss[1],bss[2]);
	return bD.getTime();
}