// form validation function //
function validate(form) {

 var agree1 = form.agree1.checked;
  var mtype = form.mtype.value;
  var name = form.name.value;
  var lname = form.lname.value;
  var b_day = form.b_day.value;
  var b_month = form.b_month.value;
  var b_year = form.b_year.value;
  var email = form.email.value;
  var confirmemail = form.confirmemail.value;
  var province = form.province.value;
  var txtbTel = form.txtbTel.value;
  var checkusername = form.checkusername.value;
  var password = form.password.value;
  var conpassword = form.conpassword.value;

  /*
  var email = form.email.value;
  var gender = form.gender.value;
  var message = form.message.value;
   */
  var nameRegex = /^[a-zA-Zก-๙]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var lnameRegex = /^[a-zA-Zก-๙]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);


  if(mtype == "0") {
     inlineMsg('mtype',"กรุณาเลือกประเภทสมาชิกด้วยค่ะ",2);
    return false;
  }

  if(name == "") {
    inlineMsg('name','กรุณาใส่ชื่อของคุณด้วยค่ะ',2);
    return false;
  }

  if(lname == "") {
    inlineMsg('lname','กรุณาใส่นามสกุลของคุณด้วยค่ะ',2);
    return false;
  }
  if(!name.match(nameRegex)) {
    inlineMsg('name','กรุณากรอกชื่อให้ถูกต้อง',2);
    return false;
  }
    if(!lname.match(nameRegex)) {
    inlineMsg('lname','กรุณากรอกนามสกุลให้ถูกต้อง',2);
    return false;
  }

   if( b_day  == "0") {
    inlineMsg('b_day','กรุณาเลือกวันที่เกิดของคุณด้วยค่ะ',2);
    return false;
  }

   if( b_month  == "0") {
    inlineMsg('b_month','กรุณาเลือกเดือนด้วยค่ะ',2);
    return false;
  }

   if( b_year  == "0") {
    inlineMsg('b_year','กรุณาเลือกปีด้วยค่ะ',2);
    return false;
  }

  if(email == "") {
    inlineMsg('email','กรุณากรอกอีเมลล์ด้วยค่ะ',2);
    return false;
  }
  if(!email.match(emailRegex)) {
    inlineMsg('email','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }

  if(confirmemail == "") {
    inlineMsg('confirmemail','กรุณายืนยันอีเมลล์ด้วยค่ะ',2);
    return false;
  }
  if(!confirmemail.match(emailRegex)) {
    inlineMsg('confirmemail','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }

   if(email != confirmemail) {
    inlineMsg('email','กรุณากรอกอีเมลล์ให้ตรงกันด้วยค่ะ',2);
    return false;
  }

   if( province  == "0") {
    inlineMsg('province','กรุณาเลือกจังหวัดด้วยค่ะ',2);
    return false;
  }
  if( txtbTel  == "") {
    inlineMsg('txtbTel','กรุณากรอกเบอร์โทรศัทพ์ด้วยค่ะ',2);
    return false;
  }

  if( checkusername  == "") {
    inlineMsg('checkusername','กรุณากรอก Username ด้วยค่ะ',2);
    return false;
  }
  if( password  == "") {
    inlineMsg('password','กรุณากรอกรหัสผ่านด้วยค่ะ',2);
    return false;
  }
  if( conpassword  == "") {
    inlineMsg('conpassword','กรุณายืนยันรหัสผ่านด้วยค่ะ',2);
    return false;
  }
   if( password != conpassword) {
    inlineMsg('password','กรุณากรอกรหัสผ่านให้ตรงกันด้วยค่ะ',2);
    return false;
  }
  if(agree1 == false) {
     inlineMsg('agree1',"กรุณาเลือกคลิ๊กยืนยันข้อตกลงการใช้งานด้วยค่ะ",2);
    return false;
  }



  return true;
}


function validate2(form) {

  var lcate = form.lcate.value;
  var iconurl = form.iconurl.value;
  var nameth = form.nameth.value;
  var nameen = form.nameth.value;
  var detailth = form.detailth.value;
  var detailen = form.detailen.value;
  var lat = form.lat.value;
  var lng = form.lng.value;

 if( lcate  == "x") {
    inlineMsg('lcate','กรุณาเลือกหมวดหมู่ด้วยค่ะ',2);
    return false;
  }
  if( iconurl  == "") {
    inlineMsg('iconurl','กรุณาเลือกไอคอนด้วยค่ะ',2);
    return false;
  }
  if(( nameth  == "") && (nameen == "")) {
    inlineMsg('nameth','กรุณากรอกชื่อพิกัดด้วยค่ะ',2);
    return false;
  }
  if(( detailth  == "") && (detailen == "")) {
    inlineMsg('detailth','กรุณากรอกรายละเอียดพิกัดด้วยค่ะ',2);
    return false;
  }
  if( lat  == "") {
    inlineMsg('lat','กรุณากำหนดตำแหน่งด้วยค่ะ',2);
    return false;
  }
  if( lat  == "") {
    inlineMsg('lng','กรุณากำหนดตำแหน่งด้วยค่ะ',2);
    return false;
  }
    return true;
}



function validate3(form) {

  var name = form.name.value;
  var lname = form.lname.value;
  var email = form.email.value;
  var confirmemail = form.confirmemail.value;
  var province = form.province.value;
  var txtbTel = form.txtbTel.value;


  /*
  var email = form.email.value;
  var gender = form.gender.value;
  var message = form.message.value;
   */
  var nameRegex = /^[a-zA-Zก-๙]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var lnameRegex = /^[a-zA-Zก-๙]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);


  if(name == "") {
    inlineMsg('name','กรุณาใส่ชื่อของคุณด้วยค่ะ',2);
    return false;
  }

  if(lname == "") {
    inlineMsg('lname','กรุณาใส่นามสกุลของคุณด้วยค่ะ',2);
    return false;
  }
  if(!name.match(nameRegex)) {
    inlineMsg('name','กรุณากรอกชื่อให้ถูกต้อง',2);
    return false;
  }
    if(!lname.match(nameRegex)) {
    inlineMsg('lname','กรุณากรอกนามสกุลให้ถูกต้อง',2);
    return false;
  }


  if(email == "") {
    inlineMsg('email','กรุณากรอกอีเมลล์ด้วยค่ะ',2);
    return false;
  }
  if(!email.match(emailRegex)) {
    inlineMsg('email','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }

  if(confirmemail == "") {
    inlineMsg('confirmemail','กรุณายืนยันอีเมลล์ด้วยค่ะ',2);
    return false;
  }
  if(!confirmemail.match(emailRegex)) {
    inlineMsg('confirmemail','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }

   if(email != confirmemail) {
    inlineMsg('email','กรุณากรอกอีเมลล์ให้ตรงกันด้วยค่ะ',2);
    return false;
  }

   if( province  == "0") {
    inlineMsg('province','กรุณาเลือกจังหวัดด้วยค่ะ',2);
    return false;
  }
  if( txtbTel  == "") {
    inlineMsg('txtbTel','กรุณากรอกเบอร์โทรศัทพ์ด้วยค่ะ',2);
    return false;
  }



  return true;
}



function validate4(form){

  var sender1 = form.sender1.value;
  var email1 = form.email1.value;
  var recname1 = form.recname1.value;
  var recmail1 = form.recmail1.value;
  var recmail2 = form.recmail2.value;
  var recmail3 = form.recmail3.value;
  var recmail4 = form.recmail4.value;
  var recmail5 = form.recmail5.value;
  var recmail6 = form.recmail6.value;

  var vmage = form.vmage.value;
  var vrand = form.vrand.value;


  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;

    if( sender1  == "") {
    inlineMsg('sender1','กรุณากรอกชื่อด้วยค่ะ',2);
    return false;
  }
    if( email1  == "") {
    inlineMsg('email1','กรุณากรอกอีเมลล์ด้วยค่ะ',2);
    return false;
  }

   if(!email1.match(emailRegex)) {
    inlineMsg('email1','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }

   if( recname1  == "") {
    inlineMsg('recname1','กรุณากรอกชื่อผู้รับด้วยค่ะ',2);
    return false;
  }
   if( recmail1  == "") {
    inlineMsg('recmail1','กรุณากรอกอีเมลล์ด้วยค่ะ',2);
    return false;
  }

   if(!recmail1.match(emailRegex)) {
    inlineMsg('recmail1','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }
   if((recmail2 !="") && !recmail2.match(emailRegex)) {
    inlineMsg('recmail2','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }
   if((recmail3 !="") && !recmail3.match(emailRegex)) {
    inlineMsg('recmail3','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }
   if((recmail4 !="") && !recmail4.match(emailRegex)) {
    inlineMsg('recmail4','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }
   if((recmail5 !="") && !recmail5.match(emailRegex)) {
    inlineMsg('recmail5','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }
   if((recmail6 !="") && !recmail6.match(emailRegex)) {
    inlineMsg('recmail6','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }

    if( vmage  == "") {
    inlineMsg('vmage','กรุณากรอก Verify Code ด้วยค่ะ',2);
    return false;
  }

   if( vrand != vmage) {
    inlineMsg('vmage','กรุณากรอก Verify Code ให้ตรงกันด้วยค่ะ',2);
    return false;
  }

  return true;
}


function validate5(form){

  var regemail = form.regemail.value;


  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;


   if( regemail  == "") {
    inlineMsg('regemail','กรุณากรอกอีเมลล์ด้วยค่ะ',2);
    return false;
  }

   if(!regemail.match(emailRegex)) {
    inlineMsg('regemail','กรุณากรอกอีเมลล์ให้ถูกต้องด้วยค่ะ',2);
    return false;
  }
  return true;
}

// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide) {
  var msg;
  var msgcontent;
  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));
}

// 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"; 
}