/***********************
 * REGISTER SCRIPT 
 ***********************/
 function valInputID(){
    var oche_str = $("oche_id").value.toLowerCase();
    if(oche_str == "")
    {
        alert("กรุณาใส่รหัสสมาชิก O'Che");
        return false;
    }
    var strValidChars = "abcdefghijklmnopqrstuvwxyz0123456789._";
    var strNum = "0123456789";
    var strChar;
    for(i=0; i < oche_str.length; i++)
    {
        strChar = oche_str.charAt(i);
        if(strValidChars.indexOf(strChar) == -1)
        {
            alert("กรุณาใส่รหัสสมาชิก O'Che ให้ถูกต้อง");
            return false;
        }
    }
    if(strNum.indexOf(oche_str.charAt(0)) != -1)
    {
        alert("ตัวแรกของรหัสสมาชิก O'Che ต้องเป็นตัวอักษร");
        return false;
    }
    return true;
}
function checkid()
{
    /*var oid = prompt("กรุณาใส่ O'Che Id ที่ท่านต้องการ","");
    if(oid == null) 
    {
        oid = "";
    }*/
    //var oid = $("oche_id").value;
    //$("oche_id").value = oid;
    if(valInputID())
    {
        var sUrl = "/available_user.php?oche_id=" + $("oche_id").value;
        // Facilitates a POST transaction. An HTTP GET can be used as well.
        var cObj = YAHOO.util.Connect.asyncRequest('GET', sUrl, regis_callback);
    }
    return false;
}

var regis_callback =
{
    success: function(o){
        if(o.responseText != undefined)
        {
            var status = o.responseText.indexOf("[FAIL]");
            if(status != -1)
            {
                $("id_status").style.background = "#ffcdcd";                 
                $("oche_id_status").value = "false";
            }
            else
            {
                $("id_status").style.background =  "#d1ffd0";
                $("oche_id_status").value = "true";
            }
            $("id_status").innerHTML = o.responseText.substring(6);
            regis_agree();
        }
    }, failure: function(o){
        alert("fail to connect to server");
    }
}
function get_new_verify()
{
    var d = new Date()
    var t = d.getTime()
    $("verify_code_img").src = '/function/image_authen.php?' + t;
/*
    var sUrl = "/available_user.php?oche_id=" + $("oche_id").value;
    // Facilitates a POST transaction. An HTTP GET can be used as well.
    var cObj = YAHOO.util.Connect.asyncRequest('GET', sUrl, regis_callback);
*/
}
/*
var new_verify_callback = 
{
    
}
*/
function showTerms()
{
    var newwin;
    if(browser.isIE4up)
    {
        newwin = window.open('/saterms.php',"_blank","height=600,width=550,scrollbars=yes");
    }
    else
    { 
        newwin = window.open('/saterms.php','Terms & Conditions',"height=600,width=550,scrollbars=yes");
    }
    if(window.focus){newwin.focus()}   
}
function regis_agree()
{
      //check firstname
      if($("firstname").value == "")
      {
        alert("กรุณาใส่ชื่อจริงให้ถูกต้อง!!");
        return false;
      }
      //check lastname
      if($("lastname").value == "")
      {
        alert("กรุณาใส่นามสกุลให้ถูกต้อง!!");
        return false;
      }
      //check oche_id
      if($("oche_id_status").value == "false")
      {
        alert("กรุณาใส่รหัส O'Che Id ที่ยังไม่มีคนใช้และถูกต้อง");
        return false;
      }
      //check password
      if($("oche_pass").value == "")
      {
        alert("กรุณาใส่รหัสผ่านของผู้ใช้ให้ถูกต้อง!!");
        return false;
      }
      //check confirm password
      if($("oche_pass_confirm").value == "")
      {
        alert("กรุณาใส่รหัสผ่าน(ยืนยัน)ของผู้ใช้ให้ถูกต้อง!!");
        return false;
      }
      //check password = confirm password
      if($("oche_pass").value != $("oche_pass_confirm").value)
      {
        alert("กรุณาใส่รหัสผ่าน(ยืนยัน)ให้เหมือนกันกับรหัสผ่านของผู้ใช้!!");
        return false;
      }
      //check national id
      if((!val_national_id($("national_id").value)) || ($("national_id").value == ""))
      {
        alert("กรุณาใส่หมายเลขประจำตัวประชาชนให้ถูกต้อง");
        return false;
      }
      //check sex
      if($("sex").value == 0)
      {
        alert("กรุณาเลือกเพศ");
        return false;
      }
      //check birthday
      var d = $("bdate").value;
      var m = $("bmonth").value;
      var y = $("byear").value;
      if((d == 1) && (m==1) && (y==2002))
      {
        alert("กรุณาใส่วันเกิดให้ถูกต้อง");
        return false;
      }
      if(y > 1998)
      {
        alert("กรุณาใส่วันเกิดให้ถูกต้อง");
        return false;
      }
      //เดือนที่ลงท้ายด้วย "ยน" วันจะเกิน 30 ไม่ได้
      if((m == 4) && (m == 6) && (m == 9) && (m == 11))
      {
        if(d > 30)
        {
            alert("วันที่ไม่สามารถเกิน 30 ได้");
            return false;
        }
      }
      //เดือนกุมภาพันธ์ วันจะเกิน 29ไม่ได้
      if(m == 2)
      {
         if(d > 29)
         {
            alert("วันที่ไม่สามารถเกิน 29 ได้");
            return false;
         }
      }
      //construct birthday value
      $("birthday").value = $("byear").value + "-" + $("bmonth").value + "-" + $("bdate").value;
      //check address
      if($("address").value == "")
      {
        alert("กรุณาใส่ที่อยู่ให้ถูกต้อง เพื่อที่เราจะได้จัดส่งของให้ท่านได้");
        return false;
      }
      //check city
      if($("city").value == "")
      {
        alert("กรุณาใส่จังหวัดให้ถูกต้อง เพื่อที่เราจะได้จัดส่งของให้ท่านได้");
        return false;
      }
      //check zipcode
      if($("zipcode").value == "")
      {
        alert("กรุณาใส่รหัสไปรษณีย์ให้ถูกต้อง เพื่อที่เราจะได้จัดส่งของให้ท่านได้");
        return false;
      }
      else
      {
        var tstr = $("zipcode").value;
        var numstr = "0123456789";
        var str;
        for(i=0; i < tstr.length; i++)
        {
            str = tstr.charAt(i);
            if(numstr.indexOf(str) == -1)
            {
                alert("กรุณาใส่รหัสไปรษณีย์ต้องเป็นตัวเลขเท่านั้น");
                return false;
            }
        }
        if(tstr.length != 5)
        {
            alert("กรุณาใส่รหัสไปรษณีย์ให้ครบ");
            return false;
        }
      }
      //check telephone
      if($("telephone").value == "")
      {
        alert("กรุณาใส่เบอร์โทรศัพท์ให้ถูกต้อง เพื่อที่เราจะสามารถติดต่อกับท่านได้");
        return false;
      }
      //check email
      var emailstr = $("email").value;
      emailstr.replace(" ", "");
      if((emailstr == "") || (emailstr.indexOf("@") == -1) || (emailstr.indexOf(".") == -1))
      {
        alert("กรุณาใส่อีเมล์ให้ถูกต้อง เพื่อใช้ในการสมัคร โดยเราจะส่งอีเมล์ยืนยันการสมัครไปให้ท่าน");
        return false;
      }
      //construct known_from value
      $("known_from").value = "";
      if($("kf_friend").checked)
        $("known_from").value += "friend:1;";
      else
        $("known_from").value += "friend:0;";
      if($("kf_email").checked)
        $("known_from").value += "email:1," + $("kf_email_d").value + ";";
      else
        $("known_from").value += "email:0;";
      if($("kf_website").checked)
        $("known_from").value += "website:1," + $("kf_website_d").value;
      else
        $("known_from").value += "website:0";
      //construct genre
      var oGenre = document.getElementsByTagName("input");
      for(i=0; i < oGenre.length; i++)
      {
        if(oGenre[i].type == "checkbox")
        {
            if(oGenre[i].id.indexOf("g_") != -1)
            {
                var chk = oGenre[i].checked?"1":"0";
                if(oGenre[i].id.indexOf("g_western") != -1)
                    $("genre").value += oGenre[i].value + ":" + chk;
                else
                    $("genre").value += oGenre[i].value + ":" + chk + ";";
            }
        }
      }
      //check verify code
      if(!check_veri_id())return false;
}
function regis_edit()
{
      //check firstname
      if($("firstname").value == "")
      {
        alert("กรุณาใส่ชื่อจริงให้ถูกต้อง!!");
        return false;
      }
      //check lastname
      if($("lastname").value == "")
      {
        alert("กรุณาใส่นามสกุลให้ถูกต้อง!!");
        return false;
      }
      //check password = confirm password
      if($("oche_pass").value != $("oche_pass_confirm").value)
      {
        alert("กรุณาใส่รหัสผ่าน(ยืนยัน)ให้เหมือนกันกับรหัสผ่านของผู้ใช้!!");
        return false;
      }
      //check sex
      if($("sex").value == 0)
      {
        alert("กรุณาเลือกเพศ");
        return false;
      }
      //check birthday
      var d = $("bdate").value;
      var m = $("bmonth").value;
      var y = $("byear").value;
      if((d == 1) && (m==1) && (y==2002))
      {
        alert("กรุณาใส่วันเกิดให้ถูกต้อง");
        return false;
      }
      //เดือนที่ลงท้ายด้วย "ยน" วันจะเกิน 30 ไม่ได้
      if((m == 4) && (m == 6) && (m == 9) && (m == 11))
      {
        if(d > 30)
        {
            alert("วันที่ไม่สามารถเกิน 30 ได้");
            return false;
        }
      }
      //เดือนกุมภาพันธ์ วันจะเกิน 29ไม่ได้
      if(m == 2)
      {
         if(d > 29)
         {
            alert("วันที่ไม่สามารถเกิน 29 ได้");
            return false;
         }
      }
      //construct birthday value
      $("birthday").value = $("byear").value + "-" + $("bmonth").value + "-" + $("bdate").value;
      //check address
      if($("address").value == "")
      {
        alert("กรุณาใส่ที่อยู่ให้ถูกต้อง เพื่อที่เราจะได้จัดส่งของให้ท่านได้");
        return false;
      }
      //check city
      if($("city").value == "")
      {
        alert("กรุณาใส่จังหวัดให้ถูกต้อง เพื่อที่เราจะได้จัดส่งของให้ท่านได้");
        return false;
      }
      //check zipcode
      if($("zipcode").value == "")
      {
        alert("กรุณาใส่รหัสไปรษณีย์ให้ถูกต้อง เพื่อที่เราจะได้จัดส่งของให้ท่านได้");
        return false;
      }
      else
      {
        var tstr = $("zipcode").value;
        var numstr = "0123456789";
        var str;
        for(i=0; i < tstr.length; i++)
        {
            str = tstr.charAt(i);
            if(numstr.indexOf(str) == -1)
            {
                alert("กรุณาใส่รหัสไปรษณีย์ต้องเป็นตัวเลขเท่านั้น");
                return false;
            }
        }
        if(tstr.length != 5)
        {
            alert("กรุณาใส่รหัสไปรษณีย์ให้ครบ");
            return false;
        }
      }
      //check telephone
      if($("telephone").value == "")
      {
        alert("กรุณาใส่เบอร์โทรศัพท์ให้ถูกต้อง เพื่อที่เราจะสามารถติดต่อกับท่านได้");
        return false;
      }
      //check email
      var emailstr = $("email").value;
      emailstr.replace(" ", "");
      if((emailstr == "") || (emailstr.indexOf("@") == -1) || (emailstr.indexOf(".") == -1))
      {
        alert("กรุณาใส่อีเมล์ให้ถูกต้อง เพื่อใช้ในการสมัคร โดยเราจะส่งอีเมล์ยืนยันการสมัครไปให้ท่าน");
        return false;
      }
      
      //construct known_from value
      $("known_from").value = "";
      if($("kf_friend").checked)
        $("known_from").value += "friend:1;";
      else
        $("known_from").value += "friend:0;";
      if($("kf_email").checked)
        $("known_from").value += "email:1," + $("kf_email_d").value + ";";
      else
        $("known_from").value += "email:0;";
      if($("kf_website").checked)
        $("known_from").value += "website:1," + $("kf_website_d").value;
      else
        $("known_from").value += "website:0";
      //construct genre
      var oGenre = document.getElementsByTagName("input");
      for(i=0; i < oGenre.length; i++)
      {
        if(oGenre[i].type == "checkbox")
        {
            if(oGenre[i].id.indexOf("g_") != -1)
            {
                var chk = oGenre[i].checked?"1":"0";
                if(oGenre[i].id.indexOf("g_western") != -1)
                    $("genre").value += oGenre[i].value + ":" + chk;
                else
                    $("genre").value += oGenre[i].value + ":" + chk + ";";
            }
        }
      }
      if(!check_veri_email())return false;
}
function val_national_id(nid)
{
    if(nid.length != 13)
    {
        alert("กรุณาใส่หมายเลขประจำตัวประชาชน 13 หลัก");
    }
    var tstr = nid;
    var numstr = "0123456789";
    var str;
    for(i=0; i < tstr.length; i++)
    {
        str = tstr.charAt(i);
        if(numstr.indexOf(str) == -1)
        {
            alert("กรุณาใส่หมายเลขประจำตัวประชาชนเป็นตัวเลขเท่านั้น");
            return false;
        }
    }
    var sum = 0;
    var mul = 13;
    var checksum = 0;
    for(i=0;i<nid.length-1;i++)
    {
        var base = parseInt(nid.charAt(i),10);
        var result = mul * base;
        sum = sum + result;
        mul -= 1;
    }
    checksum = 11 - (sum % 11);
    lastnum = checksum % 10;
    if(lastnum == parseInt(nid.charAt(12),10))
        return true;
    else return false;
}
function val_veri_id()
{
    if($("veri_id").value == "")
    {
        alert("กรุณาใส่รหัสลงทะเบียนให้ถูกต้อง!!");  
        return false;
    }
    else
    {
        return true;
    }
}
function check_veri_id()
{
    if(val_veri_id())
    {
        var formObject = $("register_form");
        YAHOO.util.Connect.setForm(formObject,false,true);
        // Facilitates a POST transaction. An HTTP GET can be used as well.
        var cObj = YAHOO.util.Connect.asyncRequest('POST', 'check_veri.php', veri_callback);
        return false;
    }
}

var veri_callback =
{
    success: function(o){
        if(o.responseText != undefined)
        {
            var status = o.responseText.indexOf("[FAIL]");
            if(status != -1)
            {
                alert(o.responseText.substring(6));              
            }
            else
            {
                //success -> submit register form
                //$("register_form").submit();
                check_veri_email();
            }
        }
    }, failure: function(o){
        alert("ไม่สามารถเชื่อมต่อกับระบบได้");                
    }
}
function check_veri_email()
{
    var formObject = $("register_form");
    YAHOO.util.Connect.setForm(formObject,false,true);
    // Facilitates a POST transaction. An HTTP GET can be used as well.
    var cObj = YAHOO.util.Connect.asyncRequest('POST', '/check_email.php', everi_callback);
    return false;
}
var everi_callback =
{
    success: function(o){
        if(o.responseText != undefined)
        {
            var status = o.responseText.indexOf("[FAIL]");
            if(status != -1)
            {
                alert(o.responseText.substring(6));              
            }
            else
            {
                //success -> submit register form
                $("register_form").submit();
            }
        }
    }, failure: function(o){
        alert("ไม่สามารถติดต่อกับระบบได้");                
    }
}
function regis_notagree()
{
    var ans = confirm("คุณต้องการที่จะปฏิเสธเงื่อนไขและข้อตกลงใช่หรือไม่? กด Cancel เพื่อลงทะเีบียนต่อ");
    if(ans)
    {
        window.location = "/home";
    }
}
