/*
Script-static.js © 2008
Licensed under the Creative Commons
Attribution-Noncommercial-Share Alike
http://creativecommons.org/licenses/by-nc-sa/3.0/
*/

/* 
 ========== Toggle element by id ==========
*/

function ToggleElementById(Id, File) {
  var FrameId = 'Frame_' + Id;
  var FrameElement = document.getElementById(FrameId);
  if (FrameElement.style.display == 'inline') {
    FrameElement.style.display = 'none';
  } else if (FrameElement.style.display == 'block') {
    FrameElement.style.display = 'none';
  } else {
    var FrameSource = 'film/' + File + '.htm'; // + '#' + Id;
    FrameElement.src = FrameSource;
    FrameElement.style.display = 'inline';
  }
}

/* 
 ========== Open Achor Frame ==========
*/

function OpenAnchorFrame() {
  var href = window.location.href;
  var pound = href.indexOf('#');
  if (pound) {
    var end = href.length;
    var Id = href.substring((pound + 1), end);
    var IdCaps = Id.toUpperCase();
    var FrameId = 'Frame_' + IdCaps;
    var FrameElement = document.getElementById(FrameId);
    if (FrameElement) {
      var Source = 'film/' + IdCaps + '.htm'; // + '#' + IdCaps;
      FrameElement.src = Source;
      FrameElement.style.display = 'inline';
      var newhref = href.replace(Id, IdCaps, "i");
      window.location = newhref;
    }
  }
}

/* 
 ========== Target all external links ==========
*/

function TargetAllExternalLinks() {
  // get all anchors
  var anchors = document.getElementsByTagName("a");
  // for each anchor...
  for (var index = 0; index < anchors.length; index++) {
    // examine href (lowercase)
    var href = anchors[index].href.toLowerCase();
    // returns -1 if the string value to search for never occurS
    if (href.indexOf("http://") !== -1 && href.indexOf('tofilmfest.c') == -1) {
      // set target and class
      anchors[index].target = "_blank";
      anchors[index].className = "external";
      // examine onclick attribute
      var anchoronclick = anchors[index].getAttribute('onclick');
      if (anchoronclick === null) {
        anchors[index].setAttribute("onclick", ((anchoronclick !== null) ? anchoronclick: "") + "pageTracker._trackPageview(URLname(href));");
      }
    }
  }
}

/* 
 ========== URL name ==========
*/

function URLname(strURL) {
  var len = strURL.length;
  // remove prefix
  var pre = strURL.indexOf('://');
  if (pre !== -1) {
    strURL = strURL.substring(pre + 3, len);
  }
  // remove www.
  var www = strURL.substring(0, 4); // last char in substring not included
  if (www == 'www.') {
    len = strURL.length;
    strURL = strURL.substring(4, len);
  }
  // remove URI
  var slash = strURL.indexOf('/');
  if (slash !== -1) {
    strURL = strURL.substring(0, slash); // last char in substring not included
  }
  // alert('/link/' + strURL);
  return '/link/' + strURL;
}

/* 
tracking-links-to-direct-downloads-automatically/
*/

function addExtDocEvents() {
  var anchors = document.getElementsByTagName("a");
  var extension = [".doc", ".xls", ".exe", ".zip", ".pdf", ".js"];
  for (var index = 0; index < anchors.length; index++) {
    var anchoronclick = anchors[index].getAttribute("onclick");
    // Tracking electronic documents - doc, xls, pdf, exe, zip
    if (anchoronclick !== null && anchoronclick.indexOf('urchinTracker') > -1) {
      for (var j = 0; j < extension.length; j++) {
        if (anchors[index].href.indexOf(extTrack[0]) != -1 && anchors[index].href.indexOf(extension[j]) != -1) {
          var splitResult = anchors[index].href.split(extTrack[0]);
          anchors[index].setAttribute("onclick", ((anchoronclick !== null) ? anchoronclick: "") + "urchinTracker('/downloads" + splitResult[1] + "');");
          break;
        }
      }
    }
  }
}

/* 
AddEvent function
*/

function addEvent(element, event, funct) {
  if (element.attachEvent) {
    element['e' + event + funct] = funct;
    element[event + funct] = function() {
      element['e' + event + funct](window.event);
    };
    element.attachEvent('on' + event, element[event + funct]);
    var r = element.attachEvent('on' + event, funct);
    return r;
  } else if (element.addEventListener) {
    element.addEventListener(event, funct, false);
    return true;
  } else {
    element['on' + event] = funct;
  }
}

addEvent(window, "load", TargetAllExternalLinks);
addEvent(window, "load", OpenAnchorFrame);

/* 
Set cookie
*/

function setCookie(name, value, expires, path, domain, secure) {
  var today = new Date();
  today.setTime(today.getTime());
  if (expires) {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date(today.getTime() + (expires));
  document.cookie = name + "=" + escape(value) + ((expires) ? ";expires=" + expires_date.toGMTString() : "") + ((path) ? ";path=" + path: "") + ((domain) ? ";domain=" + domain: "") + ((secure) ? ";secure": "");
}

/* 
Get Cookie
*/

function getCookie(name) {
  var start = document.cookie.indexOf(name + "=");
  var len = start + name.length + 1;
  if ((!start) && (name != document.cookie.substring(0, name.length))) {
    return null;
  }
  if (start == -1) {
    return null;
  }
  var end = document.cookie.indexOf(";", len);
  if (end == -1) {
    end = document.cookie.length;
  }
  return unescape(document.cookie.substring(len, end));
}

/* 
Delete Cookie
*/

function deleteCookie(name, path, domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" + ((path) ? ";path=" + path: "") + ((domain) ? ";domain=" + domain: "") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
  }
}