function arrow_on(item) { document.getElementById(item).src="/images/arrow_right.gif"; }

function arrow_off(item) { 	document.getElementById(item).src="/images/spacer.gif"; }

function change(Name,Image,No) { //,Msg) {
    if (!document.images) {}
    else document [Name].src = eval(Image + No + ".src");
}

function col_subs(parent){
	if (parent == "customercare") {
		document.getElementById("cust_excl").style.visibility="hidden";
	}
		
	else if (parent == "services") {
		document.getElementById("digi_cabl").style.visibility="hidden";
		document.getElementById("pvr").style.visibility="hidden";
		document.getElementById("hs_int").style.visibility="hidden";
		document.getElementById("icontrol").style.visibility="hidden";
		document.getElementById("sports").style.visibility="hidden";
	}
}

function exp_sub(sublayer, parent){
	clearTimeout(sub_col_timer);
	sub_col_timer = null;
	col_subs(parent);
	
	document.getElementById(sublayer).style.visibility="visible";	
}

function start_timer(parent){
	sub_col_timer = setTimeout("col_subs('" + parent + "');", 4000);
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=650,height=450,left = 290,top = 162');");
}

function popUpAlt(URL, sizeW, sizeH) {
day = new Date();
id = day.getTime();
wSize = sizeW;
hSize = sizeH;
pageProperties = "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=" + wSize + ",height=" + hSize + ",left = 0,top = 0');";
eval("page" + id + " = window.open(URL, '" + id + pageProperties);
}

if (!document.images) {}
else {
// Added for new images //
  button6 = new Image ();
  button6.src = "/images/pumpkinbutton1.gif";
  button5 = new Image ();
  button5.src = "/images/orangebutton1.gif";
  button4 = new Image ();
  button4.src = "/images/turqbutton1.gif";
  button3 = new Image ();
  button3.src = "/images/greenbutton1.gif";
  button2 = new Image ();
  button2.src = "/images/redbutton1.gif";
  button1 = new Image ();
  button1.src = "/images/purplebutton1.gif";
  button0 = new Image ();
  button0.src = "/images/purplebutton.gif";
// Added for new images //

  purplebutton1 = new Image ();
  purplebutton1.src = "/images/purplebutton_f2.gif";
  purplebutton0 = new Image ();
  purplebutton0.src = "/images/purplebutton.gif";
}

function checklen(field) {
	eval("var fieldtext = document.survey." + field + ".value");
	if (fieldtext.length > 2500) {
		alert("Comment fields are limited to 2500 characters. Please shorten your comments before submitting.");
		eval("document.survey." + field + ".focus()");
		}
}

function checkzip() {
	var errorlevel = 0;
	var errortext = "";
	var ziptext = document.survey.zip.value;

	if (ziptext.length < 5) {
		errortext = "Zip code must be 5 digits long.";
		errorlevel = 1;
		}
		
	if (isNaN(ziptext)) {
		errortext = "Zip code may only contain numbers.";
		errorlevel = 1;
		}
	
	if (errorlevel == 1) {
		alert(errortext)
		document.survey.zip.focus();
	}
}

function get_offset()
	{
	for(counter=0; counter<document.MainForm.length; counter++)
		{
		if(document.MainForm[counter].name == "FORMSTART")
			{
			return counter+1;
			}
		}
	}

function get_running_total()
	{
	var price_of_checked = 0;
	var offset = get_offset();
	for (c=offset; c<document.MainForm.length; c++)
		{
		if(document.MainForm[c].checked)
			{
			price_of_checked += parseFloat(eval("services['" + parseFloat(c-offset+1) + "'][1]"));
			}
		}

	//return total price of all selected items
	return price_of_checked;
	}

function get_checked_services()
	{
	var what_is_checked = "";
	var offset = get_offset();

	for (c=offset; c<document.MainForm.length; c++)
		{
		if(document.MainForm[c].checked)
			{
			if (what_is_checked != "")
				{
				//add pipe only if there is already another checked item
				what_is_checked += "|";
				}
			what_is_checked += document.MainForm[c].name;
			}
		}

	//return pipe-delimited list of checked service ids
	return what_is_checked;
	}

function do_lockouts(just_checked)
	{
	//loop through lockouts
	var offset = get_offset();
	for(l=1; l<lockouts.length; l++)
		{
		if(just_checked == eval("lockouts['" + l + "'][0]"))
			{
			var lo_array = eval("lockouts['" + l + "'][1].split(\"|\")");
			for(lo=0; lo<lo_array.length; lo++)
				{
				uncheck_this = parseInt(eval(lo_array[lo])+offset-1);

				if(document.MainForm[uncheck_this].checked == true)
					{
					document.MainForm[uncheck_this].checked = false;
					}
				}
			}
		}	
	}

function check_for_combo()
	{
	var package_num = -1;
	what_is_checked = get_checked_services();
	var wc_array = what_is_checked.split("|");
	var flag = true;
	var matches = 0;
	var previous_matches = 0;

	//loop through packages
	for(p=1; p<packages.length; p++)
		{
		var ps_array = eval("packages['" + p + "'][0].split(\"|\")");
		matches = 0;

		//compare wic_array to ps_array to make sure there are at least ps_array.count matches
		for(ps=0; ps<ps_array.length; ps++)
			{
			for(wc=0; wc<wc_array.length; wc++)
				{
				if(wc_array[wc] == ps_array[ps])
					{
					matches++;
					}
				}

			//matches count must at least meet the number of services in a package to qualify for a package
			if(matches >= ps_array.length)
				{
				if(matches > previous_matches)
					{
					previous_matches = matches;
					package_num = p;
					}				
				}
			}
		}

	//return applicable package id
	return package_num;	
	}

function get_extras_price()
	{
	var extra_services = "";
	wc_array = what_is_checked.split("|");
	ps_array = packages[package_num][0].split("|");
	var extras_price = 0.00;

	//build new array of extra services from non-package checked services
	for(wc=0; wc<wc_array.length; wc++)
		{
		flag = false;

		for(ps=0; ps<ps_array.length; ps++)
			{
			if(wc_array[wc] == ps_array[ps])
				{
				flag = true;
				}
			}
		if(flag == false)
			{
			if(extra_services != "")
				{
				extra_services += "|";
				}
			extra_services += wc_array[wc];
			}
		}

	ex_array = extra_services.split("|");

	if(ex_array != "")
		{
		for(ex=0; ex<ex_array.length; ex++)
			{
			extras_price += parseFloat(services[ex_array[ex]][1]);
			}
		}

	return extras_price;
	}

function get_individuals_text(strIndividualHTML)
	{
	var strIndividualHTML = "";
	var offset = get_offset();

	for (c=offset; c<document.MainForm.length; c++)
		{		
		if(document.MainForm[c].checked)
			{
			strIndividualHTML += "<tr><td width=99%>&nbsp;&nbsp;&nbsp;<a href=\"" + services[c-offset+1][3] + "\" title=\"" + services[c-offset+1][2] + "\">" + services[c-offset+1][0] + "</a></td><td align=right>" + services[c-offset+1][1] + "</td></tr>";
			}
		}
		
	return strIndividualHTML;
	}

function get_extras_text(strPackagesHTML)
	{
	var extra_services = "";
	wc_array = what_is_checked.split("|");
	ps_array = packages[package_num][0].split("|");
	var extras_price = 0.00;

	//build new array of extra services from non-package checked services
	for(wc=0; wc<wc_array.length; wc++)
		{
		flag = false;

		for(ps=0; ps<ps_array.length; ps++)
			{
			if(wc_array[wc] == ps_array[ps])
				{
				flag = true;
				}
			}
		if(flag == false)
			{
			if(extra_services != "")
				{
				extra_services += "|";
				}
			extra_services += wc_array[wc];
			}
		}

	ex_array = extra_services.split("|");

	if(ex_array != "")
		{
		for(ex=0; ex<ex_array.length; ex++)
			{
			strPackagesHTML += "<tr><td width=99%>&nbsp;&nbsp;&nbsp;<a href=\"" + services[ex_array[ex]][3] + "\" title=\"" + services[ex_array[ex]][2] + "\">" + services[ex_array[ex]][0] + "</a></td><td align=right>$" + services[ex_array[ex]][1] + "</td></tr>";
			}
		}

	return strPackagesHTML;
	}

function do_interested()
	{
	var what_is_checked = get_checked_services();
	var interested_in = "";
	wc_array = what_is_checked.split("|");
	
	for(wc=0; wc<wc_array.length; wc++)
		{
		if(interested_in != "")
			{
			interested_in += "|";
			}
		interested_in += services[wc_array[wc]][0];
		}
	return interested_in;
	}
	
function update_configurator(just_checked)
	{
	var offset = 0;
	var strPackagesHTML = "";
	var price_of_extras = 0.00;
	var package_total = 0.00;
	var package_price = 0.00;
	var you_save = 0.00;
	var price_of_extras = 0.00;

	//fill packages_container with table info, div layers
	document.getElementById("package_container").innerHTML = "<table cellpadding=\"1\" cellspacing=\"1\" width=\"592\" style=\"border:1PX SOLID #6483ad;\">\n<tr>\n<td colspan=\"3\" style=\"background-color:#bdd3e7;font-size:10pt; border-bottom:1PX SOLID #6483ad; font-weight:bold; font:Arial, Helvetica, sans-serif; color:#19237e;padding-left:3px;\" height=\"25\">Package information - Go combo and save!</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<table cellpadding=3 width=100%><tr><td><div name=\"running_total\" id=\"running_total\"></div>\n<div name=\"packages\" id=\"packages\"></div></td></tr><table>\n</td>\n</tr>\n</table>";
	
	//check for lockouts
	do_lockouts(just_checked);

	//update running total, display individually checked services
	price_of_checked = get_running_total();
	strIndividualHTML = "<table cellpadding=2 cellspacing=0 width=100% border=0><tr><td width=99% colspan=2><b>Selected individual services</b></td></tr>";
	strIndividualHTML += get_individuals_text();
	strIndividualHTML += "<tr height=1><td colspan=2 style=\"border-top: 1px solid #888888;\"><img height=1 width=1 src=\"/images/spacer.gif\"></td></tr>";
	strIndividualHTML += "<tr><td align=right><b>Individual Total:</b>&nbsp;&nbsp;</td><td align=right><b>$" + price_of_checked.toFixed(2) + "</b></td></tr></table>";
	document.getElementById("running_total").innerHTML = strIndividualHTML;

	//determine package number (if any)	
	package_num = check_for_combo();

	//if there is a matched package...
	if(package_num > -1)
		{
		//display the matched package
		package_price = parseFloat(packages[package_num][2]);

		strPackagesHTML = "<table cellpadding=2 cellspacing=0 width=100%><tr><td colspan=2>&nbsp;</td></tr><tr><td colspan=2><b>Package pricing</b></td></tr>";
		strPackagesHTML += "<tr><td width=99%>&nbsp;&nbsp;&nbsp;<a href=\"" + packages[package_num][4] + "\" title=\"" + packages[package_num][3] + "\">" + packages[package_num][1] + "</a></td><td align=right>$" + package_price.toFixed(2) + "</td></tr>";

		price_of_extras = get_extras_price();
		package_total = parseFloat(package_price + price_of_extras);
		you_save = parseFloat(price_of_checked - package_total);

		strPackagesHTML = get_extras_text(strPackagesHTML);
		strPackagesHTML += "<tr height=1><td colspan=2 style=\"border-top: 1px solid #888888;\"><img height=1 width=1 src=\"/images/spacer.gif\"></td></tr>";
		strPackagesHTML += "<tr><td align=right><b>Package Total:&nbsp;&nbsp;&nbsp;</b></td><td><b>$" + package_total.toFixed(2) + "</b></td></tr>";

		strPackagesHTML += "<tr><td colspan=2>&nbsp;</td></tr><tr><td width=99% align=right><b>Monthly Savings</b>&nbsp;&nbsp;&nbsp;</td><td style=\"border: 1px solid #6483AD; background-color: #BDD3E7\" align=right><b>$" + you_save.toFixed(2) + "</b></td></tr></table>";
		}

	//generate querystring for Order Online button
	var interested_in = do_interested();
	
	strPackagesHTML += "<tr><td colspan=2><a href=\"/order/orderform.aspx?promo={501A8E3E-4DB4-4F62-8D40-2BE86A17BFD0}&interested=" + interested_in + "\"><img border=0 src=/images/buttons/order_online.gif></a></td></tr></table>";
	document.getElementById("packages").innerHTML = strPackagesHTML;
	}