// +----------------------------------------------------------------------
// | @copyright Lianwo168
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://lianwo168.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 无线业务
// +----------------------------------------------------------------------
// | Author: 赵桓
// +----------------------------------------------------------------------

/**
 +------------------------------------------------------------------------------
 * @describe BAC首页
 * 描述:本脚本将portal所有模块的数据配置、管理，故将整个程序划分为：加载数据、绑定事件、增加
 * 模块数据、保存模块数据、构建最终数据结构、存储数据，每个函数已经做了简单说明
 +------------------------------------------------------------------------------
 * @author    赵桓<if1983@126.com>
 * @version   1.0 2013-12
 +------------------------------------------------------------------------------
 */
;(function(){
	window.portalmanage={
		init:function(){
			
			var data=util.getPortal();
			if(data)
				CONFIG.portal=data;
			portalmanage.layout();
			portalmanage.common();
			portalmanage.bind();

		},
		bind:function(){
			$('#btn_savefocus').unbind('click').click(function(){
				portalmanage.savefocus();
			});
			$('a[node-type="add_pictxt"]').unbind('click').click(function(){
				portalmanage.addpictxt($(this));
			});
			$('a[node-type="save_pictxt"]').unbind('click').click(function(){
				var ob=$(this).parent().prev().prev().find('li .text');
				var nd=ob.attr('node-data');
				var txt=ob.val();
				if(txt==''){
					alert('亲！标题不能为空啊！');
					ob.focus();
					return;
				}
				if(txt.length>4&&nd!='focus'){
					alert('标题不能超过4个汉字！');
					ob.focus();
					return;
				}
				if(txt.length>10&&nd=='focus'){
					alert('亲！网吧名称不能超过10个汉字！');
					ob.focus();
					return;
				}
				portalmanage.savepictxt($(this));
			});
			$('a[node-type="pictxt_del"]').unbind('click').click(function(){
				if(confirm('确认要删除么?')){
					var liitem=$(this).parent().parent();
					var licount=liitem.parent().find('li').size();
					if(licount>1){
						liitem.remove();
					}else{
						alert('亲！还剩下一个了，你删不了了！');
					}
				}
			});
			$('#btn_addalbum').unbind('click').click(function(){
				portalmanage.addalbum();
			});
			$('#btn_savealbum').unbind('click').click(function(){
				portalmanage.savealbum();
			});

			//图文编辑提示文字
			$('.teletext-list .text-area-tips').unbind('click').click(function () {
				$(this).hide().siblings('.text-area').focus();
			});

			$('.teletext-list .text-area').unbind('blur').blur(function () {
				$(this).text($(this).val());
				if (!$(this).val()) {
					$(this).siblings('.text-area-tips').show();
				}
			});

			$('input[type="file"]').unbind('change').bind('change',function(){
				portalmanage.doupload($(this));
			});

			//图片上传删除按钮
			$('#focus-list li,.teletext-list .pic,#photo-list li').hover(function () {
				//console.log($(this).has('img'));
				var src=$(this).find('img').eq(0).attr('src');
				if(src!=''){
				if ($(this).has('img')) {
						$(this).children('i').show().unbind('click').bind('click',function(){
							if(confirm('确认要删除么?')){
								$(this).next().attr('src','').hide();
								$(this).hide();
								$(this).parent().unbind('hover');
								var node=$(this).attr('node-type');
								if(node=='album'){
									$(this).parent().remove();
								}
							}
							
						});
					}
			    }
			}, function () {
				$(this).children('i').hide();
			});

			$('a[node-type="moveprev"]').unbind('click').bind('click',function(){
				jQuery.scrollup($(this),2,'li','portalmanage.bind()');
			});

			$('a[node-type="movenext"]').unbind('click').bind('click',function(){
				jQuery.scrolldown($(this),2,'li','portalmanage.bind()');

			});

			$('#btn_delalbum').unbind('click').bind('click',function(){
				$('#photo-list img').each(function(){
					var src=$(this).attr('src');
					//console.log(src);
					if(src==''){
						$(this).parent().remove();
					}
				});
			});
			

			/*$('label').on('click', function(e) {
			    //e.preventDefault();
			    $(this).find('input[type=file]').trigger('click');
			    //console.log($(this).find('input[type=file]').attr('id'));
			});*/
		},
		layout:function(){
			var nodedata='';
			if(CONFIG.portal.focus!=''){
				nodedata='[node-data="focus"]';
				$('input'+nodedata).eq(0).val(CONFIG.portal.focus.title);
				var focus_imgs=CONFIG.portal.focus.imgs;
				$('#focus-list').find('img').each(function(i){
					$(this).attr('src',focus_imgs[i]).show();
				});
			}

			if(CONFIG.portal.about!=''){
				var tpl=$('#tpl_pictxt').html();
				var html='';
				var data=CONFIG.portal.about.data;
				for(key in data){
					var item=data[key];
					html+=util.sprintf(tpl,'about',key,item.img,item.title,'');
				}
				nodedata='[node-data="about"]';
				$('input'+nodedata).eq(0).val(CONFIG.portal.about.title);
				$('em'+nodedata).eq(0).text(CONFIG.portal.about.title);
				$('span'+nodedata).eq(0).attr('class',CONFIG.portal.about.logo);
				$('ul[node-data="about"]').html(html);
				$('li[node-data="about"]').eq(0).text(CONFIG.portal.about.title);
			}

			if(CONFIG.portal.discount!=''){
				html='';
				data=CONFIG.portal.discount.data;
				for(key in data){
					item=data[key];
					html+=util.sprintf(tpl,'discount',key,item.img,item.title,'');
				}
				nodedata='[node-data="discount"]';
				$('input'+nodedata).eq(0).val(CONFIG.portal.discount.title);
				$('em'+nodedata).eq(0).text(CONFIG.portal.discount.title);
				$('span'+nodedata).eq(0).attr('class',CONFIG.portal.discount.logo);
				$('ul[node-data="discount"]').html(html);
				$('li[node-data="discount"]').eq(0).text(CONFIG.portal.discount.title);
			}

			if(CONFIG.portal.album!=''){
				html='';
				tpl=$('#tpl_album').html();
				data=CONFIG.portal.album.data;
				for (key in data) {
					item=data[key];
					html+=util.sprintf(tpl,key,item);
				};
				nodedata='[node-data="album"]';
				$('input'+nodedata).eq(0).val(CONFIG.portal.album.title);
				$('#photo-list').html(html);
				$('li[node-data="album"]').eq(0).text(CONFIG.portal.album.title);
			}
		},
		addalbum:function(){
			var tpl=$('#tpl_album').html();
			tpl=util.sprintf(tpl,util.rand(),'');
			$('#photo-list').append(tpl);
			portalmanage.bind();
		},
		addpictxt:function(obj){
			var node=$(obj).attr('node-data');
			var mod=util.getParam(node,'module');
			var tpl=$('#tpl_pictxt').html();
			var html=util.sprintf(tpl,mod,util.rand(),'','',CONFIG.prompt);
			$('ul[node-data="'+mod+'"]').eq(0).append(html);
			portalmanage.bind();
		},
		savealbum:function(){
			var images=new Array();
			var title=$('input[node-data="album"]').eq(0).val();
			$('#photo-list').find('img').each(function(){
				var url=$(this).attr('src');
				images.push(url);
			});
			CONFIG.portal.album={
				title:title,
				data:images
			};
			portalmanage.updatedata();
		},
		savepictxt:function(obj){
			var node=$(obj).attr('node-data');
			var mod=util.getParam(node,'module');
			var data=new Array();
			var nodedata='[node-data="'+mod+'"]';
			var title=$('input'+nodedata).eq(0).val();
			var icon=$('span'+nodedata).eq(0).attr('class');
			$('ul'+nodedata).find('li').each(function(){
				var img=$(this).find('img').eq(0).attr('src');
				var txt=$(this).find('textarea').val();
				data.push({
					title:txt,
					img:img
				});
				
			});
			if(data.length==1&&data[0]['img']==''){
				alert('请至少上传一张图片');
				return;
			}
			var content={
					title:title,
					logo:icon,
					data:data
				};
			if(mod=='about'){
				CONFIG.portal.about=content;
			}else{
				CONFIG.portal.discount=content;
			}
			portalmanage.updatedata();
		},
		savefocus:function(){
			var imgs=new Array();
			$('#focus-list').find('img').each(function(){
				var imgurl=$(this).attr('src');
				if(imgurl!='')
					imgs.push(imgurl);
			});
			CONFIG.portal.focus={
				title:$('#txt_focustitle').val(),
				imgs:imgs
			}
			if(CONFIG.portal.focus.imgs.length<3){
				alert('请至少上传三张轮播图');
				return;
			}
			portalmanage.updatedata();
		},
		updatedata:function(){
			$.ajax({ //这里使用到Jquery的ajax方法
				type: "GET", 
				dataType: "json", //json
				url: "/updateportal?t="+util.rand(), //请求的处理数据 
				data: {"tname":'1',"title":'1',"content":'1',"ext":util.arrayToJson(CONFIG.portal)},
				success: function(data) {	
					if(data.code == 0){
						alert("保存成功！");
					}else{
						alert("保存失败！");
					}
				  } 
			});
		},
		doupload:function(obj,mod){
			var ext=util.getFileExt(obj);
			CONFIG.filename=new Date().format('yyyyMMddhhmmss')+'.'+ext;
			CONFIG.uploadid=obj.attr('id');
			$.ajaxFileUpload({
				url:CONFIG.upload+CONFIG.filename,
				secureuri:false,
				fileElementId:CONFIG.uploadid,
				dataType: 'json',
				success: function (re, status)
				{
					if(re.code==0){
						$('#'+CONFIG.uploadid).parent().parent().find('img:eq(0)').attr('src',CONFIG.imgdir+CONFIG.filename).show();
					}else{
						alert(re.errmsg);
					}
					portalmanage.bind();
				},
				error: function (data, status, e)
				{
					alert(e);
					portalmanage.bind();
				}
			});
		},
		common:function(){
			//portal设置主选项卡切换
			$('#portal-set-tabs li').click(function () {
				var _this = $('#portal-set-tabs li').index(this);
				$('#portal-set-tabs li').removeClass('act').eq(_this).addClass('act');
				$('#portal-set-main .sub-portal-tab').removeClass('act').eq(_this).addClass('act');
			});

			//模块标题 图标修改
			$('.title-setting .text').blur(function () {
				var txt=$(this).val();
				var nodedata=$(this).attr('node-data');
				if(txt==''){
					alert('亲！标题不能为空啊！');
					$(this).focus();
					return;
				}
				if(txt.length>4&&nodedata!='focus'){
					alert('标题不能超过4个汉字！');
					$(this).focus();
					return;
				}
				if(txt.length>20&&nodedata=='focus'){
					alert('亲！网吧名称不能超过10个汉字！');
					$(this).focus();
					return;
				}
				
				$('li[node-data="'+nodedata+'"]').eq(0).text(txt);
				$(this).parents('.title-setting').find('.pic-tit').eq(0).text(txt);
			});

			$('.ico-setting .pic').hover(function () {
				if ($(this).has('.pic-change')) {
					$(this).children('.pic-change').show();
				}
			}, function () {
				if ($(this).has('.pic-change')) {
					$(this).children('.pic-change').hide();
				}
			});

			$('.ico-setting .pic-change').click(function () {
				$(this).parents('.pic').siblings('.pic-list').show();
			});
			$('.ico-setting .close-btn').click(function () {
				$(this).parents('.pic-list').hide();
			});
			$('.ico-setting .pic-list .pic').click(function () {
				$(this).parents('.ico-setting').find('.pic').eq(0).attr('class', $(this).attr('class'));
				$(this).parents('.pic-list').hide();
			});
		}
	};
})();