/*-------------------------------------------------------------------------------------
 * Format phone
 --------------------------------------------------------------------------------------*/
var f;
var n;
var p;
var p1;
function numbersonly(myfield, e, dec) {
  var key;
  var keychar;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);

  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
    return true;

  // numbers
  else if ((("0123456789").indexOf(keychar) > -1))
    return true;

  // decimal point jump
  else if (dec && (keychar == ".")) {
    myfield.form.elements[dec].focus();
    return false;
  } else
    return false;
}
function update_phone() {
    p=p1.value
    if(p.length==3){
	pp=p;
	d4=p.indexOf('(')
	d5=p.indexOf(')')
	if(d4==-1){
		pp="("+pp;
	}
	if(d5==-1){
		pp=pp+") ";
	}
        document.forms[f].elements[n].value="";
        document.forms[f].elements[n].value=pp;
    }
    if(p.length>3){
    	d1=p.indexOf('(')
	d2=p.indexOf(')')
	if (d2==-1){
	    l30=p.length;
	    p30=p.substring(0,4);
	    p30=p30+") "
	    p31=p.substring(4,l30);
	    pp=p30+p31;
            document.forms[f].elements[n].value="";
            document.forms[f].elements[n].value=pp;
	}
    }
    if(p.length>5){
	p11=p.substring(d1+1,d2);

	if(p11.length>3){
	    p12=p11;
	    l12=p12.length;
	    l15=p.length
	    p13=p11.substring(0,3);
	    p14=p11.substring(3,l12);
	    p15=p.substring(d2+1,l15);
            document.forms[f].elements[n].value="";
	    pp="("+p13+")"+p14+p15;
            document.forms[f].elements[n].value="";
	}
	l16=p.length+1;
	p16=p.substring(d2+1,l16);
	l17=p16.length;
	if(l17>3&&p16.indexOf('-')==-1){
	    p17=p.substring(d2+2,d2+5);
	    p18=p.substring(d2+5,l16);
	    p19=p.substring(0,d2+2);
	    pp=p19+p17+"-"+p18;
            document.forms[f].elements[n].value="";
            document.forms[f].elements[n].value=pp;
	}
    }
    setTimeout(update_phone, 100)
}

function format_phone(form, elem){
        f=form.name;
	n=elem.name;
	p1=elem
	update_phone();
}

/**
 * Choose advertiser
 */
function choose_advertiser(form, status) {
    form.advertiser.value = status;
    form.submit();
}

/**
 * Post category
 */
function choose_category(form, elem) {
    //if (form.advertiser.value == 0) {
    //	document.getElementById("eadvertiser").style.display = "inline";	
    //} else {
    form.submit();
    //}
}

/*-------------------------------------------------------------------------------------
 * Validate form
 --------------------------------------------------------------------------------------*/
function Validate_Form() { }

Validate_Form.prototype._advertiser="0";
Validate_Form.prototype._publication;
Validate_Form.prototype._chamber_issue;
Validate_Form.prototype._number_copies_mtd="notset";
Validate_Form.prototype._first_name;
Validate_Form.prototype._last_name;
Validate_Form.prototype._company_name;

Validate_Form.prototype.check_personal_info = function(form) {
    var emailFilter=/^.+@.+\..{2,3}$/; 
    var ret = true;

    // clear visible error messages
    document.getElementById("efirst").style.display = "none";
    document.getElementById("elast").style.display = "none";
    document.getElementById("eaddress1").style.display = "none";
    document.getElementById("ecity").style.display = "none";
    document.getElementById("estate").style.display = "none";
    document.getElementById("ezip").style.display = "none";
    document.getElementById("ephone").style.display = "none";
    document.getElementById("eemail").style.display = "none";
    document.getElementById("eshipping").style.display = "none";
    document.getElementById("eacct").style.display = "none";

    /*if (this._number_copies_mtd == "") {
        document.getElementById("ecopiesmtd").style.display = "inline";
        document.getElementById("number_copies_mtd").style.backgroundColor = "#FEE0C6";
        form.number_copies_mtd.focus();
        ret = false;
    } else 
    */
    if (form.first_name.value == "") {
        document.getElementById("efirst").style.display = "inline";
        document.getElementById("first_name").style.backgroundColor = "#FEE0C6";
        form.first_name.focus();
        ret = false;
    } else if (form.last_name.value == "") {
        document.getElementById("first_name").style.backgroundColor = "#ffffff";
        document.getElementById("elast").style.display = "inline";
        document.getElementById("last_name").style.backgroundColor = "#FEE0C6";
        form.last_name.focus();
        ret = false;
    } else if (form.address_line_1.value == "") {
        document.getElementById("last_name").style.backgroundColor = "#ffffff";
        document.getElementById("eaddress1").style.display = "inline";
        document.getElementById("address_line_1").style.backgroundColor = "#FEE0C6";
        form.address_line_1.focus();
        ret = false;
    } else if (form.city.value == "") {
        document.getElementById("address_line_1").style.backgroundColor = "#ffffff";
        document.getElementById("ecity").style.display = "inline";
        document.getElementById("city").style.backgroundColor = "#FEE0C6";
        form.city.focus();
        ret = false;
    } else if (form.state.value == "") {
        document.getElementById("estate").style.display = "inline";
        ret = false;
    } else if (form.zip.value == "") {
        document.getElementById("ezip").style.display = "inline";    
        document.getElementById("zip").style.backgroundColor = "#FEE0C6";
        form.zip.focus();
        ret = false;
    } else if (form.phone.value == "") {
        document.getElementById("zip").style.backgroundColor = "#ffffff";
        document.getElementById("ephone").style.display = "inline";
        document.getElementById("phone").style.backgroundColor = "#FEE0C6";
        form.phone.focus();
        ret = false;
    } else if (form.email.value != "" && !(emailFilter.test(form.email.value)) ) {
        document.getElementById("phone").style.backgroundColor = "#ffffff";
        document.getElementById("eemail").style.display = "inline";
        document.getElementById("email").style.backgroundColor = "#FEE0C6";
        ret = false;
    } else if (form.shipping.value != "0" && form.acct.value == "") {
        document.getElementById("email").style.backgroundColor = "#ffffff";
        document.getElementById("eacct").style.display = "inline";
        document.getElementById("acct").style.backgroundColor = "#FEE0C6";
        ret = false;
    } else if (form.shipping.value == "" && form.acct.value != "") {
        document.getElementById("email").style.backgroundColor = "#ffffff";
        document.getElementById("eshipping").style.display = "inline";
        document.getElementById("shipping").style.backgroundColor = "#FEE0C6";
        ret = false;
    } else {
        ret = true;
    }
    //alert(ret); 
    return ret;
}

Validate_Form.prototype.check_required = function(form) {
    var ret = true;
    if (document.getElementById("advertiser_1").checked) {
        this._advertiser = "1"; 
        document.getElementById("eadvertiser").style.display = "none";
    } 
    if (document.getElementById("advertiser_2").checked) {
        this._advertiser = "2"; 
        document.getElementById("eadvertiser").style.display = "none";
    } 
    if (document.getElementById("publication") != null) {
        this._publication = document.getElementById("publication").value;
        document.getElementById("epublication").style.display = "none";
    } 
    if (document.getElementById("chamber_issue") != null) {
        this._chamber_issue = document.getElementById("chamber_issue").value;
        document.getElementById("eissue").style.display = "none";
    } 
    if (document.getElementById("number_copies_mtd") != null) {
        this._number_copies_mtd = document.getElementById("number_copies_mtd").value;
        document.getElementById("ecopiesmtd").style.display = "none";
        }else{
        this._number_copies_mtd = "notset";
    } 
    //alert(this._number_copies_mtd);
    if (this._advertiser == "0") {
        document.getElementById("eadvertiser").style.display = "inline";
        //alert("returning false on advertiser");
        ret = false; 
    } else if (this._publication == "0") {
        document.getElementById("epublication").style.display = "inline";
        //alert("returning false on publication");
        ret = false;
    } else if (this._chamber_issue == "0") {
        document.getElementById("eissue").style.display = "inline";
        //alert("returning false on chamber issue");
        ret = false;
    } else if (this._number_copies_mtd == "") {
        document.getElementById("ecopiesmtd").style.display = "inline";
        document.getElementById("number_copies_mtd").style.backgroundColor = "#FEE0C6";
        form.number_copies_mtd.focus();
        //alert("returning false from info from number copies blank: " + this._number_copies_mtd);
        ret = false;
    } else if (this._number_copies_mtd == "notset") {
        //alert("returning check info from number copies not set: " + this._number_copies_mtd);
        ret = this.check_personal_info(form);
    } else {
    //alert("returning check info from all pass");
     ret = this.check_personal_info(form);
    }
    return ret;
}

var vf = new Validate_Form();

