// hide firebug calls from other browsers
if (!("console" in window) || !("firebug" in console)) {
  var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
  window.console = {};
  for (var i = 0; i < names.length; ++i)
  window.console[names[i]] = function() {}
}
// set default uri
if(!site_url) var site_url = '/';
// tell me that useragent has javascript enabled
window.addEvent('domready', function(){$E('body').addClass('hasJs');});

// MAKE ALL EXTERNAL LINKS OPEN IS NEW TAB/WINDOW
function externalLinks() {
  if (!document.getElementsByTagName) return;
  var anchors = $$("a");
  for (var i=0; i<anchors.length; i++) {
    var anchor = anchors[i];
    if (anchor.getAttribute("href") &&  anchor.getAttribute("rel") == "external") {
      anchor.target = "_blank";
    }
  }
}
window.addEvent('domready', externalLinks);

/* FIX SOME PROBLEMS IN INTERNET EXPLORER BROWERS BELOW VERSION 7 */
// fix IE png trancparency on img elemets
function loadAlpha() {
  // exit if IE 7 or not IE at all
  if (!window.ie || window.ie7) return false;
  // set path to spacer image
  var spacer = site_url+'images/spacer.png';
  // get all images on page
  var images = $$('img');
  // loop through images
  for (var i=0; i<images.length; i++) {
    // if image is png, load transparency
    if (images[i].src.indexOf('.png')!=-1) {
      // stop image from collapsing if no width/height set
      images[i].setStyle('width',images[i].width+'px');
      images[i].setStyle('height',images[i].height+'px');
      // apply alpha
      images[i].setStyle('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+images[i].src+'", sizingMethod="image")');
      // hide src image
      images[i].src = spacer;
    }
  }
}
// add hover to all elements in IE6
function fixInternetExplorerHover() {
  var hover = site_url + 'js/hover.htc';
  var body = $$('body');
  body[0].setStyle('behavior','url("' + hover + '")');
}
// run IE fixes
function fixIE() {
  fixInternetExplorerHover();
  loadAlpha();
}
if (window.ie6==true) window.addEvent('domready', fixIE);
/* END IE FIXES */

/* FORM VALIDATION */
function validatePromo() {
  if ($('promo_form')) {
    $('promo_form').onsubmit = function() {
      var error = '';
      var emailRegX = /^\b[a-z0-9\._-]+@+[a-z0-9_-]+\.+[a-z0-9\.]{2,}\b$/; // gets most email addresses. bugs: includes asd..asd@asd.asd
      var inputs = $$('.required'); // get all elements with class = required
      for (var i=0; i<inputs.length; i++) {
        if (inputs[i].value != '') {
          // check email syntax
          if (inputs[i].hasClass('email') && !inputs[i].value.test(emailRegX) ) {
            error += inputs[i].title + "\n";
            inputs[i].addClass('error');
            console.log(inputs[i].value.test(emailRegX));
          }
          // check checkbox
          else if (inputs[i].hasClass('checkbox') && inputs[i].checked == false) {
            error += inputs[i].title + "\n";
            inputs[i].addClass('error');
          }
          else {
            // no errors, clear error className
            inputs[i].removeClass('error');
          }
        }
        else {
          // empty field, add error msg
          error += inputs[i].title + "\n";
          inputs[i].addClass('error');
        }
      }
      if (error!='') {
        alert(error);
        return false;
      }
    };
  }
}
window.addEvent('domready', validatePromo);

window.addEvent('domready', function() {
  if (!$E('a.terms')) return false;
  $E('a.terms').onclick = function() {
    var nw = window.open(this.href,'', "menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,width=560,height=500");
    nw.moveTo(150,100);
    return false;
  }
});