function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function open_mf_panel(name) {
	var panels = getElementsByClassName('mf_panel_results', 'div', $('media_finder'));
	for(var i=0; i<panels.length; i++) {
		current = panels[i];
		if(current.id == name) {
			current.style.display = 'block';
		}
		else {
			current.style.display = 'none';
		}
	}
}

function clear_thumbs() {
	containers = getElementsByClassName('horizontal_thumb_row', 'tr', $('media_finder'));
	for(var i=0; i<containers.length; i++) {
		so_clearInnerHTML(containers[i]);
	}
}

function so_clearInnerHTML(obj) {
	while(obj.firstChild) obj.removeChild(obj.firstChild);
}

function copy(str) {
   var flashcopier = 'flashcopier';
   if(!document.getElementById(flashcopier)) {
     var divholder = document.createElement('div');
     divholder.id = flashcopier;
     document.body.appendChild(divholder);
   }
   document.getElementById(flashcopier).innerHTML = '';
   var divinfo = '<embed src="/flash/_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(str)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
   document.getElementById(flashcopier).innerHTML = divinfo;
}

function show_photo_searchables(name) {
	// hide / reveal searchable lists
	var panels = getElementsByClassName('photo_searchable_links', 'ul', $('photo_searchables'));
	for(var i=0; i<panels.length; i++) {
		current = panels[i];
		if(current.id == name + '_searchables') {
			current.style.display = 'block';
		}
		else {
			current.style.display = 'none';
		}
	}
	
	// remove 'selected' class from all links
	var panels = getElementsByClassName('selected', 'a', $('searchable_categories'));
	for(var i=0; i<panels.length; i++) {
		current = panels[i];
			current.className = '';
	}
	
	// add 'selected' class to chosen link
	$(name + '_label').firstChild.className += ' selected'
}

function showMoreFromShowThumbs() {
	v = $('vert_more_from_show_sb');
	if(v) {
		v.hide();
	} 
	// $('more_from_show_thumbs').style.overflow = 'hidden'; 
	$('more_from_show_list').hide(); 
	$('more_from_show_thumbs_container').show(); 
	//makeScrollBar('more_from_show_thumbs_container', 'horz_more_from_show_sb', 525, 0, true); 
	h = $('horz_more_from_show_sb');
	if(h) {
		h.show();
	}
	$('thumb_list_toggle_thumbs').addClassName('selected'); 
	$('thumb_list_toggle_list').removeClassName('selected');
}

function showMoreFromShowList() {
	h = $('horz_more_from_show_sb');
	if(h) {
		h.hide();
	} 
	// $('more_from_show_list').style.overflow = 'hidden'; 
	$('more_from_show_thumbs_container').hide(); 
	$('more_from_show_list').show(); 
	//makeScrollBar('more_from_show_list', 'vert_more_from_show_sb', 480); 
	v = $('vert_more_from_show_sb');
	if(v) {
		v.show();
	} 
	$('thumb_list_toggle_list').addClassName('selected'); 
	$('thumb_list_toggle_thumbs').removeClassName('selected');
}

widget_in_use = false;

function scrollPhotoWidget(obj_id, distance) {
	if(!widget_in_use) { 
		obj = $(obj_id)
		if((distance >= 0 && obj.offsetLeft < 0) || (distance < 0 && obj.offsetLeft > -obj.offsetWidth - 2 * distance)) {
			widget_in_use = true; 
			new Effect.Move(obj_id, {x:distance, duration:.5, afterFinish:function(e){ widget_in_use = false; } });
		}
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}


function turnOnSearchImages() {
	if(!search_images_on) {
		search_images_on = true;
		createCookie('search_images_on', 'true', 7);
		$('image_toggle_on').addClassName('selected');
		$('image_toggle_off').removeClassName('selected');
		arr = getElementsByClass('result_image', $('gsa_search_results'), 'p')
		for(i=0; i < arr.length; i++) {
			arr[i].show();
		}
	}
}

function turnOffSearchImages() {
	if(search_images_on) {
		search_images_on = false;
		createCookie('search_images_on', 'false', 7);
		$('image_toggle_on').removeClassName('selected');
		$('image_toggle_off').addClassName('selected');
		arr = getElementsByClass('result_image', $('gsa_search_results'), 'p')
		for(i=0; i < arr.length; i++) {
			arr[i].hide();
		}
	}
}

var search_images_on = true;

window.onload = function() {
	if (cook = readCookie('search_images_on')) {
		search_images_on = (cook == 'true') ? true : false;
		if(!search_images_on) {
			search_images_on = true;
			turnOffSearchImages();
		}
	}
	else {
		search_images_on = true;
		createCookie('search_images_on', search_images_on, 7);
	}
}

	
function nada() {
	
}

function switch_language() {
	var lang = $('lang').value;
	if(lang == 'ALL') lang = '';
	window.location='?lang='+lang
}