// JavaScript Document
var passSites = new Array(1, 2, 5, 6, 7, 9, 10, 18);
var fourPackSites = new Array(18, 5, 6, 7);

function do_price()
{
	var days = document.getElementById('pay_days');
	x_do_price(days.value, do_price_cb);
}

function do_price_cb( data )
{
	// Need to see if any of the 4pack sites or Pass is checked
	var chkd = false;
	if( document.getElementById('site[8]').checked )
	{
		chkd = true;
	}
	else
	{
		for( keyVal in fourPackSites )
		{
			var ckBox = document.getElementById('site[' + fourPackSites[keyVal] + ']');
			if( ckBox.checked )
			{
				chkd = true;
				break;
			} // end if
		} // end for
	} // end if
	
	if( chkd )
	{
		for( keyVar in data )
		{
			var priceDiv = document.getElementById('site_price_' + data[keyVar].site_id );
			if( priceDiv.firstChild.nodeValue != 'FREE' )
				priceDiv.childNodes[0].nodeValue = "$" + data[keyVar].amount;
		}
	}
	else
	{
		for( keyVar in data )
		{
			var priceDiv = document.getElementById('site_price_' + data[keyVar].site_id );
			priceDiv.childNodes[0].nodeValue = "$" + data[keyVar].amount;
		}
	}
	
	do_total(data);
}

function do_total(e)
{
	var rtCol = document.getElementById('rightCol');
	var ckBox = rtCol.getElementsByTagName('input');
	var totalDiv = document.getElementById('total');
	var discDiv = document.getElementById('discount');
	var btn = document.getElementById('add_order');
	
	var discAmt = document.getElementById( 'discount_amount' ).value;

	var reg = /^site\[(\d+)\]$/i;
	var dollar = /^\$(\d+\.\d+)$/i;
	var total = 0;
	var checked = 0;
	var target = findTarget(e);
	
	// 4pack of sites
	if( target != null && (target.name == 'site[18]' || target.name == 'site[5]' || target.name == 'site[6]' ||target.name == 'site[7]' ))
	{
		if( target.checked )
		{
			document.getElementById('fourPackMessage').style.display = "block";
			for( keyVal in fourPackSites )
			{
				if( target.name != 'site[' + fourPackSites[keyVal] + ']')
				{
					var sitePrice = document.getElementById('site_price_' + fourPackSites[keyVal] );
					var siteInput = document.getElementById('site[' + fourPackSites[keyVal] + ']');
					if( siteInput.checked )
					{
						siteInput.checked = false;
					}
					siteInput.disabled = true;
					siteInput.style.marginLeft = '1em';
					sitePrice.childNodes[0].nodeValue = "FREE";
				}
			} // end for
		}
		else
		{
			document.getElementById('fourPackMessage').style.display = "none";
			for( keyVal in fourPackSites )
			{
				var siteInput = document.getElementById('site[' + fourPackSites[keyVal] + ']');
				siteInput.disabled = false;
				// Determine the users browser so can correctly calculate the offset
				var ua = navigator.userAgent.toLowerCase();
				if( ua.indexOf('msie') != -1 && ua.indexOf('opera') == -1 && ua.indexOf('webtv') == -1 )
				{
					siteInput.style.marginLeft = '0';
				}
				else
				{
					siteInput.style.marginLeft = '.25em';
				}				
			} // end for
			
			do_price();
		} // end if
	}
	
	// RSP dispable its sites
	else if( target != null && target.name == 'site[8]' )
	{
		if( target.checked )
		{
			document.getElementById('passMessage').style.display = "block";
			for( keyVal in passSites )
			{
				var sitePrice = document.getElementById('site_price_' + passSites[keyVal]);
				var siteInput = document.getElementById('site[' + passSites[keyVal] + ']');
				if( siteInput.checked )
				{
					siteInput.checked = false;	
				}
				siteInput.disabled = true;
				siteInput.style.marginLeft = '1em';
				sitePrice.firstChild.nodeValue = "FREE";
			}
		}
		else
		{
			document.getElementById('passMessage').style.display = "none";
			for( keyVal in passSites )
			{
				var siteInput = document.getElementById('site[' + passSites[keyVal] + ']');
				siteInput.disabled = false;
				// Determine the users browser so can correctly calculate the offset
				var ua = navigator.userAgent.toLowerCase();
				if( ua.indexOf('msie') != -1 && ua.indexOf('opera') == -1 && ua.indexOf('webtv') == -1 )
				{
					siteInput.style.marginLeft = '0';
				}
				else
				{
					siteInput.style.marginLeft = '.25em';
				}				
			}
			
			do_price();
		}
	}
		
	for( keyVal in ckBox )
	{
		if( ckBox[keyVal].checked == true )
		{
			checked++;
			var mat = reg.exec(ckBox[keyVal].name)
			if( mat[1].lenth != 0 && !isNaN(mat[1]) )
			{
				var priceDiv = document.getElementById('site_price_' + mat[1]);
				var amt = dollar.exec(priceDiv.childNodes[0].nodeValue);
				total += parseFloat(amt[1]);
			}
		}
	} // end for
	
	if( checked > 0 )
	{
		
		var disc = (checked - 1) * discAmt;
		total = total - disc;
		discDiv.childNodes[0].nodeValue = "$" + disc.toFixed(2);
		btn.style.display = 'block';
	}
	else
	{
		btn.style.display = 'none';
	}
	
	totalDiv.childNodes[0].nodeValue = "$" + total.toFixed(2);
}

function checkSpecial()
{
	var ckBox = document.getElementById('rightCol').getElementsByTagName('input');
	var found = false;
	
	for( keyVal in ckBox )
	{
		if( ckBox[keyVal].checked )
		{
			for( val in fourPackSites )
			{
				if( ckBox[keyVal].name == 'site['+ fourPackSites[val] +']')
				{
					found = true;
					break;
				} // end if
			} // end for fourPackSites
			
			if( found )
			{
				for( i in fourPackSites )
				{
					if( ckBox[keyVal].name != 'site[' + fourPackSites[i] + ']')
					{
						var sitePrice = document.getElementById('site_price_' + fourPackSites[i] );
						var siteInput = document.getElementById('site[' + fourPackSites[i] + ']');
						if( siteInput.checked )
						{
							siteInput.checked = false;
						}
						siteInput.disabled = true;
						siteInput.style.marginLeft = '1em';
						sitePrice.childNodes[0].nodeValue = "FREE";
					} // end if
				} // end for
				
				document.getElementById('fourPackMessage').style.display = "block";
				
				return 1;
			}
			
			if( !found && ckBox[keyVal].name == 'site[8]' )
			{
				for( i in passSites )
				{
						var sitePrice = document.getElementById('site_price_' + passSites[i] );
						var siteInput = document.getElementById('site[' + passSites[i] + ']');
						if( siteInput.checked )
						{
							siteInput.checked = false;
						}
						siteInput.disabled = true;
						siteInput.style.marginLeft = '1em';
						sitePrice.childNodes[0].nodeValue = "FREE";
				} // end for
				
				document.getElementById('passMessage').style.display = "block";
				
				return 1;
			} // end if found
		} // end if checked 
	} // end for
} // end funciton

function installListener(e)
{
	var days = document.getElementById('pay_days');
	addEvent(days, 'change', do_price, false);
	
	var rtCol = document.getElementById('rightCol');
	var ckBox = rtCol.getElementsByTagName('input');
	var reg = /^site\[(\d+)\]$/i
	for( keyVal in ckBox )
	{
		if( reg.test(ckBox[keyVal].name) ) 
		{
			addEvent(ckBox[keyVal], 'click', do_total, false);
		}
	}
}

function addEvent(elm, evType, fn, useCapture)
// cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko
// By Scott Andrew
{
	if (elm.addEventListener) {
	  elm.addEventListener(evType, fn, useCapture); 
	  return true; 
	} else if (elm.attachEvent) {
	  var r = elm.attachEvent('on' + evType, fn); 
	  return r; 
	} else {
	  elm['on' + evType] = fn;
	}
}


function findTarget(e)
{
  var target;
  
  if( window.event && window.event.srcElement )
  {
	  target = window.event.srcElement;
	  return target;
  }
  if( e && e.target )
  {
	  target = e.target;
	  return target;
  }
  return;
} // end function


addEvent(window, 'load', installListener, false);
addEvent(window, 'load', do_price, false);
addEvent(window, 'load', checkSpecial, false);