var Behaviour={list:new Array,register:function(sheet){Behaviour.list.push(sheet);},start:function(){Behaviour.addLoadEvent(function(){Behaviour.apply();});},apply:function(){for(h=0;sheet=Behaviour.list[h];h++){for(selector in sheet){list=document.getElementsBySelector(selector);if(!list){continue;}
for(i=0;element=list[i];i++){sheet[selector](element);}}}},addLoadEvent:function(func){var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func;}else{window.onload=function(){oldonload();func();}}}}
Behaviour.start();function getAllChildren(e){return e.all?e.all:e.getElementsByTagName('*');}
document.getElementsBySelector=function(selector){if(!document.getElementsByTagName){return new Array();}
var tokens=selector.split(' ');var currentContext=new Array(document);for(var i=0;i<tokens.length;i++){token=tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');;if(token.indexOf('#')>-1){var bits=token.split('#');var tagName=bits[0];var id=bits[1];var element=document.getElementById(id);if(tagName&&element.nodeName.toLowerCase()!=tagName){return new Array();}
currentContext=new Array(element);continue;}
if(token.indexOf('.')>-1){var bits=token.split('.');var tagName=bits[0];var className=bits[1];if(!tagName){tagName='*';}
var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements;if(tagName=='*'){elements=getAllChildren(currentContext[h]);}else{elements=currentContext[h].getElementsByTagName(tagName);}
for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j];}}
currentContext=new Array;var currentContextIndex=0;for(var k=0;k<found.length;k++){if(found[k].className&&found[k].className.match(new RegExp('\\b'+className+'\\b'))){currentContext[currentContextIndex++]=found[k];}}
continue;}
if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)){var tagName=RegExp.$1;var attrName=RegExp.$2;var attrOperator=RegExp.$3;var attrValue=RegExp.$4;if(!tagName){tagName='*';}
var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements;if(tagName=='*'){elements=getAllChildren(currentContext[h]);}else{elements=currentContext[h].getElementsByTagName(tagName);}
for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j];}}
currentContext=new Array;var currentContextIndex=0;var checkFunction;switch(attrOperator){case'=':checkFunction=function(e){return(e.getAttribute(attrName)==attrValue);};break;case'~':checkFunction=function(e){return(e.getAttribute(attrName).match(new RegExp('\\b'+attrValue+'\\b')));};break;case'|':checkFunction=function(e){return(e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?')));};break;case'^':checkFunction=function(e){return(e.getAttribute(attrName).indexOf(attrValue)==0);};break;case'$':checkFunction=function(e){return(e.getAttribute(attrName).lastIndexOf(attrValue)==e.getAttribute(attrName).length-attrValue.length);};break;case'*':checkFunction=function(e){return(e.getAttribute(attrName).indexOf(attrValue)>-1);};break;default:checkFunction=function(e){return e.getAttribute(attrName);};}
currentContext=new Array;var currentContextIndex=0;for(var k=0;k<found.length;k++){if(checkFunction(found[k])){currentContext[currentContextIndex++]=found[k];}}
continue;}
if(!currentContext[0]){return;}
tagName=token;var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements=currentContext[h].getElementsByTagName(tagName);for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j];}}
currentContext=found;}
return currentContext;}
function stripCharacter(words,character){var spaces=words.length;for(var x=1;x<spaces;++x){words=words.replace(character,"");}
return words;}
function changecss(theClass,element,value){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){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;}
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;}}
var restrictWords=new Array('free sex','amateurmatch.com','free porn');function badSites(word){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]);}
var xmlhttp
if(!xmlhttp&&typeof XMLHttpRequest!='undefined'){try{xmlhttp=new XMLHttpRequest();}catch(e){xmlhttp=false}}
function myXMLHttpRequest(){var xmlhttplocal;try{xmlhttplocal=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{xmlhttplocal=new ActiveXObject("Microsoft.XMLHTTP")}catch(E){xmlhttplocal=false;}}
if(!xmlhttplocal&&typeof XMLHttpRequest!='undefined'){try{var xmlhttplocal=new XMLHttpRequest();}catch(e){var xmlhttplocal=false;alert('couldn\'t create xmlhttp object');}}
return(xmlhttplocal);}
function sndReq(vote,id_num,ip_num,units){var theUL=document.getElementById('unit_ul'+id_num);theUL.innerHTML='<div class="loading"></div>';xmlhttp.open('get','rpc.php?j='+vote+'&q='+id_num+'&t='+ip_num+'&c='+units);xmlhttp.onreadystatechange=handleResponse;xmlhttp.send(null);}
function handleResponse(){if(xmlhttp.readyState==4){if(xmlhttp.status==200){var response=xmlhttp.responseText;var update=new Array();if(response.indexOf('|')!=-1){update=response.split('|');changeText(update[0],update[1]);}}}}
function changeText(div2show,text){var IE=(document.all)?1:0;var DOM=0;if(parseInt(navigator.appVersion)>=5){DOM=1};if(DOM){var viewer=document.getElementById(div2show);viewer.innerHTML=text;}else if(IE){document.all[div2show].innerHTML=text;}}
var ratingAction={'a.rater':function(element){element.onclick=function(){var parameterString=this.href.replace(/.*\?(.*)/,"$1");var parameterTokens=parameterString.split("&");var parameterList=new Array();for(j=0;j<parameterTokens.length;j++){var parameterName=parameterTokens[j].replace(/(.*)=.*/,"$1");var parameterValue=parameterTokens[j].replace(/.*=(.*)/,"$1");parameterList[parameterName]=parameterValue;}
var theratingID=parameterList['q'];var theVote=parameterList['j'];var theuserIP=parameterList['t'];var theunits=parameterList['c'];sndReq(theVote,theratingID,theuserIP,theunits);return false;}}};Behaviour.register(ratingAction);