var sPath = window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
var segment;
sPath = rtrim(sPath, "#")
var current_segment_id;

Event.observe(window, "load", function() {
	// GIVE ALL ANONYMOUS SEGMENTS IDs
	$$('div.segment[id=""]').each(function(segment,index){
		if(!segment.id) segment.id = 'segment_' + index;
	});

	$$('div.buttonFire').each(function(div) {
		div.observe("click", function(){
			segment_clicked(div);
		},false);
	});

	$$('a.closer').each(function(anc) {
		anc.observe("click", function(obj) {
		    eraseCookie(sPage + 'segment');
		    toggleSegment(anc.up('.showContent'));
		});
	});

	if ($('dd')) {
		$('dd').onchange = $('dd').onkeyup = function() { filterSelection(this.value); }
		//filterSelection('all'); // GN:07/28/09 //Changed to the below
		filterSelection($('dd').value);
	}

	var qs_op = window.details.queryString()['op'];
	if (qs_op) {
		var seggy;
		if ($(qs_op).hasClassName('group')) {
			seggy = $(qs_op).down('.segment');
		} else {
			seggy = $(qs_op);
		}
		toggleSegment(seggy, true, true);
	} else {
		toggleSegment($(readCookie(sPage + 'segment')), true);
	}
});


function segment_clicked(buttonFire){
	// TAKE CARE OF CURRENT CLICK
	var content = buttonFire.next('.showContent');
	if (content.hasClassName('expanded')) {
		eraseCookie(sPage + 'segment');
	} else {
		createCookie(sPage + 'segment', content.parentNode.id, 1440);
	}

	// MAKE SURE EVERYTHING ELSE IS COLLAPSED
	$$('.showContent.expanded').each(function(showContent){
		if(showContent!=content) toggleSegment(showContent, false);
	});

	//TOGGLE CLICKED SEGMENT
	toggleSegment(content, !content.hasClassName('expanded'));
}

function stopVideo(segment){
	if (!segment) return;
	segment.select('.videoHolder').each(function(elt){elt.innerHTML = ''});
}

function loadDynVideo(segment){
	if (!segment) return;
	Element.select(segment, '.dynSwfObj').each(function(elt){
		var vidHolder = Element.down(segment, '.videoHolder');
		writeVideoObject(vidHolder, elt.getAttribute('img'), elt.getAttribute('url'), elt.getAttribute('vidwidth'), elt.getAttribute('vidheight'));
	});
}

function toggleSegment(elt,expanded,scrolltoelt){
	if(!elt) return;
	var top_element = elt;
	if(elt.hasClassName('segment')){
		elt = elt.down('.showContent');
	}else{
		top_element = elt.up('.segment');
	}

    if(expanded){
        elt.removeClassName('collapse');
        elt.addClassName('expanded');
		//Don't Scroll Into view any more
		//scrollSegmentIntoView(elt.parentNode);

		loadDynVideo(elt.parentNode);

		// IN PRODUCTS SUB SECTION, KICK OUT COREMETRICS
		var segment_title = elt.up('.segment').down('.headerItem');
		if(segment_title&&typeof toughbook_model=='string'){
			var title = '';
			title = (segment_title.textContent||segment_title.innerText);
			title = title.replace(' Solutions','');
			title = title.replace(' Solution','');
			cmCreatePageviewTag(cm_sanitize('Toughbook Sol ' + toughbook_model+' '+title),'Toughbook Products Sub');

		} else {
			//ADDED THIS IN TO TEST BECAUSE THERE ARE NO .headerItems on contracts_test.asp
			//segment_title = elt.up('.segment').down('.buttonFire');
			//segment_title.scrollTo();
		}

   }else{
        elt.removeClassName('expanded');
        elt.addClassName('collapse');

	stopVideo(elt.parentNode);
   }

   var buttonFire = elt.previous('.buttonFire');
   buttonFire.update(toggle_string_polarity(buttonFire.innerHTML));



   if (scrolltoelt) top_element.scrollTo();
   //WORK AROUND ISSUE IN IE OF IT CROPPING OFF THE TITLE
//   if (window.details.ieVersion() > -1) window.scrollBy(-45, -45);
}

function scrollSegmentIntoView(segment){
	Element.down(segment,'.buttonFire').scrollIntoView();
}

function filterSelection(id){
    $$('.group').each(function(elt){
        if(id=='all'){
           elt.removeClassName('collapse');
           elt.addClassName('expanded');
	   //collapse all open divs when soring by "All"
	    elt.select('.buttonFire').each(function(div){
		   div.removeClassName('hideMe');
		   div.update(toggle_string_polarity(div.innerHTML,'+'));
		   var content = div.next('.showContent');
		   content.removeClassName('expanded');
		   content.addClassName('collapse');
		   content.down('.closer').removeClassName('hideCloseTag');
		   var paddingElement = content.next('.solutionUpdate');
		   if(paddingElement) paddingElement.removeClassName('hideBottomDivider');
	    });
           	return;
        }else{
            if(elt.id!=id){
                elt.removeClassName('expanded');
                elt.addClassName('collapse');
            }else{
                //if we only have 1 item in the group, just show it without its header.

               if(elt.select('.buttonFire').length<=1){
               	    var content = elt.down('.showContent');
               	    content.removeClassName('collapse');
                    content.addClassName('expanded');
                    content.down('.closer').addClassName('hideCloseTag');
                    var paddingElement = content.next('.solutionUpdate');
                    if(paddingElement) paddingElement.addClassName('hideBottomDivider');
                    elt.down('.buttonFire').addClassName('hideMe');
              }
          }
        }
    });

   if(id!='all'&&$(id)){
    $(id).removeClassName('collapse');
    $(id).addClassName('expanded');
   }

   $$('.solutionUpdate').each(function(div){
    div.style.display='block';
   });

   var group = $$('.group');
   var last_group;

   group.each(
        function(group){
            if(group.hasClassName('expanded')) last_group = group;
       }
   );

   //finds the last item and hides the bottom divider
	if(last_group){
	   var segments = last_group.select('.segment');
	   segments[segments.length-1].down('.solutionUpdate').style.display = 'none';
	}

}

/*
function querySt(el) {
    hu = window.location.search.substring(1);
    gy = hu.split("&");
        for (i=0;i<gy.length;i++) {
            ft = gy[i].split("=");
            if (ft[0] == el) {
                return ft[1];
          }
     }
}
*/

/*
Event.observe(window, "load", function() {
	expandIt(querySt("op"));
})
*/


function expandIt(el) {
    if (el) {
        $(el).down('.showContent').addClassName('expanded');
        var buttonFire = $(el).down('.buttonFire');
        buttonFire.update(toggle_string_polarity(buttonFire.innerHTML));
        $(el).scrollTo();
    }
}

function toggle_string_polarity(value,force_polarity){
	var polarity;
	var index = value.indexOf('[');
	if(value.indexOf('+')>-1){
		polarity = '&ndash;';
	}else{
		polarity = '+';
	}
	return value.substr(0,index+1) + (force_polarity||polarity) + value.substr(index+2);
}