//Fix IE 6 background image flickering bug
try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}

function externalLinks() { 
 if (!document.getElementsByTagName) return; 
 var anchors = document.getElementsByTagName("a"); 
 for (var i=0; i<anchors.length; i++) { 
   var anchor = anchors[i]; 
   if (anchor.getAttribute("href") && 
       (anchor.getAttribute("rel") == "external" || anchor.getAttribute("rel") == "external nofollow")) 
     anchor.target = "_blank"; 
 } 
} 
window.onload = externalLinks;

function postBack(thisForm) {
	document.forms[thisForm].submit();
}

//Functions for sponsor placement ordering

// -------------------------------------------------------------------
// hasOptions(obj)
//  Utility function to determine if a select object has an options array
// -------------------------------------------------------------------
function hasOptions(obj) {
	if (obj!=null && obj.options!=null) { return true; }
	return false;
	}

// -------------------------------------------------------------------
// swapOptions(select_object,option1,option2)
//  Swap positions of two options in a select list
// -------------------------------------------------------------------
function swapOptions(obj,i,j) {
	var o = obj.options;
	var i_selected = o[i].selected;
	var j_selected = o[j].selected;
	var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
	o[i] = temp2;
	o[j] = temp;
	o[i].selected = j_selected;
	o[j].selected = i_selected;
	}

// -------------------------------------------------------------------
// moveOptionUp(select_object)
//  Move selected option in a select list up one
// -------------------------------------------------------------------
function moveOptionUp(obj) {
	if (!hasOptions(obj)) { return; }
	for (i=0; i<obj.options.length; i++) {
		if (obj.options[i].selected) {
			if (i != 0 && !obj.options[i-1].selected) {
				swapOptions(obj,i,i-1);
				obj.options[i-1].selected = true;
			}
		}
	}
}

// -------------------------------------------------------------------
// moveOptionDown(select_object)
//  Move selected option in a select list down one
// -------------------------------------------------------------------
function moveOptionDown(obj) {
	
	if (!hasOptions(obj)) { return; }
	for (i=obj.options.length-1; i>=0; i--) {
		if (obj.options[i].selected) {
			if (i != (obj.options.length-1) && ! obj.options[i+1].selected) {
				swapOptions(obj,i,i+1);
				obj.options[i+1].selected = true;
			}
		}
	}
}

function checkAll(obj) {

	if (!hasOptions(obj)) { return; }

	for (i=obj.options.length-1; i>=0; i--)
		obj.options[i].selected = true;
}

//Functions for dealing with checkboxes

function checkAllBoxes(box, element) {

	var checked = box.checked;
	var boxes = document.getElementsByName(element);
	for (i=0; i < boxes.length; i++) 
	  boxes[i].checked = checked;
}

function checkHeader(box, element, headerBox) {

	if(!box.checked)
		headerBox.checked = false;
	else {

		if(allChecked(element))
			headerBox.checked = true;
	
	}
}

function allChecked(element) {
	
	var boxes = document.getElementsByName(element);
	for (i=0; i < boxes.length; i++) { 
	  if(!boxes[i].checked)
		  return false;
	}
	return true;
}

function linkButton(thisForm,filterElement,filterName,filterValue) {

	try {
        var element = document.createElement('<input name=\'' + filterElement + '\' />');
    } catch(e) {
        var element = document.createElement('input');
        element.name = filterElement;
    }

    element.type = 'hidden';
    element.value = filterName;
    document.forms[thisForm].appendChild(element);

	try {
        var element = document.createElement('<input name=\'' + filterName + '\' />');
    } catch(e) {
        var element = document.createElement('input');
        element.name = filterName;
    }

    element.type = 'hidden';
    element.value = filterValue;
    document.forms[thisForm].appendChild(element);

	//document.forms[thisForm].test.value = filter;
	document.forms[thisForm].submit();
}