//SLIDER FOR PANEL DIVS
//4 FUNCTIONS CREATE THE SLIDING EFFECT
  //2 FUNCTIONS FOR UP-DOWN EFFECT slideup(DIVNAME) slidedown(DIVNAME)
  //2 FUNCTIONS FOR LEFT-RIGHT EFFECT slideout(DIVNAME) slidein(DIVNAME)


//SLIDES UP DOWN****************************************************************
//TIMERS
//MOFIFY TO MAKE SLIDE EFFECT LAST LONGER 


var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();


function slidedown(objname){
        //objname = "sub_"+slide_id
	
		if(moving[objname])
                return;
				
        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide down something that is already visible

        moving[objname] = true;
        dir[objname] = "down"; 
		
		document.getElementById(objname).style.display="inline";
		full_height = document.getElementById(objname).offsetHeight; 
		document.getElementById(objname).style.display="none";   
		startslide(objname,full_height);
		 
}

function slideup(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden

        moving[objname] = true; 
		dir[objname] = "up"; 
		
		document.getElementById(objname).style.display="inline";
		full_height = document.getElementById(objname).offsetHeight;
		document.getElementById(objname).style.display="none";
				
		startslide(objname,full_height); 
	
}

function startslide(objname,full_height){
        obj[objname] = document.getElementById(objname);

        endHeight[objname] = full_height;
        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
        }

        obj[objname].style.display = "inline";

        timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > slideAniLen)
                endSlide(objname)
        else {
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                if(dir[objname] == "up")
                        d = endHeight[objname] - d;

                obj[objname].style.height = d + "px";
        }

        return;
}

function endSlide(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        obj[objname].style.height = endHeight[objname] + "px";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        delete(obj[objname]);
        delete(dir[objname]);

        return;
}





//SLIDES LEFT RIGHT***************************************************************

//TIMERS
//MOFIFY TO MAKE SLIDE EFFECT LAST LONGER 
var timerlen2 =1;
var slideAniLen2 =500;

var timerID2 = new Array();
var startTime2 = new Array();
var obj2 = new Array();
var endWidth = new Array();
var moving2 = new Array();
var dir2 = new Array();

function slideout(objname){
        if(moving2[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide out something that is already visible

        moving2[objname] = true;
        dir2[objname] = "out";
        startslide2(objname);
}

function slidein(objname){
        if(moving2[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden

        moving2[objname] = true;
        dir2[objname] = "in";
        startslide2(objname);
}

function startslide2(objname){
        obj2[objname] = document.getElementById(objname);

        endWidth[objname] = parseInt(obj2[objname].style.width);
    
	   
	    startTime2[objname] = (new Date()).getTime();
         

	
        if(dir2[objname] == "out"){
                obj2[objname].style.width = "1px";
        }

        obj2[objname].style.display = "block";

        timerID2[objname] = setInterval('slidetick2(\'' + objname + '\');',timerlen2);
		
		
}

function slidetick2(objname){
        var elapsed = (new Date()).getTime() - startTime2[objname];

        if (elapsed > slideAniLen2)
                endSlide2(objname)
        else {
			    var d =Math.round(elapsed / slideAniLen2 * endWidth[objname]);
                if(dir2[objname] == "in")
                        d = endWidth[objname] - d;
					

                obj2[objname].style.width = d + "px";
        }

        return;
}

function endSlide2(objname){
        clearInterval(timerID2[objname]);

        if(dir2[objname] == "in")
                obj2[objname].style.display = "none";

        obj2[objname].style.width = endWidth[objname] + "px";

        delete(moving2[objname]);
        delete(timerID2[objname]);
        delete(startTime2[objname]);
        delete(endWidth[objname]);
        delete(obj2[objname]);
        delete(dir2[objname]);

        return;
}

function display_filters_refresh(filter_id)
{
document.getElementById('filter_go').src="create_filter_list.asp?filter_id="+filter_id+"&refresh=1"
}

function display_filters(filter_id)
{
var opened_drills 
if (document.getElementById('sub_'+filter_id).style.display=='none'){
document.getElementById('filter_go').src="create_filter_list.asp?filter_id="+filter_id
slidedown(filter_id)

opened_drills = getCookie('filters_opened')

if(opened_drills){
if(opened_drills.indexOf(filter_id) < 0 )
{
 opened_drills = opened_drills+'|'+filter_id+'|'
}

 opened_drills = opened_drills.replace(null+'|','');
 opened_drills = opened_drills.replace('||','|');

}

else
{
opened_drills = filter_id+'|'

}

 var Expiration=new Date();
 var expTime = 1000*60*60*24*520;
 Expiration.setTime (Expiration.getTime() + expTime);

 setCookie('filters_opened',opened_drills, Expiration)


}
else
{
slideup('sub_'+filter_id)
document.getElementById("table_"+filter_id).className="filter_type"
document.getElementById("arrow_"+filter_id).src="images/arrow_off.png"

	to_remove = filter_id+'\\|'
	set_up_ids = getCookie('filters_opened')

	var sRegExInput = new RegExp(to_remove, "g");
	
	
    if(set_up_ids){
	new_set_ups = set_up_ids.replace(sRegExInput,'');
    new_set_ups = new_set_ups.replace(null+'|','');
	new_set_ups = new_set_ups.replace('||','');
	}


	var Expiration=new Date();
	var expTime = 1000*60*60*24*520;
	Expiration.setTime (Expiration.getTime() + expTime);
	setCookie('filters_opened','', Expiration)

	
	
}



populate_drills_boxes()
	
}

function display_filters2(filter_id)
{

if (document.getElementById('sub_'+filter_id).style.display=='none'){
document.getElementById('filter_go').src="create_filter_list2.asp?filter_id="+filter_id
slidedown(filter_id)

opened_drills = getCookie('filters_opened')

if(opened_drills){
if(opened_drills.indexOf(filter_id) < 0 )
{
 opened_drills = opened_drills+'|'+filter_id+'|'
}

 opened_drills = opened_drills.replace(null+'|','');
 opened_drills = opened_drills.replace('||','|');

}

else
{
opened_drills = filter_id+'|'

}

 var Expiration=new Date();
 var expTime = 1000*60*60*24*520;
 Expiration.setTime (Expiration.getTime() + expTime);

 setCookie('filters_opened',opened_drills, Expiration)

}
else
{
slideup('sub_'+filter_id)
document.getElementById("table_"+filter_id).className="filter_type"
document.getElementById("arrow_"+filter_id).src="images/arrow_off.png"


	to_remove = filter_id+'\\|'
	set_up_ids = getCookie('filters_opened')

	var sRegExInput = new RegExp(to_remove, "g");
	
	

	new_set_ups = set_up_ids.replace(sRegExInput,'');
    new_set_ups = new_set_ups.replace(null+'|','');
	new_set_ups = new_set_ups.replace('||','');



	var Expiration=new Date();
	var expTime = 1000*60*60*24*520;
	Expiration.setTime (Expiration.getTime() + expTime);
	setCookie('filters_opened','', Expiration)
}


populate_drills_boxes()
}



function drill_down(new_id)
{
	set_up_ids = document.getElementById('drill_options').value
	


	if(set_up_ids.indexOf(new_id) >= 0)
	{
	 	document.getElementById('filter_go2').src="populate_listing.asp?filters="+set_up_ids
	}
	else
	{
		new_set_ups = new_id+'|'+set_up_ids
		

		document.getElementById('drill_options').value=new_set_ups
		document.getElementById('filter_go2').src="populate_listing.asp?filters="+new_set_ups
	}
	

	//document.getElementById('drill_box_'+new_id).className='checkboxx_over'
	//document.getElementById('drill_box_'+new_id).checked=true
	
		
	
}


function drill_down2()
{
	set_up_ids = document.getElementById('drill_options').value
	document.getElementById('filter_go2').src="populate_listing.asp?filters="+set_up_ids

}



function close_drill(new_id)
{   
	to_remove = new_id+'|'
	set_up_ids = document.getElementById('drill_options').value
	
	

	new_set_ups = set_up_ids.replace(to_remove,'') 
	document.getElementById('drill_options').value=new_set_ups
	document.getElementById('filter_go').src="populate_listing.asp?filters="+new_set_ups+"&close_drills=1"

	opened_drills = new_set_ups
	

	if(document.getElementById('drill_box_'+new_id)){
	document.getElementById('drill_box_'+new_id).className='checkboxx'
	document.getElementById('drill_box_'+new_id).checked=false
	}

}


function check_close_filters(new_id,parent_id){


	if (document.getElementById('drill_box_'+new_id).checked==true)
	{
		display_filters_refresh(parent_id);
		drill_down(new_id);
	}

	else{
		close_drill(new_id)
	}

}



function setCookie(name, value, expire) {
          document.cookie = name + "=" + escape(value)
          + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()))
                }

				
function getCookie(name) {
                                  var dc = document.cookie;
                                  var prefix = name + "=";
                                  var begin = dc.indexOf("; " + prefix);
                                  if (begin == -1) {
                                    begin = dc.indexOf(prefix);
                                    if (begin != 0) return null;
                                  } else
                                    begin += 2;
                                  var end = document.cookie.indexOf(";", begin);
                                  if (end == -1)
                                    end = dc.length;
                                  return unescape(dc.substring(begin + prefix.length, end));
                }
				
				
				

				
function check_filters(){
var set_ids
set_ids = getCookie('filters_opened')
if (set_ids){
var filter_array=set_ids.split("|");
var part_num=0;

while(part_num < filter_array.length)
{
if (filter_array[part_num]>0){
slidedown(filter_array[part_num])
//document.getElementById('filter_'+filter_array[part_num]).style.height='200px'
//document.getElementById('filter_'+filter_array[part_num]).style.display='block'

document.getElementById('filter_go_'+part_num).src="create_filter_list2.asp?filter_id="+filter_array[part_num]
}
part_num = part_num+1
}}

}		



function check_filters2(){
var set_ids
set_ids = getCookie('filters_opened')

if (set_ids){
var filter_array=set_ids.split("|");
var part_num=0;

while(part_num < filter_array.length)
{
if (filter_array[part_num]>0){
slidedown(filter_array[part_num])
//document.getElementById('filter_'+filter_array[part_num]).style.height='200px'
//document.getElementById('filter_'+filter_array[part_num]).style.display='block'
document.getElementById('filter_go_'+part_num).src="create_filter_list.asp?filter_id="+filter_array[part_num]
}
part_num = part_num+1
}
}

}
function display_tip3(){
the_id = document.getElementById('theover_id').value
document.getElementById('tip_gopher').src='tooltip.asp?display_tip='+the_id
document.getElementById('tooltip').style.display='block'
}

function display_tip(tip_id){
document.getElementById('theover_id').value = tip_id
the_left  =  document.getElementById('filter_'+tip_id).offsetLeft
the_top = document.getElementById('filter_'+tip_id).offsetTop

the_top  = the_top+185
the_left = the_left+350

document.getElementById('tooltip').style.top=the_top
document.getElementById('tooltip').style.left=the_left
document.getElementById('tooltip').style.display='block'

document.getElementById('tip_gopher').src='tooltip.asp?display_tip='+tip_id

}		

function display_tip2(tip_id,parent_tip){

the_top1 = document.getElementById('filter_'+parent_tip).offsetTop
the_left  =  document.getElementById('subfilter_'+tip_id).offsetLeft
the_top = document.getElementById('subfilter_'+tip_id).offsetTop


if (navigator.appName.indexOf('Microsoft') != -1)
     { the_top = the_top + 180
	   the_top  = the_top1+the_top
	 }
else{
the_top = the_top + 150
}

the_left = the_left+350

document.getElementById('tooltip').style.top=the_top
document.getElementById('tooltip').style.left=the_left
document.getElementById('tooltip').style.display='block'

document.getElementById('tip_gopher').src='tooltip.asp?display_tip='+tip_id


}	

function hide_tip(){
document.getElementById('tooltip').style.display='none'
document.getElementById('tip_content').innerHTML =''
}

function hide_tip2(the_id){
if (document.getElementById('tooltip').style.display='block')
{}
else
{
document.getElementById('tooltip').style.display='none'
document.getElementById('tip_content').innerHTML =''
}
}

function containsDOM (container, containee) { 
  var isParent = false; 
  do { 
    if ((isParent = container == containee)) 
      break; 
    containee = containee.parentNode; 
  } 
  while (containee != null); 
  return isParent; 
}

function checkMouseEnter (element, evt) { 
  if (element.contains && evt.fromElement) { 
    return !element.contains(evt.fromElement); 
  } 
  else if (evt.relatedTarget) { 
    return !containsDOM(element, evt.relatedTarget); 
  } 
} 

function checkMouseLeave (element, evt) { 
  if (element.contains && evt.toElement) { 
    return !element.contains(evt.toElement); 
  } 
  else if (evt.relatedTarget) { 
    return !containsDOM(element, evt.relatedTarget); 
  } 
}




function populate_drills_boxes()
{

the_drill_values = document.getElementById('drill_options').value


var filter_array=the_drill_values.split("|");

var part_num=0;

while(part_num < filter_array.length)
{

if(document.getElementById('drill_box_'+filter_array[part_num]))
{
document.getElementById('drill_box_'+filter_array[part_num]).className='checkboxx_over'
document.getElementById('drill_box_'+filter_array[part_num]).checked=true


}

part_num = part_num+1
}



}
