function showHint(str)
{
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}


function valid_fname() 
{
	if (document.signup_form.ci_first_name.value == "")
{

      var oldfname = document.getElementById('fname').innerHTML;
      var newfname = "<span style='color:red; font-weight:600'>" + oldfname + "</span>";
      document.getElementById('fname').innerHTML = newfname;
        valid = false;

}else
{
	document.getElementById('fname').innerHTML = "First Name: ";
}
}

function valid_lname() 
{
        if (document.signup_form.ci_last_name.value == "")
{

      var oldlname = document.getElementById('lname').innerHTML;
      var newlname = "<span style='color:red; font-weight:600'>" + oldlname + "</span>";
      document.getElementById('lname').innerHTML = newlname;
        valid = false;

}else
{
        document.getElementById('lname').innerHTML = "Last Name: ";
}
}


function valid_add1() 
{
        if (document.signup_form.ci_address1.value == "")
{

      var oldadd1 = document.getElementById('add1').innerHTML;
      var newadd1 = "<span style='color:red; font-weight:600'>" + oldadd1 + "</span>";
      document.getElementById('add1').innerHTML = newadd1;
        valid = false;

}else
{
        document.getElementById('add1').innerHTML = "Address 1:  ";
}
}

function valid_city() 
{
        if (document.signup_form.ci_city.value == "")
{

      var oldcity = document.getElementById('city').innerHTML;
      var newcity = "<span style='color:red; font-weight:600'>" + oldcity + "</span>";
      document.getElementById('city').innerHTML = newcity;
        valid = false;

}else
{
        document.getElementById('city').innerHTML = "City:  ";
}
}


function valid_state() 
{
        if (document.signup_form.ci_state.value == "NA")
{

      var oldstate = document.getElementById('state').innerHTML;
      var newstate = "<span style='color:red; font-weight:600'>" + oldstate + "</span>";
      document.getElementById('state').innerHTML = newstate;

        valid = false;
}else
{
        document.getElementById('state').innerHTML = "State: ";
}
}

function valid_zip() 
{

        var zipin = document.signup_form.ci_postal_code.value;
	zipin = zipin.replace(/\s/g, '');
	document.signup_form.ci_postal_code.value = zipin;

        var filter = /^\d{5}$/;
        if (!filter.test(zipin))
{

      var oldzip = document.getElementById('zip').innerHTML;
      var newzip = "<span style='color:red; font-weight:600'>" + oldzip + "</span>";
      document.getElementById('zip').innerHTML = newzip;
        valid = false;

        
}else
{       
        document.getElementById('zip').innerHTML = "ZIP:  ";
}       
}

function valid_phone() 
{

	var phonein = document.signup_form.ci_phone.value;
	phonein = phonein.replace(/\s/g, '');
	document.signup_form.ci_phone.value = phonein;

	var filter = /^\d{10}$/;
	if (!filter.test(phonein))
{

      var oldphone = document.getElementById('billphone').innerHTML;
      var newphone = "<span style='color:red; font-weight:600'>" + oldphone + "</span>";
      document.getElementById('billphone').innerHTML = newphone;
	valid = false;

	
}else
{       
	document.getElementById('billphone').innerHTML = "Phone: ";
}       
}





function valid_email()
{
        if (document.signup_form.ci_email.value == "")
{
      var oldemail = document.getElementById('email').innerHTML;
      var newemail = "<span style='color:red;font-weight:600'>" + oldemail + "</span>";
      document.getElementById('email').innerHTML = newemail;
        valid = false;

}else
{
        var emailin = document.signup_form.ci_email.value;
        var filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
        if (!filter.test(emailin))
        {
              var oldemail = document.getElementById('email').innerHTML;
              var newemail = "<span style='color:red;font-weight:600'>" + oldemail + "</span>";
              document.getElementById('email').innerHTML = newemail;
              valid = false;

        }else
        {
                document.getElementById('email').innerHTML = "EMail: ";
        }
}
}



function valid_pname() 
{
        if (document.signup_form.pi_name.value == "")
{

      var oldpname = document.getElementById('pname').innerHTML;
      var newpname = "<span style='color:red;font-weight:600'>" + oldpname + "</span>";
      document.getElementById('pname').innerHTML = newpname;
        valid = false;
}else
{
        document.getElementById('pname').innerHTML = "Name: ";
}
}

function valid_ccnum()
{
        var ccnumin = document.signup_form.pi_number.value;

	ccnumin = ccnumin.replace(/\s/g, '');
	document.signup_form.pi_number.value = ccnumin;

        var filter = /^\d{15,16}$/;
        if (!filter.test(ccnumin))
{
        var oldccnum = document.getElementById('ccnum').innerHTML;
        var newccnum = "<span style='color:red;font-weight:600'>" + oldccnum + "</span>";
        document.getElementById('ccnum').innerHTML = newccnum;
        valid = false;

}else
{
        document.getElementById('ccnum').innerHTML = "Number: ";
}
}


function valid_mondigits()
{
        var ccmonin = document.signup_form.pi_expMonth.value;

	ccmonin = ccmonin.replace(/\s/g, '');
	document.signup_form.pi_expMonth.value = ccmonin;

	if (ccmonin.length ==  1)
{

	document.signup_form.pi_expMonth.value = "0" + ccmonin;

}
}

function valid_ccdate()
{
	var ccmonin = document.signup_form.pi_expMonth.value;
	var ccyearin = document.signup_form.pi_expYear.value;
	var datenow = new Date();
	var month = datenow.getMonth() + 1;
	var year = datenow.getFullYear();

	ccyearin = ccyearin.replace(/\s/g, '');
	document.signup_form.pi_expYear.value = ccyearin;


	switch(true)
{
	case (ccyearin == "" || ccyearin < year || ccmonin == "" || ccmonin =="00"):

      var oldccdate = document.getElementById('ccdate').innerHTML;
      var newccdate = "<span style='color:red;font-weight:600'>" + oldccdate + "</span>";
      document.getElementById('ccdate').innerHTML = newccdate;
        valid = false;
	break;

	case (ccyearin == year):
	
	switch(true)
{
	case (ccmonin >= month && ccmonin < 13):

        document.getElementById('ccdate').innerHTML = "Exp. Date:";
	break;
	
	default:
      
	var oldccdate = document.getElementById('ccdate').innerHTML;
        var newccdate = "<span style='color:red;font-weight:600'>" + oldccdate + "</span>";
        document.getElementById('ccdate').innerHTML = newccdate;
        valid = false;


}
	break;

	case (ccyearin > year):

	switch(true)
{
	case (ccmonin < 13):

        document.getElementById('ccdate').innerHTML = "Exp. Date:";
        break;

	default:

        var oldccdate = document.getElementById('ccdate').innerHTML;
        var newccdate = "<span style='color:red;font-weight:600'>" + oldccdate + "</span>";
        document.getElementById('ccdate').innerHTML = newccdate;
        valid = false;
        
}
	break;
}
}

function valid_cccvv() 
{
	var cvvin = document.signup_form.pi_cvv.value;

	cvvin = cvvin.replace(/\s/g, '');
	document.signup_form.pi_cvv.value = cvvin;


	var filter = /^\d{3,4}$/;
        if (!filter.test(cvvin))
{

      var oldcccvv = document.getElementById('cccvv').innerHTML;
      var newcccvv = "<span style='color:red;font-weight:600'>" + oldcccvv + "</span>";
      document.getElementById('cccvv').innerHTML = newcccvv;
        valid = false;

}else
{
        document.getElementById('cccvv').innerHTML = "CVV:";
}
}

function valid_logn() 
{
	var lognin = document.signup_form.login.value;
	var filter = /^[a-zA-Z]\w{4,19}$/;
      	var oldlogn = document.getElementById('logn').innerHTML;
        
	if (!filter.test(lognin))
	{
      		var newlogn = "<span style='color:red;font-weight:600'>" + oldlogn + "</span>";
      		document.getElementById('logn').innerHTML = newlogn;
        	valid = false;
	} else {
		if (window.XMLHttpRequest)
  		{// code for IE7+, Firefox, Chrome, Opera, Safari
  			xmlhttp=new XMLHttpRequest();
  		} else {
  			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  		}


		xmlhttp.open("GET","gethint.php?q="+lognin,false);
		xmlhttp.send();


		var cpresp = xmlhttp.responseText;
		//the helper php returns "true" if the ID is found, "false" if not.
   		if (cpresp == "true")
		{ 
      			var newlogn = "<span style='color:red;font-weight:600'>Login not<br>available</span>";
      			document.getElementById('logn').innerHTML = newlogn;
			valid = false;
		} else {
       			document.getElementById('logn').innerHTML = "Login: ";
  		}
	}
	
}



function valid_pw() 
{
	var pwin = document.signup_form.password.value;
	var lognin = document.signup_form.login.value;
	var filter = /^.{5,12}$/;

        if (!filter.test(pwin) || pwin == lognin)
{

      var oldpw = document.getElementById('pw').innerHTML;
      var newpw = "<span style='color:red; font-weight:600;'>" + oldpw + "</span>";
      document.getElementById('pw').innerHTML = newpw;
	valid = false;
}else
{
        document.getElementById('pw').innerHTML = "Password: ";
}
}

function valid_form()
{
        valid = true;
	valid_fname();
	valid_lname();
	valid_add1();
	valid_city();
	valid_state();
	valid_zip();
	valid_email();
	valid_pname();
	valid_ccnum();
	valid_ccdate();
	valid_cccvv();
	valid_logn();
        valid_pw();
	valid_phone();
      	return valid; 
}



