97 lines
3.9 KiB
JavaScript
97 lines
3.9 KiB
JavaScript
|
$(document).ready(function() {
|
||
|
// function to extract the parameters from the url. once we have them we can give them the class 'clicked'
|
||
|
function getAllUrlParams(url) {
|
||
|
// get query string from url (optional) or window
|
||
|
var queryString = url ? url.split('?')[1] : window.location.search.slice(1);
|
||
|
// we'll store the parameters here
|
||
|
var obj = {};
|
||
|
// if query string exists
|
||
|
if (queryString) {
|
||
|
// stuff after # is not part of query string, so get rid of it
|
||
|
queryString = queryString.split('#')[0];
|
||
|
// split our query string into its component parts
|
||
|
var arr = queryString.split('&');
|
||
|
for (var i = 0; i < arr.length; i++) {
|
||
|
// separate the keys and the values
|
||
|
var a = arr[i].split('=');
|
||
|
// set parameter name and value (use 'true' if empty)
|
||
|
var paramName = a[0];
|
||
|
var paramValue = typeof (a[1]) === 'undefined' ? true : a[1];
|
||
|
// (optional) keep case consistent
|
||
|
// paramName = paramName.toLowerCase();
|
||
|
// if (typeof paramValue === 'string') paramValue = paramValue.toLowerCase();
|
||
|
// if the paramName ends with square brackets, e.g. colors[] or colors[2]
|
||
|
if (paramName.match(/\[(\d+)?\]$/)) {
|
||
|
// create key if it doesn't exist
|
||
|
var key = paramName.replace(/\[(\d+)?\]/, '');
|
||
|
if (!obj[key]) obj[key] = [];
|
||
|
// if it's an indexed array e.g. colors[2]
|
||
|
if (paramName.match(/\[\d+\]$/)) {
|
||
|
// get the index value and add the entry at the appropriate position
|
||
|
var index = /\[(\d+)\]/.exec(paramName)[1];
|
||
|
obj[key][index] = paramValue;
|
||
|
} else {
|
||
|
// otherwise add the value to the end of the array
|
||
|
obj[key].push(paramValue);
|
||
|
}
|
||
|
} else {
|
||
|
// we're dealing with a string
|
||
|
if (!obj[paramName]) {
|
||
|
// if it doesn't exist, create property
|
||
|
obj[paramName] = paramValue;
|
||
|
} else if (obj[paramName] && typeof obj[paramName] === 'string'){
|
||
|
// if property does exist and it's a string, convert it to an array
|
||
|
obj[paramName] = [obj[paramName]];
|
||
|
obj[paramName].push(paramValue);
|
||
|
} else {
|
||
|
// otherwise add the property
|
||
|
obj[paramName].push(paramValue);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return obj;
|
||
|
};
|
||
|
|
||
|
|
||
|
var methodList = getAllUrlParams().method;
|
||
|
var libList = getAllUrlParams().librarian;
|
||
|
|
||
|
if ( (typeof methodList === 'undefined') && (typeof libList === 'undefined')) {
|
||
|
} else {
|
||
|
|
||
|
|
||
|
if (typeof libList !== 'undefined') {
|
||
|
if (Array.isArray(libList)===false) {
|
||
|
var search_id0 = libList;
|
||
|
var element0 = document.getElementById(search_id0);
|
||
|
element0.classList.add("clicked");
|
||
|
// alert(search_id0);
|
||
|
|
||
|
} else {
|
||
|
for (i=0; i < libList.length ; i++) {
|
||
|
var search_id = libList[i];
|
||
|
var element = document.getElementById(search_id);
|
||
|
element.classList.add("clicked");
|
||
|
// alert(i);
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
|
||
|
if (typeof methodList !== 'undefined') {
|
||
|
if (Array.isArray(methodList)===false) { // is not array
|
||
|
var search_meth0 = methodList;
|
||
|
var elementy0 = document.getElementById(search_meth0);
|
||
|
elementy0.classList.add("methodclicked");
|
||
|
} else { // is array
|
||
|
for (y=0; y < methodList.length ; y++) {
|
||
|
var search_meth = methodList[y];
|
||
|
var elementy = document.getElementById(search_meth);
|
||
|
elementy.classList.add("methodclicked");
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
|
||
|
};
|
||
|
});
|