var DIV_CLIPBOARD_ID = "DivClipboardId";
var CLIP_MOVIE_PATH = "ZeroClipboard.swf";
var TIP_COPY_SUCESS = null;

function setClipboardText(s){
	var movie = document.getElementById(DIV_CLIPBOARD_ID);
	if(movie!=null){
		try{
			movie.setHandCursor( true );
			movie.setText(s);
		}catch(e){}
	}
}

function registClipborad(obj,func,pos){
	
	var args = registClipborad.arguments;
	
	if(pos == null || pos == undefined){
		pos = {
	        "left": $(obj).offset().left,
	        "top":  $(obj).offset().top,
	        "width":$(obj).outerWidth(),
	        "height":$(obj).outerHeight()
    	};
	}else{
		pos = pos.call(this,args);
	}

	$("#"+DIV_CLIPBOARD_ID).parent().css(pos);
	$("#"+DIV_CLIPBOARD_ID).css(pos);
	$("#"+DIV_CLIPBOARD_ID).parent().bind('mouseout',function(){
		$("#"+DIV_CLIPBOARD_ID).parent().css({"top":0,"left":0,"width":0,"height":0});
		$("#"+DIV_CLIPBOARD_ID).css( {"top":0,"left":0,"width":0,"height":0} );
	});
    
    if(typeof(func) == 'string'){
    	setClipboardText(func);
    }else{
    	var vals = func.call(this,args);
		setClipboardText(vals);
    }
}

function loadClipborad() {
	var movie = document.getElementById(DIV_CLIPBOARD_ID);
	if(movie != undefined) return;
	
    var border = 0;//debug this.
    var width = 1;
    var height = 1;
    var moviePath = CLIP_MOVIE_PATH;//"ZeroClipboard.swf";
    var flashvars = 'id=1&width=' + width + '&height=' + height;
    var html = "";

    if (navigator.userAgent.match(/MSIE/)) {

        var protocol = location.href.match(/^https/i) ? 'https://' : 'http://';
        html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="' + protocol + 'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="' + width + '" height="' + height + '" id="' + DIV_CLIPBOARD_ID + '" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="' + moviePath + '" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="' + flashvars + '"/><param name="wmode" value="transparent"/></object>';
    } else {

        html += '<embed style="border:'+border+'px solid #000000" id="' + DIV_CLIPBOARD_ID + '" src="' + moviePath + '" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="' + width + '" height="' + height + '" name="' + DIV_CLIPBOARD_ID + '" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="' + flashvars + '" wmode="transparent" />';
    }
    var args = loadClipborad.arguments;
    if(args.length>0){
    	document.getElementById(args[0]).innerHTML = html;
    }else{
    	html = "<div style='position:absolute;z-index:9999'>"+html+"</div>";
    	document.body.innerHTML += html;
    }
}

function ZeroClipboardCallBack() {
	
    this.dispatch = function (id, eventName, args) {
    	  if (eventName == "load"){
    	  	  //alert("LoadSucess");
    	  }
        if (eventName == "complete") {
        	if(TIP_COPY_SUCESS!=null){
            	alert(TIP_COPY_SUCESS);
        	}
        }
    }
}

var ZeroClipboard = new ZeroClipboardCallBack();

