
function init_dropdown(sel_id, but_id,  obj){
	YAHOO.util.Event.onAvailable(sel_id, function (){
	   obj.dd  = new YAHOO.widget.Button(but_id, {
	                                        type: "menu",
	                                        menu: sel_id });
		cmenu = obj.dd.getMenu();
		cmenu.subscribe('click', function(oArgs, item){
			srcEl = item[1].srcElement;
			//console.debug(srcEl);
			obj.dd.set('value',srcEl.value);
			obj.dd.set('label', srcEl.text);

		});
	});
}
window.btyme_but = {};
//init_dropdown("btyme", "btyme-button", window.btyme_but);

YAHOO.util.Event.onAvailable('newsl_radiogroup', function (){
	window.newsl_but = new YAHOO.widget.ButtonGroup("newsl_radiogroup");
});

/*
YAHOO.util.Event.onAvailable('postcode', function (){

	YAHOO.AdrCompleate = function() {
    // Use an XHRDataSource
    var oDS = new YAHOO.util.XHRDataSource("index.php");
    // Set the responseType
    oDS.responseType = YAHOO.util.XHRDataSource.TYPE_JSON;
    // Define the schema of the delimited results
    oDS.responseSchema = {
	    resultsList : "result",
        fields : ["name", "id"]
	};
    // Enable caching
    oDS.maxCacheEntries = 5;

    // Instantiate the AutoComplete

    var oAC = new YAHOO.widget.AutoComplete("postcode", "postcode-container", oDS);
	oAC.generateRequest = function(sQuery) {
	    return "?side=user&cl=newadd&act=search-postcode&q=" + sQuery ;
	};
	oAC.queryDelay = .5;
	return {
        oDS: oDS,
        oAC: oAC
    };
}();
});
*/
YAHOO.util.Event.onAvailable('agree', function (){
window.agree_but = new YAHOO.widget.Button('agree', { label: "&nbsp;" });
});

var handleSubmit = function() {
		$('phone').setValue($('phone').getValue().replace(" ", ""));
		var errs_str = [];
		var errs_els = [];
		var param_vals = {"id": -1,"act": "add_user", "side":"user", "cl":"newadd"};
		//var oElements = oElements = this.form.elements;
		if($('Username').getValue().trim() == ''){
			errs_str[errs_str.length] = "the username cannot be empty";
			errs_els[errs_els.length] = $('Username');
		}else{
			var el = $('Username');
			param_vals[el.name] = $(el).getValue();
		}
		var email_reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var _email = $('Email').getValue();
		if(!email_reg.test($('Email').getValue())){
			errs_str[errs_str.length] = "email must be valid.";
			errs_els[errs_els.length] = $('Email');
		}else{
			var el = $('Email');
			param_vals[el.name] = $(el).getValue();
		}
		if($('password').getValue().trim() == '' || $('password').getValue().trim().length < 6 ){
			errs_str[errs_str.length] = "password cannot be empty, and should be at least 6 characters length";
			errs_els[errs_els.length] = $('password');
		}else{
			var el = $('password');
			param_vals[el.name] = $(el).getValue();
		}

		if($('password').getValue() != $('password2').getValue()){
			errs_str[errs_str.length] = "passwords must match";
			errs_els[errs_els.length] = $('password2');
		}else{
			var el = $('password2');
			param_vals[el.name] = $(el).getValue();
		}

		if($('name').getValue().trim() == ''){
			errs_str[errs_str.length] = "name cannot be empty";
			errs_els[errs_els.length] = $('name');
		}else{
			var el = $('name');
			param_vals[el.name] = $(el).getValue();
		}

	/*	if($('address').getValue().trim() == ''){
			errs_str[errs_str.length] = "address cannot be empty";
			errs_els[errs_els.length] = $('address');
		}else{
			var el = $('address');
			param_vals[el.name] = $(el).getValue();
		}
		*/
		if($('postcode_reg').getValue().trim() == ''){
			errs_str[errs_str.length] = "postcode cannot be empty";
			errs_els[errs_els.length] = $('postcode_reg');
		}else{
			var el = $('postcode_reg');
			param_vals[el.name] = $(el).getValue();
		}
		var captcha = $("recaptcha_response_field");
		if(captcha.getValue().trim() == ''){
			errs_str[errs_str.length] = "Captcha cannot be empty";
			errs_els[errs_els.length] = captcha;
		}else{
			param_vals[captcha.name] = captcha.getValue();
		}

		var captcha_cel = $("recaptcha_challenge_field");
		param_vals[captcha_cel.name] = captcha_cel.getValue();


	    var phone_n = Main.checkUKTelephone($('phone').getValue());
        if(phone_n == false){
            errs_str[errs_str.length] = "please enter valid UK phone number";

	var telNumberErrors = new Array();
        telNumberErrors[0] = "Valid UK telephone number";
        telNumberErrors[1] = "Telephone number not provided";
        telNumberErrors[2] = "UK telephone number without the country code, please";
        telNumberErrors[3] = "UK telephone numbers should contain 10 or 11 digits";
        telNumberErrors[4] = "The telephone number should start with a 0";
        telNumberErrors[5] = "The telephone number you are trying to enter is invalid, please try entering an alternative number. Please note we are unable to accept 070 or 0845 numbers.";
        telNumberErrors[6] = "The telephone number you are trying to enter is invalid, please try entering an alternative number. Please note we are unable to accept 070 or 0845 numbers."


	if (telNumberErrors[ telNumberErrorNo ] != undefined)
            errs_str[errs_str.length] = telNumberErrors[ telNumberErrorNo ];



			errs_els[errs_els.length] = $('phone');
        }else {
            $('phone').setValue(phone_n);
			var el = $('phone');
			param_vals[el.name] = $(el).getValue();
        }
	//console.debug(window.agree_but);
	if(!window.agree_but.get('checked')){
		errs_str[errs_str.length] = "You must agree Terms of Use";
		errs_els[errs_els.length] = $('agree');
	}

	var buts = window.newsl_but.getButtons();
	if(!(buts[0].get('checked')||buts[1].get('checked'))){
		errs_str[errs_str.length] = "please set do you wish to receive newsletters and special offers";
		errs_els[errs_els.length] = $('regnewsletteryes');
	}else{
		nres = '0';
		if(buts[0].get('checked')){
			nres = 1;
		}
		param_vals['r[newsl]'] = nres;
	}

	if(report_errror(errs_els,errs_str)){
		Main.request("index.php", {
				parameters: param_vals,
				onSuccess: function(json, response){
				    if(json.error >0){
						report_errror(json.err_itm, json.err_str);
                    }else{
                        $('register-part').update("Thanks for registering with <a href='http://recycle.co.uk/'>Recycle.co.uk</a><br /><br />You are nearly ready to list your items for free. We have sent you an email to "+_email+" - please click the activation link in this email to activate your account.");
						$('register-part').style.height = "55px";

                    }
                },
				scope: this
			});
	}// end if


};
// reports errors in user interface
var report_errror = function(els, err_strs){
	var ret_res;
	d = YAHOO.util.Dom;
	// clear all the previouse error - matching
	all_els = d.getElementsByClassName('active-1');
	for(var i =0; i < all_els.length ; i++)
		d.removeClass(all_els[i], 'active-1');





	if(els.length > 0){
		ret_res = false;
		$('err-cont').style.display = 'block';
		$('err').update(err_strs.join('<br/>'));
		for(var i =0; i < els.length ; i++){
			par = d.getAncestorByClassName(els[i],'user-input');
				d.addClass(par, 'active-1');
		}

	}else{
		ret_res = true;
		$('err').update("");
		$('err-cont').style.display = 'none';
	}
return ret_res;
}

