//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]);
}

//END of Custom JavaScript Functions by Shawn Olson


function get_by_id(id)
{
	element = null;

	if ( document.getElementById )
	{
		element = document.getElementById(id);
	}
	else if ( document.all )
	{
		element = document.all[id];
	}
	else if ( document.layers )
	{
		element = document.layers[id];
	}

	return element;
}

function clear_value(myid,deflt)
{
	if ( deflt )
	{
		if ( deflt == myid.value )
		{
			myid.value='';
		}
	}
	else
	{
		myid.value='';
	}
}

function reset_value(myid,deflt)
{
	if ( myid.value == '' )
	{
		myid.value = deflt;
	}
}

function show_hide(name)
{
	div1 = null;

	div1 = get_by_id(name);

	if ( div1 )
	{
	 	if ( div1.style.display == 'none' )
	 	{
	 		div1.style.display = '';

	 		set_cookie( 'hdsh_'+name, 1, 365 );
	 	}
	 	else
	 	{
	 		div1.style.display = 'none';

	 		set_cookie( 'hdsh_'+name, 0, 365 );
	 	}

	 	//Effect.toggle( div1, 'slide' );
	}
}

function set_cookie(name,value,days)
{
	if ( value == 0 || value == "" )
	{
		days = -1;
		value == "";
	}

 	if ( days )
 	{
		date = new Date();
		date.setTime( date.getTime() + ( days*24*60*60*1000 ) );
		expires = "; expires="+date.toGMTString();
	}
	else
	{
		expires = "";
	}

	document.cookie = name+"="+escape(value)+expires+"; path=/";
}

function read_cookie(name)
{
	cookie = document.cookie;
	ind = cookie.indexOf( name );

	if ( ind == -1 || name == "" )
	{
		return "";
	}

	ind1 = cookie.indexOf( ';', ind );

	if ( ind1 == -1 )
	{
		ind1=cookie.length;
	}

	return unescape( cookie.substring( ind+name.length+1, ind1 ) );
}

function load_show_hide(to_load)
{
	each_load = to_load.split(',');

	for( i=0; i < each_load.length; i++ )
	{
		sh_id = each_load[i];
		sh_value = read_cookie( 'hdsh_'+sh_id );

		if ( sh_value )
		{
			div1 = get_by_id( sh_id );

			if ( div1 )
			{
				div1.style.display = '';
			}
		}
	}
}

function flash_field(field)
{
	new Effect.Highlight( field, { duration: 0.5, startcolor:'#ffffff', endcolor:'#ffff99', restorecolor:'#ffff99', queue: { position:'end', scope: field, limit: 4 } } );
	new Effect.Highlight( field, { duration: 0.5, startcolor:'#ffff99', endcolor:'#ffffff', restorecolor:'#ffffff', queue: { position:'end', scope: field, limit: 4 } } );
	new Effect.Highlight( field, { duration: 0.5, startcolor:'#ffffff', endcolor:'#ffff99', restorecolor:'#ffff99', queue: { position:'end', scope: field, limit: 4 } } );
	new Effect.Highlight( field, { duration: 0.5, startcolor:'#ffff99', endcolor:'#ffffff', restorecolor:'#ffffff', queue: { position:'end', scope: field, limit: 4 } } );
}