function check_submission() {
    var form = this.elements;
    var errors = new Array();

    if (form.firstname.value == '')
        errors.push(lang.enterFirstName);

    if (form.lastname.value == '')
        errors.push(lang.enterLastName);

    if (form.email.value == '')
        errors.push(lang.enterEmailAddr);
    else if (!validateEmail(form.email.value))
        errors.push(lang.enterValidEmail);

    if (form.other.checked && (form.other_specifics.value == ''))
        errors.push(lang.enterOtherField);

    if (!form.agree.checked)
        errors.push(lang.agreeToRules);

    if (form.upload.value == '' && (!form.selected_photo ||
    		form.selected_photo.value == ''))
    	errors.push(lang.noFileError);

    if (form.upload.value != '' && form.selected_photo &&
    		form.selected_photo.value != '')
        errors.push(lang.uploadAndUseSample);

    var is_valid = (errors == '');
    if (!is_valid) {
    	$.scrollTo('#errors', {axis: 'y', duration: 500});
    	var message = '<b>' + lang.fixErrors + '</b>';
    	message += '<ul>';
    	for (var i = 0; i < errors.length; i++) {
    		message += '<li>' + errors[i] + '</li>';
    	}
    	message += '</ul>';
    	document.getElementById('errors').innerHTML = message;
    }
    return is_valid;
}
$(function () {
    $('#submit_form').each(function(){$(this).submit(check_submission);});
});

function validateEmail(str) {
    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;
    var ldot=str.indexOf(dot);

    if (str.indexOf(at) == -1)
        return false;
    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
        return false;
    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
        return false;
    if (str.indexOf(at,(lat+1))!=-1)
        return false;
    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
        return false;
    if (str.indexOf(dot,(lat+2))==-1)
        return false;
    if (str.indexOf(" ")!=-1)
        return false;
    return true;
}

function completeSelection(color) {
    document.getElementById('CSTselected_photo').innerHTML = 'Selected: ' + color + ' <a href="#" onClick="return clear_html();">(clear)</a><input type="hidden" name="selected_photo" value="' + color + '" />';
}


function clear_html() {
    document.getElementById('CSTselected_photo').innerHTML = '<input name="upload" type="File" value="" size="20" />';
    return false;
}
