function getPartnerID() {
  var myURL;
  var myPartnerID;
  var beginOfPartnerID;
  var endOfPartnerID;
  var parameterName;
  var parameterNameLength;
  parameterName = "partnerid=";
  parameterNameLength = parameterName.length;
  myPartnerID = "none";
  myURL = document.URL;
  beginOfPartnerID = myURL.indexOf(parameterName) + parameterNameLength;
  endOfPartnerID = myURL.indexOf("&", beginOfPartnerID);
  if (endOfPartnerID == null || endOfPartnerID <= 1) {
    endOfPartnerID = myURL.indexOf(" ", beginOfPartnerID);
  }
  if (endOfPartnerID == null || endOfPartnerID <= 1) {
    endOfPartnerID = myURL.length; 
  }
  if (beginOfPartnerID != null && beginOfPartnerID >= parameterNameLength) {  
    myPartnerID = myURL.substring(beginOfPartnerID, endOfPartnerID);
  }
  return myPartnerID;
}

function loadImage(myImagePath) {
  myImage = new Image(1,1); 
  myImage.src = myImagePath; 
}      

function createCookie(myCookieName, myCookieValue, myCookieExpires) {
  document.cookie = myCookieName + "=" + myCookieValue + ";expires=" + myCookieExpires + ";path=/";
}

function getCookieValue(myCookieName) {
  var currentCookie;
  var myCookiesArray;
  var resultOfFunction;
  resultOfFunction = "notfound";
  myCookiesArray = document.cookie.split(";");
  for(var i = 0; i < myCookiesArray.length; i++) {
    currentCookie = myCookiesArray[i];
    currentCookie = currentCookie.replace(/^\s*|\s*$/g,"");
    if (currentCookie.indexOf(myCookieName + "=") >= 0) {
      resultOfFunction = currentCookie.substring(myCookieName.length + 1, currentCookie.length);
      return resultOfFunction;
    }
  }
  return resultOfFunction;
}

function isCookieEnabled() {
  var testCookieValue = "test";
  document.cookie = "testCookie=" + testCookieValue + ";expires=" + getVisitIDExpires() + ";path=/";
  if (document.cookie.indexOf("testCookie", 0) >= 0) {
    return true;
  }
  return false;
}

function isCookieExisting(myCookieName) {
  if (document.cookie.indexOf(myCookieName, 0) >= 0) {
    return true;
  }
  return false;
}

function getLanguage() {
  var myURL;
  var myLanguage;
  var beginOfMyLanguage;
  myURL = document.URL;
  beginOfMyLanguage = myURL.indexOf("/index.php/") + 11;
  myLanguage = myURL.substring(beginOfMyLanguage, beginOfMyLanguage + 2);
  return myLanguage;
}

function getImagePath(myLanguage) {
  var resultOfFunction;
  resultOfFunction = "images/pixel/px_" + myLanguage + ".jpg";
  return resultOfFunction;
}

function getVisitIDValue() {
  return getVisitorIDValue();
}

function getVisitIDExpires() {
  var resultOfFunction;
  var myMinutes;
  resultOfFunction = new Date();
  myMinutes = resultOfFunction.getMinutes() + 30;
  resultOfFunction.setMinutes(myMinutes);
  return resultOfFunction;
}

function getVisitorIDValue() {
  var resultOfFunction;
  var dateAndTime;
  var randomNumber1;
  var randomNumber2;
  randomNumber1 = Math.random();
  dateAndTime = new Date();
  resultOfFunction = dateAndTime.getFullYear();
  resultOfFunction = resultOfFunction.toString() + (parseInt(dateAndTime.getMonth()) + 1);
  resultOfFunction = resultOfFunction.toString() + dateAndTime.getDate();
  randomNumber2 = Math.random();
  resultOfFunction = resultOfFunction.toString() + dateAndTime.getHours();
  resultOfFunction = resultOfFunction.toString() + dateAndTime.getMinutes();
  resultOfFunction = resultOfFunction.toString() + dateAndTime.getSeconds();
  resultOfFunction = resultOfFunction.toString() + dateAndTime.getMilliseconds();
  resultOfFunction = resultOfFunction.toString() + randomNumber1.toString();
  resultOfFunction = resultOfFunction.toString() + randomNumber2.toString();
  resultOfFunction = resultOfFunction.toString() + Math.random();
  resultOfFunction = resultOfFunction.replace(/[.]/g, "");
  return resultOfFunction;
}

function getVisitorIDExpires() {
  var resultOfFunction;
  var myMonth;
  resultOfFunction = new Date();
  myMonth = resultOfFunction.getMonth() + 36;
  resultOfFunction.setMonth(myMonth);
  return resultOfFunction;
}

function startTracking() {
  var partnerIDCookieName = "partneridcookie";
  var visitIDCookieName = "visitID";
  var visitorIDCookieName = "visitorID";
  var isRefreshRequired = false;
  if (isCookieExisting(partnerIDCookieName) == false) {
    createCookie(partnerIDCookieName, getPartnerID(), getVisitIDExpires());
    isRefreshRequired = true;
  }
  
  if (isCookieExisting(visitIDCookieName) == false) {
    createCookie(visitIDCookieName, getVisitIDValue(), getVisitIDExpires());
    isRefreshRequired = true;
  }
  else {
    createCookie(visitIDCookieName, getCookieValue(visitIDCookieName), getVisitIDExpires());
  }
  if (isCookieExisting(visitorIDCookieName) == false) {
    createCookie(visitorIDCookieName, getVisitorIDValue(), getVisitorIDExpires());
    isRefreshRequired = true; 
  }
  else {
    createCookie(visitorIDCookieName, getCookieValue(visitorIDCookieName), getVisitorIDExpires());    
  }
  if (isCookieEnabled() == true && isRefreshRequired == true) {
    location.reload(true);
  }
}