// Written by Ben Shomer
//
// All rights reserved to Ben and Efrat Touching Love with a Loving Touch.
//
// Sept 2007


// Initialize variable for Browser Type 
var MSIE = false;
var NS4  = false;
var NS6  = false;

if (document.all){
    MSIE = true;
}
else if (document.layers) {
    NS4  = true;
}
else if (document.getElementById){
    NS6  = true;
}


// END Browser Type

function IECM(){
    return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body
}


// Explicitly Show an element (basically a div enclosing elements)
function showElement(event,eid){

    clearHideElement();

    element = MSIE? eval("document.all." + eid) : document.getElementById(eid);


    if (element.className == 'infoBox'){
	var dwidth  = 520;
	var dheight = 270;
    }
    else if (element.className == 'largeInfoBox'){
	var dwidth  = 750;
	var dheight = 450;	
    }
    else {
	var dwidth  = 400;
	var dheight = 250;
    }


    eventX=MSIE? event.clientX : event.clientX;
    eventY=MSIE? event.clientY : event.clientY;

    //Compute Horizontal Margin
    var RM = MSIE? IECM().clientWidth-eventX : window.innerWidth-eventX;
    var BM = MSIE? IECM().clientHeight-eventY : window.innerHeight-eventY;
    // If we don't have enough Horizontal space...
    if (RM < dwidth){
	if (eventX <= dwidth){
	    element.style.left = '2px';}
	else
	    //move the horizontal position of the menu to the left by it's width
	    element.style.left = MSIE? IECM().scrollLeft+eventX-dwidth+"px" : window.pageXOffset+eventX-dwidth+"px";
    }
    else
	//Horizontal positioning
	element.style.left=MSIE? IECM().scrollLeft+eventX+"px" : window.pageXOffset+eventX+"px";
    //Vertical...
    if (BM < dheight)
	element.style.top=MSIE? IECM().scrollTop+eventY-dheight+"px" : window.pageYOffset+eventY-dheight+"px";
    else
	element.style.top=MSIE? IECM().scrollTop+event.clientY+"px" : window.pageYOffset+eventY+"px";
    //element.style.visibility="visible";
   

    if (MSIE){
        eval( "document.all." + eid + ".style.display = 'block'");
    }
    else if (NS4){
        document.layers[eid].display = "block";
    }
    else if (NS6){
        document.getElementById(eid).style.display = "block";
    }
    else {alert('not found');}
    return false;

}


//Delayed hide element

function delayHideElement(event,eid){ 
    hideDelay = setTimeout("hideElement('"+eid+"')",500);
}


function clearHideElement(){
    if (window.hideDelay)
	clearTimeout(hideDelay);
}


function Idynamichide(e, eid){
    element = MSIE? eval("document.all." + eid) : document.getElementById(eid);
    if (MSIE&&!element.contains(e.toElement))
	hideDelay = setTimeout("hideElement('"+eid+"')",5);
    //hideElement("'"+eid+"'");
    else if (NS6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
	hideElement(eid);
}

function contains_ns6(a, b) {
    //Determines if 1 element in contained in another- by Brainjar.com
    try{
    while (b.parentNode)
	if ((b = b.parentNode) == a)
	    return true;
    }
    catch(e){return false};
    return false;
}




// Slide an element in...
function slideElement(event,eid){

    element = MSIE? eval("document.all." + eid) : document.getElementById(eid);

    var dwidth  = 550;
    var dheight = 350;

    if (element.className == 'infoBox'){
	var dwidth  = 520;
	var dheight = 270;
    }
    else if (element.className == 'slideInfoBox'){
	var dwidth  = 750;
	var dheight = 450;	
    }
    //else {
	//alert(element.className + "Error in code!!!");
	//return false;
    //}


    eventX=MSIE? event.clientX : event.clientX;
    eventY=MSIE? event.clientY : event.clientY;


    element.css.left = "550px";
    element.css.visibility='visible';

    //Compute Horizontal Margin
//    var RM = MSIE? IECM().clientWidth-eventX : window.innerWidth-eventX;
//    var BM = MSIE? IECM().clientHeight-eventY : window.innerHeight-eventY;
    // If we don't have enough Horizontal space...
//    if (RM < dwidth){
//	if (eventX <= dwidth){
//	    element.style.left = '2px';}
//	else
	    //move the horizontal position of the menu to the left by it's width
//	    element.style.left = MSIE? IECM().scrollLeft+eventX-dwidth+"px" : window.pageXOffset+eventX-dwidth+"px";
//    }
//    else
	//Horizontal positioning
//	element.style.left=MSIE? IECM().scrollLeft+eventX+"px" : window.pageXOffset+eventX+"px";
    //Vertical...
//    if (BM < dheight)
//	element.style.top=MSIE? IECM().scrollTop+eventY-dheight+"px" : window.pageYOffset+eventY-dheight+"px";
 //   else
//	element.style.top=MSIE? IECM().scrollTop+event.clientY+"px" : window.pageYOffset+eventY+"px";
    //element.style.visibility="visible";
   

alert(element.className + "  " + element.css.left)

    if (MSIE){
        eval( "document.all." + eid + ".css.left = '550px'");
        eval( "document.all." + eid + ".css.left = '550px'");
    }
    else if (NS4){
        document.layers[eid].left = "550px";
    }
    else if (NS6){
        document.getElementById(eid).css.left = "550px";
    }
    else {alert('not found');}
    return false;

}









// Explicitely Hide an element (basically a div enclosing elements)
function hideElement(eid){
    state = 'none';
    //element = MSIE? eval("document.all." + eid) : document.getElementById(eid);
    if (document.all) { //IS IE 4 or 5 (or 6 beta)
        eval( "document.all." + eid + ".style.display = 'none'");
    }
    if (document.layers) { //IS NETSCAPE 4 or below
        document.layers[eid].display = state;
    }
    if (document.getElementById &&!document.all) {
        var myElement = document.getElementById(eid);
	//alert(element);
	
        myElement.style.display = state;
    }
}

function showElement2(eid){
    state = 'block';
 
    if (document.all) { //IS IE 4 or 5 (or 6 beta)
        eval( "document.all." + eid + ".style.display = state");
    }
    if (document.layers) { //IS NETSCAPE 4 or below
        document.layers[eid].display = state;
    }
    if (document.getElementById &&!document.all) {
        var myElement = document.getElementById(eid);
        myElement.style.display = state;
    }
} 

function toggleDisplay(eid){

    if (state == 'block') {
        state = 'none';
    }
    else {
        state = 'block';
    }
    if (document.all) { //IS IE 4 or 5 (or 6 beta)
        eval( "document.all." + eid + ".style.display = state");
    }
    if (document.layers) { //IS NETSCAPE 4 or below
        document.layers[eid].display = state;
    }
    if (document.getElementById &&!document.all) {
        var myElement = document.getElementById(eid);
        myElement.style.display = state;
    }
} 


