var error = false;
var error_message = "";
var form = "";
var txtsize ="";
var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;
var panels = new Array('panel1', 'panel2', 'panel3');
var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');

function LZ(x) {return(x<0||x>9?"":"0")+x;}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function location_change(tform)
{
	var box;
	var loc;
    var location_block;
    var location_name;
    var address2_name;
	box = document.getElementById("attrib-22-0");
    location_block=document.getElementById("location_block");
    location_name=document.getElementById("location_name");
    address2_name=document.getElementById("address2_name");
	if (!box) return;
	if (box.selectedIndex == 0) return;
	loc=box.options[box.selectedIndex].value;
    if (loc=='Residence'||loc=='Select...') {
        location_block.style.display='none'
        address2_name="Address2";
    }
    else {
        if(loc=='Hospital') {
          location_name.innerHTML='Hospital Name';
          address2_name.innerHTML='Room #';
        }
        else if(loc=='Business') {
          location_name.innerHTML='Business Name';
          address2_name.innerHTML='Bldg/Suite #';
        }
        else if(loc=='Apartment/Condo') {
          location_name.innerHTML='Complex Name';
          address2_name.innerHTML='Apt/Bldg/Unit #';
        }
        else if(loc=='Funeral Home') {
          location_name.innerHTML='Home Name';
          address2_name.innerHTML='Address2';
        }
        else if(loc=='Retirement Home') {
          location_name.innerHTML='Home Name';
          address2_name.innerHTML='Address2';
        }
        else if(loc=='Other') {
          location_name.innerHTML='Place Name';
          address2_name.innerHTML='Address2';
        }

        location_block.style.display='inline'
    }
}

function date_change(tform)
{
	var xdfield;
	var date_box;
	var i;
	var olen;
	var thedate;
	var sel;
	var opt;
	var idate;
	var fdate;
	var today=new Date();

	sel=0;
	date_box=document.getElementById('attrib-15-0');
	xdfield=document.getElementById('xdfield');
	if (!xdfield) return;
	if (!date_box) return;
	thedate=xdfield.value;
	if (thedate=='') return;
	olen=date_box.options.length;

	for (i=0;i<olen;i++) {
		if (date_box.options[i].value== thedate) {
			date_box.selectedIndex=i;
			sel=1;
			break;
		}
	}

	if (!sel) {  // not selected
		idate=getDateFromFormat(thedate,'E, MMM dd, yyyy');  // selected from calendar
		fdate=getDateFromFormat(date_box.options[0].value,'E, MMM dd, yyyy'); // first date in box
		if (idate<fdate||getDateFromFormat(thedate,'E')==0) {
			alert('Cannot deliver on the selected day.  Please select another date.');
		} else {
			opt=document.createElement("OPTION");
			opt.text=thedate;
			opt.value=thedate;
			date_box.options.add(opt);
			date_box.selectedIndex=i;
		}
	}
}



function recipient_change(tform)
{

	var txt;
	var box;
	var rname;
	var zip;
	var arr;
	var bus;
	var addr;
	var addr2;
	var city;
	var state;
	var state1;
	var tel;
	var country;
	var olen;
	var i;
	var new_country;
	var new_zone;
	var sel=0;

	box=document.getElementById('recipient_listbox');
	if (!box) return;
	if (box.selectedIndex == 0) return;
	txt=box.options[box.selectedIndex].value;
	rname = document.getElementById("attrib-1-0");
    bus = document.getElementById("attrib-4-0");
    addr = document.getElementById("attrib-5-0");
    addr2 = document.getElementById("attrib-6-0");
    city = document.getElementById("attrib-7-0");
    state = document.getElementById("attrib-8-0");
    state1 = document.getElementById("attrib-33-0");  // text box for state
    zip = document.getElementById("attrib-9-0");
    tel = document.getElementById("attrib-10-0");
    country = document.getElementById("attrib-31-0");  // select

    // 0 name, 1 company, 2 address1, 3 city, 4 state, 5 zip

	    arr=txt.split("|");
		if (trim(arr[1])!='') bus.style.display="inline";
	    rname.value=trim(arr[0]);
	    bus.value=trim(arr[1]);
	    addr.value=trim(arr[2]);
	    addr2.value=trim(arr[3]);
	    city.value=trim(arr[4]);
	    zip.value=trim(arr[6]);
	    tel.value=trim(arr[7]);  // 8 - country_id, 9-zone_id
	    new_country=trim(arr[8]);
	    new_zone=trim(arr[9]);

		// adjust country
/*
		olen=country.options.length;
		for (i=0;i<olen;i++) {

		if (country.options[i].value== new_country) {
			country.selectedIndex=i;
			sel=1;
//			countrytext=country.options[country.selectedIndex].text;
			break;
		}
		}
		if (sel==0) {
			country.selectedIndex=0;
		}
*/
		update_zone(tform);
		// set the state box

		if (state1) {
			if (state1.style.display!='none') { // statebox is showing
				state1.value=trim(arr[5]);  // put in text value
			} else {
				// do dropdown search
				olen=state.options.length;
				for (i=0;i<olen;i++) {
				if (state.options[i].value== new_zone) {
					state.selectedIndex=i;
					sel=1;
					break;
				}
				}
			}
		}
}


function sPanel(name)
      {
        for(i = 0; i < panels.length; i++)
          document.getElementById(panels[i]).style.display = (name == panels[i]) ? 'block':'none';
      }

function fcancel(theform)
{
	var pa;
   pa = document.getElementById("productAttributes");

	if (pa) {
		if (pa.style.display == 'block') {
       		pa.style.display='none';
	   	}
	}
	return false;
}



/**
 * DHTML phone number validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 7;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}



function check_form(theform) {
   var rname;
   var delivery_date;
   var address1;
   var address2;
   var city;
   var state;
   var state1;
   var zip;
   var tab2;
   var phone;
   var message;
   var pa;
   var iha;
   var ha;
   var country;
   var chg;
   var pickup;
   var ispickup;
   var location_type;
   var location;
   var mylar;
   var latex;

   ha=document.getElementById("hasattributes");
   iha=document.getElementById("ihaveaccount");
   al=document.getElementById("attrlogin");
   pickup=document.getElementById("pickup");

	if (!ha) {
	   	return true;
	}
	if (ha.value=='no') { // no attributes or no order for delivered flowers
		return true;
	}
   pa = document.getElementById("productAttributes");
   if (!pa) {
   		alert('Error in browser.  Please refresh your page.  If the error re-occurs, please call our Sales department at 1-888-632-5975 to place your order.  We apologize for the inconvenience.');
   		return false;
   	}
/*
   	// check pickup
   	if (!pickup) {
   		ispickup=false;
   	} else {
   		if (pickup.checked) {
   			ispickup=true;
   		}
   		else {
   			ispickup=false;
   		}
   	}

   	if (ispickup) {
	   rname = document.getElementById("attrib-1-0");
//	   rname.value="";
	   address1 = document.getElementById("attrib-5-0");
	   address1.value="10310 Moncreiffe Road";
	   address2 = document.getElementById("attrib-6-0");
	   address2.value="Suite 107";
	   zip = document.getElementById("attrib-9-0");
	   zip.value="27617";
	   city = document.getElementById("attrib-7-0");
	   city.value="RALEIGH";
	   phone = document.getElementById("attrib-10-0");
	   phone.value="919-341-6650";
	   chg= document.getElementById("attrib-23");  // service charge
	   chg.style.display="inline";
	   country=document.getElementById("attrib-31-0");
	   country.value="United States";
		state = document.getElementById("attrib-8-0");
		state.value="North Carolina";
		location_type=document.getElementById("attrib-22-0");
		location_type.value="Business";
		location=document.getElementById("attrib-4-0");
		location.value="The English Garden";
	    document.getElementById("location_block").style.display="inline";
	    document.getElementById("address_book_block").style.display="none";
		document.getElementById("date_name").innerHTML='Pickup Date';
   	}
*/

	if (pa.style.display == 'none') {
//   		pa.style.top='0px';
   		pa.style.display='block';
//   		alert(pa.style.top);
//		showPanel(document.getElementById("tab1"),"panel1");
		if (iha) { // if exists
			if (!iha.checked) { // if ihaveaccount not checked
				if (al) { // if exists
					al.style.display='none'; // set display to none.
				}
			} else {
				if (al) { // if exists
					al.style.display='inline'; // set display to inline.
				}
			}
		}
		setfocus('attrib-1-0');
//  	   alert('Please complete recipient information below.');
  	   return false;
	}

   tab2 = document.getElementById("tab2");
   rname = document.getElementById("attrib-1-0").value;
   delivery_date = document.getElementById("attrib-15-0").value;
   message = document.getElementById("attrib-2-0").value;
   address1 = document.getElementById("attrib-5-0").value;
   city = document.getElementById("attrib-7-0").value;
//   state1 = document.getElementById("attrib-33-0").value;
   mylar = document.getElementById("attrib-24");
   latex = document.getElementById("attrib-25");

   if (mylar) {
     if (mylar.selectIndex==0) mylar.disabled=true;
   }
   if (latex) {
     if (latex.selectIndex==0) latex.disabled=true;
   }


   if (state1!='') {
   		if (document.getElementById("attrib-8-0")) {
		   state = document.getElementById("attrib-8-0").options[document.getElementById("attrib-8-0").selectedIndex].value;
	   }
	}
   zip = document.getElementById("attrib-9-0").value;
   phone = document.getElementById("attrib-10-0").value;
   chg= document.getElementById("attrib-23");
//   country=document.getElementById("attrib-31-0").options[document.getElementById("attrib-31-0").selectedIndex].value;
   form = theform;
/*
  var rnameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var enquiryRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);
  */

// panel1
  if(rname == "") {
//	showPanel(document.getElementById("tab1"),"panel1");
    inlineMsg('attrib-1-0','You must enter a recipient name.',2);
    return false;
  }
 /* if(delivery_date == "") {
	showPanel(document.getElementById("tab1"),"panel1");
    inlineMsg('attrib-15-0','You must enter a delivery date.',2);
    return false;
  } */
  if(message == "") {
//	showPanel(document.getElementById("tab1"),"panel1");
    inlineMsg('attrib-2-0','You must enter a card message.  Type NONE for no message.',2);
    return false;
  }
  // panel2
  if(address1 == "") {
//	showPanel(document.getElementById("tab2"),"panel2");
    inlineMsg('attrib-5-0','You must enter an address.',2);
    return false;
  }
  if(city == "") {
//	showPanel(document.getElementById("tab2"),"panel2");
    inlineMsg('attrib-7-0','You must enter a city.',2);
    return false;
  }
  if(zip == "") {
//	showPanel(document.getElementById("tab2"),"panel2");
    inlineMsg('attrib-9-0','You must enter a zip code.',2);
    return false;
  }
  if(phone == "") { //
//	showPanel(document.getElementById("tab2"),"panel2");
    inlineMsg('attrib-10-0','You must enter a recipinet contact phone number.',2);
    return false;
  } else {
    if(checkInternationalPhone(phone)==false) {
        inlineMsg('attrib-10-0','Please enter a valid phone nuumber (minimum 7 digits)',2);
        return false;
    }
  }
/*  if(!rname.match(rnameRegex)) {
    inlineMsg('attrib-1-0','You have entered an invalid name.',2);
    return false;
  }
  */
  /*
  if(email == "") {
    inlineMsg('email','You must enter your email.',2);
    return false;
  }
  if(!email.match(emailRegex)) {
    inlineMsg('email','You have entered an invalid email.',2);
    return false;
  }

  if(enquiry == "") {
    inlineMsg('enquiry','You must enter a message.');
    return false;
  }
  if(enquiry.match(enquiryRegex)) {
    inlineMsg('enquiry','You have entered an invalid message.');
    return false;
  }
*/
//	alert('hello!');
//  theform.elements["id[23]"].disabled=false;  // enable charge box on submit
/*  if (state1!='') {
  		state.name="xxxx";
  		state1.name="id[txt_8]";
  	} */
  return true;
}

// START OF MESSAGE SCRIPT //

function setfocus(target) {
  var targetdiv = document.getElementById(target);
  if (targetdiv) {
	  targetdiv.focus();
	}
}

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
  var msg;
  var msgcontent;
	var browserName=navigator.appName;
	 if (browserName=="xMicrosoft Internet Explorer")
	 {
  if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
   }
 else
  {
    alert(string);
   }
}

// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
   left += target.x;
  }
  return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}



// preload the arrow //
if(document.images) {
  arrow = new Image(7,80);
  arrow.src = "/images/msg_arrow.gif";
}

 // ------------------------------------------------------------------
// Utility functions for parsing in getDateFromFormat()
// ------------------------------------------------------------------

function _isInteger(val) {
	var digits="1234567890";
	for (var i=0; i < val.length; i++) {
		if (digits.indexOf(val.charAt(i))==-1) { return false; }
		}
	return true;
	}

function _getInt(str,i,minlength,maxlength) {
	for (var x=maxlength; x>=minlength; x--) {
		var token=str.substring(i,i+x);
		if (token.length < minlength) { return null; }
		if (_isInteger(token)) { return token; }
		}
	return null;
	}


// ------------------------------------------------------------------
// getDateFromFormat( date_string , format_string )
//
// This function takes a date string and a format string. It matches
// If the date string matches the format string, it returns the
// getTime() of the date. If it does not match, it returns 0.
// ------------------------------------------------------------------
function getDateFromFormat(val,format) {
	val=val+"";
	format=format+"";
	var i_val=0;
	var i_format=0;
	var c="";
	var token="";
	var token2="";
	var x,y;
	var now=new Date();
	var year=now.getYear();
	var month=now.getMonth()+1;
	var date=1;
	var hh=now.getHours();
	var mm=now.getMinutes();
	var ss=now.getSeconds();
	var ampm="";

	while (i_format < format.length) {
		// Get next token from format string
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		// Extract contents of value based on format token
		if (token=="yyyy" || token=="yy" || token=="y") {
			if (token=="yyyy") { x=4;y=4; }
			if (token=="yy")   { x=2;y=2; }
			if (token=="y")    { x=2;y=4; }
			year=_getInt(val,i_val,x,y);
			if (year==null) { return 0; }
			i_val += year.length;
			if (year.length==2) {
				if (year > 70) { year=1900+(year-0); }
				else { year=2000+(year-0); }
				}
			}
		else if (token=="MMM"||token=="NNN"){
			month=0;
			for (var i=0; i<MONTH_NAMES.length; i++) {
				var month_name=MONTH_NAMES[i];
				if (val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()) {
					if (token=="MMM"||(token=="NNN"&&i>11)) {
						month=i+1;
						if (month>12) { month -= 12; }
						i_val += month_name.length;
						break;
						}
					}
				}
			if ((month < 1)||(month>12)){return 0;}
			}
		else if (token=="EE"||token=="E"){
			for (var i=0; i<DAY_NAMES.length; i++) {
				var day_name=DAY_NAMES[i];
				if (val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()) {
					i_val += day_name.length;
					break;
					}
				}
			}
		else if (token=="MM"||token=="M") {
			month=_getInt(val,i_val,token.length,2);
			if(month==null||(month<1)||(month>12)){return 0;}
			i_val+=month.length;}
		else if (token=="dd"||token=="d") {
			date=_getInt(val,i_val,token.length,2);
			if(date==null||(date<1)||(date>31)){return 0;}
			i_val+=date.length;}
		else if (token=="hh"||token=="h") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<1)||(hh>12)){return 0;}
			i_val+=hh.length;}
		else if (token=="HH"||token=="H") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<0)||(hh>23)){return 0;}
			i_val+=hh.length;}
		else if (token=="KK"||token=="K") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<0)||(hh>11)){return 0;}
			i_val+=hh.length;}
		else if (token=="kk"||token=="k") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<1)||(hh>24)){return 0;}
			i_val+=hh.length;hh--;}
		else if (token=="mm"||token=="m") {
			mm=_getInt(val,i_val,token.length,2);
			if(mm==null||(mm<0)||(mm>59)){return 0;}
			i_val+=mm.length;}
		else if (token=="ss"||token=="s") {
			ss=_getInt(val,i_val,token.length,2);
			if(ss==null||(ss<0)||(ss>59)){return 0;}
			i_val+=ss.length;}
		else if (token=="a") {
			if (val.substring(i_val,i_val+2).toLowerCase()=="am") {ampm="AM";}
			else if (val.substring(i_val,i_val+2).toLowerCase()=="pm") {ampm="PM";}
			else {return 0;}
			i_val+=2;}
		else {
			if (val.substring(i_val,i_val+token.length)!=token) {return 0;}
			else {i_val+=token.length;}
			}
		}
	// If there are any trailing characters left in the value, it doesn't match
	if (i_val != val.length) { return 0; }
	// Is date valid for month?
	if (month==2) {
		// Check for leap year
		if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { // leap year
			if (date > 29){ return 0; }
			}
		else { if (date > 28) { return 0; } }
		}
	if ((month==4)||(month==6)||(month==9)||(month==11)) {
		if (date > 30) { return 0; }
		}
	// Correct hours value
	if (hh<12 && ampm=="PM") { hh=hh-0+12; }
	else if (hh>11 && ampm=="AM") { hh-=12; }
	var newdate=new Date(year,month-1,date,hh,mm,ss);
	return newdate.getTime();
	}

//--------------------

// handle ajax zip lookup

// this is the second type ----------------------------------------------------------------

var url = "/phplib/ajax/getCityState.php?param="; // The server-side script
var isWorking = false;
var citybox;
var statebox;
var countrybox;

function handleHttpResponse() {
  if (http.readyState == 4) {
    if (http.responseText.indexOf('invalid') == -1) {
      // Use the XML DOM to unpack the city and state data
      var xmlDocument = http.responseXML;
      var city = xmlDocument.getElementsByTagName('city').item(0).firstChild.data;
      var state = xmlDocument.getElementsByTagName('state').item(0).firstChild.data;
      var delivery = xmlDocument.getElementsByTagName('delivery').item(0).firstChild.data;
      citybox.value = city;
//      statebox.value = state;
	  // search the statebox for the state text
//	  var statetext=statebox.options[statebox.selectedIndex].text;
	  var NumState = statebox.options.length;
	  while(NumState > 0) {
	    NumState = NumState - 1;
	    if (statebox.options[NumState].value==state) {
	    	statebox.selectedIndex=NumState;
	    	break;
	    }
	  }
      isWorking = false;
	  toggleSpinner(isWorking);
/*		var chg=document.getElementById("attrib-23");  // service chrg item
		var uschg=document.getElementById("usservicecharge");  // service chrg item
		var locchg=document.getElementById("locservicecharge");  // service chrg item
		var extchg=document.getElementById("extservicecharge");  // service chrg item
	  if (delivery=='loc') {
			uschg.style.display='none';
            extchg.style.display='none';
            locchg.style.display='inline';
            chg.selectedIndex=2;
	  } else if (delivery=='ext') {
			uschg.style.display='none';
            extchg.style.display='inline';
            locchg.style.display='none';
            chg.selectedIndex=1;

	  } else {

			uschg.style.display='inline';
            extchg.style.display='none';
            locchg.style.display='none';
            chg.selectedIndex=0;

	  }
*/
    } else {

      isWorking = false;

	  toggleSpinner(isWorking);

      citybox.value = 'not found';

//      statebox.value = 'not found';

	}

  }

}





function toggleSpinner(iswork)
{
	var citySpinner = document.getElementById("citySpinner1");
	var stateSpinner = document.getElementById("stateSpinner1");
	citySpinner.style.display = iswork ? "inline" : "none";
	stateSpinner.style.display = iswork ? "inline" : "none";
}



function changeState(theForm,stateobj,cityobj,zipobj) {
  if (!theForm) return;
  var city=document.getElementById(cityobj);
  var zip=document.getElementById(zipobj);
//  if (city) city.value='';
//  if (zip) zip.value='';
		var chg=document.getElementById("attrib-23");  // service chrg item
		var uschg=document.getElementById("usservicecharge");  // service chrg item
		var locchg=document.getElementById("locservicecharge");  // service chrg item
		var extchg=document.getElementById("extservicecharge");  // service chrg item
/*
			uschg.style.display='inline';
            extchg.style.display='none';
            locchg.style.display='none';
            chg.selectedIndex=0;
           */

}



function updateCityState(theForm,zipCodeInputobj,cityobj,stateobj,countryobj) {
  var state;
  var country;
  var zipCodeInput=document.getElementById(zipCodeInputobj);
  if (!theForm) return;
  if (!theForm.elements["id[txt_8]"]) return;
  if (theForm.elements["id[txt_8]"].type == "hidden") return;
  if (zipCodeInput.value=='') return;
  var sp=document.getElementById('showpanel');
  if (sp) sp.style.display='block';
  state=document.getElementById('attrib-8-0');
  country=document.getElementById('attrib-31-0');
  var SelectedCountry = "United States"; //theForm.elements["id[txt_31]"].options[theForm.elements["id[txt_31]"].selectedIndex].value;
  var SelectedZone = theForm.elements["id[txt_8]"].value;

  if (!isWorking && http && SelectedCountry=='United States') {
    var zipValue = zipCodeInput.value; //document.getElementById("zip1")
    http.open("GET", url + escape(zipValue), true);
    http.onreadystatechange = handleHttpResponse;
    citybox=document.getElementById(cityobj);
    statebox=document.getElementById(stateobj);
    countrybox=document.getElementById(countryobj);
    isWorking = true;
    toggleSpinner(isWorking);
    http.send(null);
  }
}



function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
	  xmlhttp.overrideMimeType("text/xml");
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object

