﻿
// 修复 IE 下 PNG 图片不能透明显示的问题
function fixPNG(myImage)
{
var arVersion = navigator.appVersion.split("MSIE");
var version = parseFloat(arVersion[1]);
if ((version >= 5.5) && (version < 7) && (document.body.filters))
{
var imgID = (myImage.id) ? "id='" + myImage.id + "' " : "";
var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : "";
var imgTitle = (myImage.title) ? "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' ";
var imgStyle = "display:inline-block;" + myImage.style.cssText;
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + myImage.width
+ "px; height:" + myImage.height
+ "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + myImage.src + "\', sizingMethod='scale');\"></span>";
myImage.outerHTML = strNewHTML;
}
}

var current = null;
var dragging = false;
var startedDragging = false;
function setCurrent(w)
{
 if (w != current)
 {
 // unset old current
 if (current)
 current.className = 'window';
 // set current
 current = w;
 current.className = 'current window';
 // put current on top
 document.getElementById("windows").appendChild(current);
 }

 // init drag
 var offsetX = event.x - parseInt(w.currentStyle.left);
 var offsetY = event.y - parseInt(w.currentStyle.top);
 if (offsetY < 80)
 {
 dragging = true;
 dragEffect = function()
 {
 w.style.pixelLeft = event.x - offsetX;
 w.style.pixelTop = event.y - offsetY;
 }
 } 
 else 
 {
 var width = parseInt(w.currentStyle.width);
 var resizeX = offsetX > width - 10;
 var height = parseInt(w.currentStyle.height);
 var resizeY = offsetY > height - 10;
 if (resizeX || resizeY)
 {
 dragging = true;
 var offsetX = event.x - width;
 var offsetY = event.y - height;

 dragEffect = function()
 {
 if (resizeX)
 w.style.pixelWidth = event.x - offsetX;
 if (resizeY)
 w.style.pixelHeight = event.y - offsetY;
 }
 }
 } 
}

function calcResize(w)
{
 var offsetX = event.x - parseInt(w.currentStyle.left);
 var offsetY = event.y - parseInt(w.currentStyle.top);
 var width = parseInt(w.currentStyle.width);
 var resizeX = offsetX > width - 10;
 var height = parseInt(w.currentStyle.height);
 var resizeY = offsetY > height - 10;
 w.style.cursor = (resizeX||resizeY)?(resizeY?"S":"")+(resizeX?"E":"")+"-resize":"default";
}

var dragEffect;
function moveCurrent()
{
 if (!dragging || !current)
 return;
 
 if (event.button == 0)
 {
 releaseCurrent();
 return;
 }
 
 if (!startedDragging)
 {
 current.className = 'dragging current window';
 startedDragging = true;
 }
 
 dragEffect();
}

function releaseCurrent()
{
 if (!current)
 return;
 
 current.className = 'current window';
 dragging = false;
 startedDragging = false;
}

function makeUnselectable(e)
{
 e.unselectable=true;
 if (e.className == 'content')
 return;
 
 for (var c=e.firstChild;c;c=c.nextSibling)
 if (c.nodeType == 1)
 makeUnselectable(c);
}