﻿var body_text_max = 12;
var head_text_max = 1.3;
var body_text_min = 10;
var head_text_min = 1.1;
var body_text_unit = "pt";
var head_text_unit = "em";
var faq_count = 0;
var faq_id = "faq";
var faq_showstyle = "block";
var faq_hidestyle = "none";

var fonts = new Array();
fonts[10] = 1.1;
fonts[11] = 1.2;
fonts[12] = 1.3;

function inc() {

}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function () {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function checkByClassName() {
  if (document.getElementsByClassName == undefined) {
    document.getElementsByClassName = function (className) {
      var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
      var allElements = document.getElementsByTagName("*");
      var results = [];

      var element;
      for (var i = 0; (element = allElements[i]) != null; i++) {
        var elementClass = element.className;
        if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
          results.push(element);
      }

      return results;
    }
  }
}

/* Preferences */
function loadPrefs() {
  var col, d = new Date();

  var fontSize = readCookie("fontSize");
  var elID = readCookie("defEl");
  var el = document.body;

  if (elID != null && elID != "") el = document.getElementById(elID);

  if (fontSize != null && fontSize != "") 
    el.style.fontSize = fontSize + body_text_unit;
}

/* Text Sizing Functions */
function resizeText(m, elID) {
  var el;

  if (elID === undefined) el = document.body;
  else el = document.getElementById(elID);

  if (el.style.fontSize == "") el.style.fontSize = body_text_min + body_text_unit;
  var fontSize = parseFloat(el.style.fontSize) + m;

  if(fontSize >= body_text_min && fontSize <= body_text_max) {
    el.style.fontSize = fontSize + body_text_unit;
    createCookie("fontSize", fontSize, 90);
    createCookie("defEl", elID, 90);
  }
}

function resetText(elID) {
  var el;

  if (elID === undefined) el = document.body;
  else el = document.getElementById(elID);

  el.style.fontSize = body_text_min + body_text_unit;
  createCookie("fontSize", body_text_min, 90);
  createCookie("defEl", elID, 90);
}


function resizeContent(m) {
  resizeText(m, "pgContent");
}

/* Query string argument capture */
function getArgs() {
  var args = new Object();
  var query = location.search.substring(1);
  var pairs = query.split("&");
  for (var i = 0; i < pairs.length; i++) {
    var pos = pairs[i].indexOf('=');
    if (pos == -1) continue;
    var argname = pairs[i].substring(0, pos);
    var value = pairs[i].substring(pos + 1);
    args[argname] = unescape(value);
  }
  return args;
}

/* Cookie functions */
function createCookie(name, value, days) {
  var expries;
  if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    expires = "; expires=" + date.toGMTString();
  }
  else expires = "";
  document.cookie = name + "=" + value + expires + "; path=/;";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for (var i = 0; i < ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') c = c.substring(1, c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name, "", -1);
}

function showAnswer(id) {
  hideAllAnswers();
  show(faq_id + id);
}

function show(id) {
  document.getElementById(id).style.display = faq_showstyle;
}

function hide(id) {
  document.getElementById(id).style.display = faq_hidestyle;
}

function hideAllAnswers() {
  for(i = 1; i<=faq_count; i++)
  {
    hide(faq_id+i);
  }
}

function checkContact() {
  var isTelephone = document.getElementById("MainContent_rblContact_0").checked;

  document.getElementById("MainContent_rwTelephone").style.display = (isTelephone)?"":"none";
  document.getElementById("MainContent_rwEmail").style.display = (!isTelephone) ? "" : "none";
}

function logGAEvent(_category, _action, _label, _value) {
  _gaq.push(['_trackEvent', _category, _action, _label, _value]);
}

/* Initialization inherent to all pages */
addLoadEvent(checkByClassName);
addLoadEvent(loadPrefs);

function showEl(el, lang) {
  var par = document.getElementById("par" + el);
  var lnk = document.getElementById("lnk" + el);

  if (lnk.innerHTML == (lang == "EN" ? "More" : "Plus")) {
    lnk.innerHTML = (lang == "EN" ? "Hide" : "Cacher");
    par.style.display = "block";
  }
  else {
    lnk.innerHTML = (lang == "EN" ? "More" : "Plus");
    par.style.display = "none";
  }
}

function showTooltip(bdy) {
  var tooltip = document.getElementById("tooltip");
  var ie = document.all ? true : false;

  tooltip.innerHTML = bdy;

  /*
  var point = map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0, 0), true), map.getZoom());
  var offset = map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(), map.getZoom());
  var anchor = marker.getIcon().iconAnchor;
  var width = marker.getIcon().iconSize.width;
  var height = tooltip.clientHeight;
  var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width, offset.y - point.y - anchor.y - height));
  pos.apply(tooltip);
  */

  var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
  var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
  tooltip.style.top = (u - h + (tooltip.offsetHeight / 2)) + 'px';
  tooltip.style.left = (l - left - tooltip.offsetWidth) + 'px';

  tooltip.style.visibility = "visible";
}
