var offsetfrommouse=[25, -20]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var defaultimagewidth = 600;	// maximum image size.
var defaultimageheight = 600;	// maximum image size.
var defaultCDwidth = 496;	// maximum image size.
var defaultCDheight = 520;	// maximum image size.

function getPreviewObj(){
	if(document.getElementById){
		return document.getElementById("ts_preview").style;
	}
}

function getPreviewObjNoStyle(){
	if(document.getElementById){
		return document.getElementById("ts_preview");
	}
}

function fnTrueBody(){
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

var chk=false;

function fnDelay(chk){
	if(chk=="show"){
		getPreviewObj().display="block";
	}else if(chk=="hide"){
		getPreviewObj().display="none";
	}
}


function fnPreviewShow(imagepath, goods_type, goods_code, fwidth, fHeight){
	followmouse();
	if( (navigator.userAgent.indexOf("Konqueror")==-1  || navigator.userAgent.indexOf("Firefox")!=-1 || (navigator.userAgent.indexOf("Opera")==-1 && navigator.appVersion.indexOf("MSIE")!=-1))) {
		
		var docwidth=document.all? fnTrueBody().scrollLeft+fnTrueBody().clientWidth : pageXOffset+window.innerWidth - offsetfrommouse[0];
		var docheight=document.all? Math.min(fnTrueBody().scrollHeight, fnTrueBody().clientHeight) : Math.min(window.innerHeight);
		var p_img = new Image();
		chk=false;
		
		imagepath = "http://" + imagepath;
		
		defaultimagewidth = parseInt(fwidth);
		defaultimageheight = parseInt(fHeight);
		document.onmousemove=followmouse;
		
		iHtml = '<div style="padding:3 7 7 7; border:1 solid #666666; background-color:#ffffff" >'
		iHtml = iHtml + '<div align="left" style="padding:0 0 5 0; color:#82abbe; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:18; font-weight:bold;">'
		iHtml = iHtml + goods_type + '<span style="font-size:11; color:#666666;"> | ' + goods_code + '</span></div>'
		iHtml = iHtml + '<img src="' + imagepath + '" border="0">';
		iHtml = iHtml + '</div>'
		
		getPreviewObjNoStyle().innerHTML = iHtml
		setTimeout("fnDelay('show')",100);
		//getPreviewObj().display="block";
	}

}

function fnPreviewShowCD(imagepaths, goods_code, img_desc, img_num){
	
	if( (navigator.userAgent.indexOf("Konqueror")==-1  || navigator.userAgent.indexOf("Firefox")!=-1 || (navigator.userAgent.indexOf("Opera")==-1 && navigator.appVersion.indexOf("MSIE")!=-1))) {
		
		document.onmousemove=followmouseCD;
		
		iHtml = '<div style="width:496; height:520; padding:10 15 15 15; border:1 solid #666666; background-color:#ffffff" >'
		iHtml = iHtml + '<div align="left" style="padding:0 0 3 0; color:#b38e43; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:18; font-weight:bold; border-bottom:1 solid #eeeeee">CD'
		iHtml = iHtml + '<span style="font-size:11; color:#666666;"> | ' + goods_code + '(' + img_num + ')'
		iHtml = iHtml + '<span style="font-size:11; color:#82abbe;"> | ' + img_desc + '</span></div>'
		iHtml = iHtml + '<table width="464" border="0"><tr>'
		
		
		var imagepath = imagepaths.split("#");
		for(i=0; i<imagepath.length; i++){
			iHtml = iHtml + '<td width="150" height="150" valign="bottom"><img src="http://' + imagepath[i] + '" border="0"></td>';
			if(i%3==2){
				iHtml = iHtml + '</tr><tr><td colspan="5" height="7"></td></tr><tr>';
			}else{
				iHtml = iHtml + '<td width="7"></td>'
			}
			
		}
		iHtml = iHtml + '</tr></table></div></div>'
		
		
		getPreviewObjNoStyle().innerHTML = iHtml
		getPreviewObj().display="block";
		//setTimeout("fnDelay('show')",100);
	}

}

function fnPreviewHide(){
	setTimeout("fnDelay('hide')",100);
	//getPreviewObj().display="none";
	document.onmousemove="";
	getPreviewObj().right="-1500px";
}

function followmouse(e){

	var xcoord=offsetfrommouse[0];
	var ycoord=offsetfrommouse[1];

	var docwidth=document.all? fnTrueBody().scrollLeft+fnTrueBody().clientWidth : pageXOffset+window.innerWidth-15;
	var docheight=document.all? Math.min(fnTrueBody().scrollHeight, fnTrueBody().clientHeight) : Math.min(window.innerHeight);

	if (typeof e != "undefined"){
		if (docwidth - e.pageX < defaultimagewidth + 40){
			xcoord = e.pageX - xcoord - defaultimagewidth - 20 ; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < defaultimageheight + 30){
			ycoord += e.pageY - Math.max(0,(30 + defaultimageheight + e.pageY - docheight - fnTrueBody().scrollTop));
		} else {
			ycoord += e.pageY;
		}

	}else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < defaultimagewidth + 40){
			xcoord = event.clientX + fnTrueBody().scrollLeft - xcoord - defaultimagewidth - 20; // Move to the left side of the cursor
		} else {
			xcoord += fnTrueBody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (defaultimageheight + 30)){
			ycoord += event.clientY + fnTrueBody().scrollTop - Math.max(0,(30 + defaultimageheight + event.clientY - docheight));
		} else {
			ycoord += fnTrueBody().scrollTop + event.clientY;
		}
	}
	
	if(ycoord < 0) { ycoord = ycoord*-1; }
	
	getPreviewObj().left=xcoord+"px"
	getPreviewObj().top=ycoord+"px"
	
}

function followmouseCD(e){

	var xcoord=offsetfrommouse[0];
	var ycoord=offsetfrommouse[1];
	
	var docwidth=document.all? fnTrueBody().scrollLeft+fnTrueBody().clientWidth : pageXOffset+window.innerWidth-15;
	var docheight=document.all? Math.min(fnTrueBody().scrollHeight, fnTrueBody().clientHeight) : Math.min(window.innerHeight);

	
	if (typeof e != "undefined"){
		if (docwidth - e.pageX < defaultCDwidth + 40){
			xcoord = e.pageX - xcoord - defaultCDwidth - 20 ; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < defaultCDheight + 30){
			ycoord += e.pageY - Math.max(0,(30 + defaultCDheight + e.pageY - docheight - fnTrueBody().scrollTop));
		} else {
			ycoord += e.pageY;
		}

	}else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < defaultCDwidth + 40){
			xcoord = event.clientX + fnTrueBody().scrollLeft - xcoord - defaultCDwidth - 20; // Move to the left side of the cursor
		} else {
			xcoord += fnTrueBody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (defaultCDheight + 30)){
			ycoord += event.clientY + fnTrueBody().scrollTop - Math.max(0,(30 + defaultCDheight + event.clientY - docheight));
		} else {
			ycoord += fnTrueBody().scrollTop + event.clientY;
		}
	}
	
	if(ycoord < 0) { ycoord = ycoord*-1; }
	
	getPreviewObj().left=xcoord+"px"
	getPreviewObj().top=ycoord+"px"
	
}

function followmouse2(e){

	var xcoord=offsetfrommouse[0];
	var ycoord=offsetfrommouse[1];

	var docwidth=document.all? fnTrueBody().scrollLeft+fnTrueBody().clientWidth : pageXOffset+window.innerWidth-15;
	var docheight=document.all? Math.min(fnTrueBody().scrollHeight, fnTrueBody().clientHeight) : Math.min(window.innerHeight);

	if (typeof e != "undefined"){
		if (docwidth - e.pageX < defaultimagewidth + 2*offsetfrommouse[0]){
			xcoord = e.pageX - xcoord - defaultimagewidth; // Move to the left side of the cursor
		} else {
			xcoord += e.pageX;
		}
		if (docheight - e.pageY < defaultimageheight + 2*offsetfrommouse[1]){
			ycoord += e.pageY - Math.max(0,(2*offsetfrommouse[1] + defaultimageheight + e.pageY - docheight - fnTrueBody().scrollTop));
		} else {
			ycoord += e.pageY;
		}

	}else if (typeof window.event != "undefined"){
		if (docwidth - event.clientX < defaultimagewidth + 2*offsetfrommouse[0]){
			xcoord = event.clientX + fnTrueBody().scrollLeft - xcoord - defaultimagewidth; // Move to the left side of the cursor
		} else {
			xcoord += fnTrueBody().scrollLeft+event.clientX
		}
		if (docheight - event.clientY < (defaultimageheight + 2*offsetfrommouse[1])){
			ycoord += event.clientY + fnTrueBody().scrollTop - Math.max(0,(2*offsetfrommouse[1] + defaultimageheight + event.clientY - docheight));
		} else {
			ycoord += fnTrueBody().scrollTop + event.clientY;
		}
	}
	
	getPreviewObj().left=xcoord+"px"
	getPreviewObj().top=ycoord+"px"
	
}

