var domready = false; var navFx; var navHeight = 0; var navTimer; var keyTimer; var accordions; var coaccordions; var searchFx; var searchIsOpen = false; window.addEvent('domready', function() { domready = true; // accordion behaviors accordions = new Hash(); var expandables = $$('.expandable'); expandables.each(function(item, idx, arr) { var thisHeight = item.getStyle('height').toInt(); var thisFX = new Fx.Tween(item); var thisGroup = item.getProperty('rel'); eval('accordions.'+item.id+'= {"height":thisHeight,"fx":thisFX,"group":thisGroup,"toggles":new Hash()}'); item.setStyle('height','0px'); }); // accordions for company directory coaccordions = new Hash(); var coexpandables = $$('.coaccordion'); coexpandables.each(function(item, idx, arr) { var thisHeight = item.getStyle('height').toInt(); var thisFX = new Fx.Tween(item); var thisGroup = item.getProperty('rel'); eval('coaccordions.'+item.id+'= {"height":thisHeight,"fx":thisFX,"group":thisGroup,"toggles":new Hash()}'); item.setStyle('height','33px'); }); // for news // set year list width var year_list = $('year_list'); if(year_list) { var year_items = year_list.getChildren('a'); var list_width = 6; year_items.each(function(item, idx, arr) { list_width = list_width + item.getStyle('width').toInt() + 6; }); year_list.setStyle('width', list_width); var active_items = $$('#year_list a.active'); if(active_items.length) { element_go_element('year_list', active_items[0], true); } } }); function accToggleWithChange(element_id, toggler, closed_string, open_string) { if(!domready) return; var thisAccordion = eval('accordions.'+element_id); if(!$(toggler).get('id')) { var uniqueId = toggler.get('tag') + '-' + $time(); while($(uniqueId)) { uniqueId = toggler.get('tag') + '-' + $time(); } toggler.set('id', uniqueId); } if(!thisAccordion.toggles.has(toggler.get('id'))) { thisAccordion.toggles.set(toggler.get('id'), {"closed_string":closed_string,"open_string":open_string}); } var status = accToggle(element_id); if(status) toggler.set('html', open_string); else toggler.set('html', closed_string); } function accToggle(element_id) { if(!domready) return false; var element = $(element_id); var curHeight = element.getStyle('height').toInt(); if(element) { var height = eval('accordions.'+element_id+'.height'); var fx = eval('accordions.'+element_id+'.fx'); if(curHeight == height) { accClose(element_id); return 0; } else { accOpen(element_id); return 1; } } } function coaccToggle(element_id) { if(!domready) return false; var element = $(element_id); var curHeight = element.getStyle('height').toInt(); if(element) { var height = eval('coaccordions.'+element_id+'.height'); var fx = eval('coaccordions.'+element_id+'.fx'); if(curHeight == height) { coaccClose(element_id); return 0; } else { coaccOpen(element_id); return 1; } } } function coaccToggleChange(element_id, toggler, closed_string, open_string) { if(!domready) return; var thisAccordion = eval('coaccordions.'+element_id); if(!$(toggler).get('id')) { var uniqueId = toggler.get('tag') + '-' + $time(); while($(uniqueId)) { uniqueId = toggler.get('tag') + '-' + $time(); } toggler.set('id', uniqueId); } if(!thisAccordion.toggles.has(toggler.get('id'))) { thisAccordion.toggles.set(toggler.get('id'), {"closed_string":closed_string,"open_string":open_string}); } var status = coaccToggle(element_id); if(status) toggler.set('html', open_string); else toggler.set('html', closed_string); } function coaccOpen(element_id) { if(!domready) return false; var element = $(element_id); if(element) { var height = eval('coaccordions.'+element_id+'.height'); var fx = eval('coaccordions.'+element_id+'.fx'); var group = eval('coaccordions.'+element_id+'.group'); coaccordions.each(function(value, key, hash) { if(value.group == group && key!=element_id) { if(value.toggles) { value.toggles.each(function(togglevalue, togglekey, togglehash) { if($(togglekey)) $(togglekey).set('html', togglevalue.closed_string); }); } coaccClose(key); } }); fx.start('height', height+'px'); } } function coaccClose(element_id) { if(!domready) return false; var element = $(element_id); if(element) { var fx = eval('coaccordions.'+element_id+'.fx'); fx.start('height', '33px'); } } function accOpen(element_id) { if(!domready) return false; var element = $(element_id); if(element) { var height = eval('accordions.'+element_id+'.height'); var fx = eval('accordions.'+element_id+'.fx'); var group = eval('accordions.'+element_id+'.group'); accordions.each(function(value, key, hash) { if(value.group == group && key!=element_id) { if(value.toggles) { value.toggles.each(function(togglevalue, togglekey, togglehash) { if($(togglekey)) $(togglekey).set('html', togglevalue.closed_string); }); } accClose(key); } }); fx.start('height', height+'px'); } } function accClose(element_id) { if(!domready) return false; var element = $(element_id); if(element) { var fx = eval('accordions.'+element_id+'.fx'); fx.start('height', '0px'); } } function switchVideo(vimeoID, container, myWidth, myHeight) { if(!domready) return false; var el = $(container); if(!el) return false; if(!myWidth) myWidth = 464; if(!myHeight) myHeight = 261; var nuSwf = new Swiff("http://vimeo.com/moogaloop.swf?clip_id="+vimeoID +"&server=vimeo.com&show_title=1&show_byline=0&show_portrait=0&color=01aef0&fullscreen=1", { id: container+'video', container: el, params: { allowScriptAccess:"always", allowFullScreen:"true" }, properties: { width: myWidth, height: myHeight } }); } function element_go(element_id, distance) { if(!domready) return; var element = $(element_id); var el_fx = new Fx.Tween(element); var new_left; var current_position = element.getStyle('left').toInt(); var parent = element.getParent(); var viewable_length = parent.getStyle('width').toInt(); var element_width = element.getStyle('width').toInt(); var boundary = (element_width - viewable_length) * -1; var next_position = current_position + distance; if(next_position > 0 || next_position < boundary) { //can't go the full amount because it's beyond the boundaries. var remaining_distance = element_width + current_position - viewable_length; //distance to travel right if(distance < 0 && remaining_distance > 0) { //going right (negative) new_left = (remaining_distance * -1) + current_position; } else if(distance > 0) { //going left (positive) new_left = 0; } else return; } else { new_left = next_position; } el_fx.start('left', new_left); } function element_go_element(element_id, toElement_id, limitAtBoundary) { if(!limitAtBoundary) limitAtBoundary = false; var element = $(element_id); var toElement = $(toElement_id); if(!toElement) { return false; } var position = toElement.getPosition(element); var new_left = -1 * position.x; var element_width = element.getStyle('width').toInt(); var current_position = element.getStyle('left').toInt(); var parent = element.getParent(); var viewable_length = parent.getStyle('width').toInt(); var boundary = (element_width - viewable_length) * -1; var remaining_distance = element_width + current_position; if(limitAtBoundary && new_left < boundary) new_left = boundary; var el_fx = new Fx.Tween(element); el_fx.start('left', new_left); return true; } function addMarker(title, lat, lng, map, markeroptions) { var latlng = new GLatLng(lat, lng); var marker = new GMarker(latlng, markeroptions); map.addOverlay(marker); GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(title); }); } /* FOR LIB_FORM */ /* newFileInput * author: ccoffman - 4/28/09 * * hides the text input called [id]_tmp, shows the file input called [id], * and destroys the span called newFileLink_[id] */ function newFileInput(id) { if(!domready) return; $(id+'_tmp').destroy(); $('newFileLink_'+id).destroy(); $('uploads['+id+'][clear]').setProperty('value', 0); $(id).setStyle('display','block'); } /* clearField * */ function clearField(id, toggleEl) { if(!domready) return; var clearInput = $('uploads['+id+'][clear]'); var clearValue = clearInput.getProperty('value'); if(clearValue==1) { $(id+'_tmp').setProperty('value', $('uploads['+id+'][value]').getProperty('value')); clearInput.setProperty('value', 0); $(toggleEl).set('html', 'Clear Field'); } else { $(id+'_tmp').setProperty('value', '(Blank)'); clearInput.setProperty('value', 1); $(toggleEl).set('html', 'Restore Value'); } } /* for news */ function yearlist_back() { element_go('year_list', 200); } function yearlist_forward() { element_go('year_list', -200); } function switchVideo(vimeoID, container, myWidth, myHeight) { if(!domready) return false; var el = $(container); if(!el) return false; if(!myWidth) myWidth = 305; if(!myHeight) myHeight = 172; var nuSwf = new Swiff("http://vimeo.com/moogaloop.swf?clip_id="+vimeoID +"&server=vimeo.com&show_title=1&show_byline=0&show_portrait=0&color=01aef0&fullscreen=1", { id: container+'video', container: el, params: { allowScriptAccess:"always", allowFullScreen:"true" }, properties: { width: myWidth, height: myHeight } }); }