var Registration = {

    fullfillment : [],
    guestCount : 0,
    counter : 0,
    useSpouse : false,

    setPayButton : function(x)
    {
        var html;
        switch(x)
        {
            case 0:
                html = '<input type="image" src="/assets/images/btn_paynowCC_LG.gif" border="0" name="submitButton" id="submitButton" alt="PayPal - The safer, easier way to pay online!"/>' +
                '<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"/>';
                break;

            case 1:
                html = '<a href="javascript:void(0);"><img src="/assets/images/button-register.gif" alt="Register Now" id="submitButton" border="0"/></a>';
                break;
        }

        jQuery('#paybuttondiv').html(html);
    },

    validate : function(x)
    {
        var inputs = x.getElementsByTagName('input');
        var selects = x.getElementsByTagName('select');
        var fields = [],e=[],c=[],v=0;
        for(var i in inputs){fields[fields.length]=inputs[i];}
        for(var i in selects){fields[fields.length]=selects[i];}
        for(var i in fields)
        {
            if(fields[i].title=='required')
            {
                if(fields[i].value=='' || fields[i].value==null || fields[i].value.length==0)
                {
                    e[e.length] = fields[i];
                    v++;
                }
                else
                {
                    c[c.length] = fields[i];
                }
            }
        }

        if(v > 0)
        {
            for(var i in e)
            {
                e[i].style.borderColor='#ff0000';
                e[i].style.color='#ff0000';
            }
            for(var i in c)
            {
                c[i].style.borderColor='';
                c[i].style.color='';
            }
            alert('Please complete all of the required fields (*).');
        }
        else
        {
            for(var i in Registration.fullfillment)
            {
                var fields = Registration.fullfillment[i].fields.split(',');
                var a = jQuery('#' + fields[0]).attr('value');
                var b = jQuery('#' + fields[1]).attr('value');
                var c = jQuery('#' + fields[2]).attr('value');
                jQuery('#' + Registration.fullfillment[i].os).attr('value',a + ':' + b + ':' + c);
            }
            document.getElementById('submitButton').disabled = true;
            x.submit();
        }
    },

    addGuest : function()
    {
        var num = Registration.counter;
        var html = '<tr id="guestContainer1' + num + '"><td colspan="2"><hr noshade"noshade" size="1"/></td></tr>';
        html += '<tr id="guestContainer2' + num + '"><td>';
        html += '<input type="hidden" id="on' + num + '" name="on' + num + '" value="Guest" />';
        html += '<input type="hidden" id="os' + num + '" name="os' + num + '" value="" />';
        html += '<strong>* Guest First Name</strong>: </td><td><input id="guest_first_name' + num + '" name="guest_first_name' + num + '" title="required" value="" type="text" class="input"/></td></tr>';
        html += '<tr id="guestContainer3' + num + '"><td><strong>* Guest Last Name</strong>: </td><td><input id="guest_last_name' + num + '" name="guest_last_name' + num + '" title="required" value="" type="text" class="input"/></td></tr>';
        html += '<tr id="guestContainer4' + num + '"><td>Guest Phone: </td><td><input id="guest_phone' + num + '" name="guest_phone' + num + '" value="" type="text" class="input"/></td></tr>';
        html += '<tr id="guestContainer5' + num + '"><td></td><td><a href="javascript:;" onclick="Registration.removeGuest(\'' + num + '\');">remove guest</a></td></tr>';
        jQuery('#regTable tbody').append(html);
        jQuery('#guest_phone' + num + '').mask("(999) 999-9999");
        Registration.guestCount++;
        Registration.counter++;
        Registration.fullfillment.push({os:'os' + num,fields:'guest_first_name' + num + ',guest_last_name' + num + ',guest_phone' + num + ''});
        Registration.calc();
    },

    removeGuest : function(e)
    {
        jQuery('#guestContainer1'+e+"").remove();
        jQuery('#guestContainer2'+e+"").remove();
        jQuery('#guestContainer3'+e+"").remove();
        jQuery('#guestContainer4'+e+"").remove();
        jQuery('#guestContainer5'+e+"").remove();
        Registration.guestCount--;
        Registration.calc();
    },

    calc : function()
    {
        var f1  = document.getElementById('evntcost').value;
        var f2  = (document.getElementById('guestscost')) ? document.getElementById('guestscost').value : f1;
        var val = parseFloat(f1) + (Registration.guestCount * parseFloat(f2)); //parseInt(f1) + parseInt(f2);
        if(Registration.useSpouse)
        {
            val = parseInt(val) + parseInt(jQuery("#couplescost").attr("value"));
        }
        var postval=Math.round(val*100)/100;
        postval+='';
        var splt=postval.split('.');
        if(!splt[1]){splt[1]='0';}
        if(splt[1].length<2){splt[1]=splt[1]+'0'}
        document.getElementById('amount').value=splt[0]+'.'+splt[1];
    },

    addSpouse : function()
    {
        var num = Registration.counter;
        var html = '<tr id="spouseContainer1"><td colspan="2"><hr noshade="noshade" size="1" /></td></tr>';
        html += '<tr id="spouseContainer2"><td>';
        html += '<input type="hidden" id="on' + num + '" name="on' + num + '" value="Spouse" />';
        html += '<input type="hidden" id="os' + num + '" name="os' + num + '" value="" />';
        html += '<strong>* Spouse\'s First Name</strong>: </td><td><input id="spouse_first_name" name="spouse_first_name" title="required" value="" type="text" class="input"/></td></tr>';
        html += '<tr id="spouseContainer3"><td><strong>Spouse\'s Last Name</strong>: </td><td><input id="spouse_last_name" name="spouse_last_name" title="required" value="" type="text" class="input"/></td></tr>';
        html += '<tr id="spouseContainer4"><td>Spouse\'s Phone: </td><td><input id="spouse_phone" name="spouse_phone" value="" type="text" class="input"/></td></tr>';
        html += '<tr id="spouseContainer5"><td></td><td><a href="javascript:;" onclick="Registration.removeSpouse();">remove spouse</a></td></tr>';
        jQuery('#regTable tbody').prepend(html);
        jQuery('#addSpouseControls').attr('style','display:none;');
        jQuery("#spouse_phone").mask("(999) 999-9999");
        jQuery("#spouse_last_name").attr("value",jQuery("#last_name").attr("value"));
        Registration.useSpouse = true;
        Registration.counter++;
        Registration.fullfillment.push({os:'os' + num,fields:'spouse_first_name,spouse_last_name,spouse_phone'});
        Registration.calc();
    },

    removeSpouse : function()
    {
        jQuery('#spouseContainer1').remove();
        jQuery('#spouseContainer2').remove();
        jQuery('#spouseContainer3').remove();
        jQuery('#spouseContainer4').remove();
        jQuery('#spouseContainer5').remove();
        jQuery('#addSpouseControls').attr('style','display:table-row;');
        Registration.useSpouse = false;
        Registration.calc();
    }
};
