﻿// 闪字DIY JS Script 
// by flywolf(ircman@163.com) @ 12/23/2008 17:41 利津
// revision by flywolf  12/24/2008 22:10 济南
// revision by flywolf 1/4/2009 00:58 郑州

// ---------------------------------
// 初始化参数
bg_init = '/design/sucai/1/37bd3b15abd41f17342fb5165b0e725d.gif';
diaozhui_init = '/design/sucai/2/73b907fcdb7c292bdfb8d972d0df0e0e.gif';
deco_init = '/design/sucai/3/12fe587579a3aed4466c7c11eb2708ba.gif';
mask_init = '/design/sucai/6/68db18edf5ff4b709442e147da6ec9af.gif';
effect_init = '/design/sucai/7/3d223f36704b3c9ed3a428340b9c8dd0.gif';
// ---------------------------------

szg = {'fontface':'fzpwf.ttf', 'fontsize':'30', 'fontstyle':'1', 'alpha':'100', 
		'txteffect':'0', 'fontcolor':'#FF0066', 'effectcolor':'#00ff00',
		'txtcontent':'QQ图闪图设计', 'txtX':'140', 'txtY':'126', 'bg':bg_init, 'bgX':'55', 'bgY':'35', 'diaozhui':diaozhui_init, 'diaozhuiX':'75', 'diaozhuiY':'45',
		'deco':deco_init, 'decoX':'35', 'decoY':'15', 'deco2':'0', 'deco2X':'20', 'deco2Y':'20', 'txtdeco':'0', 'txtdecoX':'0', 'txtdecoY':'0', 'mask':mask_init, 'effect':effect_init, 'isreload':'0', 'iswatermark':'1'};

var $shj=jQuery.noConflict(true); 

function reloaddd() {
	  var text = $shj('#txtContent').val();
	  text = text.replace(/ /g, '&nbsp;');
	  text = text.replace(/\n/g, '<br>');
	  if (text == '') text = '&nbsp;';   
	  $shj('#sztxt').html(text);
	  szg.txtcontent = text;
}

function isaddwatermark() {
	$shj('#cbxIsWaterMark').attr('checked') ? szg.iswatermark = '0' : szg.iswatermark = '1';
}

function set_sztxt() {
	// font size
	$shj('#sztxt').css({'fontSize':$shj('#sltFontsize').val()+'px'});
	szg.fontsize = $shj('#sltFontsize').val();
	
	// font style
	fs = $shj('#fontStyle').val();
	if (fs == "1")
		$shj('#sztxt').css({'font-weight':'normal', 'font-style':'normal', 'text-decoration':'none'});
	else if (fs == '2')
		$shj('#sztxt').css({'font-weight':'bold', 'font-style':'normal', 'text-decoration':'none'});
	else if (fs == '3')
		$shj('#sztxt').css({'font-weight':'normal', 'font-style':'italic', 'text-decoration':'none'});
	else if (fs == '4')
		$shj('#sztxt').css({'font-weight':'normal', 'font-style':'normal', 'text-decoration':'underline'});
	else if (fs == '5')
		$shj('#sztxt').css({'font-weight':'normal', 'font-style':'normal', 'text-decoration':'line-through'});
	szg.fontstyle = fs;

	// font alpha
	opacity = $shj('#fontalpha').val()*10;
	filter = 'alpha(opacity='+opacity+')';
	$shj('#sztxt').css({'filter':filter});
	szg.alpha = opacity;

	// font filter

	effect = $shj('#txteffect').val();
	if (effect == '1')
		filter  += "; glow(color='"+szg.effectcolor+"', strength='2')";
	$shj('#sztxt').css({'filter':filter});
	szg.txteffect = effect;
}

function show_avatar_upload() {
	$shj('#liUploadFace').show();
}

function upload_avatar() {
	
}

function fontPreview(v)
{
	document.getElementById('fontImg').src = "/images/" + v + ".jpg";
	fontfamily = mapfontfamily($shj('#sltFontFamily').val());
	$shj('#sztxt').css({'fontFamily':fontfamily});
	szg.fontface = $shj('#sltFontFamily').val();
}

function mapfontfamily(fontface) {
	fontfamily = '方正胖娃繁体';
	switch(fontface) {
		case 'simhei.ttf':
			fontfamily = 'SimHei';
			break;
		case 'maozedong.ttf':
			fontfamily = '草檀斋毛泽东字体';
			break;
		case 'huawencaiyun.ttf':
			fontfamily = '华文彩云';
			break;
		case 'DFPShaoNvW5-GB.ttf':
			fontfamily = '华康少女文字W5(P)';
			break;
		case 'DFPHaiBaoW12-GB.ttf':
			fontfamily = '华康海报体W12(P)';
			break;
		case 'hzgb.ttf':
			fontfamily = '汉真广标';
			break;
		case 'simsun.ttc':
			fontfamily = '宋体 & 新宋体';
			break;
		case 'xujinglei.fon':
			fontfamily = '方正静蕾简体';
			break;
		case 'FZYTK.TTF':
			fontfamily = '方正姚体';
			break;
		case 'fangzhengkaiti.TTF':
			fontfamily = '方正楷体_GBK';
			break;
		case 'fzzhiyi.ttf':
			fontfamily = '方正稚艺_GBK';
			break;
		case 'fzyouzhiti.ttf':
			fontfamily = '方正稚艺繁体';
			break;
		case 'fzpwf.ttf':
			fontfamily = '方正胖娃繁体';
			break;
		case 'hycpptj.ttf':
			fontfamily = '汉仪陈频破体简';
			break;
		case 'hybqtj.ttf':
			fontfamily = '汉仪白棋体简';
			break;
		case 'hybqt.ttf':
			fontfamily = '汉仪柏青体简';
			break;
		case 'hkbft.ttf':
			fontfamily = '華康寶風體';
			break;
		case 'mnjdyt.ttf':
			fontfamily = '迷你简黛玉';
			break;
		case 'mnjglt.TTF':
			fontfamily = '迷你简橄榄';
			break;
		case 'mnjsht.TTF':
			fontfamily = '迷你简水黑';
			break;
		case 'mnjsxt.TTF':
			fontfamily = '迷你简双线体';
			break;
		case 'mnjqyt.ttf':
			fontfamily = '迷你简清韵';
			break;
		case 'mnjplt.TTF':
			fontfamily = '迷你霹雳体';
			break;
		case 'mnjjgt.TTF':
			fontfamily = '迷你简贱狗';
			break;
		case 'mnjhmt.TTF':
			fontfamily = '迷你简黑咪';
			break;
		case 'mnjhht.ttf':
			fontfamily = '迷你简哈哈';
			break;
		case 'mnjdy.ttf':
			fontfamily = '迷你简蝶语';
			break;
		case 'mnjcqt.ttf':
			fontfamily = '迷你简粗倩';
			break;
		case 'HDZB_01.TTF':
			fontfamily = '汉鼎繁淡古';
			break;
		case 'fangzhengliuxingtifan.ttf':
			fontfamily = '方正流行体繁体';
			break;
		default:
			break;
	}
	return fontfamily;
}

function thumbImg() {
	$shj('div.imgsltarea:lt(6) img').each(function(){
		w = $shj(this)[0].width;
		h = $shj(this)[0].height;
		if (w >= h && w > 120) {
			$shj(this)[0].width = 120;
		}
		if (h > w && h > 120) {
			$shj(this)[0].height = 120;
		}
	})
}

function generate_html(t, p) {
	$shj.post('/ajax/getimage.php', {'action':'getdiyimage', 'p':p, 't':t}, function(res){
		$shj('#imgslt'+t).html(res);
	})
	thumbImg();
}

function switch_slt_menu(e) {
	$shj('#imgsltmenu li').each(function(){
		if ($shj(this).attr('id') == e) {
			$shj(this).addClass('slt');
			$shj('#img'+e).show();
		}
		else {
			$shj(this).removeClass('slt');
			$shj('#img'+$shj(this).attr('id')).hide();
		}
	});
	// 加载html
	t = e.substring(3);
	generate_html(t, 1);
	thumbImg();
	if (t == 7)
		alert('闪烁设置是制作闪图的最后一步, 建议您在以前的各种设置完成以后再选择该步, 选择闪烁设置后, 您将无法再移动以前的各文字和图片的位置. 如果您在选择图片闪烁效果后想再重新调整以前的各文字和图片的位置, 请先取消闪烁效果.');
}

function resetSZForm() {
	$shj('#workarea').css({'background':'url(/images/workarea.jpg)'});
	$shj('#backImage').remove();
	$shj('#sztxt').remove();
	$shj('#szbg').remove();
	$shj('#szdiaozhui').remove();
	$shj('#szdeco').remove();
	$shj('#szdeco2').remove();
	$shj('#sztxtdeco').remove();
	$shj('#szmask').remove();
	$shj('#szeffect').remove();
	$shj('#btnPasteQQ').attr('disabled', 'disabled');
	$shj('#btnSaveLocal').attr('disabled', 'disabled');
	
	// 初始化szg对象
	szg = {'fontface':'fzpwf.ttf', 'fontsize':'30', 'fontstyle':'1', 'alpha':'100', 
		'txteffect':'0', 'fontcolor':'#FF0066', 'effectcolor':'#00ff00',
		'txtcontent':'QQ图闪图设计', 'txtX':'140', 'txtY':'126', 'bg':bg_init, 'bgX':'55', 'bgY':'35', 'diaozhui':diaozhui_init, 'diaozhuiX':'75', 'diaozhuiY':'45',
		'deco':deco_init, 'decoX':'35', 'decoY':'15', 'deco2':'0', 'deco2X':'20', 'deco2Y':'20', 'txtdeco':'0', 'txtdecoX':'0', 'txtdecoY':'0', 'mask':mask_init, 'effect':effect_init, 'isreload':'0', 'iswatermark':'1'};
}

function gen_auth_img()
{
	$shj('#authimg').attr('src', '../authcode.php');
}

function sz_slt_img(t, i) {
	switch(t) {
		case '1':
			if (i == '000') {
				$shj('#szbg').html('');
				szg.bg = '0';
			} else {
				$shj('#szbg').html('<img src="'+i+'" />');
				szg.bg = i;
			}
			break;
		case '2':
			if (i == '000') {
				$shj('#szdiaozhui').html('');
				szg.diaozhui = '0';
			} else {
				$shj('#szdiaozhui').html('<img src="'+i+'" />');
				szg.diaozhui = i;
			}
			break;	
		case '3':
			if (i == '000') {
				$shj('#szdeco').html('');
				szg.deco = '0';
			} else {
				$shj('#szdeco').html('<img src="'+i+'" />');
				szg.deco = i;
			}
			break;		
		case '4':
			if (i == '000') {
				$shj('#szdeco2').html('');
				szg.deco2 = '0';
			} else {
				$shj('#szdeco2').html('<img src="'+i+'" />');
				szg.deco2 = i;
			}
			break;	
		case '5':
			if (i == '000') {
				$shj('#sztxtdeco').html('');
				szg.txtdeco = '0';
			} else {
				$shj('#sztxtdeco').html('<img src="'+i+'" />');
				szg.txtdeco = i;
			}
			break;	
		case '6':
			if (i == '000') {
				szg.mask = '0';
			} else {
				szg.mask = i;
			}
			break;		
		case '7':
			if (i == '000') {
				$shj('#szeffect').remove();
				szg.effect = '0';
			} else {
				if ($shj('#szeffect').attr('id') == undefined)
					dd('szeffect', 'workarea', '<img src="/design/sucai/effect/001.gif" />', '0', '0');
				else {
					$shj('#szeffect').html('<img src="'+i+'" />');
				}
				szg.effect = i;
			}
			break;				
		default:
			break;
	}
}

function printvar() {
	alert(szg.bg+':'+szg.deco2+':'+szg.mask+':'+szg.effect+':'+szg.isreload+':'+szg.fontstyle);
}

function gobackSZForm() {
	resetSZForm();

	szg.bg == '0' ? bg = '' : bg = '<img src="'+szg.bg+'" />';
	dd('szbg', 'workarea', bg, szg.bgX, szg.bgY); // background 

	szg.diaozhui == '0' ? diaozhui = '' : diaozhui = '<img src="'+szg.diaozhui+'" />';
	dd('szdiaozhui', 'workarea', diaozhui, szg.diaozhuiX, szg.diaozhuiY); // pendant

	szg.deco == '0' ? deco = '' : deco = '<img src="'+szg.deco+'" />';
	dd('szdeco', 'workarea', deco, szg.decoX, szg.decoY); // decoration

	szg.deco2 == '0' ? deco2 = '' : deco2 = '<img src="'+szg.deco2+'" />';
	dd('szdeco2', 'workarea', deco2, szg.deco2X, szg.deco2Y); // deco2

	szg.txtdeco == '0' ? txtdeco = '' : txtdeco = '<img src="'+szg.txtdeco+'" />';
	dd('sztxtdeco', 'workarea', txtdeco, szg.txtdecoX, szg.txtdecoY); // text deco
	// mask
	//dd('szeffect', 'workarea', '<img src="/design/sucai/effect/001.gif" />', '0', '0'); // blink


	dd('sztxt', 'workarea', szg.txtcontent, szg.txtX, szg.txtY);

	$shj('#sztxt').css({'fontFamily':mapfontfamily(szg.fontface)})
				  .css({'fontSize':szg.fontsize+'px'})
				  .css({'color':szg.fontcolor});
	szg.isreload = '0';
}

function init_workarea() {
		dd('szbg', 'workarea', '<img src="'+bg_init+'" />', '55', '35'); // background 
		dd('szdiaozhui', 'workarea', '<img src="'+diaozhui_init+'" />', '75', '45'); // pendant
		dd('szdeco', 'workarea', '<img src="'+deco_init+'" />', '35', '15'); // decoration
		dd('szdeco2', 'workarea', '', '20', '20'); // deco2
		dd('sztxtdeco', 'workarea', '', '0', '0'); // text deco
		// mask
		//dd('szeffect', 'workarea', '<img src="/design/sucai/effect/001.gif" />', '0', '0'); // blink


		dd('sztxt', 'workarea', 'QQ图闪图设计', '140', '126');

		$shj('#sztxt').css({'fontFamily':'方正胖娃繁体'})
					  .css({'fontSize':'30px'})
					  .css({'color':'#FF0066'});
		szg.isreload = '0';
}

function copyToClipboard(meintext) 
{
	if (window.clipboardData)
	{
		window.clipboardData.setData("Text", meintext);
		alert('地址复制成功,现在就通过QQ或MSN发送给你的好友,\n或者粘贴到您的博客空间一起分享快乐吧. ^_^');
	}
	else 
	{
		alert('对不起,浏览器不支持直接复制.\n请选择地址,然后右键点击复制,然后发送给您的好友. ^_^');
	}
}

var _st = window.setTimeout; 
window.setTimeout = function(fRef, mDelay) { 
 if(typeof fRef == 'function'){ 
  var argu = Array.prototype.slice.call(arguments,2); 
  var f = (function(){ fRef.apply(null, argu); }); 
  return _st(f, mDelay); 
 } 
 return _st(fRef,mDelay); 
}    

var iTime;
function enable_btn_pri(i, id, txt) {
	if (i==0) {
		$shj('#'+id).removeAttr('disabled').val(txt);
		clearTimeout(iTime);
	}
	else {
		$shj('#'+id).val(txt+"("+i+")");
		i-=1;
		setTimeout(enable_btn, 1000, i, id, txt);
	}
}

function enable_btn(i, id, txt) {
	iTime = setTimeout(enable_btn_pri, 0, i, id, txt);
}

function addqq()
{
	d=document;
	t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');
	void(vkey=window.open('http://shuqian.qq.com/post?title='+encodeURIComponent(d.title)+'&uri='+encodeURIComponent(d.location.href)+'&jumpback=2&noui=1','favit','width=930,height=470,left=50,top=50,toolbar=no,menubar=no,location=no,scrollbars=yes,status=yes,resizable=yes'));
	vkey.focus();
}

function addfav() {
	var name='QQ图-闪字,闪图,网络证件在线制作生成';
	var url='http://www.qqtu.com';
	if ( window.sidebar && "object" == typeof( window.sidebar ) && "function" == typeof( window.sidebar.addPanel ) )
	{
		//  firefox
		window.sidebar.addPanel(name,url, '' );

	}
	else if ( document.all && "object" == typeof( window.external ) )
	{

		//  ie                
		window.external.addFavorite(url, name);
	}
}

function setHomePage(){
	$shj('#sethomepage')[0].style.behavior='url(#default#homepage)';
	$shj('#sethomepage')[0].setHomePage('http://www.qqtu.com');
}

function back_top() {
 var x1 = x2 = x3 = 0;
 var y1 = y2 = y3 = 0;

 if (document.documentElement) {
 x1 = document.documentElement.scrollLeft || 0;
 y1 = document.documentElement.scrollTop || 0;
 }

 if (document.body) {
 x2 = document.body.scrollLeft || 0;
 y2 = document.body.scrollTop || 0;
 }

 x3 = window.scrollX || 0;
 y3 = window.scrollY || 0;

 var x = Math.max(x1, Math.max(x2, x3));
 var y = Math.max(y1, Math.max(y2, y3));

 window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));

 if (x > 0 || y > 0) {
 window.setTimeout("back_top()", 30);
 }
}

function highlight_menu(id) {
	m = 'nav'+id;
	$shj('#menu a').each(function(){
		if ($shj(this).attr('id') == m)
			$shj(this).removeClass('no').addClass('selected');
		else
			$shj(this).removeClass('selected').addClass('no');
	});
}

function CopyImage(img)
{
 if (img.tagName != 'IMG') return;
 var imgsrc = img.src;
 if(imgsrc.indexOf('waitsz.gif')>0){
 alert('请稍等，图片还没有生成');
 return;
 }
 if (typeof img.contentEditable == 'undefined' || !document.body.createControlRange){
 alert('抱歉，浏览器不支持直接复制图片！\n请将鼠标移到图片上方，单击鼠标右键在弹出菜单中选择“复制”');
 }else{
 var ctrl = document.body.createControlRange();
 img.contentEditable = true;
 ctrl.addElement(img);
 ctrl.execCommand('Copy');
 img.contentEditable = false;
 alert('复制完成，到QQ对话框里按Ctrl-V就可以啦！\n\n若不能粘贴请重复尝试或用鼠标右键选复制');
 }
}

function SaveImage(img){
 if (typeof img == 'object')
 	img = img.src;
 window.win = open(img);
 setTimeout(function() {win.document.execCommand('SaveAs')}, 200);
}

function generateshanzi() {
	var text = $shj('#txtContent').val();
	if (text.length <= 0)
	{
		alert('闪图内容不能为空');
		return;
	}
	
	szg.txtcontent = text;
	szg.txtX = $shj('#sztxtX').val();
	szg.txtY = $shj('#sztxtY').val();
	szg.bgX = $shj('#szbgX').val();
	szg.bgY = $shj('#szbgY').val();
	szg.diaozhuiX = $shj('#szdiaozhuiX').val();
	szg.diaozhuiY = $shj('#szdiaozhuiY').val();
	szg.decoX = $shj('#szdecoX').val();
	szg.decoY = $shj('#szdecoY').val();
	szg.deco2X = $shj('#szdeco2X').val();
	szg.deco2Y = $shj('#szdeco2Y').val();
	szg.txtdecoX = $shj('#sztxtdecoX').val();
	szg.txtdecoY = $shj('#sztxtdecoY').val();
	
	$shj('#workarea').html('<img id="backImage" src="/images/waitsz.gif" />');
	$shj('#btnGenDiySZ').attr('disabled', 'disabled');
	$shj.post('/ajax/diysz.php', {'action':'make', 'p':$shj.toJSON(szg), 't':text}, function(res){
		eval('var o='+res);
		alert('闪图生成成功!');
		$shj('#workarea').css({'background':'none'});
		$shj('#backImage').attr('src', o.imgsrc);
		$shj('#genimg').val(o.imgsrc);
		$shj('#btnPasteQQ').removeAttr('disabled');
		$shj('#btnSaveLocal').removeAttr('disabled');
		enable_btn(10, 'btnGenDiySZ', '生成闪图');
		szg.isreload = '1';
	})
}


// 保存到服务器 预保存
function PreSave2Serv() {
	// 先判断是否已经生成了临时图片
	var genimg = $shj('#genimg').val();
	if (genimg.length <= 0)
	{
		alert('请先生成图片.');
		return false;
	}

	$shj('#liWatermark').show();
}


function Save2Serv() {
	var genimg = $shj('#genimg').val();
	if (genimg.length <= 0)
	{
		alert('请先生成图片.');
		return false;
	}

	var authcode = $shj('#tbxAuthcode').val();
	if (authcode.length <= 0)
	{
		alert('请输入验证码.');
		return false;
	}
	
	var text = $shj('#txtContent').val();

	$shj('#btnSaveServ').attr('disabled', 'disabled');
	$shj.post('/ajax/diysz.php', {'action':'save', 'genimg':genimg, 't':text, 'authcode':authcode}, function(res){
		if (res == 'error code')
		{
			alert('验证码不正确, 请重新输入验证码');
			return false;
		}
		else {
			eval('var o='+res);
			alert('保存到服务器成功!');
			enable_btn(10, 'btnSaveServ', '保存到服务器');
			$shj('#genimg').val('');
			$shj('#myspanBlogCopy').text('[img]'+o.imgsrc+'[/img]');
			$shj('#myspanPicCopy').text(o.imgsrc);
			$shj('#myspanUrl').text(o.pagepath);
			$shj('#myspanUrl').show().click(function() {window.location.href = o.pagepath; });
			$shj('#copymisc').show('slow');	
			gen_auth_img();
			$shj('#liWatermark').hide();
		}
	})
}