function $(id){
	return document.getElementById(id);
}
function xnmbfz(fz){
//复制   xnmb.net版权所有
	var t=document.getElementById(fz); 
              t.select(); 
              //IE            
              if(window.clipboardData) 
              {
                window.clipboardData.clearData();
                window.clipboardData.setData("Text", t.value);
              }
		//Opera浏览器
              else if(navigator.userAgent.indexOf("Opera") != -1) 
              {
		alert("抱歉:（ 复制失败!您的浏览器不支持，请手动复制");
		return;
              }
              //FireFox
              else if (window.netscape) 
              {
                  try 
                  {
                      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                  } 
                  catch (e) 
                  {
                      alert("您的firefox安全度非常高,请重新点击复制按钮,在弹出的安全提示框中选择‘是’即可完成复制");
                      return;
                  }
                  var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance
(Components.interfaces.nsIClipboard);
                  if (!clip)
                      return;
                  var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance
(Components.interfaces.nsITransferable);
                  if (!trans)
                      return;
                  trans.addDataFlavor('text/unicode');
                  var str = new Object();
                  var len = new Object();
                  var str = Components.classes["@mozilla.org/supports-string;1"].createInstance
(Components.interfaces.nsISupportsString);
                  var copytext = t.value;
                  str.data = copytext;
                  trans.setTransferData("text/unicode",str,copytext.length*2);
                  var clipid = Components.interfaces.nsIClipboard;
                  if (!clip)
                  return false;
                  clip.setData(trans,null,clipid.kGlobalClipboard);
              }
              alert("已复制颜色代码:"+t.value+" 至剪切板");
}
function QrPoint(_x,_y){
	this.x = _x;
	this.y = _y;
}
function isIE(){
	return window.ActiveXObject;
}
function setColor(event,id,bgcolor,code){
	if(event != 'transparent'){
		var d = getMousePoint(event,$(id));
		var picked = colorpicker(d.x,d.y).toUpperCase();
	}else{
		var picked = event;
	}

	$(code).value = picked;
	$(code).style.color = picked;
	//$(code).style.background = picked;
	$(bgcolor).innerHTML = picked;
	$(bgcolor).style.background = picked;
	//if(QrColorPicker.instanceMap[id].onChange){
	//	QrColorPicker.instanceMap[id].onChange(picked);
	//}
	return picked;
}
function getMousePoint(e,div){
	if(div){
		var da = getMousePoint(e);
		var db = getDivPoint(div);
		return new QrPoint(da.x-db.x,da.y-db.y);
	}
	
	if(isIE()){
		var p = getDivPoint(event.srcElement);
		return new QrPoint(p.x+ event.offsetX,p.y + event.offsetY);
	}else{
		return new QrPoint(e.clientX + document.body.scrollLeft,e.clientY + document.body.scrollTop);
	}
}
function getDivPoint(div){
	if(div.style && (div.style.position == "absolute" || div.style.position == "relative")){
		return new QrPoint(div.offsetLeft+1, div.offsetTop+1);
	}else if(div.offsetParent){
		var d = getDivPoint(div.offsetParent);
		return new QrPoint(d.x+div.offsetLeft, d.y+div.offsetTop);
	}else{
		return new QrPoint(0,0);
	}
}
function getMousePoint(e,div){
	if(div){
		var da = getMousePoint(e);
		var db = getDivPoint(div);
		return new QrPoint(da.x-db.x,da.y-db.y);
	}
	
	if(isIE()){
		var p = getDivPoint(event.srcElement);
		return new QrPoint(p.x+ event.offsetX,p.y + event.offsetY);
	}else{
		return new QrPoint(e.clientX + document.body.scrollLeft,e.clientY + document.body.scrollTop);
	}
}
function colorpicker(prtX,prtY){
	var colorR = 0;
	var colorG = 0;
	var colorB = 0;
	
	if(prtX < 32){
		colorR = 256;
		colorG = prtX * 8;
		colorB = 1;
	}
	if(prtX >= 32 && prtX < 64){
		colorR = 256 - (prtX - 32 ) * 8;
		colorG = 256;
		colorB = 1;
	}
	if(prtX >= 64 && prtX < 96){
		colorR = 1;
		colorG = 256;
		colorB = (prtX - 64) * 8;
	}
	if(prtX >= 96 && prtX < 128){
		colorR = 1;
		colorG = 256 - (prtX - 96) * 8;
		colorB = 256;
	}
	if(prtX >= 128 && prtX < 160){
		colorR = (prtX - 128) * 8;
		colorG = 1;
		colorB = 256;
	}
	if(prtX >= 160){
		colorR = 256;
		colorG = 1;
		colorB = 256 - (prtX - 160) * 8;
	}
	
	if(prtY < 64){
		colorR = colorR + (256 - colorR) * (64 - prtY) / 64;
		colorG = colorG + (256 - colorG) * (64 - prtY) / 64;
		colorB = colorB + (256 - colorB) * (64 - prtY) / 64;
	}
	if(prtY > 64 && prtY <= 128){
		colorR = colorR - colorR * (prtY - 64) / 64;
		colorG = colorG - colorG * (prtY - 64) / 64;
		colorB = colorB - colorB * (prtY - 64) / 64;
	}
	if(prtY > 128){
		colorR = 256 - ( prtX / 192 * 256 );
		colorG = 256 - ( prtX / 192 * 256 );
		colorB = 256 - ( prtX / 192 * 256 );
	}
	
	colorR = parseInt(colorR);
	colorG = parseInt(colorG);
	colorB = parseInt(colorB);
	
	if(colorR >= 256){
		colorR = 255;
	}
	if(colorG >= 256){
		colorG = 255;
	}
	if(colorB >= 256){
		colorB = 255;
	}
	
	colorR = colorR.toString(16);
	colorG = colorG.toString(16);
	colorB = colorB.toString(16);
	
	if(colorR.length < 2){
	colorR = 0 + colorR;
	}
	if(colorG.length < 2){
	colorG = 0 + colorG;
	}
	if(colorB.length < 2){
	colorB = 0 + colorB;
	}
	
	return "#" + colorR + colorG + colorB;
}