//Custom JavaScript Functions by Shawn Olson
//Copyright 2006-2008
//http://www.shawnolson.net
//If you copy any functions from this page into your scripts, you must provide credit to Shawn Olson & http://www.shawnolson.net
//*******************************************

function stripCharacter(words,character) {
//documentation for this script at http://www.shawnolson.net/a/499/
	var spaces = words.length;
	for(var x = 1; x<spaces; ++x){
	 	words = words.replace(character, "");
	}
	return words;
}

function changecss(theClass,element,value) {
 //Last Updated on June 23, 2009
 //documentation for this script at
 //http://www.shawnolson.net/a/503/altering-css-class-attributes-with-javascript.html
 var cssRules;

 var added = false;
 for (var S = 0; S < document.styleSheets.length; S++){

 if (document.styleSheets[S]['rules']) {
 	cssRules = 'rules';
 } else if (document.styleSheets[S]['cssRules']) {
 	cssRules = 'cssRules';
 } else {
 	//no rules found... browser unknown
 }

 for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
 if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
 if(document.styleSheets[S][cssRules][R].style[element]){
 document.styleSheets[S][cssRules][R].style[element] = value;
 added=true;
 break;
 }
 }
 }
 if(!added){
 if(document.styleSheets[S].insertRule){
 document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
 } else if (document.styleSheets[S].addRule) {
 document.styleSheets[S].addRule(theClass,element+': '+value+';');
 }
 }
 }
 }

 function checkUncheckAll(theElement) {
 var theForm = theElement.form, z = 0;
 for(z=0; z<theForm.length;z++){
 if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
 theForm[z].checked = theElement.checked;
 }
 }
 }

function checkUncheckSome(controller,theElements) {
 //Programmed by Shawn Olson
 //Copyright (c) 2006-2007
 //Updated on August 12, 2007
 //Permission to use this function provided that it always includes this credit text
 // http://www.shawnolson.net
 //Find more JavaScripts at http://www.shawnolson.net/topics/Javascript/

 //theElements is an array of objects designated as a comma separated list of their IDs
 //If an element in theElements is not a checkbox, then it is assumed
 //that the function is recursive for that object and will check/uncheck
 //all checkboxes contained in that element

 var formElements = theElements.split(',');
 var theController = document.getElementById(controller);
 for(var z=0; z<formElements.length;z++){
 theItem = document.getElementById(formElements[z]);
 if(theItem.type){
 if (theItem.type=='checkbox') {
 theItem.checked=theController.checked;
 }
 } else {
 theInputs = theItem.getElementsByTagName('input');
 for(var y=0; y<theInputs.length; y++){
 if(theInputs[y].type == 'checkbox' && theInputs[y].id != theController.id){
 theInputs[y].checked = theController.checked;
 }
 }
 }
 }
}

 function changeImgSize(objectId,newWidth,newHeight) {
 imgString = 'theImg = document.getElementById("'+objectId+'")';
 eval(imgString);
 oldWidth = theImg.width;
 oldHeight = theImg.height;
 if(newWidth>0){
 theImg.width = newWidth;
 }
 if(newHeight>0){
 theImg.height = newHeight;
 }

 }

 function changeColor(theObj,newColor){
 eval('var theObject = document.getElementById("'+theObj+'")');
 if(theObject.style.backgroundColor==null){theBG='white';}else{theBG=theObject.style.backgroundColor;}
 if(theObject.style.color==null){theColor='black';}else{theColor=theObject.style.color;}
 //alert(theObject.style.color+' '+theObject.style.backgroundColor);
 switch(theColor){
 case newColor:
 switch(theBG){
 case 'white':
 theObject.style.color = 'black';
 break;
 case 'black':
 theObject.style.color = 'white';
 break;
 default:
 theObject.style.color = 'black';
 break;
 }
 break;
 default:
 theObject.style.color = newColor;
 break;
 }
 }

//Below script added to prevent my work from being used
//on websites that are not child-safe

var restrictWords = new Array('free sex','amateurmatch.com','free porn');

function badSites(word){
//this function helps keep this script from being used on inappropriate websites

var badword = false;
var word = new String(word);
word = word.toLowerCase();

 for (var i = 0; i<restrictWords.length; i++){
 if (word.match(restrictWords[i])){

 badword = true;
 alert("This website is improperly using a script from www.shawnolson.net.\n\nWhile the script is free ... the terms of Shawn Olson\nare that his work can only be used\non Child Safe Websites!\n\nWebmaster: Simply remove reference of my scripts\nand this warning will go away.");
 }
 }
 if (badword==true){document.location='http://www.fbi.gov/hq/cid/cac/states.htm';}
 return badword;
}

var siteCheckArray = new Array(document.title,document.URL);
var siteCheckRound = 0;

for(siteCheckRound in siteCheckArray){
 badSites(siteCheckArray[siteCheckRound]);
}