/***
 *	@fileoverview 美女频道JS
 * 
 *	@author Matt Wang (matt@uiland.com)
 *	@version 0.1
 **/


//	初始化页面
function initPage() {
	if ($('userPanel') == null) return;
	User.isLogin();
	User.isUser();
}

var User = {
	//	用户的passport
	pp: null,
	
	//	用户在系统中的昵称
	nick: '搜狐博友',
	
	//	用户登录系统时的系统处理方法
	login: function() {
		var bru = document.location.href;
		document.location.href = 'http://blog.sohu.com/login/logon.do?bru=' + encodeURIComponent(bru);
	},

	//	用户退出系统时的系统处理方法
	logout: function() {
		var x = function () {
			document.location.href = document.location.href;
		};
		PassportSC.logoutHandle(document.body,x,x);
	},

	//	用户注册时的处理方法
	reg: function() {
		var bru = domain + 'user.do?method=query';
		document.location.href = 'http://blog.sohu.com/login/regnew.do?bru=' + encodeURIComponent(bru);
	},

	//	判断用户是否登录
	isLogin: function() {
		if (typeof PassportSC != 'undefined' && (this.pp = PassportSC.cookieHandle())) {
			if (_vnick != '搜狐博友') {
				this.nick = _vnick;
			} else {
				this.nick = this.pp;
			}
			$('userPp').innerHTML = '欢迎你，<strong title="' + this.nick + '">' + MM.setStringLength(this.nick, 16) + '</strong>';
			$('unLogin').style.display = 'none';
			$('isLogin').style.display = 'block';
			return true;
		} else {
			$('isLogin').style.display = 'none';
			$('unLogin').style.display = 'block';
			//	PassportSC.setDomainCookie(document.body, 'chinaren.com', this.onSuccess, this.onFailure);
			return false;
		}
	},
	onSuccess: function() {
		User.isLogin();
	},
	onFailure: function() {
		$('isLogin').style.display = 'none';
		$('unLogin').style.display = 'block';
		return false;
	},
	
	isUser: function() {
		if (_vid) {
			$('myHome').innerHTML = '<a href="/user.do?method=info&userId=' + _vid + '">我的照片得分</a> | ';
			//$('myHome').style.display = 'inline';
			return true;
		} else {
			//$('myHome').style.display = 'none';
			return false;
		}
	}
}

var MM = {
	//	设定图片尺寸
	resizeImg: function(id, size) {
		var img = $(id);
		if (img == 'undefined') return;
		
		size = size.split(";")[4];
		var width = size.split("x")[0];
		var height = size.split("x")[1];
		
		if (width > 480) {
			img.width = 480;
			img.height = Math.floor(480*height/width);
			img.style.width = 480 + 'px';
			img.style.height = Math.floor(480*height/width) + 'px';
		} else {
			img.width = width;
			img.height = height;
			img.style.width = width + 'px';
			img.style.height = height + 'px';
		}
	},
	//	复制到剪切板
	copyValue: function(element) {
		if (navigator.appName.indexOf("Microsoft") != -1) {
			element = $(element);
			switch(element.tagName.toLowerCase()) {
				case "input":
					element.select();
					clipboardData.setData("Text", element.value);
					alert("您已经复制了此链接地址");
					break;
				default:
					clipboardData.setData("Text", element.innerHTML);
					break;
			}
		} else {
			alert("您当前所使用的浏览器不支持复制功能，请使用快捷键[Ctrl+C]或者鼠标右键来复制此内容");
		}
	},
	//	获取字符串长度，中文按2个字符计
	getStringLength: function(str) {
		if (str == null) {return null;}
		var strlen = 0;
		for(var i=0; i<str.length; i++){
			if(str.charCodeAt(i) < 256) {strlen++;}
			else {strlen += 2;}
		}
		return strlen;
	},
	//	字符串截断，中文按2个字符计
	setStringLength: function(str, len, truncation) {
		if (this.getStringLength(str)<=len) {
			return str;
		}
	    truncation = (typeof(truncation)=='undefined') ? '...' : truncation;
	    len = len-this.getStringLength(truncation) || 30;
		var strlen = 0;
		var s = '';
		for(var i=0; i<str.length; i++){
			if(str.charCodeAt(i) < 256) {strlen++;}
			else {strlen += 2;}
			if(strlen > len) {return s + truncation;}
			s += str.charAt(i);
		}
		return s;
	},
	// 举报图片
	impeach: function(url){
		var mail = User.isLogin?User.pp:'';
		var str= '<form name="impeachForm" id="impeachForm" action="http://act.blog.sohu.com/ppreport/report.jsp" method="post" target="_blank">'+
						'<input name="p" type="hidden" value="' + mail + '" />'+
						'<input name="rp" type="hidden" value="' + url + '" id="rp" />'+
				 '</form>';
	
		var container = $('tempFormContainer');
		if(container == 'undefined' || container == null) {
			container = new Element('div',{'id':'tempFormContainer'});
			document.body.appendChild(container);
		} else {
			container.update('');
		}
		container.update(str);
		
		$('impeachForm').submit();
	},
	//	验证注册表单
	checkReg: function(form) {
		Validator.tip = 'em';
		if (Validator.Validate(form, 2) || Validator.Validate(form, 3)) {
			var eles = document.getElementsByName('interests');
			if (eles && $A(eles).findAll(function(ele) {
					return (ele.checked && ele.value != '其它');
				}).length > 10) {
				alert('兴趣爱好选项不能超过10个');
				return false;
			} else {
				return true;
			}
		}
		return false;
	},
	//	验证上传表单
	checkUpload: function() {
		//	检查表单是否为空
		var imgUrl = $('uploadPhoto').value;
		if (imgUrl == '' || imgUrl == null) {
			alert('请选择您要上传的图片');
			return false;
		}
		
		//	校验上传文件的格式
		var nPos = imgUrl.lastIndexOf('.');
		if (nPos >0){
			var ext = imgUrl.substring(nPos + 1).toLowerCase();
			if (ext!='jpg' && ext!='jpeg' && ext!='png' && ext!='gif' && ext!='tif'){
				alert('图片文件不存在或格式错误');
				return false;
			}
		}
		
		//	检查是否勾选“确认是本人照片”
		if (!$('isMyPhoto').checked) {
			alert('请确认这是您本人的真实照片');
			return false;
		}
	},
	temp: null
}

//	初始化打分系统
var prevBeauty = false;
function initRating() {
	if (prevBeauty) {
		$('page_vote').scrollIntoView();
	}

	initRatingTips();
	
	var rate = 0;
	var ratingEle = $('rating').getElementsByTagName('a');
	for (var i=0; i<ratingEle.length; i++) {
		rate = i+1;
		ratingEle[i].href = 'javascript:void(' + rate +');';
		ratingEle[i].title = '给他打' + rate + '分';
		ratingEle[i].onclick		= onRate.bind(this, rate);
		ratingEle[i].onmouseover	= showRatingTip.bind(this, rate);
		ratingEle[i].onmouseout		= showRatingTip.bind(this, 0);
	}
}
function onRate(rate) {
	var a = $('rating').getElementsByTagName('a')[rate-1];
	setTimeout(function(){a.blur();}, 0);
	
	var inputs = document.getElementsByName('vote');
	for (var i=0; i<inputs.length; i++) {
		inputs[i].checked = (i==rate-1)?true:false;
	}
	setTimeout(function(){document.voteForm.submit();}, 0);
}
function showRatingTip(rate) {
	if (rate == 0) {
		$('ratingTip').innerHTML = '给照片打分即可进入下一张';
	} else {
		$('ratingTip').innerHTML = ratingTips[rate - 1];
	}
}
function clearRadios() {
	var inputs = document.getElementsByName('vote');
	for (var i=0; i<inputs.length; i++) {
		inputs[i].checked = false;
	}
}
function initRatingTips() {
	for (var i=0; i<gr.length; i++) {
		ratingTips[i] = gr[i][Math.floor(Math.random()*gr[i].length)];
	}
}
var ratingTips = [];
var gr = [
	['丑，但是丑的特别，也就是特别的丑', '哇，长相超出了人类历史的想象', '好惊险 ...', '很科幻', '野兽派？', '如花...', ' 快回火星啦！', '囧z'],
	['很丑，可是很温柔', '有创意，有勇气', '也许该回回炉', '大姐 你违章啦', '天使，着陆时请保护好自己的脸', '鬼斧神工...', '真勇敢~', '半兽人？orz', '该反省一下哦', '莔'],
	['很提神的说', '嗯 ... 稍微有点那个', '佩服佩服！', '有点抽象哦...', '出来炸道的？'],
	['请打扮得认真一些吧~', '长得比较写意', '嗯，长得挺好认的'],
	['半妆美人', '还可以', '很大方很具体', '成~', '一般一般，世界第三', '美化尚未成功 同志仍需努力'],
	['蛮可爱', '比较养眼', '挺有气质', '不错捏...', '有味道', '值得关注', '有点意思~~'],
	['很袅娜嘛', '人面胜桃花', 'beaubeau~~', '为你彷徨', 'Yummy', '美的很和谐', '风生水起了', '很耀眼嘛', '蕙质兰心'],
	['好象花儿开在春风里', '你怎么舍得，让我的鼻血流向海....', 'pretty pretty', '如姣花照水', '啧啧，秀色可餐', '很美很妖娆', '不容错过喔！', '如春华，如秋月', '润物细无声啊', '艳若桃李', '娇艳欲滴', '亭亭玉立' ,'咦一一一一一~', '哇塞，美得这么生动', '天生丽质难自弃'],
	['美得由内而外,由皮到骨,连绵不绝呈新意', '回眸一笑百魅生', '我震惊了', '如花似玉', '这样的美女我灰常喜欢', '美女闪闪靓', '花容月貌啊', '我赞！', '嫦娥，你下来干吗？', '此刻脑袋嗡嗡滴'],
	['倾国倾城', '咦？仙女！', '绝世美女啊', '我拜倒啦', '风华绝代', '你站在了美丽之巅', '国色天香', '鱼雁俱下 花月含羞']
];

//	评分反馈 (feedback)
var f = {
	a: ['不错，眼光很犀利哦！', '看来大家都这么认为啊~', '鹰的眼睛！', '你是鉴别美女的专家！', '你太有才啦！', 'Bingo! '],
	b: ['你的观点非主流啊~', '你贡献了一个全新的审美角度', '这个评分不寻常', 'Oooooops', '审美学上的系统性误差', '你的眼睛背叛了你的心', '擦擦汗? '],
	c: ['你喊出了小众群体的声音', '没带眼镜吧？', '请校正您的显示器...'],
	d: ['有无搞错？', '同志，你系地球的伐？', '囧z', '卧云~', '众人皆醉你独醒? 0_0', '团结，同志，注意团结！']
}
function gf(grade, vote) {
	var g = Math.abs(grade - vote);
	var l = null;
	if ( g<=2 )			{l = f.a;}
	if ( g>2 && g<=4 )	{l = f.b;}
	if ( g>4 && g<=6 )	{l = f.c;}
	if ( g>6 && g<=9 )	{l = f.d;}
	
	var n = Math.floor(Math.random()*l.length);
	return(l[n]);
}

//	得分评价 (evaluation)
var e = {
	a: ['你是大家公认的美女啊！', '还等什么，进军演艺圈！', '你怎么舍得 让我的口水流成海？', '哇，原来美女是酱紫滴！', '比萨斜塔是被你倾歪的吧？'],
	b: ['大哥，出来看美女！', '唉?不错哦 ~', 'Hello beauty~ ', '美女给我签个名吧！', '小心被劫色', '啊哦，不小心成了个美女', '你让大家明白，原来美可以这样具体…', '我得意的笑啊又得意的笑'],
	c: ['传张更好的照片！', '他们的审美有问题！', '我很另类吗？', '这不是你的错，这不是你的错…'],
	d: ['地球不适合你，赶快回火星吧！', 'i have nothing to say …', '不要放弃，你就是自己心中的女神', '金口怜…'],
	e: ['还没有被发现，快出来晒太阳！']
}
function ge(grade) {
	var g = grade;
	if ( g>=8.5 )			{l = e.a;}
	if ( g>=6 && g<8.5 )	{l = e.b;}
	if ( g>=4 && g<=6 )		{l = e.c;}
	if ( g>=1 && g<=4 )		{l = e.d;}
	if ( g==0 )				{l = e.e;}
	
	var n = Math.floor(Math.random()*l.length);
	return(l[n]);
}
