//Custom JavaScript Functions by Shawn Olson
//Copyright 2006
//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
//This file may not be used on adult sites
//or any site that incites hate
//or sites that are not child-friendly
//*******************************************

    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) {
    //documentation for this script at http://www.shawnolson.net/a/503/
     var cssRules;
     if (document.all) {
      cssRules = 'rules';
     }
     else if (document.getElementById) {
      cssRules = 'cssRules';
     }
     for (var S = 0; S < document.styleSheets.length; S++){
      for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
       if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
        document.styleSheets[S][cssRules][R].style[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
    //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){
      if(theItem.type){
        if(theItem.type == 'checkbox' && theItem.id != theController.id){
         theItem.checked = theController.checked;
        }
      } else {

        var nextArray = '';
         for(var x=0;x <theItem.childNodes.length;x++){
          if(theItem.childNodes[x]){
            if (theItem.childNodes[x].id){
              nextArray += theItem.childNodes[x].id+',';
            }
          }
         }
         checkUncheckSome(controller,nextArray);
       
       }
      
      }
     }
    }
    
    
    
    
    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]);
}