//CALLBACK FUNCTIONS

/*////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[ControlID]_ControlInfo
String split at ~||~
[0] = ErrorMessage
[1] = OldValue
[2] = LockIt
*////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//HANDLES THE RETURN VALUE FROM THE SERVER (FROM RaiseCallbackEvent ON THE PAGE)
function ReceiveServerData(rValue, objID)
{
    var alertMessage = false;
    
    if(rValue != "")
    {
        if(alertMessage)
        { alert("CALLBACK FROM SERVER\n" + objID + ": " + rValue); }
        
        document.getElementById(objID).style.backgroundColor = "#FFFF33";
        SetControlInfoValue(objID, 2, "error");
        SetControlInfoValue(objID, 0, rValue);
        //ChangeStyle(event, 'textDate', 'in', 'f_onmouseover');
        
    }
    else
    {
        if(alertMessage)
        { alert("CALLBACK FROM SERVER\n" + objID + ": " + rValue); }
        
        document.getElementById(objID).style.backgroundColor = "#FFFFFF";
        SetControlInfoValue(objID, 2, "unlock");
        SetControlInfoValue(objID, 0, rValue);
    }
}

function ReceiveServerError(rValue, objID)
{
    alert("SERVER ERROR: " + rValue);
}

function CheckAllValidations()
{
    var obj = document.form1;
    var founderror = false;
    for(i=0; i<document.form1.elements.length; i++)
    {
        if(GetControlInfoValue(document.form1.elements[i].id, 2) == "error")
        {
            obj = document.form1.elements[i];
            founderror = true;
            break;
        }
    }
    
    if(founderror)
    {
        alert("Invalid Value: \n" + obj.value + "\n" + GetControlInfoValue(obj.id, 0)); //obj.lang);
        document.getElementById(obj.id).focus();
        return false;
    }
}

function CheckValidations(theevent, objID, direction, action, validationFunction)
{
    //alert(document.getElementById(objID).value + " : " + GetControlInfoValue(objID, 1));
    
    ChangeStyle(theevent, objID, direction, action);
    if(validationFunction != "") // && document.getElementById(objID).value != GetControlInfoValue(objID, 1)) //document.getElementById(objID).oldvalue)
    {
        eval(validationFunction);
        eval(validationFunction);
    }
}

function ValidateCurrency(objID)
{
    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>CURRENCY</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID></object2ID>";
        inval += "<object2Value></object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert("HERE");
    }
}

function ValidateNumeric(objID)
{
    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>NUMERIC</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID></object2ID>";
        inval += "<object2Value></object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert("HERE");
    }
}

function ValidateInteger(objID)
{
    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>INTEGER</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID></object2ID>";
        inval += "<object2Value></object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert("HERE");
    }
}

function ValidateDate(objID)
{
    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>DATE</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID></object2ID>";
        inval += "<object2Value></object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert("HERE");
    }
}

function ValidateEmail(objID)
{
    //alert(document.getElementById(objID).value);
    //return false;
    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>EMAIL</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID></object2ID>";
        inval += "<object2Value></object2Value>";
        inval += "</entry></thelist>";
        //alert(inval);
        //return false;
        CallServer(inval, objID);
        //alert("HERE");
    }
}

function ValidatePhoneArea(objID)
{
    if(document.getElementById(objID).value != "")
    {
        //GET OBJECT 2'S INFO
        var obj2 = document.getElementById(objID);
        for(i=0; i<document.form1.elements.length; i++)
        {
            if(document.form1.elements[i].id == objID)
            {
                //FIND NEXT "text" FIELD
                for(j=i + 1; j<document.form1.elements.length; j++)
                {
                    if(document.form1.elements[j].type.toUpperCase() == "TEXT")
                    {
                        obj2 = document.form1.elements[j];
                        break;
                    }
                }
                
            }
        }
        
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>PHONE AREA</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID>" + obj2.id + "</object2ID>";
        inval += "<object2Value>" + obj2.value + "</object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert(inval);
    }
}

function ValidatePhonePrefix(objID)
{
    //GET OBJECT 2'S INFO
    var obj2 = document.getElementById(objID);
    for(i=0; i<document.form1.elements.length; i++)
    {
        if(document.form1.elements[i].id == objID)
        {
            //alert(document.form1.elements[i - 2].id);
            obj2 = document.form1.elements[i - 2];
            break;
            //FIND PREVIOUS "text" FIELD
            /*
            for(j=i; j>=0; j--)
            {
                alert(document.form1.elements[j].id + " : " + document.form1.elements[j].type);
                if(document.form1.elements[j].type.toUpperCase() == "TEXT")
                {
                    obj2 = document.form1.elements[j];
                    
                    break;
                }
            }
            */
        }
    }

    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>PHONE PREFIX</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        //inval += "<object2ID></object2ID>";
        //inval += "<object2Value></object2Value>";
        inval += "<object2ID>" + obj2.id + "</object2ID>";
        inval += "<object2Value>" + obj2.value + "</object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert(inval);
    }
}

function ValidatePhoneSuffix(objID)
{
    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>PHONE SUFFIX</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID></object2ID>";
        inval += "<object2Value></object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert("HERE");
    }
}

function ValidateZipCode5Digit(objID)
{
    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>ZIP CODE 5</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID></object2ID>";
        inval += "<object2Value></object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert("HERE");
    }
}

function ValidateZipCode9Digit(objID)
{
    if(document.getElementById(objID).value != "")
    {
        //WRITE OUT AN XML FILE
        var inval = "<?xml version=\"1.0\" standalone=\"yes\"?><thelist><entry>";
        inval += "<callbackType>DEFAULT VALIDATION</callbackType>";
        inval += "<value>" + document.getElementById(objID).value + "</value>";
        inval += "<validationType>ZIP CODE 9</validationType>";
        inval += "<objectID>" + objID + "</objectID>";
        inval += "<object2ID></object2ID>";
        inval += "<object2Value></object2Value>";
        inval += "</entry></thelist>";
        CallServer(inval, objID);
        //alert("HERE");
    }
}

function GetControlInfoValue(objID, position)
{
    var obj = document.getElementById(objID + "_ControlInfo");
    var thevalue = obj.value;
    var mtarr = thevalue.split("~||~");
    //alert(mtarr[0] + " : "+mtarr[1] + " : " + mtarr[2]);
    //alert(mtarr[position]);
    return mtarr[position];
}

function SetControlInfoValue(objID, position, thenewvalue)
{
    var obj = document.getElementById(objID + "_ControlInfo");
    var thevalue = obj.value;
    var mtarr = thevalue.split("~||~");
    mtarr[position] = thenewvalue;
    obj.value = mtarr[0] + "~||~" + mtarr[1] + "~||~" + mtarr[2];
    //alert(obj.value);
}

function ResetControl(objID)
{
    var obj = document.getElementById(objID);
    obj.style.backgroundColor = "#FFFFFF"; 
    obj.style.borderColor = "#888888";
    SetControlInfoValue(objID, 2, "unlock"); 
}
//END CALLBACK FUNCTIONS

function BubbleTooltip(theevent, objID, strHTML, bubbleType)
{
    document.getElementById(objID).style.cursor = "pointer";
    var temp = "";
    
    if(bubbleType == "BLUE_200")
    {
        temp += "<span class=\"tooltip\" style=\"z-index:100; display:block;\">";
        temp += "<span style=\"display: block; color:white;\" class=\"topNoBubble\"><b>" + strHTML + "</b></span>";
        temp += "<b style=\"display:block; font-size:2px;\" class=\"bottomNoBubble\">&nbsp;</b>";
        temp += "</span>";
        
        //temp += "<span class=\"tooltip\" style=\"z-index:100; display:block;\">";
        //temp += "<span style=\"display: block;\" class=\"topNormal200\"><b>" + strHTML + "</b></span>";
        //temp += "<b style=\"display:block; font-size:2px;\" class=\"bottomNormal200\">&nbsp;</b>";
        //temp += "</span>";
        //temp += strHTML;
    }
    else if(bubbleType == "BLUE_200_IMAGE")
    {
        temp += "<span class=\"tooltip\" style=\"z-index:100; display:block;\">";
        temp += "<span style=\"display: block;\" class=\"topNormal200\"><table><tr><td style='border:1px solid silver;'><img src='" + strHTML + "' border=0 width=175 /></td></tr></table></span>";
        temp += "<b style=\"display:block; font-size:2px;\" class=\"bottomNormal200\">&nbsp;</b>";
        temp += "</span>";
    }
    else if(bubbleType == "BLUE_400")
    {
        temp += "<span class=\"tooltip\" style=\"z-index:100; display:block;\">";
        temp += "<span style=\"display: block;\" class=\"topNormal400\"><b>" + strHTML + "</b></span>";
        temp += "<b style=\"display:block; font-size:2px;\" class=\"bottomNormal400\">&nbsp;</b>";
        temp += "</span>";
    }
    else if(bubbleType == "BLUE_400_IMAGE")
    {
        temp += "<span class=\"tooltip\" style=\"z-index:100; display:block;\">";
        temp += "<span style=\"display: block;\" class=\"topNormal400\"><table><tr><td style='border:1px solid black;'><img src='" + strHTML + "' border=0 width=375 /></td></tr></table></span>";
        temp += "<b style=\"display:block; font-size:2px;\" class=\"bottomNormal400\">&nbsp;</b>";
        temp += "</span>";
    }
    else if(bubbleType == "BLUE_600")
    {
        temp += "<span class=\"tooltip\" style=\"z-index:100; display:block;\">";
        temp += "<span style=\"display: block;\" class=\"topNormal600\"><b>" + strHTML + "</b></span>";
        temp += "<b style=\"display:block; font-size:2px;\" class=\"bottomNormal600\">&nbsp;</b>";
        temp += "</span>";
    }
    else if(bubbleType == "BLUE_600_IMAGE")
    {
        temp += "<span class=\"tooltip\" style=\"z-index:100; display:block;\">";
        temp += "<span style=\"display: block;\" class=\"topNormal600\"><table><tr><td style='border:1px solid black;'><img src='" + strHTML + "' border=0 width=575 /></td></tr></table></span>";
        temp += "<b style=\"display:block; font-size:2px;\" class=\"bottomNormal600\">&nbsp;</b>";
        temp += "</span>";
    }
    
    
    doTooltip(theevent, temp); 
}

function ChangeStyle(theevent, objID, direction, action)
{
    var obj = document.getElementById(objID);
    hideTip();
    
    if(action == "f_onfocus")
    {
        SetControlInfoValue(obj.id, 1, obj.value);
    }
    
    if(GetControlInfoValue(obj.id, 2) != "error")
    {
        //LOCKING ACTION
	    if(action == "f_onfocus")
	    { SetControlInfoValue(obj.id, 2, "lock"); }
	    else if (action == "f_onblur")
	    { SetControlInfoValue(obj.id, 2, "unlock"); }
	    else if (action == "f_onmouseover" && GetControlInfoValue(obj.id, 2) == "unlock")
	    { SetControlInfoValue(obj.id, 2, "unlock"); }
    	
	    if(GetControlInfoValue(obj.id, 2) == "lock")
        {
            obj.style.backgroundColor = "#E5E5E5";
	        obj.style.borderColor = "#000000";
        }
	    else
	    { 
	        if(direction == "in")
	        {
		        obj.style.backgroundColor = "#E5E5E5";
	            obj.style.borderColor = "#000000";
		    }
		    else if(direction == "out")
		    {
		        obj.style.backgroundColor = "#FFFFFF"; 
			    obj.style.borderColor = "#888888"; 
		    }
	    }
	    
	    //SET THE MOUSEOVER EVENTS BACK TO NORMAL
	    /*
        //document.getElementById(objID).onmouseover = ChangeStyle(theevent, objID, 'in', 'f_onmouseover');
        //document.getElementById(objID).onmouseout = ChangeStyle(theevent, objID, 'out', 'f_onmouseout');;
        
        try
        {
            //document.getElementById(objID).removeAttribute("onmousemove");
        }
        catch(ex) {}
        */
	}
	else
	{
	    //enableTooltip(objID);
	    if(action == "f_onmouseover")
	    {
	        var infoerror = GetControlInfoValue(objID, 0);
	        if(infoerror == "")
	        { infoerror = "Invalid Value"; }
	        
	        var temp = "";
	        
	        //temp += "<div style=\"z-index:99; position:absolute;\">";
	        
	        temp += "<span class=\"tooltip\" style=\"z-index:100; display:block;\">";
	        temp += "<span style=\"display: block;\" class=\"top\"><b>" + infoerror + "</b></span>";
	        //temp += "<span style=\"display: block;\" class=\"bottom\"><b></b></span>";
	        temp += "<b style=\"display:block; font-size:2px;\" class=\"bottom\">&nbsp;</b>";
	        temp += "</span>";
	        
	        //temp += "</div>";
	        
	        //temp += "<iframe name=\"" + objID + "_DivIFRAME\" id=\"" + objID + "_DivIFRAME\" src=\"transparentBody.html\" scrolling=\"no\" frameborder=\"0\" style=\"position:absolute; top:0px; left:0px; width:300px; height:300px; display:block; z-index:98;\" allowTransparency=\"false\"></iframe>\n";
	        
	        
	        doTooltip(theevent, temp); 
	        //doTooltip(theevent,infoerror);
	    }
	    else if(action == "f_onmouseout")
	    {
	        hideTip();
	    }
	}
}

function ReplaceAll(oldStr,findStr,repStr) 
{
    var srchNdx = 0;  // srchNdx will keep track of where in the whole line
                        // of oldStr are we searching.
    var newStr = "";  // newStr will hold the altered version of oldStr.
    
    while (oldStr.indexOf(findStr,srchNdx) != -1)  
                        // As long as there are strings to replace, this loop
                        // will run. 
    {
        newStr += oldStr.substring(srchNdx,oldStr.indexOf(findStr,srchNdx));
                        // Put it all the unaltered text from one findStr to
                        // the next findStr into newStr.
        newStr += repStr;
                        // Instead of putting the old string, put in the
                        // new string instead. 
        srchNdx = (oldStr.indexOf(findStr,srchNdx) + findStr.length);
                        // Now jump to the next chunk of text till the next findStr.           
    }
    newStr += oldStr.substring(srchNdx,oldStr.length);
                        // Put whatever's left into newStr.             
    return newStr;
}

//intended for use with textboxes
function RemoveBadChars(objID)
{
    var obj = document.getElementById(objID);
    var str = obj.value;
    str = ReplaceAll(str, ">", "");
    str = ReplaceAll(str, "<", "");
    str = ReplaceAll(str, "=", "equals");
    obj.value = str;
}

function RemoveSingleQuotes(objID)
{
    var obj = document.getElementById(objID);
    var str = obj.value;
    str = ReplaceAll(str, "'", "");
    obj.value = str;
}

function DisableButton(objID)
{
    var obj = document.getElementById(objID);
    obj.disabled = true;
    document.form1.submit();
}

function RemoveDash(objID)
{
    var obj = document.getElementById(objID);
    var str = obj.value;
    str = ReplaceAll(str, "-", "");
    obj.value = str;
}

//AUTO TAB FUNCTIONS
function autoTab(objID, len)
{
    var Val;
	
	var formname = "form1";	

    //PSI fix for defect ID : 4157    
    var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	var theEvent = window.event || arguments.callee.caller.arguments[0];	
	Val = (isNN) ? theEvent.which : theEvent.keyCode;
	
    //CHECKING FOR THE SHIFT KEY OR THE TAB KEY BEING PRESSED
	if (Val == 16 || Val == 9 || Val == 36 || Val == 37 || Val == 39 || Val == 46)
	{
	} 
	else 
	{
        //alert(document.getElementById(objID).maxlength + " " + document.getElementById(objID).value.length);
        if(len == document.getElementById(objID).value.length)
        {
            var found = false;
            for(i=0; i<document.form1.elements.length; i++)
            {
                if(found)
                {
                    var el = document.getElementById(document.form1.elements[i].id);
                    if(el.type != "hidden" && el.style.display != "none")
                    {
                        try
                        { 
                            document.getElementById(document.form1.elements[i].id).focus(); 
                            break;
                        }
                        catch(ex){}
                    }
                }
                else
                {
                    //alert(document.form1.elements[i].type + " " + document.form1.elements[i].id);
                    if(document.form1.elements[i].id == objID)
                    { found = true; }
                }
            }
        }
    }
}
//END AUTO TAB FUNCTIONS


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//BUBBLE TOOLTIP CODE

/*Javascript for Bubble Tooltips by Alessandro Fulciniti
http://pro.html.it - http://web-graphics.com */

function enableTooltips(id)
{
    var links,i,h;
    if(!document.getElementById || !document.getElementsByTagName) return;
    //AddCss();
    h=document.createElement("span");
    h.id="btc";
    h.setAttribute("id","btc");
    h.style.position="absolute";
    document.getElementsByTagName("body")[0].appendChild(h);
    
    if(id==null)
    { links=document.getElementsByTagName("a"); }
    else
    { links=document.getElementById(id).getElementsByTagName("a"); }

    for(i=0;i<links.length;i++)
    {
        Prepare(links[i]);
    }
}

function enableTooltip(id)
{
    var links,i,h;
    if(!document.getElementById || !document.getElementsByTagName) return;
    //AddCss();
    h=document.createElement("span");
    h.id="btc";
    h.setAttribute("id","btc");
    h.style.position="absolute";
    document.getElementsByTagName("body")[0].appendChild(h);
    
    PrepareItem(document.getElementById(id));
}

function disableTooltip(id)
{
    //document.getElementById(id).onmouseover =     
}

function PrepareItem(el)
{
    var tooltip,t,b,s,l;
    //t=el.getAttribute("title");
    t = document.getElementById(el.id + "_ControlInfo").value;
    //if(t==null || t.length==0) t="link:";
    el.removeAttribute("title");
    tooltip=CreateEl("span","tooltip");
    s=CreateEl("span","top");
    s.appendChild(document.createTextNode(t));
    tooltip.appendChild(s);
    b=CreateEl("b","bottom");
    //l=el.getAttribute("href");
    //if(l.length>28) l=l.substr(0,25)+"...";
    //b.appendChild(document.createTextNode(l));
    tooltip.appendChild(b);
    setOpacity(tooltip);
    
    //alert(tooltip.outerHTML);
    //document.write(tooltip.innerHTML);
    
    el.tooltip=tooltip;
    el.onmouseover = showTooltip;
    el.onmouseout = hideTooltip;
    el.onmousemove = Locate;
}

function Prepare(el)
{
    var tooltip,t,b,s,l;
    t=el.getAttribute("title");
    if(t==null || t.length==0) t="link:";
    el.removeAttribute("title");
    tooltip=CreateEl("span","tooltip");
    s=CreateEl("span","top");
    s.appendChild(document.createTextNode(t));
    tooltip.appendChild(s);
    b=CreateEl("b","bottom");
    //l=el.getAttribute("href");
    //if(l.length>28) l=l.substr(0,25)+"...";
    //b.appendChild(document.createTextNode(l));
    tooltip.appendChild(b);
    setOpacity(tooltip);
    el.tooltip=tooltip;
    el.onmouseover=showTooltip;
    el.onmouseout=hideTooltip;
    el.onmousemove=Locate;
}

function showTooltip(e)
{
    document.getElementById("btc").appendChild(this.tooltip);
    Locate(e);
}

function hideTooltip(e)
{
    var d=document.getElementById("btc");
    if(d.childNodes.length>0) d.removeChild(d.firstChild);
}

function setOpacity(el)
{
    el.style.filter="alpha(opacity:95)";
    el.style.KHTMLOpacity="0.95";
    el.style.MozOpacity="0.95";
    el.style.opacity="0.95";
}

function CreateEl(t,c)
{
    var x=document.createElement(t);
    x.className=c;
    x.style.display="block";
    return(x);
}

function AddCss()
{
    var l=CreateEl("link");
    l.setAttribute("type","text/css");
    l.setAttribute("rel","stylesheet");
    l.setAttribute("href","bt.css");
    l.setAttribute("media","screen");
    document.getElementsByTagName("head")[0].appendChild(l);
}

function Locate(e)
{
    var posx=0,posy=0;
    if(e==null) e=window.event;
    if(e.pageX || e.pageY){
        posx=e.pageX; posy=e.pageY;
        }
    else if(e.clientX || e.clientY){
        if(document.documentElement.scrollTop){
            posx=e.clientX+document.documentElement.scrollLeft;
            posy=e.clientY+document.documentElement.scrollTop;
            }
        else{
            posx=e.clientX+document.body.scrollLeft;
            posy=e.clientY+document.body.scrollTop;
            }
        }
    document.getElementById("btc").style.top=(posy+10)+"px";
    document.getElementById("btc").style.left=(posx-20)+"px";
}
