$ef(document).ready(function()	
	{
		var shortPass = false;
		var badPass = false;
		var goodPass = true;
		var strongPass = true;
		function passwordStrength(password, username) {
		    score = 0
		    if (password.length < 4) { return shortPass }
		    if (password.toLowerCase() == username.toLowerCase()) return badPass
		    score += password.length * 4
		    score += (checkRepetition(1, password).length - password.length) * 1
		    score += (checkRepetition(2, password).length - password.length) * 1
		    score += (checkRepetition(3, password).length - password.length) * 1
		    score += (checkRepetition(4, password).length - password.length) * 1
		    if (password.match(/(.*[0-9].*[0-9].*[0-9])/)) score += 5
		    if (password.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) score += 5
		    if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) score += 10
		    if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) score += 15
		    if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([0-9])/)) score += 15
		    if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([a-zA-Z])/)) score += 15
		    if (password.match(/^\w+$/) || password.match(/^\d+$/)) score -= 10
		    if (score < 0) score = 0
		    if (score > 100) score = 100
		    if (score < 34) return badPass
		    if (score < 68) return goodPass
		    return strongPass
		}
		function checkRepetition(pLen, str) {
		    var res = "";
		    for (i = 0; i < str.length; i++) {
		        repeated = true;
		        for (j = 0; j < pLen && (j + i + pLen) < str.length; j++)
		            repeated = repeated && (str.charAt(j + i) == str.charAt(j + i + pLen));
		        if (j < pLen) repeated = false;
		        if (repeated) {
		            i += pLen - 1;
		            repeated = false;
		        }
		        else {
		            res += str.charAt(i);
		        }
		    }
		    return res;
		}
	function step1IsValid() {
		var returnFlag = true;
		if("" == $ef("#txtName").val())
		{
			returnFlag = false;
			$ef("#errName").show();
		}
		else
		{
			$ef("#errName").hide();
		}
		if("" == $ef("#txtTelephone").val())
		{
			returnFlag = false;
			$ef("#errPhone").show();
		}
		else
		{
			$ef("#errPhone").hide();
		}
		if(null == $ef("#txtEmail").val().match(/[\w\.-]+(\+[\w-]*)?@([\w-]+\.)+[\w-]+/))
		{
			returnFlag = false;
			$ef("#errEmail").show();
		}	
		else
		{
			$ef("#errEmail").hide();
		}
	return returnFlag;
	}
	
	function validateSignUp() {
		$ef('p.message').hide();
		var signupUrl = "/Products/SignUp.ashx";
		var returnFlag = true;
		var passed = true;
		var emailAdd = $ef('#txtEmail2')[0].value;
		var websiteID = $ef('#address')[0].value.replace(/[^A-Za-z0-9]/g, "");
		$ef('#address')[0].value = websiteID;
		if (websiteID != "") {
            $ef.get(signupUrl, { Action: "CheckWebsite", WebsiteID: websiteID }, function(data) {
                if (data == "True") {
                } else {
                    $ef('#addressFail').fadeIn("500");
                }
            });
        }
		if (emailAdd.match(/[\w\.-]+(\+[\w-]*)?@([\w-]+\.)+[\w-]+/) == null) {
            passed = false;
			returnFlag = false;
            $ef('#errEmail2').fadeIn("500");
        }
		if (passed) {
            $ef.get(signupUrl, { Action: "CheckEmail", Email: emailAdd }, function(data) {
                if (data == "True") {
                } else {
					returnFlag = false;
                    $ef('#errEmailDup').fadeIn("500");
                }
            });
        }
        if ($ef('#password1')[0].value != $ef('#password2')[0].value) {
            returnFlag = false;
			$ef('#pMatch').fadeIn("500");
		}
        else if ($ef('#password1')[0].value == "" && $ef('#password2')[0].value == "") {
            returnFlag = false;
			$ef('#pPassword').fadeIn("500");
		}
        else {
            $ef('#pMatch').hide();
        }
		if(!$ef('#chkTerms')[0].checked) {
			returnFlag = false;
            $ef('#pTerms').fadeIn("500");
		}
	return returnFlag;
	}		
	
	if (window.myForm == "signup") {
		$ef('p.message').hide();
		$ef('#step1').hide();
		$ef('#sign-up-end').hide();
		$ef('#sign-up-form').show();
	} else {		
		$ef('p.message').hide();
		$ef('#sign-up-end').hide();
		$ef('#sign-up-form').hide();
	}
	
	$ef("#btnShowSignUp").click(function()
		{
			$ef('p.form').hide();
			$ef('#step1').hide();
			$ef('#sign-up-form').fadeIn("500");
			return false;			
		}
	);
	$ef("#btnShowSignUp2").click(function()
		{
			$ef('p.form').hide();
			$ef('#step1').hide();
			$ef('#sign-up-form').fadeIn("500");
			return false;			
		}
	);
	$ef("#btnContactShow").click(function()
		{
			$ef('p.form').hide();
			$ef('#sign-up-end').hide();
			$ef('#step1').fadeIn("500");
			return false;
		} 
	);
	$ef("#btnContactShow2").click(function()
		{
			$ef('p.form').hide();
			$ef('#sign-up-end').hide();
			$ef('#sign-up-form').hide();
			$ef('#step1').fadeIn("500");
			return false;
		} 
	);
	$ef("#btnContactShow3").click(function()
		{
			$ef('#sign-up-form').hide();
			$ef('#step1').fadeIn("500");
			return false;
		} 
	);
	// contact form
	$ef("#btn1").click(function()
		{
			if(step1IsValid())
			{
				// submit form
				$ef.post(
					"/utilities/fastemail.ashx", 
					{
						Name: $ef("#txtName").val(),
						Company: $ef("#txtCompany").val(),
						Telephone: $ef("#txtTelephone").val(),
						Email: $ef("#txtEmail").val(),
						Website: $ef("#txtURL").val(),
						Comments: $ef("#txtComments").val()
					},
					function(data){
						$ef('#step1').hide();			
						$ef('#step3').fadeIn("500");
					});
				return false;
			}
			return false;
		}
	);
	// password strength
	$ef('#password1').keyup(function() {
        if (passwordStrength($ef('#password1')[0].value, $ef('#txtEmail')[0].value)) {
            $ef('#pWeak').hide();
            $ef('#pStrong').fadeIn("500");
        } else {
            $ef('#pStrong').hide();
            $ef('#pWeak').fadeIn("500");
        }
    });
	$ef("#address").blur(function() {
		var signupUrl = "/Products/SignUp.ashx";
        var websiteID = $ef('#address')[0].value.replace(/[^A-Za-z0-9]/g, "");
        $ef('#address')[0].value = websiteID;
        if (websiteID != "") {
            $ef.get(signupUrl, { Action: "CheckWebsite", WebsiteID: websiteID }, function(data) {
                if (data == "True") {
					$ef('#addressFail').hide();
					$ef('#addressSuccess').fadeIn("500");
                } else {
					$ef('#addressSuccess').hide();
                    $ef('#addressFail').fadeIn("500");					
                }
            });
        }
        return false;
    });
	
	// sign-up form
	$ef("#btn8").click(function()
		{
			var signupUrl = "/Products/SignUp.ashx";
			if(validateSignUp()) {
                if (!window.makingWebsite) {
                    window.makingWebsite = true;
                    $ef('#pWebsiteCreating').show();
                    $ef('#pTerms').hide();
                    $ef('#pBlankError').hide();
                    $ef.get(signupUrl, { Action: "Signup", WebsiteID: $ef('#address')[0].value.replace(/[^A-Za-z0-9]/g, ""), Name: $ef('#txtName')[0].value, Email: $ef('#txtEmail')[0].value, Phone: $ef('#txtTelephone')[0].value, Password: $ef('#password1')[0].value, SalesPerson: $ef('#salesPerson')[0].value, ProductID: window.productID, Origin: window.origin }, function(data) {
                        $ef('#pWebsiteCreating').hide();
                        if (data == "True") {
                            var websiteID = $ef('#address')[0].value;
                            $ef('#sign-up-end a').each(function(i) {
                                this.href = decodeURIComponent(this.href).replace(/\{0\}/, websiteID);
                                $ef(this).html($ef(this).html().replace(/\{0\}/, websiteID));
                            });

                            var tCode = ["UA-370355-2", "UA-370355-5", "UA-370355-1"];

                            var pageTracker = _gat._getTracker(tCode[(window.origin == "water" ? 2 : (window.origin == "light" ? 1 : 0))]);
                            pageTracker._trackPageview("/Created-Site");

                            $ef('#sign-up-form').hide();
                            $ef('#sign-up-end').fadeIn("500");
                        } else {
                            var message = $ef('#pBlankError');
                            message.html(data);
                            message.fadeIn("500");
                        }
                        //Allow the sign-up form to be used again.
                        window.makingWebsite = false;
                    });
                }
            }
            return false;
        });
});