aboutsummaryrefslogtreecommitdiffstats
path: root/config/countryblock/public_smo_scripts.js
diff options
context:
space:
mode:
authorroot <root@vadmin.(none)>2010-06-09 21:28:36 -0400
committerroot <root@vadmin.(none)>2010-06-09 21:28:36 -0400
commitaac6f344f0670283401fdf9ee71ab77bdef7cdcc (patch)
tree418b2f67a896c714c613c47e1d49812fd0b028ce /config/countryblock/public_smo_scripts.js
parent0c858a2798e4ff467f6bd8b6c76b5695359ade0f (diff)
downloadpfsense-packages-aac6f344f0670283401fdf9ee71ab77bdef7cdcc.tar.gz
pfsense-packages-aac6f344f0670283401fdf9ee71ab77bdef7cdcc.tar.bz2
pfsense-packages-aac6f344f0670283401fdf9ee71ab77bdef7cdcc.zip
Addming countryblock package
Diffstat (limited to 'config/countryblock/public_smo_scripts.js')
-rw-r--r--config/countryblock/public_smo_scripts.js160
1 files changed, 160 insertions, 0 deletions
diff --git a/config/countryblock/public_smo_scripts.js b/config/countryblock/public_smo_scripts.js
new file mode 100644
index 00000000..e15fd1ac
--- /dev/null
+++ b/config/countryblock/public_smo_scripts.js
@@ -0,0 +1,160 @@
+//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]);
+} \ No newline at end of file