//   ______________________________________
//  (==== Constants =======================)
//   ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ

var fontBig = "1em";
var fontSmall = "0.8em";

//   ______________________________________
//  (==== Preload Images ==================)
//   ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ

var imgs = new Array();

imgs[0] = new Image();
imgs[0].src = "images/mnu_login_on.gif";
imgs[1] = new Image();
imgs[1].src = "images/mnu_register_on.gif";
imgs[2] = new Image();
imgs[2].src = "images/mnu_about_on.gif";
imgs[3] = new Image();
imgs[3].src = "images/mnu_links_on.gif";
imgs[4] = new Image();
imgs[4].src = "images/icons/document_green.gif";
imgs[5] = new Image();
imgs[5].src = "images/icons/drop_green.gif.gif";
imgs[6] = new Image();
imgs[6].src = "images/icons/plus_green.gif";
imgs[7] = new Image();
imgs[7].src = "images/icons/bottle_green.gif";
imgs[8] = new Image();
imgs[8].src = "images/icons/heart_green.gif";
imgs[9] = new Image();
imgs[9].src = "images/icons/up_arrow_green.gif";
imgs[10] = new Image();
imgs[10].src = "images/icons/down_arrow_green.gif";
imgs[11] = new Image();
imgs[11].src = "images/bg/search_on.jpg";
imgs[12] = new Image();
imgs[12].src = "images/icons/history_green.jpg";
imgs[13] = new Image();
imgs[13].src = "images/icons/friends_green.jpg";
imgs[14] = new Image();
imgs[14].src = "images/icons/profile_green.jpg";
imgs[15] = new Image();
imgs[15].src = "images/mnu_logout_on.gif";


//   ______________________________________
//  (==== Page Init =======================)
//   ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
//   Right now only used to pick up font size

function init()
{
  var size = getCookie("fontSize");
  if(size != null) fontSize(size);
}



//   ______________________________________
//  (==== Image Rollovers =================)
//   ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ

function rollover(id){
  var img = $(id);
  if(img && img.src){
    img.src = img.src.replace(/(\.[a-z0-9]+)$/i,'_on$1');
  }
}

function rollout(id){
  var img = $(id);
  if(img && img.src){
    img.src = img.src.replace(/_on(\.[a-z0-9]+)$/i,'$1');
  }
}

function rollover2(id, value){
  var img = $(id);
  
  if (value != 'Click To Vote!')
	return;
  
  if(img && img.src){
    img.src = '/images/vote.gif';
  }
}

function rollout2(id, value){
  var img = $(id);
  if(img && img.src){
    img.src = value;
  }
}




//   ______________________________________
//  (==== Form Functions ==================)
//   ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ

function clearValue(field, value){
  if(field && field.value == value){
    field.value = "";  
  }  
}

function fillValue(field, value){
  if(field && trim(field.value) == ""){
    field.value = value;  
  }
}

function setFieldValue(field, value){
  if(field) field.value = value;
}

function commentPreview(field, test){

  var previewDiv = $("previewComment");
  if(!previewDiv) return;

  // Hide the preview if there's no text or user doesn't want a preview
  var typedText = trim(field.value);	     
  if(!test.checked || typedText.length == 0) {
    previewDiv.style.display = "none";
    return;    
  }
  
  // Show the preview
  previewDiv.style.display = "block";  
  var preview = "<h2>Comment Preview</h2><p>";
  preview += typedText.split(/\n/).join("<br/>");	  
  previewDiv.innerHTML = "<br/>" + preview + "</p>";
}

function getLabelForId(id) {
 var label, labels = document.getElementsByTagName('label');
 for (var i = 0; (label = labels[i]); i++) {
   if (label.htmlFor == id) {
     return label;
   }
 }
 return false;
}

function checkRequired(id) {
 var formfield = document.getElementById(id);
 var label = getLabelForId(id);
 if (formfield.value.length == 0)
 {
   label.className = 'problem';
 } 
 else 
 {
   label.className = 'completed';
 }
} 


//   ______________________________________
//  (==== Generic Functions ===============)
//   ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ

function trim(str){
  return str.replace( /\s+$/g, "" );
}

function show(id, display){
  var elem = $(id);
  if(elem && elem.style){
    elem.style.display = display;
    elem.style.visibility="visible";
  }
}

function hide(id){
  var elem = $(id);
  if(elem && elem.style){
    elem.style.visibility="hidden";
  }
}

function setInnerHTML(id, value){
  var elem = $(id);
  if(elem){
    elem.innerHTML = value;
  }
}

function fontSize(size){
  var elem = $("body");
  if(elem && elem.style){
    elem.style.fontSize = size;
    setCookie("fontSize", size);
    
    // Set the link in the menu
    var link = $("fontLink");
    if(link){      
      link.innerHTML = (size == fontBig) ? "Smaller Fonts" : "Bigger Fonts";      
      link.href      = (size == fontBig) ? "javascript:fontSize(fontSmall);" : "javascript:fontSize(fontBig);";
      link.className = (size == fontBig) ? "downArrow" : "upArrow";    
      link.blur(); // gets rid of ugly browser selection box
    }
  }  
}


//   ______________________________________
//  (==== Legend Icons On/Off =============)
//   ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ

function turnIconsOn(img){
  var turnOn = true;

  // Loop through all siblings of the image and turn them on if they are before, otherwise, turn off
  if(img && img.parentNode){
    var parent = img.parentNode;
    for(var i = 0; i < parent.childNodes.length; i++){
    
      var obj = parent.childNodes[i];
      if(obj.tagName == "IMG"){        
        obj.src = (turnOn) ? obj.src.replace(/_off(\.[a-z0-9]+)$/i,'_on$1'): 
                             obj.src.replace(/_on(\.[a-z0-9]+)$/i,'_off$1');
        if(obj == img) turnOn = false;;
      }
    }
  }
}

//   ______________________________________
//  (==== Gets javascript objects =========)
//   ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string') 
      element = document.getElementById(element); 
    if (arguments.length == 1)
      return element;
    elements.push(element);
  }
  return elements;
}

//   ______________________________________
//  (====PopupImageHandler=================)
// 
function PopupImageHandler(strURL,strHeight,strWidth) {

		var url = strURL;
		var height = strHeight;
		var width = strWidth
		var win;
		var lefttop;

		//default
		lefttop='toolbars=0,scrollbars=yes,location=0,statusbars=0,menubars=0,resizable=yes,width='+width+',height='+height;

		win = window.open(url,'popup',lefttop);
		win.window.focus();
}
