var browser, verStr = navigator.appVersion, app = navigator.appName, version = parseFloat(verStr);

function test_browser() {
  if ((app.indexOf('Netscape') != -1) && version >= 5) {
    browser = "netscape";
  }
  else if ((app.indexOf('Microsoft') != -1) && version >= 4) {
    browser = "ie";
  }
}

var body_content = new Array("bodycontent", "preloader");
test_browser();
function show_sub(show_which_sub, var_array, mode) {

  if (mode == "preloader") {
    for (i = 0; i < eval(var_array + ".length"); i++) {
      if (eval(var_array + "[i]") != show_which_sub) {
        hide_sub(eval(var_array + "[i]"), mode);
      }
    }
  }

  if (show_which_sub != "") {
    if (browser == "netscape") {
      if (document.getElementById(show_which_sub).style.display == 'block') {
        document.getElementById(show_which_sub).style.display = 'none';
      }
      else {
        document.getElementById(show_which_sub).style.display = 'block';
      }
    }
    else if (browser == "ie") {
      show_menu = eval(show_which_sub);
      if(show_menu.style.display == 'block'){
        show_menu.style.display = 'none';
      }
      else {
        show_menu.style.display = 'block';
      }
    }
  }

}

function hide_sub(which_sub, mode) {
  if (browser == "netscape") {
    document.getElementById(which_sub).style.display = 'none';
  }
  else if (browser == "ie") {
    sub_menu = eval(which_sub);
    sub_menu.style.display = 'none';
  }
}

function auto_hide() {
  show_sub("");
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,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 MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function scroll_up() {
  current_pos = document.getElementById('scroll_clipper').scrollTop;
  document.getElementById('scroll_clipper').scrollTop = current_pos + 20;
}

function scroll_down() {
  current_pos = document.getElementById('scroll_clipper').scrollTop;
  document.getElementById('scroll_clipper').scrollTop = current_pos - 20;
}

function char_count(eid, maxlen, max_lines) {

  var inputstr;
  var strlen;
  var charleft;
  var numcr;
  var temp = new Array();

  if (document.getElementById(eid).value != "") {
    inputstr = document.getElementById(eid).value;
    strlen = inputstr.length;

    if (strlen > maxlen) {
      document.getElementById(eid).value = document.getElementById(eid).value.substring(0,maxlen);
      charleft = 0;
      alert("Exceeds maximum number of characters!");
    }
    else {
      charleft = maxlen - strlen;
    }

    document.getElementById('charleft' + eid).innerHTML = charleft + " / " + maxlen;

  }

  if (max_lines > 0) {

    var temp2 = document.getElementById(eid).value.split('\r\n');
    var temp_val = "";
    counter = 0;
    if (temp2.length > max_lines) {
      alert("Exceeds maximum number of lines!");
      for (i = 0; i < max_lines; i++) {
        temp_val = temp_val + temp2[i];
        if (i < (max_lines - 1)) {
          temp_val = temp_val + "\n";
        }
      }
      document.getElementById(eid).value = temp_val;
    }

  }

}

function row_over(row_id, row_color) {
  document.getElementById(row_id).style.backgroundColor = row_color;
}

function add_to_favorite(url, title) {
  if (window.sidebar) {
    window.sidebar.addPanel(title, url, "");
  }
  else if( window.external ) {
    window.external.AddFavorite(url, title);
  }
  else if (window.opera && window.print) {
    return true;
  }
}

function mdiv(menu_id) {

  ffile = "flash/mdiv.swf";
  mn_name = "MM" + menu_id;
  document.write("<span id='" + mn_name + "'></span>");

  var fmn = new SWFObject(ffile, "mn", "282", "5", "5", "#FFFFFF");
  fmn.addParam("wmode", "transparent");
  fmn.write(mn_name);

}

function mm(page_title, menu_id, level, page, submenu, quick_link) {

  ffile = "flash/m" + level + ".swf";
  mn_name = "MM" + menu_id;
  document.write("<span id='" + mn_name + "'></span>");

  var fmn = new SWFObject(ffile, "mn", "282", "35", "6", "#FFFFFF");
  fmn.addVariable("page_id",    menu_id);
  fmn.addVariable("page",       page);
  fmn.addVariable("page_title", page_title);
  fmn.addVariable("submenu",     submenu);
  fmn.addVariable("quick_link",     quick_link);
  fmn.addParam("wmode", "transparent");
  fmn.write(mn_name);

}

var w_width = w_height = 0;

function get_window_size() {
  if (parseInt(navigator.appVersion)>3) {
    if (navigator.appName=="Netscape") {
      w_width = window.innerWidth;
      w_height = window.innerHeight;
    }
    if (navigator.appName.indexOf("Microsoft")!=-1) {
      w_width = document.body.offsetWidth;
      w_height = document.body.offsetHeight;
    }
  }
}

active_image = "";

function show_image(img_id, pic, pic_width, pic_height) {

  //get_window_size();

  hide_image();

  var so = new SWFObject("flash/pop.swf", "pop_up", 330, 255, "6", "#FFFFFF");
  so.addParam("wmode", "transparent");
  so.addVariable("pic", pic);
  so.addVariable("pic_width", pic_width);
  so.addVariable("pic_height", pic_height);
  so.write('big_pic');

  document.getElementById(img_id).style.display = "block";

  active_image = img_id;

}

function hide_image() {

  if (document.getElementById(active_image)) {
    document.getElementById(active_image).style.display = "none";
  }

}

function youtube(youtube_code) {

  url = "youtube_viewer.php?youtube=" + youtube_code;
  window.open(url,'browser','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=445,height=375')

}

var min = 8;
var max = 16;

function font_up() {

   var p = document.getElementsByTagName('body');
   for(i=0;i<p.length;i++) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {
         var s = 12;
      }
      if(s!=max) {
         s += 1;
      }
      p[i].style.fontSize = s+"px"
   }
}

function font_down() {

   var p = document.getElementsByTagName('body');
   for(i=0;i<p.length;i++) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {
         var s = 12;
      }
      if(s!=min) {
         s -= 1;
      }
      p[i].style.fontSize = s+"px"
   }

}

function CreateBookmarkLink(title, url) {

  if (window.sidebar) { // Mozilla Firefox Bookmark
    window.sidebar.addPanel(title, url,"");
  }
  else if( window.external ) { // IE Favorite
    window.external.AddFavorite( url, title); }
    else if(window.opera && window.print) { // Opera Hotlist
      return true;
    }
  }

  if (window.external) {
    //document.write('<a href =\"javascript:CreateBookmarkLink()\");">Add to Favorites</a>');
  }
  else  if (window.sidebar) {
    //document.write('<a href =\"javascript:CreateBookmarkLink()\");">Bookmark Page</a>');
  }
  else if (window.opera && window.print) {
    //document.write('<a href =\"javascript:CreateBookmarkLink()\");">Add Bookmark</a>');
}

function show_subscription_box() {
  document.getElementById('newsletter_subscription_box_1').style.display='block'
  document.getElementById('subs_name').focus();
}

var active_faq = "";

function show_faq (eid) {

  if (active_faq != "") {
    document.getElementById(active_faq).style.display = "none";
  }
  document.getElementById(eid).style.display = "block";
  active_faq = eid;

}

function refresh_calendar() {
  cyear  = document.getElementById('cyear').value;
  cmonth = document.getElementById('cmonth').value;
  window.location = "index.php?year=" + cyear + "&month=" + cmonth;
}

var event_req = "";

function get_event(date) {

  var query = "&date=" + date;
  var url   = "ajax/events.ajx.php";

  document.getElementById('selected_event').innerHTML = "Loading event...";

  tmp_http_req   = new init_post_request();
  event_req      = tmp_http_req.fn_request;

  event_req.onreadystatechange = show_event;

  post_request(event_req, url, query);

  return;

}

function show_event() {

  if (event_req.readyState == 4 || event_req.readyState == "complete") {
    data = event_req.responseText;
    document.getElementById('selected_event').innerHTML = data;
  }

}

var active_answer = "";

function show_answer(eid) {

  if (active_answer != "") {
    document.getElementById(active_answer).style.display = "none";
  }
  document.getElementById(eid).style.display = "block";
  active_answer = eid;

}

var min = 8;
var max = 16;

function font_up() {

   var p = document.getElementsByTagName('body');
   for(i=0;i<p.length;i++) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {
         var s = 12;
      }
      if(s!=max) {
         s += 1;
      }
      p[i].style.fontSize = s+"px"
   }
}

function font_down() {

   var p = document.getElementsByTagName('body');
   for(i=0;i<p.length;i++) {
      if(p[i].style.fontSize) {
         var s = parseInt(p[i].style.fontSize.replace("px",""));
      } else {
         var s = 12;
      }
      if(s!=min) {
         s -= 1;
      }
      p[i].style.fontSize = s+"px"
   }

}

function update_team_details() {

  if (document.getElementById('team_name').value != "") {
    document.getElementById('new_team_details').style.display = "block";
  }
  else {
    document.getElementById('new_team_details').style.display = "none";
  }
  document.getElementById('new_team_name').value = document.getElementById('team_name').value;

}

function date_gui(day_name, month_name, year_name, day_val, month_val, year_val, mode, eid, css, start_year, end_year) {

  var months_1 = new Array("", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
  var months_2 = new Array("", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
  
  document.write("<select name=\"" + day_name + "\" id=\"" + day_name + "\"  class=\"" + css + "\">");
  if (mode == "full") { 
    document.write("<option value=\"\"> Day </option> ");
  }
  else { 
    document.write("<option value=\"\">dd</option> ");
  }
  for (i = 1; i <= 31; i++) {
    dsp = "";
    if (i == day_val) { 
      dsp = "selected";
    }
    document.write("<option value=\"" + i + "\" " + dsp + ">" + i + "</option>");
  }
  document.write("</select> ");
  
  document.write("<select name=\"" + month_name + "\" id=\"" + month_name + "\" class=\"" + css + "\">");
  if (mode == "full") { 
    document.write("<option value=\"\"> Month </option> ");
  }
  else { 
    document.write("<option value=\"\">mm</option> ");
  }
  for (i = 1; i < months_1.length; i++) {
    dsp = "";
    if (i == month_val) { 
      dsp = "selected";
    }
    month = months_1[i];
    if (mode == "full") { 
      month = months_2[i];
    }
    document.write("<option value=\"" + i + "\" " + dsp + ">" + month + "</option>");
  }
  document.write("</select> ");
  
  document.write("<select name=\"" + year_name + "\" id=\"" + year_name + "\" class=\"" + css + "\">");
  if (mode == "full") { 
    document.write("<option value=\"\"> Year </option> ");
  }
  else { 
    document.write("<option value=\"\">yy</option> ");
  }
  for (i = start_year; i <= end_year; i++) {
    dsp = "";
    if (i == year_val) { 
      dsp = "selected";
    }
    year = i;
    year = String(year);
    year = year.substring(2, 4);
    if (mode == "full") { 
      year = i;
    }
    document.write("<option value=\"" + i + "\" " + dsp + ">" + year + "</option>");
  }
  document.write("</select> ");

}

function addEvent(obj, evType, fn){
 if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
 } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
 } else {
    return false;
 }
}
function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}

/**
 * Code below taken from - http://www.evolt.org/article/document_body_doctype_switching_and_more/17/30655/
 *
 * Modified 4/22/04 to work with Opera/Moz (by webmaster at subimage dot com)
 *
 * Gets the full width/height because it's different for most browsers.
 */
function getViewportHeight() {
  if (window.innerHeight!=window.undefined) return window.innerHeight;
  if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
  if (document.body) return document.body.clientHeight; 

  return window.undefined; 
}
function getViewportWidth() {
  var offset = 16;
  var width = null;
  if (window.innerWidth!=window.undefined) return window.innerWidth + offset; 
  if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth + offset; 
  if (document.body) return document.body.clientWidth + offset; 
}

/**
 * Gets the real scroll top
 */
function getScrollTop() {
  if (self.pageYOffset) // all except Explorer
  {
    return self.pageYOffset;
  }
  else if (document.documentElement && document.documentElement.scrollTop)
    // Explorer 6 Strict
  {
    return document.documentElement.scrollTop;
  }
  else if (document.body) // all other Explorers
  {
    return document.body.scrollTop;
  }
}
function getScrollLeft() {
  if (self.pageXOffset) // all except Explorer
  {
    return self.pageXOffset;
  }
  else if (document.documentElement && document.documentElement.scrollLeft)
    // Explorer 6 Strict
  {
    return document.documentElement.scrollLeft;
  }
  else if (document.body) // all other Explorers
  {
    return document.body.scrollLeft;
  }
}

function country_js(var_name, value, id, css) {

  country_names = new Array (
    "Australia", "New Zealand", "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua And Barbuda",
    "Argentina", "Armenia", "Aruba", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados",
    "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia Hercegovina", "Botswana", "Bouvet Island",
    "Brazil", "British Indian Ocean Territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde",
    "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo",
    "Congo, The Democratic Republic Of", "Cook Islands", "Costa Rica", "Cote D'Ivoire", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Czechoslovakia", "Denmark",
    "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia",
    "Ethiopia", "Falkland Islands (Malvinas)", "Faroe Islands", "Fiji", "Finland", "France", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon",
    "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam",
    "Guatemela", "Guernsey", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard and McDonald Islands", "Honduras", "Hong Kong", "Hungary",
    "Iceland", "India", "Indonesia", "Iran (Islamic Republic Of)", "Iraq", "Ireland", "Isle Of Man", "Israel", "Italy", "Jamaica",
    "Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, Democratic People's Republic Of", "Korea, Republic Of", "Kuwait", "Kyrgyzstan",
    "Lao People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libyan Arab Jamahiriya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau",
    "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania",
    "Mauritius", "Mayotte", "Mexico", "Micronesia, Federated States Of", "Moldova, Republic Of", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique",
    "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "Neutral Zone", "New Caledonia", "Nicaragua",
    "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Panama",
    "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion",
    "Romania", "Russian Federation", "Rwanda", "Saint Helena", "Saint Kitts And Nevis", "Saint Lucia", "Saint Pierre and Miquelon", "Saint Vincent and The Grenadines", "Samoa", "San Marino",
    "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia",
    "South Africa", "South Georgia and The Sandwich Islands", "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland",
    "Syrian Arab Republic", "Taiwan, Province Of China", "Tajikista", "Tanzania, United Republic Of", "Thailand", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia",
    "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "USSR", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States",
    "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", "Vanuatu", "Vatican City State", "Venezuela", "Vietnam", "Virgin Islands (British)", "Virgin Islands (US)", "Wallis and Futuna Islands",
    "Western Sahara", "Yemen, Republic of", "Yugoslavia", "Zaire", "Zambia", "Zimbabwe"
  );
  
  document.write("<select name=\"" + var_name + "\" id=\"" + id + "\" class=\"" + css + "\">");
  for (i = 0; i < country_names.length; i++) {
    document.write("<option value=\"" + country_names[i] + "\">" + country_names[i] + "</option>");
  }
  document.write("</select>");
  document.getElementById(id).value = value;

}

function check_source() {
  document.getElementById('other_source').style.display = "none";
  if (document.getElementById('source').value == "Other") {
    document.getElementById('other_source').style.display = "block";
  }
}

function makeScrollbar(content,scrollbar,handle,horizontal,ignoreMouse){
  var steps = (horizontal?(content.getScrollSize().x - content.getSize().x):(content.getScrollSize().y - content.getSize().y))
  var slider = new Slider(scrollbar, handle, {  
    steps: steps,
    mode: (horizontal?'horizontal':'vertical'),
    onChange: function(step){
      // Scrolls the content element in x or y direction.
      var x = (horizontal?step:0);
      var y = (horizontal?0:step);
      content.scrollTo(x,y);
    }
  }).set(0);
  if( !(ignoreMouse) ){
    // Scroll the content element when the mousewheel is used within the 
    // content or the scrollbar element.
    $$(content, scrollbar).addEvent('mousewheel', function(e){  
      e = new Event(e).stop();
      var step = slider.step - e.wheel * 30;  
      slider.set(step);          
    });
  }
  // Stops the handle dragging process when the mouse leaves the document body.
  $(document.body).addEvent('mouseleave',function(){slider.drag.stop()});
}