var STEPS = 3;
var CURRENT_STEP = 0;
var STEP_PREFIX = 'step';
var EMAIL_VALIDATE_ID= 'emailPut';

$(document).ready(function(){
    putStyleChange();
    putMyProblemChange();
})



function putMyProblemChange(){
    $('#Form_Tr_PutMyProblemOther').hide();
    switch($('#Form_PutMyProblem').val()){
        case '10'://Yips
            $('#Form_PutIPref').val('13');
            putStyleChange();
            break;
        case 'other':
            $('#Form_Tr_PutMyProblemOther').show();
            break;
    }
}


function putStyleChange(){
   $('#Form_PutMeasImage').html('');
    switch($('#Form_PutIPref').val()){
        case '13':
            $('#myPlayImgId').attr('src', '/images/design/belly_fitting.jpg');
            $('#Form_PutMeasImage').html(getPutterOptions(RANGE_MID,41));
            break;
        case '11':
            $('#Form_PutMeasImage').html(getPutterOptions(RANGE_LONG,50));
            $('#myPlayImgId').attr('src', '/images/design/Long_fitting.jpg');
            break;
        default:
            $('#Form_PutMeasImage').html(getPutterOptions(RANGE_TRAD,35));
            $('#myPlayImgId').attr('src', '/images/design/traditional_fitting.jpg');
            break;

    }
}

function getPutterOptions(opts,def){
    var html = '';
    for (i = 0; i < opts.length; i++) {
        var v = opts[i];
        if (v == def){
            html+='<option value="'+v+'" selected="selected">'+v+'</option>';
        }else{
            html+='<option value="'+v+'">'+v+'</option>';
        }
    }
            
    return html;
}

function switchTabNew(gostep){
    if (!validate()) return false;
    CURRENT_STEP = (!gostep && gostep !== 0) ? CURRENT_STEP+1 : gostep;
    if (CURRENT_STEP > 3){
        CURRENT_STEP = 3;
    }
    //rule for club / puters / email
    if(CURRENT_STEP === 1){
        if ($('#Form_CbFitFor').val() === 'club'){
            EMAIL_VALIDATE_ID = 'emailClub';
            $('.emailPut').hide();
            $('.emailClub').show();
        }else{
            EMAIL_VALIDATE_ID = 'emailPut';
            $('.emailClub').hide();
            $('.emailPut').show();
            if ($('#Form_CbFitFor').val() === 'putter'){
                CURRENT_STEP = 2;
            }
        }
    }else if (CURRENT_STEP === 2 && $('#Form_CbFitFor').val() === 'club'){
        CURRENT_STEP = 3;//ignore step3 if club only
    }

    if (CURRENT_STEP === 3 && $('#Form_CbFitFor').val() != 'club'){
        if (!validate(['Form_PutMyProblem','Form_PutStroke'])) return false;
    }

    //last step
    if (CURRENT_STEP >= STEPS){
        WebForm_OnSubmit();
        return;
    }

    //switch style of nav tab
    $('#form-nav').removeClass (function (index, className) {
        var matches = className.match (/step\d+/g) || [];
        return (matches.join (' '));
    });
    $('#form-nav').addClass(STEP_PREFIX+CURRENT_STEP);

    //fix ie6 issue
    if(isIE6()){
        $('#form-nav').css({background:'none'});
        if(CURRENT_STEP===1){
            $('#form-nav').css({background:'url("/images/design/nav5.png") no-repeat scroll 0 -55px transparent'})
        }else if(CURRENT_STEP===0){
            $('#form-nav').css({background:'url("/images/design/nav5.png") no-repeat scroll 0 0px transparent'});
        }
        DD_belatedPNG.fix('.png');
    }

    //switch
    $("table[id^='"+STEP_PREFIX+"']").hide();
    $('#'+STEP_PREFIX+CURRENT_STEP).show();
    return false;
}


function validate(obj){
    if (!obj){
        var obj = new Array();//Form_PutStroke
        obj = ['Form_TxtFullName', 'Form_TxtAge', 'Form_CbHanded','Form_CbHeightFeet','Form_CbHeightInches'];
    }
    var errors = '';
    var first = false;
    for (var el in obj){
        var elObj = $('#'+obj[el]);

        if (!elObj.val() || $.trim(elObj.val()) ==''){
            errors +='Please '+elObj.attr("title")+'.<br/>';
            elObj.addClass('error');
            if (!first){
                first = elObj;
            }
        }else{
            elObj.removeClass('error');
        }
    
        //AGE
        if(obj[el]=='Form_TxtAge'&&(elObj.val()<9||elObj.val()>95||elObj.val().match(/^[1-9][0-9]$/)==null||isNaN(elObj.val()))){
            if(!elObj.hasClass('error')){
                errors +='Please '+elObj.attr("title")+'.<br/>';
                elObj.addClass('error');
            }
            if (!first){
                first = elObj;
            }
        }
        //PUTTERS PROBLEM: OTHER
        var  elObj2Other = $('#Form_PutMyProblemOther');
        if(obj[el]=='Form_PutMyProblem'&&elObj.val()=='other'&&(!elObj2Other.val() || $.trim(elObj2Other.val()) =='')){
            errors +='Please '+elObj.attr("title")+'.<br/>';
            elObj2Other.addClass('error');
               if (!first){
                first = elObj;
            }
        }

    }
    if (errors == ''){
        return true;
    }else{
        if (first){
            first.focus();
        }
        callD(errors);
        return false;
    }

}
function checkEmail() {
    var emailVal = preCleanEmail($('#'+EMAIL_VALIDATE_ID).val(),EMAIL_VALIDATE_ID);
    
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailVal))
    {
        return true;
    } else {
        callD(ERROR_MSG);
        $('#'+EMAIL_VALIDATE_ID).addClass('error');
        $('#'+EMAIL_VALIDATE_ID).focus();
        return false;
    }
}
var checkInProgress = false;
function checkEmailServer(){
    if (checkInProgress) return false;
    if (checkEmail()){
        checkInProgress = true;
        $('.loadingCart').show();
        x_checkEmail($('#'+EMAIL_VALIDATE_ID).val(),checkEmailServerResponse);
    }else{
        checkInProgress = false;
    }
}

function fittingFinish(data){
    $('#widgetWrap').empty().html(data.html);
}

function checkEmailServerResponse(response){
    if (!checkInProgress) return;
    $('.loadingCart').hide();
    checkInProgress = false;
    if (response != '1'){
        callD(ERROR_MSG);
        $('#'+EMAIL_VALIDATE_ID).addClass('error');
		$('#'+EMAIL_VALIDATE_ID).focus();
        send = false;
    }else{
         $('#'+EMAIL_VALIDATE_ID).removeClass('error');
         if (send){
             if(ajaxFitting){
                 $.getJSON(addressF+'?'+$("#FittingForm").serialize(),function(data) {


                 $('#widgetWrap').empty().html(data.html).css({visibility:'hidden',display:'block'});
                 var top = getTop();
                 $('#widgetWrap').css({top:top});
                 $('body').get(0).scrollIntoView();
                 $('#widgetWrap').css({visibility:'visible'});
                 $('#close').css({display:'block'}).click(function(){
                     closeFitting()
                     $('td#bot a').click(function(){
                        closeFitting()
                     })
                 });
             })

}
else{
   $('#FittingForm').submit()
}
         }
    }
}

var send = false;
function WebForm_OnSubmit()
{
     if (validate()){
         
         send = true;
         checkEmailServer();
     }
     return false;
}
