﻿function changeCode(){
    myDate = new Date();
    document.getElementById("code").src="../handler/checkcode.ashx?da="+Math.random();
}


$(document).ready(function(){
    $("#aspnetForm .check").blur(function(){validate(this);});
    $("#aspnetForm .check").focus(function(){showtip(this);});
    $("#aspnetForm .noncheck").focus(function(){mHide=true;hidelayer();});
});


var mHide = false;
var ajaxPass = false;
function validate(el){
    var result = false;
    switch(el.id){
        case "ctl00_Content_txtUsername":
            if(validateUsername(el)!=0){
                showError(el,el.value==""?Tips.Username.Empty:Tips.Username.Error);
            }
            else{
                showWaiting(el);
                $.get("../handler/checkusername.ashx?username="+escape(el.value),function(data){
                    if(data=="1"){
                        showError(el,Tips.Username.Existence);
                    }
                    else{
                        ajaxPass = true;
                        hidelayer();
                        result = showPass(el);
                    }
                });
                
                result = true;
                
            }
            break;
        case "ctl00_Content_txtPassword":
            if(validatePassword(el)!=0){
                showError(el,el.value==""?Tips.Password.Empty:Tips.Password.Error);
            }
            else{
                hidelayer();
                result = showPass(el);
            }   
            
            break;
        case "ctl00_Content_txtconfirmPassword":
             if(validatePassword(el)!=0){
                showError(el,el.value==""?Tips.ConfirmPassword.Empty:Tips.ConfirmPassword.Error);
            }
            else{
                if(el.value==$("#ctl00_Content_txtPassword").val()){
                    hidelayer();
                    result = showPass(el);
                }
                else{
                    showError(el,Tips.ConfirmPassword.Existence);
                }
            }   
            break;
        case "ctl00_Content_txtCompany":
            if(validateCompany(el)!=0){
                showError(el,el.value==""?Tips.Company.Empty:Tips.Company.Error);
            }
            else{
                hidelayer();
                result = showPass(el);
            }   
            
            break;
        case "ctl00_Content_txtName":
            if(validateContactor(el)!=0){
                showError(el,el.value==""?Tips.Contact.Empty:Tips.Contact.Error);
            }
            else{
                hidelayer();
                result = showPass(el);
            }   
            
            break;
        case "ctl00_Content_txtEmail":
            if (validateEmail(el) != 0) {
                showError(el, el.value == "" ? Tips.Email.Empty : Tips.Email.Error);
            }
            else {
                hidelayer();
                result = showPass(el);
            }
            break;
        case "ctl00_Content_txtPosition":
            if (el.value == "") {
                showError(el, Tips.Position.Empty);
            }
            else {
                hidelayer();
                result = showPass(el);
            }
            break;
        case "ctl00_Content_txtTelefax":
            if (el.value == "") {
                showError(el, Tips.Fax.Empty);
            }
            else {
                hidelayer();
                result = showPass(el);
            }

            break;
        case "ctl00_Content_txtPhone":
            if (el.value == "") {
                showError(el, Tips.Phone.Empty);
            }
            else {
                hidelayer();
                result = showPass(el);
            }

            break;
        case "ctl00_Content_txtZip":
            if (el.value == "") {
                showError(el, Tips.Postcode.Empty);
            }
            else {
                hidelayer();
                result = showPass(el);
            }

            break;
        case "ctl00_Content_txtAddress":
            if (el.value == "") {
                showError(el, Tips.Address.Empty);
            }
            else {
                hidelayer();
                result = showPass(el);
            }

            break;

        default:
            if (el.id.indexOf("Name") >= 0) {
                if (el.value == "") {
                    showError(el, Tips.Nameofentery.Empty);
                }
                else {
                    hidelayer();
                    result = showPass(el);
                }
            }
            break ;
        
    }
    
    return result;
    
}


function validateNoe(el){
    var result = false;
     if (el.id.indexOf("Name") >= 0) {
                if (el.value == "") {
                    //alert("Name can not be null");
                }
                else {
                    //hidelayer();
                    result = true;
                }
            }
    return result;
}

function showtip(el){
    removeResult(el);
    switch(el.id){
        case "ctl00_Content_txtUsername":
            addTip(Tips.Username.Tip);
            showlayer(el);
            break;
        case "ctl00_Content_txtPassword":
            addTip(Tips.Password.Tip);
            showlayer(el);
            break;
        case "ctl00_Content_txtconfirmPassword":
            mHide=true;hidelayer();
            break;
        case "ctl00_Content_txtCompany":
            addTip(Tips.Company.Tip);
            showlayer(el);
            break;
         case "ctl00_Content_txtName":
            addTip(Tips.Contact.Tip);
            showlayer(el);
            break;
        case "ctl00_Content_txtEmail":
            addTip(Tips.Email.Tip);
            showlayer(el);
            break;
        case "ctl00_Content_txtPosition":
            addTip(Tips.Position.Tip);
            showlayer(el);
            break;
        case "ctl00_Content_txtTelefax":
            addTip(Tips.Fax.Tip);
            showlayer(el);
            break;
        case "ctl00_Content_txtPhone":
            addTip(Tips.Phone.Tip);
            showlayer(el);
            break;
        case "ctl00_Content_txtZip":
            addTip(Tips.Postcode.Tip);
            showlayer(el);
            break;
        case "ctl00_Content_txtAddress":
            addTip(Tips.Address.Tip);
            showlayer(el);
            break;

        default:
            if (el.id.indexOf("Name") >= 0) {
                addTip(Tips.Nameofentery.Tip);
                showlayer(el);
            }
            break;
        
    }
    
}


function checkForm(){
    var result = true;
    $("#aspnetForm .check").each(function(i,item){
        if(!validate(item)){
            result = false;
            //alert(result+item.id);   
        }
    });
    
    return result&&ajaxPass;
    
} 



function checkNoe(){
    var result = true;
    $("#aspnetForm .check2").each(function(i,item){
        if(!validateNoe(item)){
            result = false;
            alert("Name can not be null");
            //alert(result+item.id);   
        }
    });
    
    return result;
}


function hidelayer(){
    $("#signtip").data("hide",fade());
}

function fade(){
    setTimeout(function(){
        if(mHide){
            $("#signtip").fadeOut(300);
        }
    },100);
}   

function showlayer(obj){
    mHide = false;
    var offset = $(obj).offset();
    var popDiv = $("#signtip");
    var top = offset.top - $("div.container:first").offset().top-5;
    if(popDiv.css("display")=="none"){
        popDiv.css({'top':top});
        popDiv.fadeIn(300);
    }else{
        popDiv.stop();
        popDiv.animate({top:top,opacity:1}, { duration: 300 } );
    }
}

function addTip(str){
    var layer = $("#formtip");
    layer.html("<img src=\"../images/bluen.gif\" />&nbsp;"+str);
    layer.css({'color':'#039'});
}

function addError(str){
    var layer = $("#formtip");
    layer.html("<img src=\"../images/redn.gif\" />&nbsp;"+str);
    layer.css({'color':'#F30'});
}

function showError(obj,note){
    var res = "<div><img src=\"../images/signup_error.jpg\"  /></div><div>{0}</div>";
    showResult(obj,res.replace("{0}",note));
}

function showPass(obj){
    showResult(obj,"<img src=\"../images/signup_correct.jpg\"  />");
    mHide = true;
    return true;
}

function showWaiting(obj){
    showResult(obj,"Please waiting....");
}

function showResult(obj,res){
    removeResult(obj);
    $("<div></div>").addClass("input_result clearfix").html(res).insertAfter($(obj).parent().parent());
}
function removeResult(obj){
    $(obj).parent().parent().parent().find(".input_result").remove();
}

function addNname(btn) {
    var more = $(".langsel a.cur").html() == "中文" ? "更多" : "more";
    var crow = $(btn).parent();
    var no = parseInt($("span.no", crow).html());
    no++;
    var newRow = $('<tr class="Names"><th></th><td class="nonull"><span class="no">' + no + '.</span><div class="input"><div><input id="Name'+no+'" name="noe" class="check" /></div></div><a class="slink_btn" href="javascript:void()" onclick="addNname(this); return false;"><span>+'+more+'</span></a></td></tr>');
    $(btn).remove();
    newRow.insertAfter(crow.parent());
}
