var SCROLL_DELAY = 10;
var SITE_TAB_CONTAINER_ID = 'gh-site-select';
var LOGIN_TAB_CONTAINER_ID = 'gh-login';
var languageEnglish = new Object();
var languageDutch = new Object();
var languageFrench = new Object();
languageEnglish.ukSites = "UK Sites";
languageEnglish.beneluxSites = "Benelux Sites";
languageEnglish.frenchSites = "French Sites";
languageEnglish.selectOtherPartnerSite = "Select other partner site";
languageEnglish.closeThisPanel = "Close this panel";
languageEnglish.loginRegister = "Login / Register";
languageEnglish.username = "Username";
languageEnglish.password = "Password";
languageEnglish.forgottenPassword = "Forgotten password";
languageDutch.ukSites = "UK website";
languageDutch.beneluxSites = "Benelux website";
languageDutch.frenchSites = "French website";
languageDutch.selectOtherPartnerSite = "Slecteer andere partner site";
languageDutch.closeThisPanel = "Sluit venster";
languageDutch.loginRegister = "Inloggen / Registreren";
languageDutch.username = "Gebruikersnaam";
languageDutch.password = "Wachtwoord";
languageDutch.forgottenPassword = "Wachtwoord vergeten";
languageFrench.ukSites = "Angleterre";
languageFrench.beneluxSites = "Benelux";
languageFrench.frenchSites = "France";
languageFrench.selectOtherPartnerSite = "Autres sites partenaires";
languageFrench.closeThisPanel = "Fermer cette fenêtre";
languageFrench.loginRegister = "Login / Register";
languageFrench.username = "Username";
languageFrench.password = "Password";
languageFrench.forgottenPassword = "Forgotten password";
var loginHTML;
var sitesHTML;
function initiate() {
this.siteID = document.siteID;
this.siteURL = document.siteURL;
this.imageURL = document.imageURL;
this.registrationURL = document.registrationURL;
this.loginFormSubmitURL = this.siteURL + 'static/signin.php';
this.forgottenPasswordURL = this.siteURL + 'static/forgotten_password.php';
languageName = document.language;
switch(languageName) {
case "english" :
language = languageEnglish;
break;
case "dutch" :
language = languageDutch;
break;
case "french" :
language = languageFrench;
break;
}
loginHTML = '
Login below to access your account. If you don\'t have a login, Register with us
';
loginHTML += '
';
sitesHTML = '' + language.ukSites + '
';
sitesHTML += '
';
sitesHTML += '
';
sitesHTML += '
';
sitesHTML += '
';
sitesHTML += '
';
sitesHTML += '
';
//sitesHTML += '
';
sitesHTML += '' + language.beneluxSites + '
';
sitesHTML += '
';
sitesHTML += '
';
sitesHTML += '
';
sitesHTML += '' + language.frenchSites + '
';
sitesHTML += '';
sitesHTML += '
';
this.initiated = true;
}
function showHide(e) {
if (!this.initiated) {
initiate();
}
containerElement = e.parentNode;
scrollerAttribute = getScrollerAttributeName(containerElement.id);
// If the current element is already being scrolled then exit
scrollerObject = eval ("document." + scrollerAttribute);
if (scrollerObject != null) {
return;
}
// 1st time
if (containerElement.open == null) { // 1st time
containerElement.style.marginTop = "-1000px";
innerDivs = containerElement.getElementsByTagName("div");
mainDiv = innerDivs[0];
// Populate with content depending on the tab's type
if (containerElement.id == "gh-login") {
mainDiv.innerHTML = loginHTML;
} else if (containerElement.id == "gh-site-select") {
mainDiv.innerHTML = sitesHTML;
}
//tabHeight = containerElement.offsetHeight - mainDiv.offsetHeight;
tabHeight = e.offsetHeight;
mTop = -(containerElement.offsetHeight - tabHeight) + "px";
containerElement.style.marginTop = mTop;
//alert ("start margin = " + mTop + ", content height = " + containerElement.offsetHeight);
if (containerElement.id == SITE_TAB_CONTAINER_ID) {
siteListChangeTextClosePanel();
} else if (containerElement.id == LOGIN_TAB_CONTAINER_ID) {
loginChangeTextClosePanel();
}
eval("document." + scrollerAttribute + " = setInterval(\"scroll('down', '" + containerElement.id + "')\", SCROLL_DELAY)");
containerElement.open = true;
document.shownElement = containerElement;
} else if (containerElement.open == false) {
if (containerElement.id == SITE_TAB_CONTAINER_ID) {
siteListChangeTextClosePanel();
} else if (containerElement.id == LOGIN_TAB_CONTAINER_ID) {
loginChangeTextClosePanel();
}
eval("document." + scrollerAttribute + " = setInterval(\"scroll('down', '" + containerElement.id + "')\", SCROLL_DELAY)");
containerElement.open = true;
document.shownElement = containerElement;
} else if (containerElement.open) {
if (containerElement.id == SITE_TAB_CONTAINER_ID) {
siteListChangeTextOpenPanel();
} else if (containerElement.id == LOGIN_TAB_CONTAINER_ID) {
loginChangeTextOpenPanel();
}
eval("document." + scrollerAttribute + " = setInterval(\"scroll('up', '" + containerElement.id + "')\", SCROLL_DELAY)");
containerElement.open = false;
document.shownElement = null;
}
}
function siteListChangeTextClosePanel() {
img = document.getElementById("gh-site-select-image");
img.src = this.imageURL + 'icon_close.gif';
text = document.getElementById("gh-site-select-text");
text.firstChild.nodeValue = language.closeThisPanel;
}
function siteListChangeTextOpenPanel() {
img = document.getElementById("gh-site-select-image");
img.src = this.imageURL + 'icon_arrows.gif';
text = document.getElementById("gh-site-select-text");
text.firstChild.nodeValue = language.selectOtherPartnerSite;
}
function loginChangeTextClosePanel() {
img = document.getElementById("gh-login-image");
img.src = this.imageURL + 'icon_close.gif';
text = document.getElementById("gh-login-label");
text.firstChild.nodeValue = language.closeThisPanel;
}
function loginChangeTextOpenPanel() {
img = document.getElementById("gh-login-image");
img.src = this.imageURL + 'icon_arrows.gif';
text = document.getElementById("gh-login-label");
text.firstChild.nodeValue = language.loginRegister;
}
function scroll(direction, parentID) {
parentContainer = document.getElementById(parentID);
// Get inner divs
innerDivs = parentContainer.getElementsByTagName("div");
contentElement = innerDivs[0];
tabElement = innerDivs[1];
if (parentContainer.distance == null) {
parentContainer.distance = 0.0;
}
val = parentContainer.distance;
proportion = Math.sin((Math.PI / 2.0) * val) * contentElement.offsetHeight;
if (direction == 'down') {
pos = -contentElement.offsetHeight + proportion;
} else if (direction == 'up') {
pos = 0 - proportion;
}
s = pos + "px";
//alert ("move to: " + s + ", content height = " + containerElement.offsetHeight);
parentContainer.style.marginTop = s;
// Turn off scroller and reset distance
if (parentContainer.distance >= 1) {
scrollerAttributeName = getScrollerAttributeName(parentID);
eval("clearInterval(document." + scrollerAttributeName + ")");
eval("document." + scrollerAttributeName + " = null;");
parentContainer.distance = 0.0;
} else {
val += 0.05;
parentContainer.distance = val;
}
}
function getScrollerAttributeName(s) {
return s.replace(/-/g, "_");
}