var intUIDseed=0,arrXMLs=[],arrXSLTs=[],arrCompleted=[];function loadXMLDoc(d,c,a){try{if(window.XMLHttpRequest){c[a]=new XMLHttpRequest();c[a].onreadystatechange=XMLReady;c[a].open("GET",d,true);c[a].send(null)}else{if(window.ActiveXObject){c[a]=new ActiveXObject("Microsoft.XMLHTTP");c[a].onload=XMLReady;c[a].open("GET",d,true);c[a].send()}}arrCompleted[a]=false}catch(b){logAjax("Error Loading XML Doc: "+b)}}function clearAjax(){arrXMLs=[];arrXSLTs=[];arrCompleted=[]}function XMLReady(b){if(arrXMLs.length>0){if(arrXSLTs.length>0){var a=false;a=arrXMLs.every(allReady);if(a){a=arrXSLTs.every(allReady)}if(a){arrXMLs.each(function(d,c){try{if(!$chk($("divXML"+c))){logAjax("Could not inject divXML"+c+", it does not exist (size:"+arrXMLs.length+")")}else{transformXML(parseXML(arrXMLs[c].responseText),parseXML(arrXSLTs[c].responseText),"divXML"+c);arrCompleted[c]=true;logAjax("Injecting divXML"+c)}}catch(f){logAjax("Inject Failed: "+c)}});clearAjax()}}}}function allReady(b,a){try{if(b.readyState==4){return true}else{return false}}catch(c){logAjax("Could not get ReadyState for "+a);return true}}function displayResult(d,b){logAjax("Initializing "+d);if(Browser.Engine.trident){if(Browser.Engine.version<5){logAjax("Browser does not support AJAX features.");return"You need to upgrade to Internet Explorer 7 or better to use this feature."}}try{logAjax("loading XML");loadXMLDoc(d,arrXMLs,intUIDseed);logAjax("loading XSLT");loadXMLDoc(b,arrXSLTs,intUIDseed);var a="divXML"+intUIDseed;intUIDseed=intUIDseed+1;logAjax("Creating "+a);return"

"}catch(c){logAjax(c);return"There was a problem loading this information. This feature may not work in your browser. It has been tested in Mozilla Firefox 3.0 and Internet Explorer 7. If you are using Safari, it does not support XSLT at this time."}return"This feature may be untested in your browser, or not currently working. It has been tested in Mozilla Firefox 3.0 and Internet Explorer 7. If you are using Safari, it does not support XSLT at this time."}function submitComment(d){var b=$("txtMessage").get("value").trim();var a=$("hidId").get("value").trim();var c=d+"feeds/comments.aspx?ContentID="+a+"&content="+b;if(b==""){alert("Please enter something for your comment.")}else{$("divComments").innerHTML=displayResult(c,"../../feeds/XSLT/Comments.xslt");setTimeout("$('divCommentButton').addEvent('click', function(e) {submitComment('../../')})",3*1000);setTimeout("$('divCommentButton').set('styles', {'cursor':'pointer'})",3*1000)}}function parseXML(a){var b;if(window.ActiveXObject){b=new ActiveXObject("Microsoft.XMLDOM");b.async=false;b.loadXML(a)}else{b=new DOMParser().parseFromString(a,"text/xml")}return b}function transformXML(a,b,d){try{if($chk($(d))){if(window.ActiveXObject){$(d).set("text","");$(d).set("innerHTML",a.transformNode(b))}else{if(document.implementation&&document.implementation.createDocument){xsltProcessor=new XSLTProcessor();xsltProcessor.importStylesheet(b);resultDocument=xsltProcessor.transformToFragment(a,document);$(d).set("text","");$(d).appendChild(resultDocument)}}}}catch(c){logAjax(c)}}function logAjax(b){if($chk("divAjaxLog")){try{b=$("divAjaxLog").get("html")+"-"+b+"
";$("divAjaxLog").set("html",b)}catch(a){}}};var data; //Global to Page
var isOpen; //Global to Page
function initAvailability(strFileURL) {
var xml = new JKL.ParseXML( strFileURL );
data = xml.parse();
try {
isOpen = true;
var intTest = data.termList.term.length;
}
catch (err) {
isOpen = false;
var divAvailability = document.getElementById("divAvailability");
divAvailability.style.display = "none";
var divNoAvailability = document.getElementById("divNoAvailability");
divNoAvailability.style.display = "block";
}
if (isOpen) {populateAge();}
}
function populateAge() {
//The Term Length Select Box
var selectAge = document.getElementById("selectAge");
//Clear Gender Box
selectAge.options.length = 0;
//If they are on the Availability Page
if (getQueryVariable("Age") == undefined) {
AddOption(selectAge, new Option("Kamper Age", "0"));
}
else {
AddOption(selectAge, new Option("Age: " + getQueryVariable("Age"), getQueryVariable("Age")))
}
//Vars to Track
var intAge = 0;
var intMinAge = 500; //High, so we know it will be changed.
var intMaxAge = 0; //Low, so we know it will be changed.
//Fill the Age
for (var i = 0; i < data.termList.term.length; i++) {
var intTermMinAge = parseInt(data.termList.term[i].ageMin);
var intTermMaxAge = parseInt(data.termList.term[i].ageMax);
if (intTermMinAge < intMinAge) {
intMinAge = intTermMinAge;
}
if (intTermMaxAge > intMaxAge) {
intMaxAge = intTermMaxAge;
}
}
//Add the Available Ages to the Control
intAge = intMinAge;
while (parseInt(intAge) <= parseInt(intMaxAge)) {
var optAge = new Option(intAge, intAge);
AddOption(selectAge, optAge);
intAge++;
}
//Add the All Ages Option
if (selectAge.childNodes.length > 1) {
AddOption(selectAge, new Option("All Ages", "0"));
}
//Clear the Other Options
populateGender();
}
function populateGender() {
//The Term Length Select Box
var selectGender = document.getElementById("selectGender");
//Get the Age
var intAge = parseInt(document.getElementById("selectAge").value);
//Clear Gender Box (but keep the selection)
var strSelectedGender = selectGender.value;
selectGender.options.length = 0;
//If they are on the Availability Page
if (getQueryVariable("Gender") == undefined) {
AddOption(selectGender, new Option("Gender", "0"));
}
else {
AddOption(selectGender, new Option("Gender: " + getQueryVariable("Gender"), getQueryVariable("Gender")))
}
//Make sure the Age has been selected
if (intAge != -1) {
//Fill the Gender
for (var i = 0; i < data.termList.term.length; i++) {
var intTermAgeMax = data.termList.term[i].ageMax;
var intTermAgeMin = data.termList.term[i].ageMin;
var strTermGender = data.termList.term[i].gender;
if (intTermAgeMax >= intAge && intTermAgeMin <= intAge || intAge == 0) {
var optTermGender = new Option(strTermGender, strTermGender);
AddOption(selectGender, optTermGender);
}
}
}
DropDups(selectGender);
//Add the Both Option
if (selectGender.length > 1) {
AddOption(selectGender, new Option("Both", "0"));
}
//Keep the selected value if it's still available
for (var i = 0; i < selectGender.length; ++i) {
if (strSelectedGender == selectGender.options.item(i).value) {
selectGender.selectedIndex = i
}
}
//Clear the Other Options
populateTermLength();
}
function populateTermLength () {
//The Term Length Select Box
var selectTermLength = document.getElementById("selectTermLength");
//Get the selected Age and Gender
var strSelectedTermLength = selectTermLength.value;
var intAge = parseInt(document.getElementById("selectAge").value);
var strGender = document.getElementById("selectGender").value;
//Clear the Term Length
selectTermLength.options.length = 0;
//If they are on the Availability Page
if (getQueryVariable("Days") == undefined) {
AddOption(selectTermLength, new Option("Term Length", "-1"));
}
else {
AddOption(selectTermLength, new Option("Term Length: " + getQueryVariable("Days"), getQueryVariable("Days")))
}
//Make sure the Gender and Age have been selected
if (strGender != "Gender" && intAge != -1) {
//Fill the Term Length
for (var i = 0; i < data.termList.term.length; i++) {
var strTermGender = data.termList.term[i].gender;
var intTermAgeMax = parseInt(data.termList.term[i].ageMax);
var intTermAgeMin = parseInt(data.termList.term[i].ageMin);
var intTermDays = data.termList.term[i].days;
var bolAddLength = false;
if (intAge == 0) {
if (strGender == 0) {
bolAddLength = true;
}
}
if (!bolAddLength) {
if (intTermAgeMax >= intAge && intTermAgeMin <= intAge && strGender == strTermGender) {
bolAddLength = true;
}
if (intTermAgeMax >= intAge && intTermAgeMin <= intAge && strGender == 0) {
bolAddLength = true;
}
}
if (bolAddLength) {
var optTermLength = new Option(intTermDays, intTermDays);
AddOption(selectTermLength, optTermLength);
}
}
}
DropDups(selectTermLength);
//Add the Both Option
if (selectTermLength.length > 1) {
AddOption(selectTermLength, new Option("All Lengths", "0"));
}
//Keep the selected value if it's still available
for (var i = 0; i < selectTermLength.length; ++i) {
if (strSelectedTermLength == selectTermLength.options.item(i).value) {
selectTermLength.selectedIndex = i
}
}
//Clear the Other Options
populateTermDates();
}
function populateTermDates () {
//The Term Dates Select Box
var selectTermDates = document.getElementById("selectTermDates");
//Get the selected Age and Gender
var strSelectedTermDates = selectTermDates.value;
var intAge = parseInt(document.getElementById("selectAge").value);
var strGender = document.getElementById("selectGender").value;
var intDays = parseInt(document.getElementById("selectTermLength").value);
//Clear the Term Dates Select Box
selectTermDates.options.length = 0;
//Add the Term Dates Option
AddOption(selectTermDates, new Option("Term Dates", "-1"));
//Make Sure Gender, Age, and Length have been selected
if (strGender != "Gender" && intAge != -1 && intDays != -1) {
for (var i = 0; i < data.termList.term.length; i++) {
var strTermGender = data.termList.term[i].gender;
var intTermAgeMax = data.termList.term[i].ageMax;
var intTermAgeMin = data.termList.term[i].ageMin;
var intTermDays = data.termList.term[i].days;
var intTermDate = data.termList.term[i].startDate;
var bolAddDate = false;
if (strGender == 0 || strGender == strTermGender) {
var bolAge = false;
if (intTermAgeMax >= intAge && intTermAgeMin <= intAge) {
bolAge = true;
}
if (intAge == 0 || bolAge) {
if (intDays == 0 || intDays == intTermDays) {
bolAddDate = true;
}
}
}
if (bolAddDate) {
var optTermStart = new Option(intTermDate, intTermDate);
AddOption(selectTermDates, optTermStart);
}
}
}
DropDups(selectTermDates);
//Add the All Option
if (selectTermDates.length > 1) {
AddOption(selectTermDates, new Option("All Start Dates", "0"));
}
//Keep the selected value if it's still available
for (var i = 0; i < selectTermDates.length; ++i) {
if (strSelectedTermDates == selectTermDates.options.item(i).value) {
selectTermDates.selectedIndex = i
}
}
}
function SubmitAvailability() {
var strURL = c_strURL+"discover/Availability.aspx?";
var intAge = parseInt(document.getElementById("selectAge").value);
if (intAge > 0) {
strURL += "Age="+intAge + "&";
}
var strGender = document.getElementById("selectGender").value;
if (strGender != "0") {
strURL += "Gender="+strGender+"&";
}
var intDays = parseInt(document.getElementById("selectTermLength").value);
if (intDays != -1) {
strURL += "Days="+intDays+"&";
}
var strSelectedTermDates = document.getElementById("selectTermDates").value;
if (strSelectedTermDates != "-1") {
strURL += "KampYear=2010"
}
window.location = strURL;
}
//Updated to use MooTools Hash functionality (and to actually work)
function DropDups(Target) {
var myHash = new Hash();
while (Target.options.length > 0) {
if (!myHash.has(Target.options[0].text) && !myHash.hasValue(Target.options[0].value)) {
myHash.set(Target.options[0].text, Target.options[0].value);
}
Target.options[0]=null;
}
myHash.each(function(value, key){
var myOption = new Option(key, value);
AddOption(Target, myOption);
});
}
function AddOption(selectBox, optItem) {
try { selectBox.add(optItem)}
catch(ex) { selectBox.appendChild(optItem, optItem) }
}
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i-1){if(g.charAt(b+1)!='"'){break}b=g.indexOf('"',b+2)}if(b<0){}else{if(g.charAt(b+1)==","){var c=g.substr(f+1,b-f-1);c=c.replace(/""/g,'"');i[i.length]=c;f=b+2;continue}else{if(g.charAt(b+1)=="\n"||e==b+1){var c=g.substr(f+1,b-f-1);c=c.replace(/""/g,'"');i[i.length]=c;f=b+2;break}else{}}}}var a=g.indexOf(",",f);var d=g.indexOf("\n",f);if(d<0){d=e}if(a>-1&&a=0){h[h.length]=i}}if(h.length<0){return}return h};JKL.ParseXML.CSVmap=function(a,b,c){this.http=new JKL.ParseXML.HTTP(a,b,c,true);return this};JKL.ParseXML.CSVmap.prototype.parse=JKL.ParseXML.prototype.parse;JKL.ParseXML.CSVmap.prototype.async=JKL.ParseXML.prototype.async;JKL.ParseXML.CSVmap.prototype.onerror=JKL.ParseXML.prototype.onerror;JKL.ParseXML.CSVmap.prototype.parseCSV=JKL.ParseXML.CSV.prototype.parseCSV;JKL.ParseXML.CSVmap.prototype.parseResponse=function(){var g=this.http.responseText();var d=this.parseCSV(g);if(!d){return}if(d.length<0){return}var f=d.shift();var c=[];for(var b=0;b-1){var b=decodeURIComponent(d[c].substr(0,a).replace("+","%20"));var f=decodeURIComponent(d[c].substr(a+1).replace("+","%20"));e[b]=f}else{e[d[c]]=""}}return e};JKL.ParseXML.HTTP=function(a,c,d,b){this.url=a;if(typeof(c)=="string"){this.query=c}else{this.query=""}if(d){this.method=d}else{if(typeof(c)=="string"){this.method="POST"}else{this.method="GET"}}this.textmode=b?true:false;this.req=null;this.xmldom_flag=false;this.onerror_func=null;this.callback_func=null;this.already_done=null;return this};JKL.ParseXML.HTTP.REQUEST_TYPE="application/x-www-form-urlencoded";JKL.ParseXML.HTTP.ACTIVEX_XMLDOM="Microsoft.XMLDOM";JKL.ParseXML.HTTP.ACTIVEX_XMLHTTP="Microsoft.XMLHTTP";JKL.ParseXML.HTTP.EPOCH_TIMESTAMP="Thu, 01 Jun 1970 00:00:00 GMT";JKL.ParseXML.HTTP.prototype.onerror=JKL.ParseXML.prototype.onerror;JKL.ParseXML.HTTP.prototype.async=function(a){this.async_func=a};JKL.ParseXML.HTTP.prototype.load=function(){if(window.ActiveXObject){var a=JKL.ParseXML.HTTP.ACTIVEX_XMLHTTP;if(this.method=="GET"&&!this.textmode){a=JKL.ParseXML.HTTP.ACTIVEX_XMLDOM}this.req=new ActiveXObject(a)}else{if(window.XMLHttpRequest){this.req=new XMLHttpRequest()}}var b=this.async_func?true:false;if(typeof(this.req.send)!="undefined"){this.req.open(this.method,this.url,b)}if(typeof(this.req.setRequestHeader)!="undefined"){this.req.setRequestHeader("Content-Type",JKL.ParseXML.HTTP.REQUEST_TYPE)}if(typeof(this.req.overrideMimeType)!="undefined"&&!this.textmode){this.req.overrideMimeType(JKL.ParseXML.MIME_TYPE_XML)}if(b){var e=this;e.already_done=false;var d=function(){if(e.req.readyState!=4){return}var f=e.checkResponse();if(!f){return}if(e.already_done){return}e.already_done=true;e.async_func()};this.req.onreadystatechange=d}if(typeof(this.req.send)!="undefined"){this.req.send(this.query)}else{if(typeof(this.req.load)!="undefined"){this.req.async=b;this.req.load(this.url)}}if(b){return}var c=this.checkResponse()};JKL.ParseXML.HTTP.prototype.checkResponse=function(){if(this.req.parseError&&this.req.parseError.errorCode!=0){if(this.onerror_func){this.onerror_func(this.req.parseError.reason)}return false}if(this.req.status-0>0&&this.req.status!=200&&this.req.status!=206&&this.req.status!=304){if(this.onerror_func){this.onerror_func(this.req.status)}return false}return true};JKL.ParseXML.HTTP.prototype.documentElement=function(){if(!this.req){return}if(this.req.responseXML){return this.req.responseXML.documentElement}else{return this.req.documentElement}};JKL.ParseXML.HTTP.prototype.responseText=function(){if(!this.req){return}if(navigator.appVersion.match("KHTML")){var a=escape(this.req.responseText);if(!a.match("%u")&&a.match("%")){return decodeURIComponent(a)}}return this.req.responseText};arrKeys = new Array();
var strPTL = "PTL";
var strJOY = "JOY";
function keyEvents() { document.onkeydown = register;}
function register(e)
{
if (!e) e = window.event;
var keyInfo = String.fromCharCode(e.keyCode) + '\n';
keyInfo += 'Event: ' + e.type + '\n\n';
keyInfo += 'You pressed: ' + String.fromCharCode(e['keyCode']) + ' [Decimal: ' + e['keyCode'] + ']\n';
keyInfo += 'ALT: ' + e['altKey'] + '\n';
keyInfo += 'CTRL: ' + e['ctrlKey'] + '\n';
keyInfo += 'SHIFT: ' + e['shiftKey'] + '\n';
keyInfo += 'REPEAT: ' + e['repeat'] + '\n';
keyInfo += 'WHICH: ' + e['which'];
arrKeys.push(e['key']);
var strLastKeys = arrKeys[arrKeys.length - 3] + arrKeys[arrKeys.length - 2] + arrKeys[arrKeys.length - 1];
strLastKeys = strLastKeys.toUpperCase();
if (strPTL == strLastKeys) {
var divLogo = document.getElementById("divLogo");
divLogo.style.backgroundImage = "url("+c_strURL+"i/headers/TextOnly-trans.png)";
//Google Analytics Event Tracking
pageTracker._trackEvent('Codes', 'PTL', "0");
}
if (strJOY == strLastKeys) {
var divLogo = document.getElementById("divLogo");
divLogo.style.backgroundImage = "url('"+c_strURL+"i/headers/JOY-trans.png')";
//Google Analytics Event Tracking
pageTracker._trackEvent('Codes', 'JOY', "0");
}
if ("LEW" == strLastKeys) {
$(document.body).style.backgroundColor = "#2bccda";
$(document.body).style.backgroundImage = "url('"+c_strURL+"i/bgs/background-lindsay.jpg')";
//Google Analytics Event Tracking
pageTracker._trackEvent('Codes', 'LEW', "0");
}
}//MooTools, , My Object Oriented (JavaScript) Tools. Copyright (c) 2006-2009 Valerio Proietti, , MIT Style License.
var MooTools={version:"1.2.3",build:"4980aa0fb74d2f6eb80bcd9f5b8e1fd6fbb8f607"};var Native=function(k){k=k||{};var a=k.name;var i=k.legacy;var b=k.protect;
var c=k.implement;var h=k.generics;var f=k.initialize;var g=k.afterImplement||function(){};var d=f||i;h=h!==false;d.constructor=Native;d.$family={name:"native"};
if(i&&f){d.prototype=i.prototype;}d.prototype.constructor=d;if(a){var e=a.toLowerCase();d.prototype.$family={name:e};Native.typize(d,e);}var j=function(n,l,o,m){if(!b||m||!n.prototype[l]){n.prototype[l]=o;
}if(h){Native.genericize(n,l,b);}g.call(n,l,o);return n;};d.alias=function(n,l,p){if(typeof n=="string"){var o=this.prototype[n];if((n=o)){return j(this,l,n,p);
}}for(var m in n){this.alias(m,n[m],l);}return this;};d.implement=function(m,l,o){if(typeof m=="string"){return j(this,m,l,o);}for(var n in m){j(this,n,m[n],l);
}return this;};if(c){d.implement(c);}return d;};Native.genericize=function(b,c,a){if((!a||!b[c])&&typeof b.prototype[c]=="function"){b[c]=function(){var d=Array.prototype.slice.call(arguments);
return b.prototype[c].apply(d.shift(),d);};}};Native.implement=function(d,c){for(var b=0,a=d.length;b-1:this.indexOf(a)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,"");},clean:function(){return this.replace(/\s+/g," ").trim();
},camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return("-"+a.charAt(0).toLowerCase());
});},capitalize:function(){return this.replace(/\b[a-z]/g,function(a){return a.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1");
},toInt:function(a){return parseInt(this,a||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(b){var a=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return(a)?a.slice(1).hexToRgb(b):null;},rgbToHex:function(b){var a=this.match(/\d{1,3}/g);return(a)?a.rgbToHex(b):null;},stripScripts:function(b){var a="";
var c=this.replace(/