function testURL(Ctrl) {
    var httpregex=/^([a-zA-Z]+:\/\/)/; // /^(http:\/\/)?(www\.)?([-0-9a-z_\.]+\.[0-9a-z]{2,3})\/?.*$/i"
    if (Ctrl.value != "") {
        var match=Ctrl.value.match(httpregex); // has a protocol indicator
        if (!match) Ctrl.value = 'http://'+Ctrl.value;
    }

    if (Ctrl.value == "" || Ctrl.value == "http://") {
        alert('The link cannot be blank. if you have neither blog nor website you can submit a reference at the form beneath.');
        return false;
    } else return true;
}

function trim(s) {
	return s.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
};

function clearAll() {
	var buzzForm = document.getElementById('buzzForm');
	buzzForm.reset();
	buzzForm.author.value='';
	buzzForm.job.value='';
	buzzForm.email.value='';
	buzzForm.company.value='';
	buzzForm.entry.value='';
	buzzForm.captcha.value='';
	insertCaptchaCode();
};

    function submitBuzzForm(e) {
		dojo.stopEvent(e);
        if (!dojo.hasClass(dojo.byId('submitBtn_div'), "disabledbtn"))
			if (validate()) {
                dojo.addClass(dojo.byId('submitBtn_div'), "disabledbtn");
                dojo.byId('buzzForm').submit();
            }
            else
				showSubmitResult(wrikeI18n["Please correct the highlighted entries."]);
    };

     function submitContactForm(e) {
		dojo.stopEvent(e);
        if (!dojo.hasClass(dojo.byId('submitBtn_div'), "disabledbtn"))
			if (validate()) {
                dojo.addClass(dojo.byId('submitBtn_div'), "disabledbtn");
                dojo.byId('contactForm').submit();
            }
            else
				showSubmitResult(wrikeI18n["Please correct the highlighted entries."]);
    };

     function submitCommentForm(e) {
		dojo.stopEvent(e);
        if (!dojo.hasClass(dojo.byId('submitBtn_div'), "disabledbtn"))
			if (validate()) {
                dojo.addClass(dojo.byId('submitBtn_div'), "disabledbtn");
                dojo.byId('commentForm').submit();
            }
            else
				showSubmitResult(wrikeI18n["Please correct the highlighted entries."]);
    };

    function validate(action){
        resetValidationErrors();
		hideErrorMessages();
        return vf('author') & vfEmail('email') & vf('entry');
    }




    function vf(fieldName) {
		var f = dojo.byId(fieldName);
		if(f) {
			if(f.tagName!='INPUT' && f.tagName!='TEXTAREA') return true;
			var value = f.value;
			if(value)
				return true;
			else {
				dojo.addClass(f, 'field_error');
                return false;
            }
        }
        return true;
    };

    function vfEmail(fieldName) {
		var f = dojo.byId(fieldName);
		if (!f)
            return true;
        if(f.tagName!='INPUT')
			return true;
		if(vf(fieldName)) {
            if(!dojox.validate.isEmailAddress(f.value)) {
				dojo.addClass(f, "field_error");
				showFieldError(f, wrikeI18n["Please enter a valid email address"]);
				return false;
			}
		} else return false;
		return true;
	};

    showSubmitResult = (function(){
            var anim;
            return function(message) {
                if(anim) anim.stop();
                var resp = dojo.byId("responseHere");
                resp.innerHTML = message;
                dojo._setOpacity(resp, 1);
                dojo.fadeOut({node: resp, duration: 10000}).play();
            };
        })();

        function showFieldError(field, message){
            var childs = field.parentNode.childNodes;
            for (var j = 0; j < childs.length; j++){
                var elem = childs[j];
                if(elem.tagName == "DIV"){
                    dojo.addClass(elem, "field_error_message");
                    elem.innerHTML = message;
                }
            }
        };
        function resetValidationErrors() {
            //unhighlight fields
            dojo.query("input.field_error", document).forEach(
                    function(e) {
                        dojo.removeClass(e, "field_error");
                    });
        }

        function hideErrorMessages() {
            //hide error messages
            dojo.query("field_error_message", document).forEach(
                    function(e) {
                        if (e.id != 'responseHere')
                            dojo.setClass(e, "hide");
                        else
                            e.innerHTML = '';
                    });
        }

function onBuzzLoad() {
    dojo.connect(dojo.byId('submitBtn_div'), 'onclick', submitBuzzForm);
}

function onContactUsLoad(){
       dojo.connect(dojo.byId('submitBtn_div'), 'onclick', submitContactForm);
}

function onPostLoad(){
       dojo.connect(dojo.byId('submitBtn_div'), 'onclick', submitCommentForm);
}

