﻿function re2tab(){
  if(event.keyCode==13)event.keyCode=9;
}

String.prototype.trim = function()
{
  return this.replace(/(^[\s]*)|([\s]*$)/g, "").replace(/[\s]+/g, " ");
}

String.prototype.isEmpty = function()
{
  return /^\s*$/.test(this)
}

String.prototype.isEmail = function()
{ 
  return /^\w+([\.\-_]\w+)?@\w+([\-_\.]\w+)*\.[a-zA-Z]{2,4}$/.test(this)
}

String.prototype.isTelNum = function()
{
  return /^((1-800)|[\d]{3})-[\d]{3}-[\d]{4}[ ]*(\([\w- ]+\))?[ ]*([,;£¬£»|]*[ ]*((1-800)|[\d]{3})-[\d]{3}-[\d]{4}[ ]*(\([\w- ]+\))?)*$/.test(this)
}

String.prototype.isZipCode = function()
{
  return /^\d{5}(-\d{4})*$/.test(this)
}

var state_code="AL|AK|AZ|AR|CA|CO|CT|DE|DC|FL|GA|HI|ID|IL|IN|IA|KS|KY|LA|ME|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VT|VA|WA|WV|WI|WY";
String.prototype.isState = function()
{
  return eval("/^(US|"+state_code+")$/i.test(this)");
}

String.prototype.isCity = function()
{
  return /^([a-zA-Z\.]+)( [a-zA-Z]+){0,2}([ ]*[,][ ]*([a-zA-Z\.]+)( [a-zA-Z]+){0,2})*$/.test(this)
}

String.prototype.isGJC = function()
{
  return /^[^\s ,;£¬£»|!@#%]+([ ]*[ ,;£¬£»|][ ]*[^\s ,;£¬£»|!@#%]+[ ]*)*$/.test(this)
}

String.prototype.isKeywords = function()
{
  return /^[\w]+[ \w]*([ ]*[,;£¬£»|][ ]*([\w]+[ \w]*))*$/.test(this)
}

String.prototype.isEmailGroup = function()
{ 
  return /^\w+([\.\-_]\w+)?@\w+([\-_\.]\w+)*\.[a-zA-Z]{2,4}( \w+([\.\-_]\w+)?@\w+([\-_\.]\w+)*\.[a-zA-Z]{2,4})*$/.test(this)
}

String.prototype.clearGG = function()
{
  return this.replace(/<[\s]*br[\s]*(\/)?>/gi, "").replace(/<[\s]*script.*script[\s]*>/gi, "").replace(/<[\s]*form.*\/[\s]*form[\s]*>/gi,"").replace(/<[\s]*iframe.*\/[\s]*iframe[\s]*>/gi,"").replace(/<[\s]*applet.*\/[\s]*applet[\s]*>/gi,"").replace(/<[\s]*object.*\/[\s]*object[\s]*>/gi,"");
}

var Focus=true;
function showErr(msg,Obj){
  if(Focus){
    alert(msg);
    Focus=false;
    Obj.focus();
    Focus=true;
  }
  return false;
}

function checkAny(Obj,Obj2){
  str=(Obj.value=Obj.value.trim());
  if(Obj2!=null)str2=(Obj2.value=Obj2.value.trim());
  switch(Obj.name){
    case "state":
         Obj.value=Obj.value.toUpperCase();
         if(!str.isState()){
           stdOptions = "resizable=no,directories=no,left=10,top=10,toolbar=no";
           options = stdOptions + ",width=250,height=650,scrollbars=yes";
           window.open("state_code.htm","abbrevs",options);
           return showErr('State is Error!\nPlease see left window: State-Abbreviations',Obj);}
         break;
    case "city":
         if(!str.isEmpty() && !str.isCity())return showErr('City is Error',Obj);
         break;
    case "words":
         str=(Obj.value=str.replace(/ of /gi," ").replace(/ and /gi," ").replace(/ or /gi," ").replace(/company/gi," ").replace(/,/gi," ").replace(/;/gi," "));
         if (str.length<2 && (str.length==0 || str.charCodeAt(0)<255))return showErr('"key Word" is too short',Obj);
         break;
    case "organization":
         str=str+str2;
         if(str.isEmpty())return showErr('You should fill in at least one item, Chinese or English',Obj2);
         break;
    case "zipcode":
         if(!str.isEmpty() && !str.isZipCode())return showErr('Zip-Code should be xxxxx or xxxxxx-xxxx',Obj);
         break;
    case "telephone":
         str=(Obj.value=str.replace(/\(/g, "").replace(/\)/g, "-"));
         if(!str.isEmpty() && !str.isTelNum())return showErr('Telephone should be xxx-xxx-xxxx\nor 1-800-xxx-xxxx\norxxx-xxx-xxxx(...)',Obj);
         break;
    case "fax":
         if(!str.isEmpty() && !str.isTelNum())return showErr('Fax should be xxx-xxx-xxxx\nor 1-800-xxx-xxxx',Obj);
         break;
    case "email":
         if(!str.isEmpty() && !str.isEmail())return showErr('Email is Error',Obj);
         break;
    case "jj":
         if(str.length>200)return showErr('Chinese Ad is too long(>200 chinese words)',Obj);
         Obj.value=str.clearGG();
         break;
    case "briefintroduction":
         if(str.length>600)return showErr('English Ad is too long(>600 characters)',Obj);
         Obj.value=str.clearGG();
         break;
    case "gjc":
         if(str.isEmpty())return showErr('can\'t be empty',Obj);
           else if(!str.isGJC())return showErr('There should be a comma between any Key Word.',Obj);
         break;
    case "keywords":
         if(str.isEmpty())return showErr('can\'t be empty',Obj);
           else if(!str.isKeywords())return showErr('There should be a comma between any Key Word.',Obj);
         break;
    case "account":
         if(str.length<6)return showErr('Account should be 6 to 30 characters in length',Obj);
         break;
    case "password":
         if(str.length<6)return showErr('Password should be 6 to 30 characters in length',Obj);
         break;
    case "confirmpassword":
         if(str2.length<6)return showErr('Password should be 6 to 30 characters in length',Obj2);
           else if(str!=str2)return showErr('The Passwords are not consistent',Obj2);
         break;
    case "title":
    case "name":
    case "mywant":
         if(str.isEmpty())return showErr('can\'t be empty',Obj);
         break;
    case "togroup":         
         if(str.isEmpty())return showErr('can\'t be empty',Obj);
           else if(!str.isEmailGroup()){
                  Obj.value=str.replace(/ /g,"\n");
                  return showErr('Email is Error\nand there should be only one E-mail in a line',Obj);}
         Obj.value=str.replace(/ /g,"\n");
         break;
    case "fromemail":
         if(str.isEmpty())return showErr('can\'t be empty',Obj);
           else if(!str.isEmail())return showErr('Email is Error',Obj);
         break;
    default:
         //alert("´«µÝµÄ²ÎÊý´íÎó");
         return true;
         break;
  }
  return true;
}

function checkAll(Obj){
  if(!checkAny(Obj.organization,Obj.jgmc))return false;
  if(!checkAny(Obj.address))return false;
  if(!checkAny(Obj.city))return false;
  if(!checkAny(Obj.state))return false;
  if(!checkAny(Obj.zipcode))return false;
  if(!checkAny(Obj.contact))return false;
  if(!checkAny(Obj.telephone))return false;
  if(!checkAny(Obj.fax))return false;
  if(!checkAny(Obj.email))return false;
  if(!checkAny(Obj.website))return false;
  if(!checkAny(Obj.jj))return false;
  if(!checkAny(Obj.briefintroduction))return false;
  if(!checkAny(Obj.gjc))return false;
  if(!checkAny(Obj.keywords))return false;
  if(!checkAny(Obj.account))return false;
  if(!checkAny(Obj.password))return false;
  if(!checkAny(Obj.confirmpassword,Obj.password))return false;
  return true;
}

function checkBid(Obj){
  if(!checkAny(Obj.title))return false;
  if(!checkAny(Obj.togroup))return false;
  if(!checkAny(Obj.name))return false;
  if(!checkAny(Obj.telephone))return false;
  if(!checkAny(Obj.fromemail))return false;
  if(!checkAny(Obj.mywant))return false;
  return true;
}

function checkBiz(Obj){
  if(!checkAny(Obj.fromemail))return false;
  if(!checkAny(Obj.title))return false;
  if(!checkAny(Obj.mywant))return false;
  return true;
}

function checkAcc(Obj){
  if(!checkAny(Obj.account))return false;
  if(!checkAny(Obj.password))return false;
  return true;
}

function checkSearch(Obj){
  if(!checkAny(Obj.state))return false;
  if(!checkAny(Obj.city))return false;
  if(!checkAny(Obj.words))return false;
  Obj.action=Obj.action+"&city="+Obj.city.value+"&state="+Obj.state.value+"&words="+Obj.words.value;
  return true;
}

function google(Obj){
  str=Obj.words.value;
  lan=Obj.lan.value;
  window.open("http://www.google.com/custom?sa=%CB%D1%CB%F7&client=pub-2000513332416981&forid=1&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A1%3B&ie=UTF-8&oe=UTF-8&lr=lang_zh-CN%7Clang_zh-TW%7Clang_en&hl="+lan+"&q="+str)
}

function now2jt(){
  if(/_ft/i.test(location.href)){location.href=location.href.replace(/_ft/,"").replace(/zt=ft/,"zt=jt");}
}

function now2ft(){
  if(location.href=="http://www.chineseyellowpages.us/"){location.href="http://www.chineseyellowpages.us/index_ft.php";return true;}
  if(!/_ft/i.test(location.href)){location.href=location.href.replace(/_ft/,"").replace(/.php/,"_ft.php").replace(/zt=jt/,"zt=ft");}
}