
function qsItem (name, value) {
	this.name = name;
	this.value = value;
}


function doIt_carpet()
{
  var floor   = "f_l="+document.carpet.f_l.value+"&"+"f_w="+document.carpet.f_w.value;
  window.location="../carpeting-calculator-results-00400000045130/"+"?"+floor;
}

function doIt_ceilingpaint()
{
  var room = "r_l="+document.ceiling.r_l.value+"&"+"r_w="+document.ceiling.r_w.value;
  window.location="../ceiling-paint-calculator-results-00400000045083/"+"?"+room;
}

function doIt_ceramictile()
{
  var floor   = "f_l="+document.ceramic.f_l.value+"&"+"f_w="+document.ceramic.f_w.value;
  window.location="../ceramic-tile-calculator-results-00400000045091/"+"?"+floor;
}

function doIt_doorpaint()
{
  var doors = parseInt(document.door.d_n.value) * parseInt(2);
  var door = "d_h="+document.door.d_h.value+"&"+"d_w="+document.door.d_w.value+"&"+"d_n="+doors;
  window.location="../door-paint-calculator-results-00400000045087/"+"?"+door;
}

function doIt_exteriorpaint()
{
  var wall = "wa_l="+document.exterior.wa_l.value+"&"+"wa_h="+document.exterior.wa_h.value;
  var h_window = "wi_h="+document.exterior.wi_h.value+"&"+"wi_w="+document.exterior.wi_w.value+"&"+"wi_n="+document.exterior.wi_n.value;
  var door = "d_h="+document.exterior.d_h.value+"&"+"d_w="+document.exterior.d_w.value+"&"+"d_n="+document.exterior.d_n.value;
  var url = "../exterior-paint-calculator-results-00400000045093/"+"?"+wall+"&"+h_window+"&"+door;
  window.location=(url);
}

function doIt_grass()
{
  var grass   = "g_l="+document.grass.g_l.value+"&"+"g_w="+document.grass.g_w.value+"&"+"rate="+document.grass.g_c.value;
  window.location="../grass-seed-calculator-results-00400000045095/"+"?"+grass;
}

function doIt_interiorpaint()
{
  var room = "r_l="+document.room.r_l.value+"&"+"r_w="+document.room.r_w.value;
  var wall   = "wa_l="+document.room.wa_l.value+"&"+"wa_h="+document.room.wa_h.value;
  var h_window = "wi_h="+document.room.wi_h.value+"&"+"wi_w="+document.room.wi_w.value+"&"+"wi_n="+document.room.wi_n.value;
  var door = "d_h="+document.room.d_h.value+"&"+"d_w="+document.room.d_w.value+"&"+"d_n="+document.room.d_n.value;
  window.location="../interior-paint-calculator-results-00400000045079/"+"?"+wall+"&"+h_window+"&"+door+"&"+room;
}

function doIt_mulch()
{
  var mulch   = "m_l="+document.mulch.m_l.value+"&"+"m_w="+document.mulch.m_w.value+"&"+"m_d="+document.mulch.m_d.value+"&"+"m_a="+document.mulch.m_a.value;
  window.location="../mulch-calculator-results-00400000045097/"+"?"+mulch;
}

function doIt_sheetvinyl()
{
  var floor   = "f_l="+document.sheetvinyl.f_l.value+"&"+"f_w="+document.sheetvinyl.f_w.value;
  window.location="../vinyl-sheetfloors-calculator-results-00400000045126/"+"?"+floor;
}

function doIt_vinyltile()
{
  var floor   = "f_l="+document.vinyl.f_l.value+"&"+"f_w="+document.vinyl.f_w.value;
  window.location="../vinyl-tiles-calculator-results-00400000045123/"+"?"+floor;
}

function doIt_wallpaint()
{
  var wall   = "wa_l="+document.wall.wa_l.value+"&"+"wa_h="+document.wall.wa_h.value;
  var h_window = "wi_h="+document.wall.wi_h.value+"&"+"wi_w="+document.wall.wi_w.value+"&"+"wi_n="+document.wall.wi_n.value;
  var door = "d_h="+document.wall.d_h.value+"&"+"d_w="+document.wall.d_w.value+"&"+"d_n="+document.wall.d_n.value;
  window.location="../wall-paint-calculator-results-00400000045081/"+"?"+wall+"&"+h_window+"&"+door;
}

function doIt_wallpaper()
{
  var wall   = "wa_l="+document.wallpaper.wa_l.value+"&"+"wa_h="+document.wallpaper.wa_h.value;
  var h_window = "wi_h="+document.wallpaper.wi_h.value+"&"+"wi_w="+document.wallpaper.wi_w.value+"&"+"wi_n="+document.wallpaper.wi_n.value;
  var door = "d_h="+document.wallpaper.d_h.value+"&"+"d_w="+document.wallpaper.d_w.value+"&"+"d_n="+document.wallpaper.d_n.value;
  window.location="../wallpaper-calculator-results-00400000045089/"+"?"+wall+"&"+h_window+"&"+door;
}

function doIt_windowpaint()
{
   var h_window = "wi_h="+document.window.wi_h.value+"&"+"wi_w="+document.window.wi_w.value+"&"+"wi_n="+document.window.wi_n.value;
   window.location="../window-paint-calculator-results-00400000045085/"+"?"+h_window;
}

function doIt_woodfloor()
{
  var floor   = "f_l="+document.wood.f_l.value+"&"+"f_w="+document.wood.f_w.value;
  window.location="../wood-floors-calculator-results-00400000045120/"+"?"+floor;
}

function number_format(n) {
  var arr=new Array('0'), i=0;
  while (n>0)
    {arr[i]=''+n%1000; n=Math.floor(n/1000); i++;}
  arr=arr.reverse();
  for (var i in arr) if (i>0) //padding zeros
    while (arr[i].length < 3) arr[i]='0'+arr[i];
  return arr.join();
}

function getQueryString (searchname) {
	var result = "";
	for (anitem in querystring) {
		if (querystring[anitem].name == searchname) {
			result = querystring[anitem].value;
			break;
		}
	}
	return result;
}

function get_yellowpages() {
}

function get_more_yellowpages() {
}

function search_yellowpages()
{
	var url = "http://aolsvc.yp.aol.com/main.adp?_dirnamesearch="+document.yellowpages.yp_search.value+"&_diraction=catsearch&_dircity="+_aol_city+"&_dirstate="+_aol_state+"&_dirlat="+_aol_latitude+"&_dirlong="+_aol_longitude+"&_dirzip="+_aol_zip+"&_dby=&_dircat=&_dirnamesearch=&_diraddress=&_dirdma=16&_dirpid=11&x=15&y=6";
	window.open(url);
}

function qsParse () {
	querystring = new Array();
	var query = window.location.search.substring(1);

	var pairs = query.split("&");
	var numpairs = pairs.length;
		for (var anitem = 0; anitem < numpairs; anitem++) {
			var itemSet = pairs[anitem].split("=");

			if (itemSet[1] == "") {
				querystring[anitem]=new qsItem(itemSet[0], 0);
			} else {
				querystring[anitem]=new qsItem(itemSet[0], itemSet[1]);
			}
		}
	querystringlegnth = querystring.length;
}

function validateSubmission () {

	var gFieldString = new String("length|width|rate");
	var fieldlength = document.grass.elements.length;
	//alert(fieldlength);
    for (x=0; x < 3; x++) {
	var f = document.grass.elements[x];
	if ((gFieldString.indexOf(f.name) > -1) && (f.value == '')) {
		alert('Please enter a numeric value in the ' + f.name + ' field');
	    f.focus();
	    return false;
	}
    }
    return true;
}

function validateMulchSubmission () {
	var valuearea = document.mulch.area;
	var valuelength = document.mulch.length;
	var valuewidth = document.mulch.width;
	if ((valuearea.value == '')) {
		if ((valuelength.value == '') || (valuewidth.value == '') ) {
			alert('Please enter a numeric value in the area field OR length and width fields.');
	    	return false;
		} else {
			return true;
		}
	}

    return true;
}
function getWinDoorArea (legnth, width, number) {
	var result = "";
	result = (parseInt(legnth) * parseInt(width) * parseInt(number))/144;
	result = roundme(result);
	return result;
}

function getArea (legnth, width) {
	var result = "";
	result = parseInt(legnth) * parseInt(width);
	return result;
}


function getPaint (l, w, dh, dw, dn, wh, ww, wn, type) {
	var result = "";
	var window = "";
	var door = "";
	var paint = "";
	var fpaint = "";
	var factor = "";

	if (type == 'rough') {
	  factor = 300
	} else {
	  factor = 350
	}

	if (wn == 0) {
		window = 0;
	} else {
		window = parseFloat((parseInt(ww) * parseInt(wh) * parseInt(wn))/144);
	}
	if (dn == 0) {
		door = 0;
	} else {
		door = parseFloat((parseInt(dh) * parseInt(dw) * parseInt(dn))/144);
	}

	result = (parseFloat(l) * parseFloat(w)) - door - window;

	if (result == 0) {
		paint = 0;
	} else {
		paint = (result/factor) + .05;
	}


	fpaint = roundit(paint,1);
	return fpaint;
}


function getWindowPaint (legnth, width, num) {
	var result = "";
	var paint = "";
	var fpaint = "";
	area = getWinDoorArea(legnth, width, num);
	if (area == 0) {
		result = 0;
	} else {
		result = ((area*.3)/350)+.05;
	}
	fpaint = roundme(result);
	return fpaint;
}

function getVinylFloor (legnth, width, type) {
	var result = "";
	var floor = "";
	var ffloor = "";
	area = getArea(legnth, width);
	if (area == 0) {
		result = 0;
	} else if (type == 9) {
		result = (area/.5625)+(((area/.5625)*.1)+.05);
	} else if (type == 12) {
		result = area + (area *.1) + .05;
	}
	ffloor = roundit(result,0);
	return ffloor;
}


function getCeramic (legnth, width, type) {
	var result = "";
	var factor = "";
	var ffloor = "";

	area = getArea(legnth, width);

	if (type == '4') {
		factor = .1089
	} else if (type =='414') {
		factor = 9
	} else if (type =='6') {
		factor = .25
	} else if (type =='8') {
		factor = .4444
	} else if (type =='9') {
		factor = .5625
	} else if (type =='12') {
		factor = 1
	} else if (type =='18') {
		factor = 2.25
	}

	if (area == 0) {
		result = 0;
	} else if (type == '414') {
		result = (area*9) + ((area*9)*.1) + .05;
	} else {
		result = ((area/factor) + ((area/factor)*.1) +.05);
	}

	ffloor = roundit(result,0);
	return ffloor;
}


function getSheetVinyl (legnth, width) {
	var result = "";
	var floor = "";
	var ffloor = "";
	area = getArea(legnth, width);
	if (area == 0) {
		result = 0;
	} else {
		result = (area/9) + ((area/9) *.1) + .05;
	}
	ffloor = roundit(result,0);
	return ffloor;
}


function getDoorPaint (legnth, width, num) {
	var result = "";
	var paint = "";
	var fpaint = "";
	area = getWinDoorArea(legnth, width, num);
	if (area == 0) {
		result = 0;
	} else {
		result = (area/350)+.05;
	}
	fpaint = roundme(result);
	return fpaint;
}

function roundit(Num, Places) {
   if (Places > 0) {
      if ((Num.toString().length - Num.toString().lastIndexOf('.')) > (Places + 1)) {
         var Rounder = Math.pow(10, Places);
         return Math.round(Num * Rounder) / Rounder;
      }
      else return Num;
   }
   else return Math.round(Num);
}

function roundup(num) {
	return Math.ceil(num);
}

function roundme(decnumber)					//Round up to nearest 0.25 units
{
	var floorval = Math.floor(decnumber);
	var decimalpart = decnumber - floorval;

	if (decimalpart == 0)
	{
		roundedval = 0;
	}
	else if (decimalpart <= 0.25)
	{
		roundedval = 0.25;
	}
	else if (decimalpart <= 0.5)
	{
		roundedval = 0.5;
	}
	else if (decimalpart <= 0.75)
	{
		roundedval = 0.75;
	}
	else
	{
		roundedval = 1;
	}

	roundedval = roundedval + floorval;
	return roundedval;
}

function getWallpaper (l, w, dh, dw, dn, wh, ww, wn, type, size) {
	var result = "";
	var resultarea = "";
	var window = "";
	var door = "";
	var fpaper = "";
	var factor = "";

	if (type == 'american' && size == '6') {
	  factor = 32
	} else if (type == 'european' && size == '6') {
	  factor = 25
	} else if (type == 'american' && size == '7') {
	  factor = 30
	} else if (type == 'european' && size == '7') {
	  factor = 22
	} else if (type == 'american' && size == '13') {
	  factor = 27
	} else if (type == 'european' && size == '13') {
	  factor = 20
	} else if (type == 'american' && size == '19') {
	  factor = 25
	} else if (type == 'european' && size == '19') {
	  factor = 18
	}

	if (wn == 0) {
		window = 0;
	} else {
		window = parseFloat((parseInt(ww) * parseInt(wh) * parseInt(wn))/144);
	}
	if (dn == 0) {
		door = 0;
	} else {
		door = parseFloat((parseInt(dh) * parseInt(dw) * parseInt(dn))/144);
	}

	resultarea = (parseFloat(l) * parseFloat(w)) - door - window;
	if (resultarea == 0) {
		result = 0;
	} else {
		result = ((resultarea/factor)+.5) + ((((resultarea/factor)+.5) * .1) +.5);
	}
	fpaper = roundme(result);
	return fpaper;
}



//
// QueryString
//

function QueryString(key)
{
	var value = null;
	for (var i=0;i<QueryString.keys.length;i++)
	{
		if (QueryString.keys[i]==key)
		{
			value = QueryString.values[i];
			break;
		}
	}
	return value;
}
QueryString.keys = new Array();
QueryString.values = new Array();

function QueryString_Parse()
{
	var query = window.location.search.substring(1);
	var pairs = query.split("&");

	for (var i=0;i<pairs.length;i++)
	{
		var pos = pairs[i].indexOf('=');
		if (pos >= 0)
		{
			var argname = pairs[i].substring(0,pos);
			var value = pairs[i].substring(pos+1);
			QueryString.keys[QueryString.keys.length] = argname;
			QueryString.values[QueryString.values.length] = value;
		}
	}

}

QueryString_Parse();

function getQueryStringValue(key) {
	var queryString = document.location.search.substring(1);
	var keys = queryString.split("&");
	var value = "";
	for (var i=0; i < keys.length && value.length==0;i++)
	{
		var pos = keys[i].indexOf('=');
		var keyName = "";
		if (pos >= 0)
		{
			keyName = keys[i].substring(0, pos);
			if (keyName==key)
			value = keys[i].substring(pos+1);
		}
	}
	return value;
}