//Username / Password fields
jQuery(document).ready(function(){

	jQuery('#username, #password').bind('focus', function(){

		if( this.id == 'username' && jQuery(this).val() == 'email' ){
			jQuery(this).val('');
		}

		if( this.id == 'password' && jQuery(this).val() == 'password' ){
			jQuery(this).val('');
		}

	});

	jQuery('#username, #password').bind('blur', function(){

		if( this.id == 'username' && jQuery(this).val() == '' ){
			jQuery(this).val('email');
		}

		if( this.id == 'password' && jQuery(this).val() == '' ){
			jQuery(this).val('password');
		}

	});

	jQuery("#youtube_link").colorbox({ inline:true, href:"#youtube_embed"});
        jQuery("#youtube_link_2").colorbox({ inline:true, href:"#youtube2_embed"});
        jQuery("#youtube_link_3").colorbox({ inline:true, href:"#youtube3_embed"});

});



//OLD SHONKY PROTOTYPE CODE from here - bleurgh!

Event.observe(window, 'load', function()
{
    var init = new Common();
});

var Common = Class.create(
{
    initialize: function()
    {
        /* Iterates through all anchor tags on the page */
        $$('a').each(function(a)
            {
                if(a.getAttribute('rel') == 'external')
                {
                    a.target = '_blank';
                }
                
                if(a.getAttribute('href'))
                {
                    //var hashOnly = /^#(.*)$/;
                    if((a.href.indexOf('#') != -1) && (a.getAttribute('rel') == 'self'))
                    //if(a.href.match(hashOnly))
                    {
                        href            = a.href;
                        a.href          = 'javascript:;';
                        this.bindScroll = this.scroll.bindAsEventListener(this, href);
                        
                        Event.observe(a, 'click', this.bindScroll);
                    }
                }
                
                if(a.getAttribute('rel') == 'confirm')
                {
                    if(a.hasAttribute('title'))
                    {
                        confirmText      = a.title;
                        a.title          = '';
                        href             = a.href;
                        a.href           = 'javascript:;';
                        this.bindConfirm = this.confirm.bindAsEventListener(this, confirmText, href);
                        
                        Event.observe(a, 'click', this.bindConfirm); 
                    }
                }
                
            }.bind(this)
        );
        
        $$('ol[class^=start-at]').each(function(ol)
            {
                var className = ol.className;
                var startAt   = className.charAt(className.length - 1);
                
                ol.start = startAt;
            }
        );


		$$('#container #content-right .black-box .black-box-middle div submit').each(function(submit)
            {
				this.bindClick = this.click.bindAsEventListener(this);
                Event.observe(submit, 'click', this.bindClick);
                alert();
            }
        );

		//cache this img
		var savingImage = new Image();
		savingImage.src = "/assets/images/saving.jpg";


    },
    
    confirm: function(event, confirmText, href)
    {
        if(!confirm(confirmText))
        {
            return false;
        }
        else
        {
            window.location = href;
        }
    },
    
    scroll: function(event, href)
    {     
        targetElement = $(href.substr(href.indexOf('#') + 1));
        
        return new Effect.ScrollTo(targetElement);
    } 
});
	

var Form_Controls = Class.create();
Form_Controls.prototype = 
{
    form: null,
    
    initialize: function(formId, options)
    {
        this.form = formId;
        
        this.setOptions(options);
        Event.observe(window, 'load', this.initialiseFields.bind(this));
        //Event.observe($(this.form), 'submit', this.disabledFields.bind(this))
    },
    
    initialiseFields: function()
    {
        $$('#' + this.form + ' input').each(function(field)
            {
                if(field.hasAttribute('alt') && field.value == '')
                {
                    field.addClassName(this.options.altStateClass);
                    field.value = field.readAttribute('alt');
                    
                    Event.observe(field, 'focus', this.toggleValue.bindAsEventListener(this));
                    Event.observe(field, 'blur', this.toggleValue.bindAsEventListener(this));
                }
            }.bind(this)
        );
    },
    
    disabledFields: function()
    {
        $$('#' + this.form + ' input, #' + this.form + ' select').each(function(field)
            {
                field.disable();
                
            }.bind(this)
        );
    },
    
    toggleValue: function(field)
    {
        var element = Event.element(field);
        
        if(element.readAttribute('alt') == element.value)
        {
            element.removeClassName(this.options.altStateClass);
            element.value = '';
        }
        
        /* Need to check for white space here */
        else if(element.value.replace(/^\s*(.*?)\s*$/, "$1") == '')
        {
            element.addClassName(this.options.altStateClass);
            element.value = element.readAttribute('alt');
        }
    },
    
    setOptions: function(options)
    {
        this.options = 
        {
            altStateClass: 'defaultValue' // The class of input field when the alt text is in the value.
        }
        
        Object.extend(this.options, options || {}); // Overwrites the defaults with those supplied.
    }
};

function submitSignup(){

	var inputs = $$('#signup input');
	
	if( inputs[3].value == 'Enter email address' ){
		alert('Please enter your email address'); return false;
	}
	if( inputs[3].value.length < 4 ){
		alert('Please enter a valid email address'); return false;
	}
	if( !emailIsValid(inputs[3].value) ){
		alert('Please enter a valid email address'); return false;
	}
	if( inputs[4].checked == false && inputs[5].checked == false ){
		alert('Please choose Hair, Beauty or both'); return false;
	}
	if (inputs[4].checked && inputs[5].checked) {
	    document.getElementById('addressbookid').value = '444171';
	}
	if (inputs[4].checked && !inputs[5].checked) {
	    document.getElementById('addressbookid').value = '390213';
	}
	if (inputs[5].checked && !inputs[4].checked) {
	    document.getElementById('addressbookid').value = '390214';
	}
	
	inputs[7].addClassName('signup-btn-saving');
	inputs[7].disabled = 'disabled';

	return true;
}

//From w3 schools...
function emailIsValid(email)
{
  apos=email.indexOf("@");
  dotpos=email.lastIndexOf(".");
  lastpos = email.length-1;
    
  if ( apos<1 || dotpos-apos<2 || dotpos==lastpos ){
	  return false;
  } else {
	  return true;
  }
}
