
var models_load_timeout;
var models_ajax_running = false;
var models_timer_active = false;
var prev_manufacturer = 0;

var features_load_timeout;
var features_ajax_running = false;
var features_timer_active = false;
var prev_model = 0;

function button_disable() {
	$(this).click();
	$(this).attr('disabled', 'disabled');
}

var DoubleClickPreventHandler = function (){   
	$("#user-pass #edit-submit").mouseup(button_disable);
	$("#summary-verify #edit-submit").mouseup(button_disable);
    if(jQuery.browser.safari == true)  {
        $("#edit-device-manufacturer").removeAttr('onclick');
        $("#edit-device-manufacturer").removeAttr('onkeyup');

        $("#edit-device-model").removeAttr('onclick');
        $("#edit-device-model").removeAttr('onkeyup');

        $("#edit-device-manufacturer").change(function () {
            var dev_type = $("#edit-device-type-id").val();
            var dev_manufacturer = $("#edit-device-manufacturer > option:selected").val();
            if(prev_manufacturer == dev_manufacturer) {
                return;
            }
            prev_manufacturer = dev_manufacturer;
            var model=document.getElementById('edit-device-model');
            if(dev_manufacturer == 0) {
                clear_select(model);
                return;
            }
            document.getElementById('model_ajax_loader').className = 'ajax_loader_visible';
            model.disabled=true;
            clear_select(model);
            var models = $.get('?q=offer/get_models_js&dev_type='+dev_type+'&dev_manufacturer='+dev_manufacturer,
                setModels);
        });
        $("#edit-device-model").change(function () {
            var dev_type = $("#edit-device-type-id").val();
            var dev_manufacturer = $("#edit-device-manufacturer > option:selected").val();
            var dev_model = $("#edit-device-model > option:selected").val();

            $("#edit-submit").attr("disabled", "disabled");
            var questions_div = document.getElementById('feature_question');
            var model=document.getElementById('edit-device-model');
            var manufacturer=document.getElementById('edit-device-manufacturer');
            var feature_questions = $.get('?q=offer/get_feature_questions_js&dev_type='+dev_type+'&dev_manufacturer='+dev_manufacturer+'&dev_model='+dev_model, setFeatureQuestions);
        });
    }
}

function show_free_form_code(){
	if($("#edit-device-questions-54").val() == 284) {
		$("#free_form_code").slideDown();
	} else {
		$("#free_form_code").slideUp();
	}
}


//XXX since JavaScript can't into interfaces...
$(document).ready(function () {
    if(typeof DoubleClickPreventHandlerTMobile == 'function') {
        DoubleClickPreventHandlerTMobile();
    } else {
        DoubleClickPreventHandler();
    }
});



function doNext(el) {
	if (el.value.length < el.getAttribute('maxlength')) return;

	var f = el.form;
	var els = f.elements;
	var x, nextEl;
	for (var i=0, len=els.length; i<len; i++){
	x = els[i];
	if (el == x && (nextEl = els[i+1])){
		if (nextEl.focus) nextEl.focus();
		}
	}
}


//AJAX callbacks
var dev_type_id;
function LoadPropertiesForm(properties_form) {
	document.getElementById('properties_form'+dev_type_id).innerHTML = properties_form;
	document.getElementById('ajax_loader'+dev_type_id).className = 'markup_ajax_img_invisible';
	$("div.properties"+dev_type_id).slideDown("slow");
}

function setModels(models) {
        if(!models_timer_active) {
//            var model=document.getElementById('edit-device-model');
            var options = eval('('+models +')');
            
            $.each(options, function (index, model) {
                $("#edit-device-model").append(
                    $('<option></option>').val(model.id).html(model.name)
                );
            });
            
            $('#edit-device-model').removeAttr('disabled');
            $('#model_ajax_loader').removeClass('ajax_loader_visible');
            $('#model_ajax_loader').addClass('ajax_loader_invisible');
            models_timer_active = false;
        }
	models_ajax_running = false;
}

function setFeatureQuestions(feature_questions) {
	var questions_div = document.getElementById('feature_question');
	$("#edit-submit").attr("disabled", "");
	if(feature_questions == '0') {
		questions_div.innerHTML = '';
		return;
	} else {
		questions_div.innerHTML = feature_questions;
		return;
	}
}

function PrintRecyclingsTable(status_table) {
if(status_table == '0') {
				document.getElementById('message-error').innerHTML = '<div class="messages error"><ul><li>The email entered is not found in our database.</li></ul></div>';
				document.getElementById('status_ajax_loader1').className = 'ajax_loader_invisible';
				document.getElementById('edit-password').disabled = false;
				document.getElementById('edit-email').disabled = false;
			}else if(status_table == '1'){
				document.getElementById('message-error').innerHTML = '<div class="messages error"><ul><li>Invalid password.</li></ul></div>';
				document.getElementById('status_ajax_loader1').className = 'ajax_loader_invisible';
				document.getElementById('edit-password').disabled = false;
				document.getElementById('edit-email').disabled = false;
			} else {
				document.getElementById('status_ajax_loader1').className = 'ajax_loader_invisible';
				document.getElementById('edit-password').disabled = false;
				document.getElementById('edit-email').disabled = false;
				document.getElementById('status').innerHTML = status_table;
				document.getElementById('message-error').innerHTML = '';
				$("div.form-submit").hide();
				$("div.form-item").hide();
				$("div.or").hide();
				$("div.text_to_hide").hide();
				$("span.forgot_password").hide();
				$("div.status_table").slideDown("slow");
			}
}

function PrintStatusTable(status_table) {
	if(status_table == '0') {
		document.getElementById('message-error').innerHTML = '<div class="messages error"><ul><li>The Tracking # entered is invalid.</li></ul></div>';
		document.getElementById('status_ajax_loader').className = 'ajax_loader_invisible';
		document.getElementById('edit-dog-tag').disabled = false;
	} else {
		document.getElementById('status_ajax_loader').className = 'ajax_loader_invisible';
		document.getElementById('edit-dog-tag').disabled = false;
		document.getElementById('status').innerHTML = status_table;
		document.getElementById('message-error').innerHTML = '';
		$("div.form-submit").hide();
		$("div.form-item").hide();
		$("div.text_to_hide").hide();
		$("div.or").hide();
		$("span.forgot_password").hide();
		$("div.status_table").slideDown("slow");
	}
}

function EmailCheck(email_check) {
	if(email_check == '0') {
		advanced_show_hide('e-mail', 'customer_info');						
	}else if(email_check == 'session_clear') {
		window.location.href = 'start';
		return false;
	} else {
		document.getElementById('zip_loader').innerHTML = '';
		document.getElementById('customer-information').submit();
	}
}

var global_errors;

 function ZipCheck(zip_check) {
		if(zip_check == '0') 
		{
			global_errors +="<li>Please enter valid Zip Code.</li>";
		}

		if(zip_check == 'session_clear') 
		{
			window.location.href = 'start';
			return false;
		}
		
		if ( document.getElementById("edit-first-name").value.replace(/[ \t\r\n]*/g, "" ) == "" )
		{
			global_errors +="<li>Please enter your First Name.</li>";
		}
		if (document.getElementById("edit-last-name").value.replace(/[ \t\r\n]*/g, "") == "" )
		{
			global_errors +="<li>Please enter your Last Name.</li>";
		}
		if (document.getElementById("edit-address-1").value.replace(/[ \t\r\n]*/g, "") == "" )
		{
			global_errors +="<li>Please enter your Address.</li>";
		}
		if (document.getElementById("edit-city").value.replace(/[ \t\r\n]*/g, "") == "" )
		{
			global_errors +="<li>Please enter your City.</li>";
		}
		
		
		if (document.getElementById("edit-email").value.replace(/[ \t\r\n]*/g, "" ) == "" )
		{
			global_errors +="<li>Please enter your e-mail address.</li>";
		}
		
		var email_re = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/;
		if (!email_re.test(document.getElementById("edit-email").value))
		{
			global_errors +="<li>Invalid e-mail address.</li>";
		}
		
		if(document.getElementById("edit-email").value != document.getElementById("edit-confirm-email").value) {
			global_errors +="<li>Email addresses entered do not match.</li>";
		}
		
		global_errors += "</ul></div>";
		if(global_errors != '<div class="messages error"><a href="#" id="errors_anchor"></a><ul></ul></div>') {
			document.getElementById('message-error').innerHTML = global_errors;
			document.getElementById('errors_anchor').focus();
			$('#zip_loader').removeClass('zip-loader');
			return false;	
		} else {
			document.getElementById('message-error').innerHTML = '';
			var email_check = $.post('offer/email_security_check_js', {email:document.getElementById("edit-email").value}, EmailCheck);
				return true;
		}
}

function EmailLoginCheck(email_check) {
	var email = document.getElementById('edit-e-mail').value;
	if(email_check == '1') {
		document.getElementById("edit-email").value=email;
		document.getElementById('edit-e-mail').disabled=false;
		document.getElementById('e-mail_ajax_loader').className = 'ajax_loader_invisible';
		advanced_show_hide('password','e-mail');	
		return;
	} else if(email_check == '0') {
		set_tabindex();
		if(!customer_hack) {
			clear_customer();
		}
		if(document.getElementById("edit-email")) {
			document.getElementById("edit-email").value=email;
		}
		document.getElementById('edit-e-mail').disabled=false;
		document.getElementById('e-mail_ajax_loader').className = 'ajax_loader_invisible';
		advanced_show_hide('customer_info','e-mail');	
		return;
	} else if(email_check == '3') {
        document.getElementById('message-error').innerHTML = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul><li>Please, login <a href="?q=in-store">here</a></li></ul></div>';
		document.getElementById('errors_anchor').focus();
        document.getElementById('edit-e-mail').disabled=false;
		document.getElementById('e-mail_ajax_loader').className = 'ajax_loader_invisible';
        return;
    } else if(email_check == '4') {
        document.getElementById('message-error').innerHTML = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul><li>Please, login <a href="?q=user/ccr">here</a></li></ul></div>';
		document.getElementById('errors_anchor').focus();
        document.getElementById('edit-e-mail').disabled=false;
		document.getElementById('e-mail_ajax_loader').className = 'ajax_loader_invisible';
        return;
    } else if(email_check == '5') {
        document.getElementById('message-error').innerHTML = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul><li>Your account has been disabled at <a href="http://sonystyle.com/">sonystyle.com</a>. Please contact <a href="http://sonystyle.com/">sonystyle.com</a> at 1-877-731-7669 or by email at sonystyle@custhelp.com for assistance with your Account.</li></ul></div>';
        document.getElementById('errors_anchor').focus();
        document.getElementById('edit-e-mail').disabled=false;
        document.getElementById('e-mail_ajax_loader').className = 'ajax_loader_invisible';
        return;
    } else {
		populate_customer(email_check);
		set_tabindex();
		document.getElementById('edit-e-mail').disabled=false;
		document.getElementById('e-mail_ajax_loader').className = 'ajax_loader_invisible';
		advanced_show_hide('customer_info','e-mail');
		return;
	}
}

function ChangeRewardsToken(rewards_token){
	var form = document.getElementById('rewards-form');
	var token = document.createElement("INPUT");
	token.setAttribute("id","edit-rewards-form-form-token");
	token.setAttribute("type","hidden");
	token.setAttribute("name","form_token");
	token.setAttribute("value",rewards_token);
	//form.appendChild(token);
}

function ChangeCustomerToken(customer_token){
	var form = document.getElementById('customer-information');
	var token = document.createElement("INPUT");
	token.setAttribute("id","edit-customer-information-form-token");
	token.setAttribute("type","hidden");
	token.setAttribute("name","form_token");
	token.setAttribute("value",customer_token);
	form.appendChild(token);
}

function DrupalLogin(success) {
	if(success == 'false') {
		document.getElementById('message-error').innerHTML = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul><li>Please, enter password that accompanies your E-mail</li></ul></div>';
		document.getElementById('edit-member-password').disabled=false;
		document.getElementById('password_ajax_loader').className = 'ajax_loader_invisible';
		document.getElementById('errors_anchor').focus();
		return;
	} else {
		document.getElementById('message-error').innerHTML = '';
		try {eval("var output = " + success);} catch (e) {return false;}
		if(output['sony_soap_error']) {
			document.getElementById('message-error').innerHTML = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul><li>'+output['sony_soap_error']+'</li></ul></div>';
			document.getElementById('edit-member-password').disabled=false;
			document.getElementById('password_ajax_loader').className = 'ajax_loader_invisible';
			document.getElementById('errors_anchor').focus();
			return;
		}
		var rewards_token = $.post('offer/form_token', {id:'rewards_form'},ChangeRewardsToken);
		var customer_token = $.post('offer/form_token', {id:'customer_information'},ChangeCustomerToken);
		populate_customer(success);
		set_tabindex();
		document.getElementById('edit-member-password').disabled=false;
		document.getElementById('password_ajax_loader').className = 'ajax_loader_invisible';
		advanced_show_hide('customer_info','password');
		// Hide checkbox if user registered before
		if (document.getElementById('NEWSLETTER_AT_REGISTER'))
			document.getElementById('NEWSLETTER_AT_REGISTER').style.display = 'none';
        $("div.learned_form").html('');
		return;
	}
	
}

function ups_link_result(link_ajax){
	if(link_ajax == 2 || link_ajax == 0 || link_ajax == 1) {
		$("#ups_link").removeClass('small-loader');
		document.getElementById('ups_link').innerHTML = 'Sorry, but the address you entered is not found in the UPS database.';
	} else {
		link=link_ajax;
		$("#ups_link").removeClass('small-loader');
		document.getElementById('ups_link').innerHTML = '<a href="javascript:ups_page()" class="red-link">Click here for the list of nearest drop-off locations.</a>';
	}
}

function show_hide(id, img, url) {
	document.getElementById('message-error').innerHTML = '';
	if(i!=0) {
		document.getElementById('dev_type_img'+i).src = img+i+'.jpg';
	}
	document.getElementById('dev_type_img'+id).src = img+id+'_checked.jpg';

	if(!show && i==id) {	
		$("div.properties"+id).slideUp("slow");
		document.getElementById('dev_type_img'+id).src = img+id+'.jpg';
		show=true;
		return;
	} else if(show && i==id) {
		$("div.properties"+id).slideDown("slow");
		show = false;
		return;
	} else if(i==0 && show) {
		ajaxLoad(id, url);
		show = false;
		i=id;
		return;
	} else if(i!=id && show) {
		ajaxLoad(id, url);
		show = false;
		if(document.getElementById('properties_form'+i)) {
			document.getElementById('properties_form'+i).innerHTML = '';
		}
		i=id;
	} else if(i!=id && !show) {
		$("div.properties"+i).slideUp("slow");
		ajaxLoad(id, url);
		show = false;
		if(document.getElementById('properties_form'+i)) {
			document.getElementById('properties_form'+i).innerHTML = '';
		}
		i=id;
		return;
	}
	
	
}

function advanced_show_hide(show, hide) {
	if(rewards_hardcode) {
		document.getElementById('message-error').innerHTML = '';
		if(show == 'e-mail' || show == 'customer_info') {
			$("#item_3").attr('id', 'active_3');
			$("#active_2").attr('id', 'item_2');
			$("#item_1").attr('id', 'empty_i');
			$("#m_3_item").attr('id', 'active_3');
		}
		if(show == 'choose_rewards') {
			$("#item_2").attr('id', 'active_2');
			$("#active_3").attr('id', 'item_3');
    		$("#empty_i").attr('id', 'item_1');
			$("#active_3").attr('id', 'm_3_item');

		}
		$("div."+hide).slideUp("slow");
		$("div."+show).slideDown("slow");
	}
}

function ajaxLoad(id, url) {
	dev_type_id = id;
	document.getElementById('ajax_loader'+id).className = 'markup_ajax_img_visible';
	var properties_form = $.get(url, LoadPropertiesForm);
	return;
}

function clear_select(clear_obj) {
	var j=0;
	var length=0;
	length = clear_obj.length;
	for(j=length; j!=0; j--){
		clear_obj.remove(j);
	}
}




function ajaxChangeManufacturer(event, dev_type,dev_manufacturer) {
    if(prev_manufacturer != dev_manufacturer) {
		$('#model_ajax_loader').addClass('ajax_loader_visible');
		var model=document.getElementById('edit-device-model');
		model.disabled=true;
                $("#edit-device-model > option[value!='0']").remove();
                if(dev_manufacturer != '0') {
                    if(event == null) {
                        models_ajax_running = true;
                        var models = $.get('?q=offer/get_models_js&dev_type='+dev_type+'&dev_manufacturer='+dev_manufacturer,
                        setModels);
                    } else {
                        if(event.keyCode == 38 || event.keyCode == 40) {
                            models_timer_active = true;
                            models_load_timeout = setTimeout("modelsLoad("+dev_type+", "+dev_manufacturer+")", 3000);
                        }
                    }
                } else {
                    $('#edit-device-model').removeAttr('disabled');
                    $('#model_ajax_loader').removeClass('ajax_loader_visible');
                    $('#model_ajax_loader').addClass('ajax_loader_invisible');
                }
    }
    prev_manufacturer = dev_manufacturer;
}

function modelsLoad(dev_type, dev_manufacturer) {
    models_timer_active = false;
    if(dev_manufacturer == $('#edit-device-manufacturer > option:selected').val()) {
        models_ajax_running = true;
        var models = $.get('?q=offer/get_models_js&dev_type='+dev_type+'&dev_manufacturer='+dev_manufacturer,
                            setModels);
    }
}

function ajaxGetFeatureQuestions(event, id,dev_manufacturer,dev_model) {
    if(dev_model != prev_model) {
	$("#edit-submit").attr("disabled", "disabled");
	var questions_div = document.getElementById('feature_question');
	var model=document.getElementById('edit-device-model');
	var manufacturer=document.getElementById('edit-device-manufacturer');
	if(event == null) {
            features_ajax_running = true;
            var feature_questions = $.get('?q=offer/get_feature_questions_js&dev_type='+id+'&dev_manufacturer='+dev_manufacturer+'&dev_model='+dev_model, setFeatureQuestions);
        } else {
             if(event.keyCode == 38 || event.keyCode == 40) {
                 features_timer_active = true;
                 features_load_timeout = setTimeout("featureQuestionsLoad("+id+","+dev_manufacturer+","+dev_model+")", 3000);
             }
        }
    }
    prev_model = dev_model;
    return;
}

function featureQuestionsLoad(id,dev_manufacturer,dev_model) {
    features_timer_active = false;
    if(dev_model == $('#edit-device-model > option:selected').val()) {
        features_ajax_running = true;
        var feature_questions = $.get('?q=offer/get_feature_questions_js&dev_type='+id+'&dev_manufacturer='+dev_manufacturer+'&dev_model='+dev_model, setFeatureQuestions);
    }
}

function ajaxRewardSubmit() {
	document.getElementById('message-error').innerHTML = '';
	var errors = '';
	errors = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul>';
	var reward_id = $(":radio:checked").val();
    try {
        if ($(":checkbox:checked").attr('id') != "edit-agree-"+reward_id)
        {
            var checkbox_html = $("table.rewards_table > tbody > tr > td:has(input#edit-agree-"+reward_id+")").html();
            var checkbox_text = checkbox_html.replace(/<(input|INPUT) [a-z="\-0-9 \/]{1,}>/g, "");
            if(checkbox_text == 'I understand that I will not receive my eCoupon until you receive my current Reader as trade-in**') {
                errors += "<li>You must confirm that you understand that you will not recieve your eCoupon until we receive your current Reader as trade-in**</li>";
            }else if(checkbox_text == 'I understand to receive the full $75 value I must include qualifying proof of purchase with trade-in***'){
                errors += "<li>You must confirm that you understand that to recieve the full $75 value you must include qualifying proof of purchase with trade-in***</li>";
            } else if($("#edit-jan-2011-campaign-marker").val() == '1') {
                errors += "<li>You must confirm that you understand that you will receive an eCoupon for the amount stated above immediately upon receipt and verification of my trade-in item. ECoupon can be redeemed during checkout at www.sony.com. The remaining trade-in amount will be provided on a Sony Style Gift Card that is mailed within 2 weeks of receipt and verification of my item. </li>";
            } else if(jQuery.trim(checkbox_text) == 'Customer agrees to this reward choice') {
                errors += "<li>Customer must agree for this reward choise.</li>";
            } else {
                checkbox_text = checkbox_text.replace(/<(br|BR) ?\/?>/g," ");
                errors += "<li>"+checkbox_text.replace(/[Ii]{1} agree/g, "You must agree")+"</li>";
            }
            
            $("#edit-agree").addClass('error');
        }
    } catch(e) {
        ;
    }
	
	errors += "</ul></div>";
	if(errors != '<div class="messages error"><a href="#" id="errors_anchor"></a><ul></ul></div>') {
		document.getElementById('message-error').innerHTML = errors;
		document.getElementById('errors_anchor').focus();
		rewards_hardcode = false;
		return false;	
	} else {
		rewards_hardcode = true;
		document.getElementById('message-error').innerHTML = '';
		$("#edit-agree").removeClass('error');
		var reward_form = document.getElementsByName('reward');
		var length = reward_form.length;
		if(length != 0) {
			for(var i=0;i<length; i++) {
				if(reward_form[i].checked) {
					id = reward_form[i].value;
				}
			}
			document.getElementById('edit-reward-id').value = id;
		} else {
			return;
		}
	}
	
}

function getFormValues(form_id) {
    var form_values = {};
    
    $("form#"+form_id+" input,select").each(function (i) {
        if($(this).attr('type') == 'radio') {
            if($(this).attr('checked')) {
                form_values[$(this).attr('name')] = $(this).val();
            }
        } else if($(this).attr('type') == 'hidden' && $(this).val() == '0') {
            ;
        } else {
            if($(this).is('select')) {
                value = $(this).children("option:selected").val();
            } else {
                value = $(this).val()
            }
            form_values[$(this).attr('name')] = value;
        }
    });
    
    return form_values;
}

var device_properties_form_validated = false;

function validateForm(form_name) {

	document.getElementById('message-error').innerHTML = '';
	var errors = '';
	errors = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul>';

	if(form_name == 'properties') {
            if(device_properties_form_validated) {
                return true;
            }
            $("#device-properties-ajax-form input,select").removeClass('error');
            $("#message-error").html('');
            $.post('?q=offer/device_form_validate_js', getFormValues('device-properties-ajax-form'), function (res) {
                if(res == 'null') {
                    return true;
                }
                try {
                    var errors = eval('('+res+')');
                } catch(e) {
                    return false;
                }
                
                if(errors.length > 0) {
                    $("#message-error").append('<a id="errors_anchor" href="#"></a>');
                    $("#message-error").append('<div class="messages error"></div>');
                    $("#message-error div.error").append('<ul></ul>');
                    for(i in errors) {
                        $("#message-error div.error ul").append('<li>'+errors[i].error+'</li>');
                        $("[name='"+errors[i].name+"']").addClass('error');
                    }
                    document.getElementById('errors_anchor').focus();
                    return false;
                } else {
                    device_properties_form_validated = true;
                    document.getElementById('device-properties-ajax-form').submit();
                }
            });
            
            return device_properties_form_validated;
	} else if(form_name == 'customer') {
		
		function getElValue(el) {
			switch(el.tagName) {
				case 'TEXTAREA':
				case 'SELECT':
				case 'INPUT':
					if (el.type=='checkbox')
						return el.checked ? 1 : 0;
					return el.value;
			}
			return null;
		}
		document.getElementById('message-error').innerHTML = '';

		// validate form data
		form = document.getElementById('customer-information');
		post = {};
		var e, el;
		for (e in form.elements) {
			el = form.elements[e];
			if (el) {
				$('#' + el.id).removeClass('error');
				post[el.name] = getElValue(el);
			}
		}
		$.post('offer/form_validate_js', post, function(errors){
			try {eval("json = " + errors);} catch (e) {return false;}
			errors = '';
			if (json.total>0){
				var er = json.customer_errors;
				for (e in er) {
					$('#' + form[e].id).addClass('error');
					errors += "<li>" + er[e] + "</li>";
				}
				var er = json.shipper_errors;
				for (e in er) {
					$('#' + form['shipper[' + e + ']'].id).addClass('error');
					errors += "<li>" + er[e] + "</li>";
				}
				document.getElementById('message-error').innerHTML =
					'<div class="messages error"><a href="#" id="errors_anchor"></a><ul>' + errors + '</ul></div>';
				// document.getElementById('errors_anchor').focus();
				return false;
			} else {
				shipper_form_enable(true);
				if (form.submit)
				form.submit();
			}
		});
		return false;
	}
	global_errors = errors;
}

function shipper_form_enable(pre_submit) {
	if($("#edit-not-shipper").attr('checked')) {
		if (pre_submit) {
			$("input[name*='shipper']").removeAttr('disabled');
			$("select[name*='shipper']").removeAttr('disabled');
			$("#edit-shipper-check").removeAttr('disabled');
		} else {
			$("input[name*='shipper']").attr('disabled', 'disabled');
			$("select[name*='shipper']").attr('disabled', 'disabled');
			$("#edit-shipper-check").removeAttr('disabled');
		}

		$("#edit-shipper-first-name").val($("#edit-first-name").val());
		$("#edit-shipper-last-name").val($("#edit-last-name").val());
		$("#edit-shipper-city").val($("#edit-city").val());
		$("#edit-shipper-phone-number-1").val($("#edit-phone-number-1").val());
		$("#edit-shipper-phone-number-2").val($("#edit-phone-number-2").val());
		$("#edit-shipper-phone-number-3").val($("#edit-phone-number-3").val());
		$("#edit-shipper-address-1").val($("#edit-address-1").val());
		$("#edit-shipper-address-2").val($("#edit-address-2").val());
		$("#edit-shipper-zip-code").val($("#edit-zip-code").val());
		$("#edit-shipper-state").val($("#edit-state").val());
        $("#edit-not-shipper").removeAttr('disabled');
	} else {
		if (!pre_submit) {
			$("input[name*='shipper']").removeAttr('disabled');
			$("select[name*='shipper']").removeAttr('disabled');
			$("#edit-shipper-check").removeAttr('disabled');

			$("#edit-shipper-first-name").val('');
			$("#edit-shipper-last-name").val('');
			$("#edit-shipper-city").val('');
			$("#edit-shipper-phone-number-1").val('');
			$("#edit-shipper-phone-number-2").val('');
			$("#edit-shipper-phone-number-3").val('');
			$("#edit-shipper-address-1").val('');
			$("#edit-shipper-address-2").val('');
			$("#edit-shipper-zip-code").val('');
			$("#edit-shipper-state").val('AE');
		}
	}
}

function email_validate(email) {
	if(email=='') {
		document.getElementById('message-error').innerHTML = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul><li>Please, enter your E-mail</li></ul></div>';
		document.getElementById('errors_anchor').focus();
		return;
	}
	
	var email_re = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/;
	if (!email_re.test(email))
	{	
		document.getElementById('message-error').innerHTML = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul><li>Invalid e-mail address.</li></ul></div>';
		document.getElementById('errors_anchor').focus();
		return;
	}

	email_g = email;
	document.getElementById('edit-e-mail').disabled=true;
	document.getElementById('e-mail_ajax_loader').className = 'ajax_loader_visible';
	var email_check = $.post('offer/email_check_js', {email:email}, EmailLoginCheck);
}

function populate_customer(customer_info) {
	// customer_info = customer_info.split(',');
	try {eval(" customer_info = " + customer_info);} catch (e) {return false;}
	if(customer_info[0] != ' ') {
        for(var i in customer_info) {
            if(customer_info[i] == 'null') {
                customer_info[i] = '';
            }
        }
		document.getElementById("edit-first-name").value=customer_info['first_name'];
		document.getElementById("edit-last-name").value=customer_info['last_name'];
		document.getElementById("edit-address-1").value=customer_info['address_1'];
		document.getElementById("edit-address-2").value=customer_info['address_2'];
		document.getElementById("edit-phone-number-1").value=customer_info['phone_number_1'];
		document.getElementById("edit-phone-number-2").value=customer_info['phone_number_2'];
		document.getElementById("edit-phone-number-3").value=customer_info['phone_number_3'];
		document.getElementById("edit-city").value=customer_info['city'];
		document.getElementById("edit-zip-code").value=customer_info['zip_code'];
		document.getElementById("edit-email").value=customer_info['email'];
		document.getElementById("edit-confirm-email").value=customer_info['email'];
	}
	
}
function clear_customer() {
	if(document.getElementById("edit-first-name")) {
		document.getElementById("edit-first-name").value='';
		document.getElementById("edit-last-name").value='';
		document.getElementById("edit-address-1").value='';
		document.getElementById("edit-address-2").value='';
		document.getElementById("edit-phone-number-1").value='';
		document.getElementById("edit-phone-number-2").value='';
		document.getElementById("edit-phone-number-3").value='';
		document.getElementById("edit-city").value='';
		document.getElementById("edit-zip-code").value='';
		document.getElementById("edit-email").value='';
		document.getElementById("edit-confirm-email").value='';
	}
	
}

function set_tabindex() {
//	if(document.getElementById("edit-first-name")) {
//		document.getElementById("edit-first-name").tabIndex = 1;
//		document.getElementById("edit-last-name").tabIndex = 2;
//		document.getElementById("edit-address-1").tabIndex = 8;
//		document.getElementById("edit-address-2").tabIndex = 9;
//		document.getElementById("edit-city").tabIndex = 10;
//		document.getElementById("edit-email").tabIndex = 3;
//		document.getElementById("edit-confirm-email").tabIndex = 4;
//		document.getElementById("edit-phone-number-1").tabIndex = 5;
//		document.getElementById("edit-phone-number-2").tabIndex = 6;
//		document.getElementById("edit-phone-number-3").tabIndex = 7;
//		document.getElementById("edit-zip-code").tabIndex = 11;
//	}
}

function login(password) {
	if(password=='') {
		document.getElementById('message-error').innerHTML = '<div class="messages error"><a href="#" id="errors_anchor"></a><ul><li>Please, enter your Password</li></ul></div>';
		document.getElementById('errors_anchor').focus();
		return;
	}
	document.getElementById('edit-member-password').disabled=true;
	document.getElementById('password_ajax_loader').className = 'ajax_loader_visible';
	var drupal_login = $.post('offer/member_login_js',{email:email_g,pass:password}, DrupalLogin);
}

function check_my_status() {
	if(document.getElementById('edit-dog-tag').value == '' && document.getElementById('edit-email').value == '' && document.getElementById('edit-password').value == '') {
		document.getElementById('message-error').innerHTML = '<div class="messages error"><ul><li>Please enter Tracking# or e-mail and password.</li></ul></div>';
		return;
	}else if(document.getElementById('edit-dog-tag').value != '' && document.getElementById('edit-email').value != '') {
		document.getElementById('message-error').innerHTML = '<div class="messages error"><ul><li>Please enter Tracking# <b>OR</b> e-mail and password.</li></ul></div>';
		return;
	}
	if(document.getElementById('edit-email').value != '') {
		var email_re = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/;
		if(email_re.test(document.getElementById('edit-email').value)) {
			if(document.getElementById('edit-password').value == '') {
				document.getElementById('message-error').innerHTML = '<div class="messages error"><ul><li>Please enter password for this email.</li></ul></div>';
				return;
			}
			document.getElementById('status_ajax_loader1').className = 'ajax_loader_visible';
			document.getElementById('edit-password').disabled = true;
			document.getElementById('edit-email').disabled = true;
			var status_table = $.post('?q=get_status_table',{email:document.getElementById('edit-email').value,pass:document.getElementById('edit-password').value}, PrintRecyclingsTable);
		} else {
			document.getElementById('message-error').innerHTML = '<div class="messages error"><ul><li>Please enter valid email.</li></ul></div>';
			return;
		}
	} else if(document.getElementById('edit-dog-tag').value != '') {
			document.getElementById('status_ajax_loader').className = 'ajax_loader_visible';
			document.getElementById('edit-dog-tag').disabled = true;
			var status_table = $.get('?q=get_status_table&dog_tag='+document.getElementById('edit-dog-tag').value, PrintStatusTable);
	}
	
}
function EnterSubmit(e, callback, callback_arguments){
	var keynum;
	if(window.event) 
	{
		keynum = e.keyCode;
	}
	else if(e.which)
	{
		keynum = e.which;
	}
	if(keynum==13) {
//XXX in-store
//		switch(callback) {
//			case 'check_my_status':
//				check_my_status();
//				break;
//			case 'login':
//				login(callback_arguments[0]);
//				break;
//			case 'email_validate':
//				email_validate(callback_arguments[0]);
//				break;
//			case 'ajaxRewardSubmit':
//				ajaxRewardSubmit();
//				break;
//			case 'advanced_show_hide':
//				advanced_show_hide(callback_arguments[0], callback_arguments[1]);
//				break;
//			case 'click':
//				document.getElementById(callback_arguments[0]).click();
//				break;
//		}
        var args_array = new Array();
        if(callback_arguments.length > 0) {
            for(var i = 0; i < callback_arguments.length; i++) {
                args_array[i] = 'callback_arguments['+i+']';
            }
            eval(callback+'('+args_array.join(', ')+');');
        } else {
            eval(callback+'();');
        }
	}
}



var link = 666;

function ups_page() {
	window.open(link, "UPS_Locator", "status=no,toolbar=no, menubar=yes, height=800, width=610, scrollbars=1");
}

function ajax_ups_link_get(address, city, state, zip, key) {
	document.getElementById('ups_link').innerHTML = 'Loading the list of nearest drop-off locations';
	$("#ups_link").addClass('small-loader');
	setTimeout("ajax_timeout()",25000);
	var link_ajax = $.post('ups_page.php', {address: address, city: city, state: state, zip: zip, key: key},ups_link_result);
}

function ajax_timeout() {
	if(document.getElementById('ups_link').innerHTML == 'Loading the list of nearest drop-off locations') {
		document.getElementById('js_exception').innerHTML = 'timeout';
		$("#ups_link").removeClass('small-loader');
		document.getElementById('ups_link').innerHTML = 'Sorry, but the address you entered is not found in the UPS database.'
	}
}
