var domain = "http://global.oup.com";
//var domain = "http://global.uat.oup.com";
//var domain = "http://global.edt.uk.oup.com";
var cookieWsUrl = domain+"/cookiealert";
var cookiePolicyUrl = domain+"/cookiepolicy/";
var version = "/0";
var cookieDate = "/01-01-2000";
var preferredLanguage = "";
var cookieName = "oup-cookie";
var databaseVersion = "0";
var cookieOlderThanSpecificDays = true;
var ie6Message = "
We use cookies to enhance your experience on our website. By clicking 'continue' or by continuing to use our website, you are agreeing to our use of cookies. You can change your cookie settings at any time.
";
try {
var _cookiepolicy = jQuery;
} catch(e) {
try {
var _cookiepolicy = $;
} catch(e) {
}
}
//_cookiepolicy = _cookiepolicy.noConflict();
//alert('pointing to : '+domain);
//alert(' variable conflict. =====> :'+_cookiepolicy +' cookiePolicyUrl :'+cookiePolicyUrl+' oupcookiepolicy_messagetype :'+oupcookiepolicy_messagetype);
// uncomment the below line for testing with implied consent.
//oupcookiepolicy_messagetype='explicit';
_cookiepolicy(document).ready(function() {
writeTheElements();
getTheCookie();
if(oupcookiepolicy_messagetype == 'explicit'){
if (typeof _cookiepolicy.oupcookiepolicy_fancybox == 'function') {
//alert('allready loaded');
_cookiepolicy("a#cookiepolicy_link").oupcookiepolicy_fancybox({
'hideOnContentClick': false,
'hideOnOverlayClick':false
});
_cookiepolicy("a.group").oupcookiepolicy_fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'speedIn' : 600,
'speedOut' : 200,
'overlayShow' : false
});
} else {
//alert('fancybox object not available.');
}
}
try{
if(cookieOlderThanSpecificDays){
checkForAlertMessage();
}else{
}
}catch(e){
var keyword= '/cookiepolicy/';
alertMessageToDisplay=htmlDecode(ie6Message);
if(alertMessageToDisplay.indexOf(keyword) != -1) {
var alertMessageToDisplay1= alertMessageToDisplay.substring(0, alertMessageToDisplay.indexOf(keyword));
var alertMessageToDisplay2= alertMessageToDisplay.substring(alertMessageToDisplay.indexOf(keyword)+keyword.length, alertMessageToDisplay.length);
alertMessageToDisplay = alertMessageToDisplay1+keyword+"?siteid="+oupcookiepolicy_siteid+alertMessageToDisplay2;
}
var p = document.createElement("div");
p.innerHTML = alertMessageToDisplay;
document.body.insertBefore(p, document.body.firstChild);
saveCookie(1);
}
});
function writeTheElements(){
var element = document.createElement("div");
element.innerHTML = "";
document.body.insertBefore(element, document.body.firstChild);
}
function getTheCookie(){
var browserLanguage = window.navigator.userLanguage;
if(browserLanguage==undefined){
browserLanguage = window.navigator.language;
}
browserLanguage = browserLanguage.substring(0,2);
//preferredLanguage = "/"+browserLanguage;
var metaLanguage = metaKeywords();
if(oupcookiepolicy_preferredlanguage != '' && oupcookiepolicy_preferredlanguage != ' ' && oupcookiepolicy_preferredlanguage != "undefined" && oupcookiepolicy_preferredlanguage.length > 0) {
preferredLanguage = "/"+oupcookiepolicy_preferredlanguage;
//alert('oupcookiepolicy_preferredlanguage :'+preferredLanguage);
} else if(metaLanguage != '' && metaLanguage != "undefined") {
metaLanguage = metaLanguage.substring(0,2);
preferredLanguage = "/"+metaLanguage;
//alert('metaLanguage :'+preferredLanguage);
} else if(browserLanguage != '' && browserLanguage != "undefined") {
browserLanguage = browserLanguage.substring(0,2);
preferredLanguage = "/"+browserLanguage;
//alert('browserLanguage :'+preferredLanguage);
}
if(preferredLanguage == '' || preferredLanguage =='undefined') {
preferredLanguage = '/en';
}
//alert('final preferredLanguage :'+preferredLanguage);
var allcookies = document.cookie;
//alert('The Cookies ' + allcookies);
cookiearray = allcookies.split(';');
for(var i=0; i 90*24*60*60*1000){
cookieOlderThanSpecificDays = true;
}else{
cookieOlderThanSpecificDays = false;
}
cookieDate = "/"+ value.split('_')[1];
}
}
}
function metaKeywords() {
var metaLang = '';
metaCollection = document.getElementsByTagName('meta');
for (i=0;i 0){
var lLangArrLength = lLangArry.length;
if(alertMessage.indexOf(messageSeperatorkeyword) != -1){
var lCookieMessagePart = alertMessage.split(messageSeperatorkeyword);
//alert('lCookieMessagePart : '+lCookieMessagePart);
var lCookieMessageLength = lCookieMessagePart.length-1;
//alert('lCookieMessageLength : '+lCookieMessageLength);
for(var lCounter =0; lCounter < lCookieMessageLength; lCounter++ ) {
//alert('cookie message : '+lCookieMessagePart[lCounter])
var dbCookieVersionJS = lCookieMessagePart[lCounter].substring(0, alertMessage.indexOf('|'));
//alert('dbCookieVersionJS :'+dbCookieVersionJS);
lFinalMessage = lCookieMessagePart[lCounter].substring(lCookieMessagePart[lCounter].indexOf('|')+1, lCookieMessagePart[lCounter].length );
//alert('lFinalMessage :'+lFinalMessage);
var langCountryCode = FindNewLangWithCountryCode(lLangArry[lLangCounter++]);
//alert(lCounter + ' : ' +langCountryCode);
var lCookieMessagePartMain = lFinalMessage.split(keyword);
//alert('lCookieMessagePartMain :'+lCookieMessagePartMain);
var lCookieMessageLengthMain = lCookieMessagePartMain.length;
//alert('lCookieMessageLengthMain :'+lCookieMessageLengthMain);
var tempCookieMessage = '';
for(var lCounter1 =0; lCounter1 < lCookieMessageLengthMain; lCounter1++ ) {
//alert('testing : '+lCookieMessagePartMain[lCounter1]);
if(lCounter1 != 0) {
if(oupcookiepolicy_messagetype == 'explicit') {
tempCookieMessage = tempCookieMessage + keyword + "?siteid="+oupcookiepolicy_siteid+"&lang="+langCountryCode + lCookieMessagePartMain[lCounter1]+ "
" ;
} else {
tempCookieMessage = tempCookieMessage + keyword + "?siteid="+oupcookiepolicy_siteid+"&lang="+langCountryCode + lCookieMessagePartMain[lCounter1];
}
} else {
tempCookieMessage = lCookieMessagePartMain[lCounter1];
}
//alert('tempCookieMessage :'+tempCookieMessage);
}
tempCookieMessage = tempCookieMessage.replace('dbCookieVersion',dbCookieVersionJS);
lDisplayCookieMessage = lDisplayCookieMessage +tempCookieMessage;
//alert('final tempCookieMessagewith version :'+tempCookieMessage);
}
} else {
if(alertMessage.length && alertMessage.length > 0) {
if(alertMessage.indexOf('|') != -1) {
var dbCookieVersionJS = alertMessage.substring(0, alertMessage.indexOf('|'));
//alert('else dbCookieVersionJS :'+dbCookieVersionJS);
lFinalMessage = alertMessage.substring(alertMessage.indexOf('|')+1, alertMessage.length );
//alert('else lFinalMessage :'+lFinalMessage);
lDisplayCookieMessage = lFinalMessage;
}
}
}
if(dbCookieVersion == '' || dbCookieVersion ==' '){
dbCookieVersion = '1';
}
alertMessageToDisplay = lDisplayCookieMessage;
//alert('alertMessageToDisplay :'+alertMessageToDisplay);
if(oupcookiepolicy_messagetype == 'implied'){
alertMessageToDisplay=htmlDecode(alertMessageToDisplay);
//alert('alertMessageToDisplay :'+alertMessageToDisplay);
var p = document.createElement("div");
p.innerHTML = alertMessageToDisplay;
document.body.insertBefore(p, document.body.firstChild);
saveCookie(dbCookieVersion);
}else{
//alertMessageToDisplay = alertMessageToDisplay+"I accept";
document.getElementById('cookiepolicy_data').innerHTML = alertMessageToDisplay;
//alert('alertMessageToDisplay : '+alertMessageToDisplay);
try{
document.getElementById('cookiepolicy_link').click();
}catch(e){
_cookiepolicy('#cookiepolicy_link').click();
}
}
}
}
function cookiePolicy(){
var cookieWindow = window.open(cookiePolicyUrl,'_blank');
}
function saveCookie(version){
var currentDate = new Date();
var expiryDate = new Date();
expiryDate.setDate( expiryDate.getDate() +365 );
var savedDate = currentDate.getDate()+"-"+(currentDate.getMonth()+1)+"-"+currentDate.getFullYear();
var expiryDateUtc = expiryDate.toGMTString();
// var cookieToSave = cookieName+","+version+","+savedDate+", expires="+expiryDateUtc;
// var cookieToSave = "name="+cookieName+"; value= version:"+version+",date:"+savedDate+"; expires="+expiryDateUtc;
var cookieToSave = cookieName+"="+version+"_"+savedDate+"; expires="+expiryDateUtc+"; path="+oupcookiepolicy_documentroot ;
var domainName = document.domain;
if(oupcookiepolicy_siteid != null && oupcookiepolicy_siteid !='' && oupcookiepolicy_siteid =='journals')
{
if(domainName != null && domainName != 'undefine' && domainName != '')
{
var containsDot =".";
var firstPart='';
var secondPart='';
var domainToSetCookie='';
//alert(domainName);
if(domainName.indexOf(containsDot) != -1)
{
var str_array = domainName.split(containsDot);
if(str_array.length > 2)
{
domainToSetCookie = '.'+str_array[str_array.length-2] +'.'+str_array[str_array.length-1]
}
//alert('contains dot '+domainToSetCookie);
cookieToSave = cookieToSave +"; "+"domain="+domainToSetCookie;
} else {
//alert('does not contains.');
}
}
}
document.cookie=cookieToSave;
//alert(_cookiepolicy.oupcookiepolicy_fancybox);
if(_cookiepolicy.oupcookiepolicy_fancybox){
//alert('close it :'+_cookiepolicy.oupcookiepolicy_fancybox);
_cookiepolicy.oupcookiepolicy_fancybox.close();
}
/*
if(oupcookiepolicy_style == 'desktop'){
_cookiepolicy.oupcookiepolicy_fancybox.close();
}
if(oupcookiepolicy_style == 'mobile'){
document.location.reload(true);
}
*/
}
function closeImplied(){
document.location.reload(true);
}
_cookiepolicy(document).keydown(function(e) {
if (e.keyCode == 27) {
if (e.keyCode == 27 && !e.disableEscape) {
return false;
//$(document).unbind("keydown");
}}});
// Start Decode Functions
/*
Credit for htmlDecode goes to author 2a6a325068cf by Doug Fritz on May 12, 2011 Diff tech
Referred from : http://code.google.com/r/jimboyeah-3dreams/source/browse/deploy/tech/js/encoder.js?r=2a6a325068cf0aaf720bdba1acc2266449042e38
*/
function htmlDecode(s){
var c,m,d = s;
if(this.isEmpty(d)) return "";
// convert HTML entites back to numerical entites first
d = this.HTML2Numerical(d);
// look for numerical entities "
arr=d.match(/[0-9]{1,5};/g);
// if no matches found in string then skip
if(arr!=null){
for(var x=0;x= -32768 && c <= 65535){
// decode every single match within string
d = d.replace(m, String.fromCharCode(c));
}else{
d = d.replace(m, ""); //invalid so replace with nada
}
}
}
return d;
}
function isEmpty (val){
if(val){
return ((val===null) || val.length==0 || /^\s+$/.test(val));
}else{
return true;
}
}
function HTML2Numerical(s){
return swapArrayVals(s,this.arr1,this.arr2);
}
// arrays for conversion from HTML Entities to Numerical values
var arr1 = [' ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ','"','&','<','>','Œ','œ','Š','š','Ÿ','ˆ','˜',' ',' ',' ','','','','','–','—','‘','’','‚','“','”','„','†','‡','‰','‹','›','€','ƒ','Α','Β','Γ','Δ','Ε','Ζ','Η','Θ','Ι','Κ','Λ','Μ','Ν','Ξ','Ο','Π','Ρ','Σ','Τ','Υ','Φ','Χ','Ψ','Ω','α','β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ','ς','σ','τ','υ','φ','χ','ψ','ω','ϑ','ϒ','ϖ','•','…','′','″','‾','⁄','℘','ℑ','ℜ','™','ℵ','←','↑','→','↓','↔','↵','⇐','⇑','⇒','⇓','⇔','∀','∂','∃','∅','∇','∈','∉','∋','∏','∑','−','∗','√','∝','∞','∠','∧','∨','∩','∪','∫','∴','∼','≅','≈','≠','≡','≤','≥','⊂','⊃','⊄','⊆','⊇','⊕','⊗','⊥','⋅','⌈','⌉','⌊','⌋','〈','〉','◊','♠','♣','♥','♦'];
var arr2 = [' ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ','"','&','<','>','Œ','œ','Š','š','Ÿ','ˆ','˜',' ',' ',' ','','','','','–','—','‘','’','‚','“','”','„','†','‡','‰','‹','›','€','ƒ','Α','Β','Γ','Δ','Ε','Ζ','Η','Θ','Ι','Κ','Λ','Μ','Ν','Ξ','Ο','Π','Ρ','Σ','Τ','Υ','Φ','Χ','Ψ','Ω','α','β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ','ς','σ','τ','υ','φ','χ','ψ','ω','ϑ','ϒ','ϖ','•','…','′','″','‾','⁄','℘','ℑ','ℜ','™','ℵ','←','↑','→','↓','↔','↵','⇐','⇑','⇒','⇓','⇔','∀','∂','∃','∅','∇','∈','∉','∋','∏','∑','−','∗','√','∝','∞','∠','∧','∨','∩','∪','∫','∴','∼','≅','≈','≠','≡','≤','≥','⊂','⊃','⊄','⊆','⊇','⊕','⊗','⊥','⋅','⌈','⌉','⌊','⌋','〈','〉','◊','♠','♣','♥','♦'];
function swapArrayVals (s,arr1,arr2){
if(this.isEmpty(s)) return "";
var re;
if(arr1 && arr2){
//ShowDebug("in swapArrayVals arr1.length = " + arr1.length + " arr2.length = " + arr2.length)
// array lengths must match
if(arr1.length == arr2.length){
for(var x=0,i=arr1.length;x