//js文档
function g(){//开始
window.w=$(window).width();window.h=$(window).height();window.save_time=0;//自动保存时间
window.zindex=1;window.blog_opacity=0.7;
if(!$.support.opacity){window.blog_opacity=1;}
window.bg_num=(new Date).getTime();
window.obj_html='点击添加内容';//默认背景添加所放置的内容

$('#main').css('height',h+'px');
$('#ac,#main').html('');
//document.oncontextmenu=function(){return false;}//取消右键
tool();
$.getJSON('ac.php?ac=obj&callback=?',function(data){window.obj=data;
//$.getJSON('ac.php?ac=win&u='+window.user_info.u_id+'&callback=?',function(data){window.wins=data;show_win();});//获取用户窗口数据		
change_user();
if(window.save_time>0){setInterval('auto_save()',window.save_time);}
});//获取窗口数据
}

function change_user(ac){//用户登录
//获取数据
$('.w').remove();
if(ac){$('#bg').remove();
var path='./users/'+Math.ceil(window.user_info.u_id/100)
$('#ac').load(path+'/'+window.user_info.u_id+'_0',function(){$('body').prepend($(this).html());$(this).html('');pg();});
$('#main').html('');
//$('#main').load('ac.php?ac=blog_list&u_id='+window.user_info.u_id,function(){blog_start();});
}else{pg();}
$('#main .win').remove();
var m=$('#bg').attr('m');
if(window.is_login>0 || m!='h'){
$('#main').css('background','url(image/close.png) no-repeat center');

$.getJSON('ac.php?ac=win&u='+window.user_info.u_id+'&callback=?',{'cache':false,'error':function(){$('#main').css('background','none');}},function(data){window.wins=data;
if(data){
$.each(window.wins,function(i,n){show_win(n);});
}});//获取用户窗口数
}
}


function pg(){//对页面进行处理
window.w=$(document).width();window.h=$(window).height();
var bg_w=$('#bg').attr('w');if(!bg_w){bg_w='100%';}else{
if(bg_w.indexOf('%')!=-1){bg_w=window.w*bg_w.replace('%','')/100;}
var bg_left=Math.ceil((window.w-bg_w)/2);
bg_w=bg_w+'px';
}
var bg_h=$('#bg').attr('h');if(!bg_h){bg_h=window.h;}else{if(bg_h.indexOf('100%')!=-1){bg_h=window.h.replace('%','')/100;}}
var o=$('#bg');
o.css({'height':bg_h+'px','width':bg_w,'left':bg_left});//文档高度
var bg_overflow=$('#bg').attr('o');
if(bg_overflow=='h'){o.css('overflow','hidden');}else{o.css('overflow','visible');}
}


function blog_start(){
$('#main .blog').each(function(){//$(this).removeAttr('href');
//$(this).find("span").click(function(){win('blog_view','body','w','include/blog/blog_view.php?id='+$(this).attr('i'));});
var t=$(this).attr('t');var l=$(this).attr('l');var r=$(this).attr('r');
var r_w=window.w-240;var r_t=window.h-240;
if(t=='r'){t=Math.ceil(Math.random()*r_t);}
if(l=='r'){l=Math.ceil(Math.random()*r_w);}
$(this).css('width','240px');
$(this).css({'left':l+'px','top':t+'px','opacity':blog_opacity,'visibility':'visible'});
$(this).mouseover(function(){window.zindex++;$(this).css('z-index',window.zindex);});
if(window.blog_opacity<1){
$(this).hover(function(){$(this).animate({'opacity':1},{duration:400});},function(){
$(this).animate({'opacity':blog_opacity},{duration:400}); 
});
}

$(this).draggable({containment:'#main',stop:function(){//停止拖拽时执行函数
if(is_l()){												 
if(window.save_time==0){win_save($(this),'blog_position');}else{$(this).attr('save',1);window.a_save=1;//需要保持位置的窗口
}//如果自动保存时间为0，则直接保存窗口位置
}
}});
});	
}

function auto_save(){//定时保存
if(window.a_save==1){
var s;
$('.blog_p_list').each(function(){//博客位置
s=$(this).attr('save');
if(s==1){win_save($(this),'blog_position');}
});
$('#main .win').each(function(){//博客位置
s=$(this).attr('save');
if(s==1){win_save($(this),'win_position');}
});
window.a_save=0;
}
}

function bg_start(){//初始化背景
$('#bg').css({'left':0,'top':0});
$('#bg .bg').each(function(){
var r=$(this).attr('rotate');
if(r>0){rotate($(this),r);}
});
}

$(document).ready(function(){
g();bg_start();//blog_start();
});
$(window).resize(function(){//窗口大小
pg();
$('#main').css('height',h+'px');tool(1);
}); 



function show_win(n){//显示应用
var id=n.id;var data=n.data;var d;eval('d=window.obj.w'+n.obj);
win('win_'+id,'#main','win','');
var o=$('#win_'+id);
if(o.length>0){o.attr('data',data);o.attr('obj',obj);o.attr('i',n.id);
o.css({'width':d.width+'px','height':d.height+'px','left':n.left+'px','top':n.top+'px'});
var h='<div class="win_bar"><a style="background:url(./image/toolbar.png) right no-repeat" title="关闭窗口" onclick="win_close('+id+')" class="close"></a>';
if(d.cfg){h+='<a style="background:url(./image/cfg.png) no-repeat" title="设置"  class="cfg"></a>';}
if(d.reload){h+='<a style="background:url(./image/toolbar.png) no-repeat" title="重新载入" class="reload"></a>';}
h+='</div>';
o.prepend(h);
$('#win_'+id).hover(function(){
$('#win_'+id+' .win_bar').fadeIn(200);window.zindex++;
$(this).css('z-index',window.zindex+1000);
},function(){$('#win_'+id+' .win_bar').fadeOut(200);});
//工具栏
$('#win_'+id).draggable({containment:'#main',stop:function(){//停止拖拽时执行函数
if(is_l()){
if(window.save_time==0){
win_save($(this),'win_position');}else{$(this).attr('save',1);window.a_save=1;//需要保持位置的窗口
}//如果自动保存时间为0，则直接保存窗口位置
}
}});
$('#win_'+id+' .l').load(d.url,{'id':id,'data':data,'u_id':window.user_info.u_id},function(){//读取数据
});
}
}

function win_close(id){
var o=$('#win_'+id);
if(o.length>0){warning('删除该应用后将无法恢复，是否确定！');
$('#warning .warning_ok').click(function(){
if(is_l()){
$('#ac').load('ac.php?ac=win_del&id='+id,function(d){
if(d=='ok'){o.fadeOut(300);}
});	
}else{o.fadeOut(300);}
$('#warning').fadeOut(300);
});
}
}

function warning(t){
$('#warning').remove();
$('body').append('<div id="warning"><a>'+t+'</a><span class="warning_ok"></span><span onclick="$(\'#warning\').fadeOut(300)"></span></div>');
middle($('#warning'));$('#warning').draggable();
}

function win_save(o,ac){
if(is_l()){
var p=o.position();var r=o.attr('r');if(!r){r=0;}var w=o.width();if(!w){w=250;}
$('#ac').load('ac.php?ac='+ac+'&id='+o.attr('i'),{'left':p.left,'top':p.top,'r':r,'w':w},function(d){
if(d=='ok'){o.removeAttr('save');}																						
});
}
}


function tool(m){//工具栏
if(m){
var o=$('#tool');var o_w=o.width();
var l=Math.ceil(($('body').width()-o_w)/2);
o.css('left',l+'px');//工具栏剧中
}else{login();}
}

function is_l(){//是否登录
if(window.is_login==0){
win("login_box","body","w","./include/login/");return false;
}else{return true;}
}

function login(){//登录
if(window.is_login>0){
$('#tool .t_m').load('include/tool.php?ac=login',function(){tool(1);});	
}else{$('#tool .t_m').load('include/tool.php?ac=unlogin',function(){tool(1);});}
}



function ac(v){$('#ac').html(v);;	}//ac值

function middle(o){//剧中
//var p=o.offset();
var l=Math.ceil((window.w-o.width())/2);
var t=Math.ceil((window.h-o.height())/2);
o.css({'left':l+'px','top':t+'px'});

}

$(document).keydown(function(event){
if(window.obj_now){var o=window.obj_now;var p=o.position();
$('#ac').html(event.keyCode);
switch(event.keyCode){
case 46:obj_remove();obj_info();break;
case 187:o.css('zoom',(o.css('zoom')+0.02));obj_info();break;//放大 +
case 37:o.css('left',(p.left-1)+'px');obj_info();break;
case 38:o.css('top',(p.top-1)+'px');obj_info();break;
case 39:o.css('right',(p.left+1)+'px');obj_info();break;
case 40:o.css('top',(p.top+1)+'px');obj_info();break;
}}
});

function win(id,p,c,url){//窗口,p是父窗口,c为class
var o=$('#'+id);o.remove();
if(!p){p='body';}
$(p).append('<div id="'+id+'" class="'+c+'"><div class="l"></div></div>');
if(url){$('#'+id+' .l').load(url,{'id':id});}
}


function msg(ac,m){var o=$('#msg');
o.remove();
$('body').append('<div id="msg" style="background:url(image/msg_'+ac+'.png) no-repeat"><span onclick="$(\'#msg\').remove()"></span><a>'+m+'</a></div>');
var o=$('#msg');
middle(o);
o.fadeIn(300);
o.draggable({containment:'parent'});
setTimeout('$("#msg").fadeOut(300)',1000);
}

function bg_edit(icon){//修改背景
if(is_l()){
$('#main').css('display','none');
$('.w').remove();
var o=$('#bg');
if(o.length==0){$('#main').prepend('<div id="bg"></div>');}
$('#bg .bg').each(function(){bg_obj($(this));});
win('bg_edit','body','w','include/bg/bg_edit.php');
//对按钮进行设置
icon.css('background','url(image/save.png) no-repeat');
icon.attr('title','保存修改背景');
icon.removeAttr('onclick');
icon.bind('click',function(){obj_save();});
}
}


function obj_save(){//保存背景

var h=$('#bg').html();if(h==''){msg('err','背景内容为空，背景保存失败');}else{//alert($('#bg').attr('w'));
var bg_w=$('#bg').attr('w');if(!bg_w){bg_w='100%';}
var bg_h=$('#bg').attr('h');if(!bg_h){bg_h='100%';}
var bg_o=$('#bg').attr('o');if(!bg_o){bg_o='s';}
var bg_m=$('#bg').attr('m');if(!bg_m){bg_m='s';}
h='<div id="bg" w="'+bg_w+'" w="'+bg_h+'" o="'+bg_o+'" m="'+bg_m+'">'+h+'</div>';
$('#ac').load('ac.php?ac=bg_save',{'bg':h},function(){
msg('success','背景保存成功');
$('.w').remove();
var icon=$('.bg_edit_icon');
icon.css('background','url(image/bg_edit.png) no-repeat');
icon.attr('title','修改背景');
icon.unbind();
icon.bind('click',function(){bg_edit($(this));});
$('#main').fadeIn(300);
});	
}

}

function bg_obj(o){//对bg的舞台进行处理
o.mousedown(function(){
window.obj_now=o;
var id=o.attr('id');
obj_select($('.'+id+' a'),id);
});
}

function obj_select(o,id){var obj=$('#'+id);
if(obj.length>0){window.obj_now=obj;
obj.draggable({drag:function(){obj_info(this);}});
//if(window.obj_now.attr('id')!=id || !window.obj_now){
//o.effect('transfer',{to:'#'+id,'className':'transfer'},1000);
}
$('.layer a').css('color','#666');
o.css('color','#c00');
window.obj_now=obj;
obj_info();
//}
}



function obj_info(){//查询内容
var o=window.obj_now;
if(o){
var p=o.position();var z=o.css('zoom');
if(z.indexOf('px')!=-1){//z=z.replace('px','');
var z=Math.round((z.replace('px','')/window.w) * 100); 
z=z/100;
}
if(!z || z=='normal'){z=1;}

$('#obj_left').val(p.left);$('#obj_top').val(p.top);
$('#obj_zindex').val(o.css('z-index'));
$('#obj_width').val(Math.floor(o.width()*z));$('#obj_height').val(Math.floor(o.height()*z));
var r=o.attr('rotate');
if(!r){r=0;}
$('#obj_rotate').val(r);
$('#size_box a').css('left',z*78+'px');
}
}



function obj_add(){
window.bg_num++;
$('#bg').append('<div id="obj'+window.bg_num+'" class="bg">'+window.obj_html+'</div>');				 
window.obj_now=$('#obj'+window.bg_num);
bg_obj(window.obj_now);obj_info();
var id=window.obj_now.attr('id');
$('.layer').append('<div class="'+id+'"><a onclick="obj_select($(this),\''+id+'\');">'+id+'</a><span style="background:url(./image/toolbar.png) no-repeat right" title="删除" onclick="window.obj_now=$(\'#'+id+'\');obj_remove();"></span><span style="background:url(./image/toolbar.png) no-repeat -58px 0" title="取消/恢复移动" onclick="obj_drag($(this),\''+id+'\');" d="true"></span></div>');
}

function obj_remove(){//删除
var id=window.obj_now.attr('id');
	window.obj_now.fadeOut(300,function(){$(this).remove();});
	//如果正在查看列表，则删除列表
	$('.layer .'+id).remove();
	window.obj_now=false;}
	
function rotate(o,r){//旋转
if(r>360){r=0;}
if(o){
var deg=Math.PI*2/360*r;
var s=Math.sin(deg);
var c=Math.cos(deg);
var xs=-s.toString();
o.css({'-webkit-transform':'rotate('+r+'deg)','-moz-transform':'rotate('+r+'deg)','filter':'progid:DXImageTransform.Microsoft.Matrix(M11='+c+',M12='+xs+',M21='+s+',M22='+c+',SizingMethod="auto expand")','-o-transform':'rotate('+r+'deg)'});
}
}
		

