var STEP = {
	current: 0,
	min: 0,
	max: 3,

	fields: [
		['first_name', 'last_name', 'day', 'month', 'year', 'street_address', 'city', 'state', 'zip_code', 'phone', 'email', 'confirm_email', 'password', 'confirm_password'],
		['gender', 'age', 'height_ft', 'weight', 'grade_level', 'sport', 'position'],
		['high_school_name', 'city1', 'state1', 'graduation_year', 'coaches_name']
	],

	start_reg: function()
	{
		STEP.init_form();
		STEP.selectMonth(-1);
		try
		{
			document.getElementById('warn1').style.display = 'none';
		}
		catch(e){}
		try
		{
			document.getElementById('warn2').style.display = 'none';
		}
		catch(e){}
        STEP.current = STEP.min;
		document.getElementById('step' + STEP.current).style.display = 'block';

	},

	init_form: function()
	{
		for (var j = 0, l = STEP.fields.length; j < l; j++)
		{
			for (var i = 0, L = STEP.fields[j].length; i < L; i++)
			{
				document.getElementById(STEP.fields[j][i]).onfocus = STEP.clearField;
			}
		}
	},

	clearField: function()
	{
		if (this.value && (this.type == 'text' || this.type == 'password'))
		{
			this.select();
		}
		else
		{
			this.parentNode.style.backgroundColor = 'transparent';
		}
	},

	move_next: function()
	{
		var o, r = false;
		for (var i = 0, L = STEP.fields[STEP.current].length; i < L; i++)
		{
			o = document.getElementById(STEP.fields[STEP.current][i]);
			if (o.value == '' || o.value == -1)
			{
				o.parentNode.style.backgroundColor = 'Red';
				r = true;
			}
		}

		if (!r)
		{
			document.getElementById('step' + STEP.current).style.display = 'none';
			if (STEP.current++ >= STEP.max)
			{
				STEP.current = STEP.max;
			}
			document.getElementById('step' + STEP.current).style.display = 'block';
		}
		else
		{
			alert('Please fill in the required fields');
		}
	},

	move_prev: function()
	{
		if (STEP.current != STEP.min)
		{
			document.getElementById('step' + STEP.current).style.display = 'none';
			document.getElementById('step' + --STEP.current).style.display = 'block';
		}
	},

	selectMonth: function(n)
	{
		n = parseInt(n, 10);
		if (n-- == -1)
		{
			n = 0;
		}
		var opt, v, o = document.getElementById('day');
		var m = [31, (new Date().getFullYear() % 4 == 0) ? 29 : 28, 31, 30, 31, 30, 31, 30, 30, 31, 30, 31];

		v = o.value;
		while (o.firstChild)
		{
			o.removeChild(o.firstChild);
		}

		opt = document.createElement('option');
    	opt.appendChild(document.createTextNode('Day'));
    	opt.value = -1;
    	opt.style.color = 'Gainsboro';
    	o.appendChild(opt);
		for (var i = 1, L = m[n]; i <= L; i++)
		{
	      	opt = document.createElement('option');
    	  	opt.appendChild(document.createTextNode((i < 10)?'0' + i:i));
      		opt.value = i;
     		o.appendChild(opt);
		}
		o.options[(v == -1 || v > m[n]) ? 0 : v].selected = 'selected';
	}
}

CALC = {
    summa: 0,
    months: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],

    init: function()
    {
        var o, m, y, d = new Date();
        y = d.getFullYear().toString().substr(2);
        y1 = d.getFullYear().toString();
        m = d.getMonth();
        //alert(m);
        for (var i = 0; i < 12; i++)
        {
            //m = m+1;
            o = document.getElementById('m[' + i + ']');
            o.value = ((m+1 < 10) ? '0'.concat(m+1) : m+1).toString().concat(y1);
            o.parentNode.appendChild(document.createTextNode(CALC.months[m] + ' ' + y));
            m++;
            if (m == 12 ) {
            	y = '0'.concat(++y);
            	y1++;
            	m = 0;
            }
            //m = (m == 12) ? (y = '0'.concat(++y), 0): m;
        }
    },

    add: function(id, n)
    {
        var o = document.getElementById(id);
        if (o.checked)
        {
            CALC.summa += n;
        }
        else
        {
            CALC.summa -= n;
        }
        document.getElementById('summa').firstChild.data = CALC.summa;
    }

}

PACKAGES = {
    click: function(n)
    {
        if (n in [0, 1, 2])
        {
            money = [20, 50, 150];
            CALC.summa = money[n];
            document.getElementById('summa').firstChild.data = CALC.summa;
            document.getElementById('type_package').value = n;
            document.getElementById('package').style.display = 'none';
		if(n == 0)
		{
			document.getElementById('it0').style.display = 'block';
			document.getElementById('it1').style.display = 'block';
		}
		else
		{
			document.getElementById('it0').style.display = 'none';
			document.getElementById('it1').style.display = 'none';
		}

		document.getElementById('package2').style.display = 'block';
		document.getElementById('pack'.concat(n)).style.display = 'block';
		CALC.init();
        }
    },

    enter: function()
    {
        document.getElementById('package2').style.display = 'none';
        document.getElementById('warn1').style.display = 'block';
    }
}
