function MM_preloadImages() {
  var d = document;
  if ( d.images ) {
    if ( !d.MM_p ) {
      d.MM_p = new Array();
    }

    var i;
    var j = d.MM_p.length;
    var a = MM_preloadImages.arguments;

    for ( i = 0; i < a.length; i++ ) {
      if ( a[ i ].indexOf('#') != 0 ) {
        d.MM_p[ j ] = new Image;
        d.MM_p[ j++ ].src = a[ i ];
      }
    }
  }
}

function setCookie( name, value, days ) {
  var expire = new Date();
  var cookieString = name + '=' + escape(value) + ';path=/';
  if ( days ) {
    expire.setTime( expire.getTime() + ( 3600000 * 24 * days ) );
    cookieString += ';expires=' + expire.toUTCString();
  }
  document.cookie = cookieString;
}

function getCookie( name ) {
  foobar = document.cookie.split( name + '=' );
  if ( foobar.length < 2 ) {
    return null;
  }
  tempString = foobar[ 1 ];
  if ( tempString.indexOf( ';' ) == -1 ) {
    value = tempString;
  } else {
    yafoobar = tempString.split( ';' );
    value = yafoobar[ 0 ];
  }
  return unescape( value );
}

function deleteCookie( name ) {
  var expire = new Date();
  var cookieString = name + '=' + escape(value) + ';path=/';
  cookieString += ';expires=' + expire.toUTCString();

  document.cookie = cookieString;
}

function handleEnterKey(field, event) {
  var keyCode = event.keyCode ? event.keyCode : event.which ?     event.which : event.charCode;

  if ( keyCode == 13 ) {
    var i;
    var next;

    for ( i = 0; i < field.form.elements.length; i++ ) {
      if ( field == field.form.elements[ i ] ) {
        next = (i + 1) % field.form.elements.length;
        break;
      }
    }

    for ( i = next; i < field.form.elements.length; i++ ) {
      if ( field.form.elements[ i ].focus ) {
        if ( field.form.elements[ i ].type == null ) {
          continue;
        } else {
          if ( ( field.form.elements[ i ].type != "checkbox" ) &&
               ( field.form.elements[ i ].type != "file" ) &&
               ( field.form.elements[ i ].type != "password" ) &&
               ( field.form.elements[ i ].type != "radio" ) &&
               ( field.form.elements[ i ].type != "select" ) &&
               ( field.form.elements[ i ].type != "text" ) &&
               ( field.form.elements[ i ].type != "textarea" ) ) {
            continue;
          }
        }

        try {
          field.form.elements[ i ].focus();
          break;
        } catch(e) {}
      }
    }

    return false;
  } else {
    return true;
  }
}
function confirmAreYouSure() {
  var answer = confirm("Are you sure?")
  if ( ! answer ) {
    return false;
  }
  return true;
}
var BrowserDetect = {
  init: function () {
    this.browser = this.searchString( this.dataBrowser ) || 'An unknown browser';
    this.version = this.searchVersion( navigator.userAgent ) ||
                   this.searchVersion( navigator.appVersion ) ||
                   'an unknown version';
    this.OS = this.searchString( this.dataOS ) || 'an unknown OS';
  },

  searchString: function( data ) {
    for ( var i = 0; i < data.length; i++ ) {
      var dataString = data[ i ].string;
      var dataProp = data[ i ].prop;
      this.versionSearchString = data[ i ].versionSearch || data[ i ].identity;
      if ( dataString ) {
        if ( dataString.indexOf(data[ i ].subString) != -1 ) {
          return data[ i ].identity;
        }
      } else if ( dataProp ) {
        return data[ i ].identity;
      }
    }
  },

  searchVersion: function( dataString ) {
    var index = dataString.indexOf(this.versionSearchString);
    if ( index == -1 ) { return; }
    return parseFloat( dataString.substring(index + this.versionSearchString.length + 1) );
  },

  dataBrowser: [
    {
      string: navigator.userAgent,
      subString: 'Chrome',
      identity: 'Chrome'
    },
    {
      string: navigator.userAgent,
      subString: 'OmniWeb',
      versionSearch: 'OmniWeb/',
      identity: 'OmniWeb'
    },
    {
      string: navigator.vendor,
      subString: 'Apple',
      identity: 'Safari',
      versionSearch: 'Version'
    },
    {
      prop: window.opera,
      identity: 'Opera'
    },
    {
      string: navigator.vendor,
      subString: 'iCab',
      identity: 'iCab'
    },
    {
      string: navigator.vendor,
      subString: 'KDE',
      identity: 'Konqueror'
    },
    {
      string: navigator.userAgent,
      subString: 'Firefox',
      identity: 'Firefox'
    },
    {
      string: navigator.vendor,
      subString: 'Camino',
      identity: 'Camino'
    },
    { // for newer Netscapes (6+)
      string: navigator.userAgent,
      subString: 'Netscape',
      identity: 'Netscape'
    },
    {
      string: navigator.userAgent,
      subString: 'MSIE',
      identity: 'Explorer',
      versionSearch: 'MSIE'
    },
    {
      string: navigator.userAgent,
      subString: 'Gecko',
      identity: 'Mozilla',
      versionSearch: 'rv'
    },
    { // for older Netscapes (4-)
      string: navigator.userAgent,
      subString: 'Mozilla',
      identity: 'Netscape',
      versionSearch: 'Mozilla'
    }
],

  dataOS : [
    {
      string: navigator.platform,
      subString: 'Win',
      identity: 'Windows'
    },
    {
      string: navigator.platform,
      subString: 'Mac',
      identity: 'Mac'
    },
    {
      string: navigator.platform,
      subString: 'Linux',
      identity: 'Linux'
    }
  ]
};

BrowserDetect.init();

