/* easytoggle2.js
   - Simon Willison, 5th November 2003
   - See http://simon.incutio.com/archive/2003/11/06/easytoggle
*/

addEvent(window, 'load', et_init);

var et_toggleElements = [];

/* Initialisation */
function et_init() {
    var i, link, id, target, first;
    first = true;
    for (i = 0; (link = document.links[i]); i++) {
        if (/\btoggle\b/.exec(link.className)) {
            id = link.href.split('#')[1];
            target = document.getElementById(id);
            et_toggleElements[et_toggleElements.length] = target;
            if (first) {
                first = false;
            } else {
                target.style.display = 'none';
            }
            link.onclick = et_toggle;
        }
    }
}

function et_toggle(e) {
    /* Adapted from http://www.quirksmode.org/js/events_properties.html */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return true;
    }
    /* For most browsers, targ would now be a link element; Safari however
       returns a text node so we need to check the node type to make sure */
    if (source.nodeType == 3) {
        source = source.parentNode;
    }
    var id = source.href.split('#')[1];
    var elem;
    for (var i = 0; (elem = et_toggleElements[i]); i++) {
        if (elem.id != id) {
            elem.style.display = 'none';
        } else {
            elem.style.display = 'block';
        }
    }
    return false;
}

/* Thanks to Scott Andrew */
function addEvent(obj, evType, fn){
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, true);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else {
	    return false;
    }
}


// stripy tables gear

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function addClass(element,value) {
  if (!element.className) {
    element.className = value;
  } else {
    newClassName = element.className;
    newClassName+= " ";
    newClassName+= value;
    element.className = newClassName;
  }
}

function stripyTables () {
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("container-1")) return false;
	var stripe = document.getElementById("container-1");
	var tables = stripe.getElementsByTagName("table");
	for (var i=0; i<tables.length; i++) {
	  var odd = false;
	  var rows = tables[i].getElementsByTagName("tr");
	  for (var j=0; j<rows.length; j++) {
	    if (odd == true) {
	      addClass(rows[j],"odd");
	      odd = false;
	    } else {
	      odd = true;
	    }
	  }
	}
}

function highlightRows() {
  if(!document.getElementsByTagName) return false;
  if (!document.getElementById("container-1")) return false;
  var stripe = document.getElementById("container-1");
  var rows = stripe.getElementsByTagName("tr");
  for (var i=0; i<rows.length; i++) {
    rows[i].oldClassName = rows[i].className
    rows[i].onmouseover = function() {
      	addClass(this,"highlight");
		}
		rows[i].onmouseout = function() {
      	this.className = this.oldClassName
		}
	}
}

function rowClick () {
	if(!document.getElementsByTagName) return false;
	if (!document.getElementById("container-1")) return false;
	var stripe = document.getElementById("container-1");
	var rows = stripe.getElementsByTagName("tr");
	for (var i=0; i<rows.length; i++) {
		var links = rows[i].getElementsByTagName("a");
		if (links[0] != null) {
			rows[i].linkHref = links[0].getAttribute("href");
			rows[i].onclick = function() {
				window.location.href = this.linkHref;
			}
		}
	}
}

function stripyTablesTwo () {
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("policies")) return false;
	var stripe = document.getElementById("policies");
	var tables = stripe.getElementsByTagName("table");
	for (var i=0; i<tables.length; i++) {
	  var odd = false;
	  var rows = tables[i].getElementsByTagName("tr");
	  for (var j=0; j<rows.length; j++) {
	    if (odd == true) {
	      addClass(rows[j],"odd");
	      odd = false;
	    } else {
	      odd = true;
	    }
	  }
	}
}

function highlightRowsTwo () {
  if(!document.getElementsByTagName) return false;
  if (!document.getElementById("policies")) return false;
  var stripe = document.getElementById("policies");
  var rows = stripe.getElementsByTagName("tr");
  for (var i=0; i<rows.length; i++) {
    rows[i].oldClassName = rows[i].className
    rows[i].onmouseover = function() {
      	addClass(this,"highlight");
		}
		rows[i].onmouseout = function() {
      	this.className = this.oldClassName
		}
	}
}

function rowClickTwo () {
	if(!document.getElementsByTagName) return false;
	if (!document.getElementById("policies")) return false;
	var stripe = document.getElementById("policies");
	var rows = stripe.getElementsByTagName("tr");
	for (var i=0; i<rows.length; i++) {
		var links = rows[i].getElementsByTagName("a");
		if (links[0] != null) {
			rows[i].linkHref = links[0].getAttribute("href");
			rows[i].onclick = function() {
				window.location.href = this.linkHref;
			}
		}
	}
}

addLoadEvent(stripyTables);
addLoadEvent(highlightRows);
addLoadEvent(rowClick);
addLoadEvent(stripyTablesTwo);
addLoadEvent(highlightRowsTwo);
addLoadEvent(rowClickTwo);

function formatNumber(num, givecents, el, replaceval, withcommas)
{
	if (withcommas == true)
	{
		commaval = ',';
	} else {
		commaval = '';
	}
	num = num.toString().replace(/\$|\,/g,'');
	var alertMessage = false;
	if(isNaN(num)) {
		alertMessage = true;
		num = "0";
	}
	cents = Math.floor((num*100+0.5)%100);
	num = Math.floor((num*100+0.5)/100).toString();
	if(cents < 10) {
		cents = "0" + cents;
	}
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3))+commaval+num.substring(num.length-(4*i+3));
	}
	if (givecents)
	{
		num = num + "." + cents;
	}
	if (replaceval)
	{
		if (alertMessage)
		{
			alert("Only valid dollar amounts are allowed");
		}
		el.value = num;
	}
	return num;
}

function formatCurrency(num, givecents, withcommas) {
	if (withcommas == true)
	{
		commaval = ',';
		alert("we are in the true");
	} else {
		commaval = '';
	}
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)) {
		num = "0";
	}
	cents = Math.floor((num*100+0.5)%100);
	num = Math.floor((num*100+0.5)/100).toString();
	if(cents < 10) {
		cents = "0" + cents;
	}
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3))+commaval+num.substring(num.length-(4*i+3));
	}
	if (givecents == false) {
		return ("$" + num);
	} else {
		return ("$" + num + "." + cents);
	}
}
function showDependentsDivs()
{
	var sel = document.getElementById("numdependents");
	var count = sel[sel.selectedIndex].value;
	showSelectedDependentsDivs(count);
}
function showSelectedDependentsDivs(count)
{
	for (i = 1; i <= 8; i++)
	{
		if (i <= count)
		{
			document.getElementById("dependent_div_" + i).style.display="block";
		} else {
			document.getElementById("dependent_div_" + i).style.display="none";
		}
	}
}
