﻿function ShowDiv(DivID) {
	document.getElementById(DivID).style.display='block';
}

function ShowDivTop(DivID, t) {
    window.status = t;
	document.getElementById(DivID).style.display='block';
	document.getElementById(DivID).style.top = t;
}

var cancel = false;
var ShiftPressed = 0;

function detectspecialkeys(e){
var evtobj=window.event? event : e
if (evtobj.shiftKey)
ShiftPressed = true;
//window.status = ShiftPressed;
}
function clearspecialkeys(e) {
ShiftPressed = false;
//window.status = ShiftPressed;
}

document.onkeydown=detectspecialkeys;
document.onkeyup=clearspecialkeys;

function HideDiv(DivID) {
    if ( ! ( ShiftPressed )  ) {
	    document.getElementById(DivID).style.display='none';
	}
}

function HideChildDivs(DivID) {
	if (document.getElementById(DivID).children.length > 0) {
		for (var i = document.getElementById(DivID).children.length - 1 ; 0<=i; i--) {			
			if ( document.getElementById(DivID).children.item(i).tagName == 'DIV' ) {
				HideDiv ( document.getElementById(DivID).children.item(i).id )
			}
		}	
	}
}

function ToggleDiv(DivID) {
	if ( document.getElementById(DivID).style.display=='none' ) {
		document.getElementById(DivID).style.display='block';
	}
	else {
		document.getElementById(DivID).style.display='none';
	}
}

/*
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
    if (IE) { // grab the x-y pos.s if browser is IE
        tempX = event.clientX + document.body.scrollLeft;
        tempY = event.clientY + document.body.scrollTop;
    }
    else {  // grab the x-y pos.s if browser is NS
        tempX = e.pageX;
        tempY = e.pageY;
    }  
    if (tempX < 0){tempX = 0;}
    if (tempY < 0){tempY = 0;}  
    window.status = tempX + ' ' + tempY;
    return true;
}

function ShowDivMouseOffset ( DivID , rel ) {

    if ( document.getElementById(DivID).style.display!='block' ) {
        cancel = true;
    	if ( IE ) {
    	    document.getElementById(DivID).style.zIndex = 10000;
    	    document.getElementById(DivID).style.pixelLeft = tempX;
    	    document.getElementById(DivID).style.pixelTop = tempY;
        } else {
    	    document.getElementById(DivID).style.left = tempX;
    	    document.getElementById(DivID).style.top = tempY;
    	    //alert ( document.getElementById(DivID).style.pixelLeft );
    	    //document.getElementById(DivID).style.top = tempY + 50;
        }
        document.getElementById(DivID).style.display='block'
        //alert ( tempX + ' ' + tempY );
    } else {
        //it's already being shown (assume in the right place) do nothing
        //cancel the timeout for the hidediv
        cancel = true;
        document.getElementById(DivID).style.display='block'
    }

}
*/

function ShowDivAbs( DivID , ele ) {
	var x, y;
	x = 0; 
	y = 0;
	//alert( document.getElementById(DivID).style.display );
	document.getElementById(DivID).style.display='block';
	//alert ( DivID );
	while ( ( ! ( ele == null ) ) && ( ! ( ele.nodeName == 'DIV' ) ) ) {
		//alert(ele.nodeName);
		x += ele.offsetLeft;
		y += ele.offsetTop;
		ele = ele.offsetParent;
	}	
	document.getElementById(DivID).style.pixelLeft = x + 30;
	document.getElementById(DivID).style.pixelTop = y + 15;
}

function ToggleDivAbs(DivID, ele) {
	//alert (document.getElementById(DivID).style);
	if ( document.getElementById(DivID).style.display=='none' ) {
		ShowDivAbs ( DivID , ele );
	}
	else {
		//document.getElementById(DivID).style.display='none';
		HideDiv ( DivID );
	}
}

function SummaryDiv ( innerHTML , clientID ) {
    var t = ""; 
    t = t + "<div class=\"description\" id=\"" + clientID + "\" " ;
    t = t + "onmouseover=\"ShowDiv ( '" + clientID + "' )\" onmouseout=\"HideDiv ( '" + clientID + "' )\" >" ;
    t = t + "<span class=\"shiftmessage\">Hold shift key to click on links in this window.</span><br>"
    t = t + innerHTML ;
    t = t + "</div>" ;
    //alert (t );
    return t;
}

function AND ( arg1 , arg2 ) {
    return arg1 && arg2;
}

function CreateResultsArray ( xmlDoc , currentText , http , scriptFunctionName ) {
    var i ;
    var j ;
    var t = "" ; 
    var n ;
    var m ;
    var d ;
    var curr = 0;
    var a = new Array() ;
    var numResults = 0 ;
    if ( xmlDoc.getElementsByTagName("item").length == 0 ) {
        t = "No results found for " + currentText +"<img src=\"/images/1.gif\" border=\"0\" height=\"16\" width=\"1\" /><br>";
        a[0] = t ;
        return a;
        //alert ( http.responseText ) ;
    }
    else {
        // d is integer division result , how many pages
        d = parseInt ( ( xmlDoc.getElementsByTagName("item").length - 1 ) / 10 ) ;
        
        var c ;
        for ( j = 0 ; j <= d ; j ++ ) {
            t = "<ul>" ;
            // m is number of items on this page...always 10, unless we're on the last page
            if ( j == d ) {
                if ( ( xmlDoc.getElementsByTagName("item").length % 10 ) == 0 ) {
                    m = 10 ;
                } else {
                    m = xmlDoc.getElementsByTagName("item").length % 10 ;
                }
            } else {
                m = 10 ;
            }
            for ( i = 0 ; i < m ; i ++ ) {
                numResults += 1 ;
                c = scriptFunctionName + "_" + curr ;
                n = xmlDoc.getElementsByTagName("item")[curr] ;
                t = t + "<li>" ;
                t = t + "<span onmouseover=\"ShowDiv ( '" + c + "' );\" onmouseout=\" cancel=false ; HideDiv( '" + c + "') ;\">" ; //setTimeout ( 'HideDiv( \\'" + c + "\\')' , 100 )
                //alert ( n.getElementsByTagName("link") )
                if ( n.getElementsByTagName("link") ) {
                    if ( n.getElementsByTagName("link").length > 0 ) {
                        if ( document.implementation && document.implementation.createDocument ) {
                            if ( n.getElementsByTagName("link")[0].firstChild ) {
                                t = t + "<a href=\"" + n.getElementsByTagName("link")[0].firstChild.nodeValue + "\" class=ResultsLink>" ;
                            } else {
                                t = t + "<a href=\"" + n.getElementsByTagName("link")[0].nodeValue + "\" class=ResultsLink>" ;
                            }
                        } else { 
                            t = t + "<a href=\"" + n.getElementsByTagName("link")[0].text + "\" class=ResultsLink>" ;
                        }
                    }
                } else { 
                    //t = t + "<a href=\"" + "\" class=ResultsLink>" ;
                }
                if ( n.getElementsByTagName("title") ) { 
                    if ( n.getElementsByTagName("title").length > 0 ) {
                        if ( document.implementation && document.implementation.createDocument ) {
                            if ( n.getElementsByTagName("title")[0].firstChild ) {
                                t = t + n.getElementsByTagName("title")[0].firstChild.nodeValue + "</a><br>" ;
                            } else {
                                t = t + n.getElementsByTagName("title")[0].nodeValue + "</a><br>" ;
                            }
                        } else { 
                            t = t + n.getElementsByTagName("title")[0].text + "</a><br>" ;
                        }
                    }
                } else {
                    t = t + " </a><br>" ;
                }
                t = t + "</span>" ;
                if ( n.getElementsByTagName("description") ) { 
                    if ( n.getElementsByTagName("description").length > 0 ) {
                        if ( document.implementation && document.implementation.createDocument ) {
                            if ( n.getElementsByTagName("description")[0].firstChild ) {
                                //alert ( n.getElementsByTagName("description")[0].firstChild.nodeType  );
                                t = t + SummaryDiv ( n.getElementsByTagName("description")[0].firstChild.nodeValue , c ) ;
                            } else {
                                t = t + SummaryDiv ( n.getElementsByTagName("description")[0].nodeValue , c ) ;
                            }
                        } else {
                            t = t + SummaryDiv ( n.getElementsByTagName("description")[0].text , c ) ;
                        }
                    }
                }
                t = t + "</li>" ;
                curr ++ ;
            }
            t = t + "</ul>" ;
            a[j] = t ;
        }
    //a[j + 1] = "
    a[j] = numResults + " results" ;
    return a;
    }
    //alert ( t ) ;
}

/*
function CreateResultsTable ( xmlDoc , currentText , http , scriptFunctionName ) {
    var i ;
    var t = "" ; 
    var n ;
    var m ;
    if ( xmlDoc.getElementsByTagName("item").length == 0 ) {
        t = "No results found for " + currentText +"<br>";
        //alert ( http.responseText ) ;
    }
    else {
        if ( xmlDoc.getElementsByTagName("item").length < 10 ) {
            m = xmlDoc.getElementsByTagName("item").length ;
        } else {
            m = 10 ;
        }
        var c ;
        t = t + "<ul>" ;
        for ( i = 0 ; i < m ; i ++ ) {
            c = scriptFunctionName + "_" + i ;
            n = xmlDoc.getElementsByTagName("item")[i] ;
            t = t + "<li>" ;
            t = t + "<span onmouseover=\"ShowDivAbs( '" + c + "', this);\" onmouseout=\"HideDiv('" + c + "');\">" ;
            //alert ( n.getElementsByTagName("link") )
            if ( n.getElementsByTagName("link") ) {
                if ( n.getElementsByTagName("link").length > 0 ) {
                    if ( document.implementation && document.implementation.createDocument ) {
                        if ( n.getElementsByTagName("link")[0].firstChild ) {
                            t = t + "<a href=\"" + n.getElementsByTagName("link")[0].firstChild.nodeValue + "\" class=ResultsLink>" ;
                        } else {
                            t = t + "<a href=\"" + n.getElementsByTagName("link")[0].nodeValue + "\" class=ResultsLink>" ;
                        }
                    } else { 
                        t = t + "<a href=\"" + n.getElementsByTagName("link")[0].text + "\" class=ResultsLink>" ;
                    }
                }
            } else { 
                //t = t + "<a href=\"" + "\" class=ResultsLink>" ;
            }
            if ( n.getElementsByTagName("title") ) { 
                if ( n.getElementsByTagName("title").length > 0 ) {
                    if ( document.implementation && document.implementation.createDocument ) {
                        if ( n.getElementsByTagName("title")[0].firstChild ) {
                            t = t + n.getElementsByTagName("title")[0].firstChild.nodeValue + "</a><br>" ;
                        } else {
                            t = t + n.getElementsByTagName("title")[0].nodeValue + "</a><br>" ;
                        }
                    } else { 
                        t = t + n.getElementsByTagName("title")[0].text + "</a><br>" ;
                    }
                }
            } else {
                t = t + " </a><br>" ;
            }
            t = t + "</span>" ;
            if ( n.getElementsByTagName("description") ) { 
                if ( n.getElementsByTagName("description").length > 0 ) {
                    if ( document.implementation && document.implementation.createDocument ) {
                        if ( n.getElementsByTagName("description")[0].firstChild ) {
                            //alert ( n.getElementsByTagName("description")[0].firstChild.nodeType  );
                            t = t + SummaryDiv ( n.getElementsByTagName("description")[0].firstChild.nodeValue , c ) ;
                        } else {
                            t = t + SummaryDiv ( n.getElementsByTagName("description")[0].nodeValue , c ) ;
                        }
                    } else {
                        t = t + SummaryDiv ( n.getElementsByTagName("description")[0].text , c ) ;
                    }
                }
            }
            t = t + "</li>" ;
        }
        t = t + "</ul>";
    }
    //alert ( t ) ;
    return t;
}
*/

function SearchNotice () {
    return "<span class=AjaxAlert>Searching...<img src=\"/images/1.gif\" border=\"0\" height=\"16\" width=\"1\" /></span><br>" ;
}

function UniqueDate () {
    var now = new Date() ;
    return ( "A" + now.getDate() + now.getMonth() + now.getFullYear() + now.getHours() + now.getMinutes() + now.getMilliseconds() ) ;
}
