
var WizardSliderSpeed = 1;
var WizardSliderStep = 15;
var WizardOpen = false;
var CurrentFormVar = '';
var PageIsValid = true;
        function loadColorValue(colid, value)
        {
            if (value != '')
            {
                var cntrl = eo_GetObject(colid)
                if (cntrl)
                {
                    document.getElementById('ctl00_ContentPlaceHolder1_' + colid + '_b').style.backgroundColor = value;
                    cntrl.setValue(value);
                }
                //else
                //    alert(colid + ' not found');
            }
        }
    
        function saveColorField(fieldName, colid)
        {
            var col = eo_GetObject(colid).getValue();
            saveField(fieldName, col);
        }
        
        function validatePassword(id, cid, val, cval)
        {
            var pval = document.getElementById(val);
            var cval = document.getElementById(cval);
            var pwd = document.getElementById(id).value;
            var con = document.getElementById(cid).value;
            pval.innerHTML = '&nbsp;';
            cval.innerHTML = '&nbsp;';
            if (pwd == '')
            {
                pval.innerHTML = 'Please enter a password';
                return false;
            }
            else
            {
                if (pwd != con)
                {
                    cval.innerHTML = 'Passwords do not match';
                    return false;
                }
            }
            return true;
        }
        
        
        function validateWizardEmail(id, val)
        {
            var cntrl = document.getElementById(id);
            var txt = cntrl.value;
            if ((txt.indexOf(".") > 2) && (txt.indexOf("@") > 0))
            {
                document.getElementById(val).innerHTML = '&nbsp;';
                document.getElementById(id).className = 'TextFormEntry';
                return true;
            }   
            else
            {                
                document.getElementById(val).innerHTML = 'Please enter a valid Email Address';
                document.getElementById(id).className = 'TextFormEntryInvalid';
                return false;
            }
        }
        
        function validateWizardDD(id, val, what)
        {
            var txt = document.getElementById(id);
            var val = document.getElementById(val);
            var isValid = true;
            val.innerHTML = '';
            
            if (txt.value == '-1')
            {
                isValid = false;
                txt.className = 'TextFormEntryInvalid';
                val.innerHTML = 'Please select a ' + what;
            }
            else
            {
                txt.className = 'TextFormEntry';
                val.innerHTML = '&nbsp;';
            }
            return isValid;
        }
        
        function validateTextThis(cntrl)
        {
            validateText(cntrl.id.substr(3));
        }
        
        function validateNumber(id)
        {
            var ret = validateText(id);
            if (ret)
            {
                var txt = document.getElementById('txt' + id).value;
                var val = document.getElementById('clVal' + id);
                if (isNumber(txt))
                {
                    val.innerHTML = '';
                    return true;
                }
                else
                {
                    val.innerHTML = '*Please enter numbers only';
                    return false;
                }
                    
            }
            else
                return false;
        }
        
        function isNumber(sText)
        {
            var ValidChars = "-0123456789.";
            var Char;
            for (i = 0; i < sText.length; i++) 
            { 
                Char = sText.charAt(i); 
                if (ValidChars.indexOf(Char) == -1) 
                 return false;
            }
            if (sText.indexOf('-') > 0) return false;
            return true;   
        }

               
        function saveTextField(fieldName, txtid)
        {
            saveField(fieldName, document.getElementById(txtid).value);
        }
        
        function saveField(fieldName, value)
        {
            value = doReplace(doReplace(value, '&', '##amp##'), '?', '##qm##');
            sndReq('/XML/SignUp/StoreField.aspx?FieldName=' + fieldName + '&Value=' + value);
        }
        
        
        function validateDate(cntrl, val)
        {
            var isVal = true;
            var D = document.getElementById(cntrl + 'Day').value;
            var M = document.getElementById(cntrl + 'Month').value;
            var Y = document.getElementById(cntrl + 'Year').value;
            
            var dteCur=new Date();
            var dteSel = new Date();
            if ((Y==-1) ||(M==-1) || (D==-1)) isVal = false;
            
            dteSel.setFullYear(Y,(M-1),D);
            
            var v = document.getElementById(val);
            if (isVal) 
                v.innerHTML = '';
            else
                v.innerHTML = 'Please select a date';
            return isVal;
        }
        
        
               
        function validateInteger(id)
        {
            var ret = validateText(id);
            if (ret)
            {
                var txt = document.getElementById('txt' + id).value;
                var val = document.getElementById('clVal' + id);
                if (isInteger(txt))
                {
                    val.innerHTML = '';
                    return true;
                }
                else
                {
                    val.innerHTML = '*Please enter numbers only';
                    return false;
                }   
            }
            else
                return false;
        }
        function isInteger(sText)
        {
            var ValidChars = "-0123456789";
            var Char;
            for (i = 0; i < sText.length; i++) 
            { 
                Char = sText.charAt(i); 
                if (ValidChars.indexOf(Char) == -1) 
                 return false;
            }
            if (sText.indexOf('-') > 0) return false;
            if (sText == '-') return false;
            return true;   
        }
       
        function validateColor(id)
        {
            var col = eo_GetObject(id).getValue();
            var val = document.getElementById('Wizard_clVal' + id);
            if (col == '')
            {
                val.innerHTML = 'Please select a colour';
                return false;
            }
            val.innerHTML = '&nbsp;';
            return true;
        }
        
        function SaveSignUpForm(form)
        {
            if (form != 'Complete')
            {
                if (StartsWith(form, 'div')) form = form.substring(9);
                //alert(form);
                if (eval('formValid' + form + '()'))
                    eval('saveForm' + form + '()');
                else
                    return false;
                return true;
            }
            else
            {
                document.getElementById('spnWizardComplete').innerHTML = '<img src="/siteimages/EFC/popup/buttons/complete_dis.png" border="0" />';
                sndReq('/XML/SignUp/InsertClub.aspx');
            }
        }

    function SignupWizard()
    {
        //window.open('/Season/default.aspx', 'NewSeason', 'height=500, width=700');
        NextWizardForm('','Default', true);
    }

    function NextWizardForm(CurrentForm, NextForm, skipValidation, additionalData)
    {    
        if (!additionalData) additionalData = '';
            var ps = NextForm.split('#');
            
            var PageTitle = 'Sign Up Your Club'
            if (ps.length>1) 
            {
                NextForm = ps[0];
                PageTitle = PageTitle + '&nbsp;-&nbsp;' + ps[1];
            }
            ps = CurrentForm.split('#');
            if (ps.length>1) CurrentForm = ps[0];
            
        if ((skipValidation) || (SaveSignUpForm(CurrentForm)))
        {
            document.getElementById('clWizardTitle').innerHTML = PageTitle;
            
            if (StartsWith(CurrentForm, 'div'))
            {
                var div = document.getElementById(CurrentForm);
                div.style.display = 'none';
            }
            else
            {
                if (CurrentForm != '')
                {
                    var div = document.getElementById('divWizardContent');
                    div.style.display = 'none';
                }
            }
       
            if (StartsWith(NextForm, 'div'))
            {
                var div = document.getElementById(NextForm);
                div.style.display = 'block';
                NextForm = NextForm.substr(9);
                PageIsValid = true;
                eval('loadFunctions' + NextForm + '()');
                StartWizardSlide();
            }
            else
            {
                SetWizardLoading();
                CurrentFormVar = NextForm;
                sndReq('/Sign-Up/' + NextForm + '.aspx' + additionalData, 'SetupWizard');
            }
    }
}
        function GetDateField(field)
        {
            var D = document.getElementById(field + 'Day').value;
            var M = document.getElementById(field + 'Month').value;
            var Y = document.getElementById(field + 'Year').value;
            var dteSel = new Date();
            return D + '/' + M + '/' + Y;
        }
        
        function SetWizardLoading()
        {
            document.getElementById('divWizardContent').style.display = 'block';
            document.getElementById('divWizardContent').innerHTML = '<div style="width:100%; text-align:center"><br><br><img src="' + jsImagePath + '/loading_grey.gif"><br><br></div>';
        }

function LoadWizardContent(cont)
{
    if (!WizardOpen)
    {
        eval('WizardFirstLoad=true');
        WizardOpen = true;
        initMask();
        StartMask('divFormPopup') ;
        PopupRelocate('divFormPopup', true);
    }
    document.getElementById('divWizardContent').style.display = 'block';
    document.getElementById('divWizardContent').innerHTML = cont;
    //PopupRelocate('divFormPopup', true);
    //alert(CurrentFormVar);
    if (CurrentFormVar != 'Payment') StartWizardSlide();
    eval('loadFunctions' + CurrentFormVar + '()');
 }



//Confirm Functions
        function formValidComplete()
        {
            return true;
        }
        function saveFormComplete()
        {}
        function loadFunctionsComplete()
        {}
        
        
//Confirm Functions
        function formValidConfirm()
        {
            return true;
        }
        function saveFormConfirm()
        {}
        function loadFunctionsConfirm()
        {}
        
//Default Functions
        function formValidDefault()
        {
            return true;
        }
        function saveFormDefault()
        {}
        function loadFunctionsDefault()
        {}

//Club Functions
        function formValidClub()
        {
            var isVal = true;
            isVal = PCValid && PageIsValid && validateText('Wizard_txtInitials', 'Address', 'Wizard_clValInitials');
            isVal = validateText('Wizard_txtName', 'Name', 'Wizard_clNameValidate') && isVal;
            isVal = validateColor('Col1') && isVal;
            isVal = validateColor('Col2') && isVal;
            return isVal;
        }
        
        function saveFormClub()
        {
            saveTextField('ClubName', 'Wizard_txtName');
            saveTextField('ClubInitials', 'Wizard_txtInitials');
            saveTextField('PlayCricketAddress', 'Wizard_txtPlayCricket');
            saveColorField('Color1', 'Col1');
            saveColorField('Color2', 'Col2');
        }
        
        function loadFunctionsClub()
        {
            
        }
        
    function validatePCURL(txtid)
    {
        var cl = document.getElementById('Wizard_clValPlayCricket')
        var url = document.getElementById(txtid).value;
        if (url != '')
        {
            cl.innerHTML = 'Checking...';
            sndReq('/XML/SignUp/validatePlayCricketAdd.aspx?a=' + url, 'validatePCURL');
        }
        else
        {
            cl.innerHTML = '&nbsp;';
            document.getElementById('Wizard_txtPlayCricket').className = 'TextFormEntry';
            PCValid = true;
        }
    }
    
    var PCValid = true;

    function setPCURLValidation(doc)
    {
        var x = GetXMLObject(doc).childNodes[0];
        var valid = (x.getAttribute('valid') == 'true')
        var url = getInnerText(x);
        var cl = document.getElementById('Wizard_clValPlayCricket')
        if (!valid) 
        {
            cl.innerHTML = '*http://' + url + '.play-cricket.com is not a valid website.';
            document.getElementById('Wizard_txtPlayCricket').className = 'TextFormEntryInvalid';
            PCValid = false;
        }
        else
        {
            cl.innerHTML = '&nbsp;';
            document.getElementById('Wizard_txtPlayCricket').className = 'TextFormEntry';
            PCValid = true;
        }
    }
    
        
    function ClubInitalValid()
    {
        PageIsValid = validateText('Wizard_txtInitials', 'Address', 'Wizard_clValInitials');
        PageIsValid = PageIsValid && CheckInitalsCharacters();
        if (PageIsValid)
            sndReq('/xml/SignUp/CheckInitialsUsed.aspx?i=' + document.getElementById('Wizard_txtInitials').value);
    }
    
    function CheckInitalsCharacters()
    {
        var isVal = true;
        var sText = document.getElementById('Wizard_txtInitials').value.toLowerCase();
        var ValidChars = "0123456789abcdefghijklmnopqrstuvwxyz";
        
        for (i = 0; i < sText.length && isVal; i++) 
        { 
            Char = sText.charAt(i); 
            if (ValidChars.indexOf(Char) == -1) 
                isVal = false;
        }
        
        if (!isVal)
        {
            document.getElementById('Wizard_clValInitials').innerHTML = 'Please enter numbers and letters only';
            document.getElementById('Wizard_txtInitials').className = 'TextFormEntryInvalid';           
        }
        return isVal;
    }
    
    function InitialVaidation(ret)
    {
        if (ret == 'Allowed')
        {
            document.getElementById('Wizard_clValInitials').innerHTML = '&nbsp;';
            document.getElementById('Wizard_txtInitials').className = 'TextFormEntry';
            PageIsValid = PageIsValid && true;
        }
        else
        {
            document.getElementById('Wizard_clValInitials').innerHTML = 'This address is already in use, please enter an alternative';
            document.getElementById('Wizard_txtInitials').className = 'TextFormEntryInvalid';
            PageIsValid = PageIsValid && false;
        }
    }
        function CustomErrorHandler(uploader, error, message)
    {
	    window.alert("This is a custom error message for error '" + error + "'.");
    }

    function CustomProgressHandler(uploader, total, received)
    {
	    var msg;
	    var percentage = uploader.getPercentage();
	    if (percentage < 10)
		    msg = "Just started...";
	    else if (percentage < 50)
		    msg = "Hang on...";
	    else if (percentage < 70)
		    msg = "Half done...";
	    else if (percentage < 100)
	    {
	        alert('done');
		    msg = "Almost...";
		}
	    else
		    msg = "Done.";
		var progressText = document.getElementById("uploader_progress");
	    progressText.innerHTML = percentage + '%';
    }

//Payment Functions
      function formValidPayment()
        {
            var isVal = true;
            var sel = getSelectedPaymentMethod();
            switch (sel)
            {
                case 'cheque':
                    isVal = validateText('Wizard_txtCheque', 'Account Name', 'Wizard_clChequeValidate') && isVal;
                    break;
                case 'transfer':
                    isVal = validateText('Wizard_txtAccName', 'Account Name', 'Wizard_clAccNameValidate') && isVal;
                    isVal = validateText('Wizard_txtSortCode', 'Sort Code', 'Wizard_clSortCodeValidate') && isVal;
                    isVal = validateText('Wizard_txtAccNumber', 'Account Number', 'Wizard_clAccNumberValidate') && isVal;
                    break;
                case 'paypal':
                    isVal = validateWizardEmail('Wizard_txtPayPal', 'Wizard_clPayPalValidate');
                    //isVal = validateText('Wizard_txtPayPal', 'Email Address', 'Wizard_clPayPalValidate') && isVal;
                    break;
            }
            return isVal;
        }
        
        function saveFormPayment()
        {
            saveField('PaymentMethod', getSelectedPaymentMethod());
            saveTextField('chequepayable', 'Wizard_txtCheque');
            saveTextField('AccountName', 'Wizard_txtAccName');
            saveTextField('AccountSortCode', 'Wizard_txtSortCode');
            saveTextField('AccountNumber', 'Wizard_txtAccNumber');
            saveTextField('PayPalEmail', 'Wizard_txtPayPal');
        }
        
        function loadFunctionsPayment()
        {
            PaymentMethodChanged();
        }
        
    function getSelectedPaymentMethod()
    {
        if (document.getElementById('radCheque').checked) return 'cheque';
        if (document.getElementById('radTransfer').checked) return 'transfer';
        if (document.getElementById('radPayPal').checked) return 'paypal';
    }
    
    function PaymentMethodChanged(method)
    {
        if (!method) method = getSelectedPaymentMethod();
        var tblcheque = document.getElementById('tblcheque');
        var tbltransfer = document.getElementById('tbltransfer');
        var tblpaypal = document.getElementById('tblpaypal');
        
        tblcheque.style.display = 'none';
        tbltransfer.style.display = 'none';
        tblpaypal.style.display = 'none';
        
        switch (method)
        {
            case 'cheque':
                tblcheque.style.display = 'block';
                break;
            case 'transfer':
                tbltransfer.style.display = 'block';
                break;
            case 'paypal':
                tblpaypal.style.display = 'block';
                break;
        }
        StartWizardSlide();
        //formValidPayment();
    }
  
//User Functions
        function formValidUser()
        {
            var isVal = true;
            isVal = validateWizardDD('Wizard_drpTitle', 'Wizard_clValTitle', 'Title') && isVal;
            isVal = checkTextBoxIsValid('Wizard_txtFirstName', 'First Name', 'Wizard_clValFirstName') && isVal;
            isVal = checkTextBoxIsValid('Wizard_txtSurname', 'Surname', 'Wizard_clValSurname') && isVal;
            isVal = validateWizardEmail('Wizard_txtEmail', 'Wizard_clValEmail') && isVal;
            isVal = validatePassword('Wizard_txtPassword', 'Wizard_txtConfirm', 'Wizard_clValPassword', 'Wizard_clValConfirm') && isVal;
            isVal = checkTextBoxIsValid('Wizard_txtAddress1', 'Address', 'Wizard_clValAddress1') && isVal;
            isVal = checkTextBoxIsValid('Wizard_txtTown', 'Town', 'Wizard_clValTown') && isVal;
            isVal = checkTextBoxIsValid('Wizard_txtCounty', 'County', 'Wizard_clValCounty') && isVal;
            isVal = checkTextBoxIsValid('Wizard_txtPostCode', 'Post Code', 'Wizard_clValPostCode') && isVal;
            isVal = checkTextBoxIsValid('Wizard_txtTelephone', 'Telephone Number', 'Wizard_clValTelephone') && isVal;
            return isVal;
        }
        function saveFormUser()
        {
            saveTextField('Title', 'Wizard_drpTitle');
            saveTextField('FirstName', 'Wizard_txtFirstName');
            saveTextField('Surname', 'Wizard_txtSurname');
            saveTextField('Email', 'Wizard_txtEmail');
            saveTextField('Password', 'Wizard_txtPassword');
            saveTextField('Address1', 'Wizard_txtAddress1');
            saveTextField('Address2', 'Wizard_txtAddress2');
            saveTextField('Address3', 'Wizard_txtAddress3');
            saveTextField('Town', 'Wizard_txtTown');
            saveTextField('County', 'Wizard_txtCounty');
            saveTextField('PostCode', 'Wizard_txtPostCode');
            saveTextField('Telephone', 'Wizard_txtTelephone');
        }
        function loadFunctionsUser()
        {
        
        }
      
        function colorChanged()
        {   
            validateColor('Col1');
            validateColor('Col2');
        }
        
function CloseWizard()
{
    document.getElementById('divFormPopup').style.visibility = 'hidden';
    
    document.getElementById('divWizardContent').style.display = 'none';
    document.getElementById('divWizardClub').style.display = 'none';
    
    eval('FadingDirectiondivPopupMask =-1');
    eval('WizardFirstLoad=true');
    setTimeout('FadeInOut("divPopupMask", 60, 100, "")', FadeSpeed);   
    WizardOpen = false; 
}

        
        function EFCClubSaved(doc)
        {
            if (doc == 'Error')
                document.location = '/Sign-Up/Error.aspx';
            else
            {
                var x = GetXMLObject(doc).childNodes[0];
                var t = getInnerText(x.childNodes[0]);
                var fn = getInnerText(x.childNodes[1]);
                var sn = getInnerText(x.childNodes[2]);
                var em = getInnerText(x.childNodes[3]);
                var cn = getInnerText(x.childNodes[4]);
                var ci = getInnerText(x.childNodes[5]);
                var template = getInnerText(x.childNodes[6]);
                //var url = '/Sign-Up/Complete.aspx';
                //url += '?t=' + t;
                //url += '&fn=' + fn;
                //url += '&sn=' + sn;
                //url += '&em=' + em;
                //url += '&cn=' + cn;
                //url += '&ci=' + ci;
                //document.location = url;
                var content = doReplace(template, '[ClubInitials]', ci);
                document.getElementById('divWizardContent').innerHTML = content;
                StartWizardSlide();
            }
        }
        
        
function StartWizardSlide()
{
    if (WizardSlidingTimer) clearTimeout(WizardSlidingTimer);
    var FirstLoad = eval('WizardFirstLoad')
    var Target = document.getElementById('divWizardSliderContent').offsetHeight;
    var slider = document.getElementById('divWizardSlider');
    var current = slider.style.height.substr(0, slider.style.height.length-2)*1;
    if (FirstLoad) 
    {
        slider.style.height = Target + 'px';
    PopupRelocate('divFormPopup', true);
        eval('WizardFirstLoad=false;')
        return;
    }
    
    var direction = 0;
    if (current > Target) direction = -1;
    if (current < Target) direction = 1;
    var difference = (current - Target) * direction
       
    //Check we are starting from a position divisble by slider step
    var steps = (((difference/WizardSliderStep)^2)^0.5) + '';
    var bits = steps.split('.');
    
    if (bits.length > 1)
    {
        var intbit = bits[0];
        if (direction == -1)
            slider.style.height = ((intbit*1) * WizardSliderStep) + 'px';
        else
            slider.style.height = ((intbit+1) * WizardSliderStep) + 'px';
    }
    
    WizardSlidingTimer = setTimeout('SlideWizard(' + Target + ', ' + direction + ');', WizardSliderSpeed);
}

var WizardSlidingTimer = null;

function SlideWizard(Target, direction)
{
    var doMore = true;
    var slider = document.getElementById('divWizardSlider');
    var current = slider.style.height.substr(0, slider.style.height.length-2);
    
    var SetTo = ((1*current)+(direction*WizardSliderStep))
    if (((SetTo > Target) && (direction == 1)) || ((SetTo < Target) && (direction == -1)))
    {
        SetTo = Target;
        doMore = false
    }
    
    slider.style.height = SetTo + 'px';
    PopupRelocate('divFormPopup', true);
    
    if (doMore)
        WizardSlidingTimer = setTimeout('SlideWizard(' + Target + ', ' + direction + ');', WizardSliderSpeed);
    else
        clearTimeout(WizardSlidingTimer);
}