﻿// JScript File
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//  ALTTXT V1.2
//  BY: BRIAN GOSSELIN OF SCRIPTASYLUM.COM
//  ADDED FADING EFFECT FOR IE4+ AND NS6+ ONLY AND OPTIMIZED THE CODE A BIT.
//  SCRIPT FEATURED ON DYNAMIC DRIVE (http://www.dynamicdrive.com)
//  Modifed by DD for doctype bug on Nov 13th, 2003


var dofade=true;     // ENABLES FADE-IN EFFECT FOR IE4+ AND NS6 ONLY
var center=false;     // CENTERS THE BOX UNER THE MOUSE, OTHERWISE DISPLAYS BOX TO THE RIGHT OF THE MOUSE
var centertext=false; // CENTERS THE TEXT INSIDE THE BOX. YOU CAN'T SIMPLY DO THIS VIA STYLE BECAUSE OF NS4.
                     // OTHERWISE, TEXT IS LEFT-JUSTIFIED. 


////////////////////////////// NO NEED TO EDIT BEYOND THIS POINT //////////////////////////////////////

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
var cX = 0; var cY = 0;

var NS4 = (navigator.appName.indexOf("Netscape")>=0 && !document.getElementById)? true : false;
var IE4 = (document.all && !document.getElementById)? true : false;
var IE5 = (document.getElementById && document.all)? true : false;
var NS6 = (document.getElementById && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var W3C = (document.getElementById)? true : false;
var w_y, w_x, navtxt, boxheight, boxwidth;
var ishover=false;
var isloaded=false;
var ieop=0;
var op_id=0;

function getwindowdims(){
w_y=(NS4||NS6||window.opera)? window.innerHeight : (IE5||IE4)? document.body.clientHeight : 0;
w_x=(NS4||NS6||window.opera)? window.innerWidth : (IE5||IE4)? document.body.clientWidth : 0;
}

function getboxwidth(){
if(NS4)boxwidth=(navtxt.document.width)? navtxt.document.width : navtxt.clip.width;
if(IE5||IE4)boxwidth=(navtxt.style.pixelWidth)? navtxt.style.pixelWidth : navtxt.offsetWidth;
if(NS6)boxwidth=(navtxt.style.width)? parseInt(navtxt.style.width) : parseInt(navtxt.offsetWidth);
}

function getboxheight(){
if(NS4)boxheight=(navtxt.document.height)? navtxt.document.height : navtxt.clip.height;
if(IE4||IE5)boxheight=(navtxt.style.pixelHeight)? navtxt.style.pixelHeight : navtxt.offsetHeight;
if(NS6)boxheight=parseInt(navtxt.offsetHeight);

}

function movenavtxt(x,y){
if(NS4)navtxt.moveTo(x,y);
if(W3C||IE4){
navtxt.style.left=x+'px';
navtxt.style.top=y+'px';
}}

function getpagescrolly(){
if(NS4||NS6)return window.pageYOffset;
if(IE5||IE4)return ietruebody().scrollTop;
}

function getpagescrollx(){
if(NS4||NS6)return window.pageXOffset;
if(IE5||IE4)return ietruebody().scrollLeft;
}

function writeindiv(text){
//alert(text);
navtxt=document.getElementById("navtxt");

if(NS4){
//alert(text)
navtxt.document.open();
navtxt.document.write(text);
navtxt.document.close();
}
if(W3C||IE4)navtxt.innerHTML=text;
}
//**** END UTILITY FUNCTIONS ****//

function writetxt(text){
////if(isloaded){
//alert('dfgfd3');
navtxt=document.getElementById("navtxt");

if(text!=0){
//alert('dfgfd33');
//ishover=true;
text=text.replace("~", "'");
text='<img width="400px" height="300px" src=Upload/' + text +'><br>';//alert(text)
//if(NS4)text=text;

writeindiv(text);
AssignPosition();
//getboxheight();
//if((W3C || IE4) && dofade){
//ieop=0;
//incropacity();
//}}else{
//if(NS4)navtxt.visibility="hide";
//if(IE4||W3C){
//if(dofade)clearTimeout(op_id);
//navtxt.style.visibility="hidden";
}
else
{navtxt.style.visibility ='hidden';
}
//writeindiv('');
//ishover=false;
//}}
}

function UpdateCursorPosition(e){cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){	cX = event.clientX + document.body.scrollLeft;cY = event.clientY + document.body.scrollTop;}
if(document.all) {document.onmousemove = UpdateCursorPositionDocAll;}else {document.onmousemove = UpdateCursorPosition; }
function truebody(){return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body}

var cursorInDiv=false; var cursorInImg=false;
var previewHtmlBegin = "<table cellSpacing=\"0\" cellpadding=\"0\" runat=\"server\" width=\"250\"><TR><td align=\"center\"><table bgColor=\"#ffffff\" class=\"TableBorder\" width=\"100%\" cellpadding=\"0\"><tr><td><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">"
var previewHtmlCrossStitch = "<tr class=\"CustomTableColor\" style=\"padding:5px 5px 0 5px;\" align=\"center\"><td class=\"defaultText12\">This is a <strong>CROSS-STITCH</strong> pattern.</td></tr>"
var previewHtmlApplique = "<tr class=\"CustomTableColor\" style=\"padding:5px 5px 0 5px;\" align=\"center\"><td class=\"defaultText12\">This is an <strong>APPLIQUE</strong> pattern.</td></tr>"
var previewHtmlSoftware = "<tr class=\"CustomTableColor\" style=\"padding:5px 5px 0 5px;\"><td class=\"defaultText12\">"

var previewHtmlImg1 = "<tr><td align=\"center\" style=\"padding:5px;\">"
var previewHtmlImg2 = "</td></tr><tr class=\"CustomTableColor\" style=\"padding:0 5px 5px 5px;\"><td valign=\"top\" align=\"center\" class=\"defaultText12\"><strong>Vendor: </strong>"
var previewDivEFP = "<div class=\"CustomTableColor\" style=\"padding:5px 5px 0 5px;\" align=\"center\"><font class='defaultText12'>This is a <strong>keyboard font</strong> - requires <strong>Embroidery Fonts Plus</strong> software.</font></div>"
var previewDivFont = "<div class=\"CustomTableColor\" style=\"padding:5px 5px 0 5px;\" align=\"center\"><font class='defaultText12'>This is an <strong>alphabet</strong>. Each letter, number, or symbol is an <strong>individual stitch file</strong>.</font></div>"
var previewHtmlImg3 = "<br><a class=\"defaultText10\" href=\"linkgoeshere\">Click for details</a>"
var previewHtmlEnd = "</td></tr></table></td></tr></table></td></tr></table>"

function AssignPosition() {
navtxt=document.getElementById("navtxt");
var xcoord=0;
var ycoord=0;
var defaultimageheight=300;
var defaultimagewidth=400;

var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)

if (typeof window.event != "undefined"){
	if (docwidth - event.clientX < defaultimagewidth ){xcoord = event.clientX + truebody().scrollLeft - xcoord - defaultimagewidth; // Move to the left side of the cursor
	} 
	else {xcoord += truebody().scrollLeft+event.clientX}
	if (docheight - event.clientY < (defaultimageheight)){ycoord += event.clientY + truebody().scrollTop - Math.max(0,(defaultimageheight + event.clientY - docheight));} 
	else {ycoord += truebody().scrollTop + event.clientY;}
} 
else {
	if (docwidth - cX < defaultimagewidth ){xcoord = cX - xcoord - defaultimagewidth; // Move to the left side of the cursor
	} else {xcoord += cX;}
	if (docheight - cY < defaultimageheight){ycoord += cY - Math.max(0,(defaultimageheight + cY - docheight - truebody().scrollTop));} 
	else {ycoord += cY;}
}

navtxt.style.visibility ='visible';

navtxt.style.left = xcoord+"px";
navtxt.style.top = ycoord+"px";
}

function incropacity(){
if(ieop<=100){
ieop+=7;
if(IE4 || IE5)navtxt.style.filter="alpha(opacity="+ieop+")";
if(NS6)navtxt.style.MozOpacity=ieop/100;
op_id=setTimeout('incropacity()', 50);
}}

function moveobj(evt){
if(isloaded && ishover){
margin=(IE4||IE5)? 1 : 23;
if(NS6)if(document.height+27-window.innerHeight<0)margin=15;
if(NS4)if(document.height-window.innerHeight<0)margin=10;
if (NS4){
mx=evt.pageX
my=evt.pageY
}
else if (NS6){
mx=evt.clientX
my=evt.clientY
}
else if (IE5){
mx=event.clientX
my=event.clientY
}
else if (IE4){
mx=0
my=0
}
if(NS4){
mx-=getpagescrollx();
my-=getpagescrolly();
}
xoff=(center)? mx-boxwidth/2 : mx+5;
yoff=(my+boxheight+30-getpagescrolly()+margin>=w_y)? -15-boxheight: 30;
movenavtxt( Math.min(w_x-boxwidth-margin , Math.max(2,xoff))+getpagescrollx() , my+getpagescrolly());
if(NS4)navtxt.visibility="show";
if(W3C||IE4)navtxt.style.visibility="visible";
}}
if(NS4)document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=AssignPosition();


  
//window.onresize=getwindowdims;




