﻿/*
初始化简单弹出层
*/
bkwin = function(css,opt){
        opt=opt||{};
        var blg = jQuery(css),bg=blg[0].__bg,op=function(){},cl=function(){},no_shadow=opt.no_shadow;
        if(!bg&&!no_shadow){
            blg[0].__bg=bg=jQuery('<div class="dialogbg"/>')
        }
        if(opt.open)op=opt.open;
        if(opt.close)cl=opt.close;
        opt.close=function(event,ui){
            bg&&bg.hide();
            cl();
        }
        opt.open=function(event,ui){
            bg&&bg.show();
            op();
        }
        blg.dialog(opt).dialog('open');
        bkwin.resize(blg);
        _bkwin_load_win = blg;
        return blg;
}
/* 
设置大小尺寸
*/
bkwin.resize=function(blg){
    var blg=blg[0],dg = jQuery(blg.parentNode),offset = dg.offset(),bg=blg.__bg;
    if(!bg)return;
    bg.css({
        height:dg.height()+"px",
        width:dg.width()+"px",
        top:offset.top+11+"px",
        left:offset.left+10+"px"
    })
    jQuery(dg).before(bg)
    bg.css("zIndex",dg.css("zIndex"))
}

window.load=0;
_bkwin_load_win=0;
var isClick = true;	//双击事件弹出层无法关闭问题
bkwin.load = function(url,opt,data,func){
	if(isClick){
		if(typeof(data)=="function"){func=data;data={}};
		var load=bkwin(
		'<div><p style="text-align:center; font-size:12px; color:#F09;font-family: Verdana; padding-top:20px;">加载中,请稍等... </p></div>',
		{modal:false,draggable : false,resizable : false,width:360,height:200,title:"Load..."}
		)
		jQuery.ajax({
		    url:url,
		    data:data||{},
		    success:function(htm){
		    	isClick = true;
		    	load.dialog('close');
			    _bkwin_load_win=bkwin(htm,opt),
			    func&&func()
		    },
		    cache:false
		});
	}
	isClick = false;
}
bkwin.remove = function(){
	var bk = _bkwin_load_win[0];
	if(bk){
	var bk=jQuery(bk);
	bk.remove();
    jQuery(bk[0].__bg).remove();
    }
}
bkwin.close = function(bk){
   var bk=jQuery(bk);
   bk.dialog('close');
}
bkwin.load_close=function(){
    var bk = _bkwin_load_win[0];
    bkwin.close(bk);
    bkwin.remove();
}


/*
弹出图像层
*/
init_photo_box=function(dg,height,width,top_from,left_from,img_width,img_height){
    dg=jQuery(dg)
    var top_to=top_from+height,
    left_to=width+left_from,
    midt=top_to-height/2,midl=left_to-width/2,
    boximg = dg.find('.boximg').draggable(),
    imgsizer=dg.find('.imgsizer'),
    diff_height = img_height - height,diff_width=img_width-width;
    diff_height = diff_height==0?1:diff_height;
    diff_width = diff_width ==0?1:diff_width;
    wh=img_width/img_height;
    boximg[0].info=function(){
        var pos = boximg.position(),t=pos.top,l=pos.left;
        var time = boximg.height()/img_height;
        return {
            times:time,
            x1:left_from-l,
            y1:top_from-t,
            x2:left_to-l,
            y2:top_to-t
        };
    }
   // imgsizer.slider('value',50);
    
    var ihh = (img_height-height)*50/height;
    var iww = (img_width-width)*50/width;
    var sizerValue = ihh<=iww?ihh:iww;
    if(sizerValue>50)
    	sizerValue = 50;	
   	if(sizerValue==0)
   		sizerValue = 1;
    imgsizer.slider("value",sizerValue);
    imgsizer.slider('option','slide',
    function(event, ui) {
        imgsizer[0].resize(ui.value)
    });
    function dgc(w,h){
        var off = boximg.offset(),pos=boximg.position(),dl=off.left-pos.left,dt=off.top-pos.top;
        boximg.draggable('option','containment',[left_to-w+dl+1,top_to-h+dt,left_from+dl,top_from+dt])
    }
    dgc(img_width,img_height)
    var use_height = (img_width/width)>(img_height/height)
    imgsizer[0].resize = function (v){
        	//var v= v/50;
        	if(use_height){
	            h= diff_height*v/sizerValue+height,//img_height图片原始的高度,h拖过后的图片高
	            w=wh*h;
            }else{
            	//w = v*width/50+img_width;
            	w = diff_width*v/sizerValue+width;
            	h=w/wh;
            }
            now_h=boximg.height(),//now_h当前图片高
            now_w=boximg.width(),
            pos = boximg.position(),
            new_top=pos.top-(now_h-h)*(pos.top-midt)/now_h,
            new_left=pos.left-(now_w-w)*(pos.left-midl)/now_w,         
            css={
                height:h+"px",
                width:w+"px",
                top:new_top,
                left:new_left
            };
        if(new_top>top_from)css.top=top_from;
        if(new_top+h<top_to)css.top=top_to-h;
        if(new_left>left_from)css.left=left_from;
		if(new_left+w<left_to)css.left=left_to-w;
        css.top+="px";
        css.left+="px";        
        boximg.css(css);
        dgc(w,h)
   }
}

zoom = function(css,dir){
    var sr=jQuery(css),v="value",s=sr.find(".imgsizer"),nv=s.slider(v),av=nv+5*dir,av=av>0?(av>100?100:av):0;
    if(av==nv||!jQuery(".boximg")[0])return;
    sr.find(".imgsizer")[0].resize(av);
    s.slider(v,av);
}
preview = function(bg,type,zoom,flag){
    var bimg = jQuery(bg).find(".boximg")[0],info,s=[];
    if(bimg){
		try{
			document.getElementById('addPost').disabled = false;
		}catch(err){			}
		try{
			document.getElementById('updatePostCover').disabled = false;
		}catch(err){			}
		try{
			document.getElementById('btnSubmit').disabled = false;
		}catch(err){			}
        info = bimg.info();
        for(var i in info){s.push(info[i])};
		if(type==1)
			docrops(zoom,s,flag);
		else if(type==2)
			figureSubmit(s,flag);
		else if(type==3)
			docrop(s);
		else if(type==4)
			docropPost(s,"yulan");
    }else alert("请上传图片");
}