﻿
$(function(){
    $('.pulldown').hide();

    $('.pulldown-handle').click(function(){
        var drawer = '#' + this.id + '-pulldown';
        $('.pulldown:visible').slideUp(); //close any open drawers
        //if this drawer is closed, open it. if it was open, don't reopen it.
        if ($(drawer + ':visible').length == 0) {
			$(drawer).slideDown();
		}
       return false; 
    });
    
    $(document).ready(function(){
		var val_array = $('.pulldown').get();
		
		if(val_array.length > 0) {
		    var container = $('#' + val_array[0].id);
		    container.show();
		}
	});
});


var Event = {
	add: function(obj,type,fn) {
		if (obj.attachEvent) {
			obj['e'+type+fn] = fn;
			obj[type+fn] = function() { obj['e'+type+fn](window.event); }
			obj.attachEvent('on'+type,obj[type+fn]);
		} else
		obj.addEventListener(type,fn,false);
	}
}
var ourForm;

function init() {
    var form_array = document.getElementsByTagName('form');
    for(var i = 0; i < form_array.length; i++) {
        var required = form_array[i].elements['required'];
        if(required) {
            ourForm = form_array[i];
            if(form_array[i].Submit) {               
                Event.add(form_array[i].Submit, 'click', checkValues);
            }
        }
    }   
}

function checkValues(evt) {
    var required = ourForm.elements['required'];
    var fields = required.value.split('|');
    var errors = '';
    
    for(var j = 0; j < fields.length; j++) {
        if(fields[j].length > 0) {
            var field = document.getElementsByName(fields[j]);
            
            var hasValue = false;
            if(field) {
                for(var k = 0; k < field.length; k++) {
                    
                    if(field[k].selectedIndex != null) {
                        if(field[k].options[field[k].selectedIndex].value.length > 0 && field[k].options[field[k].selectedIndex].value != '--') {
                            hasValue = true;
                        }
                    } else if(field[k].value.length > 0) {
                        hasValue = true;
                    }
                }                  
            }
            
            if(!hasValue) {
                errors += fields[j] + ' is required.\r\n';            
            }
        }
    }
    if(errors.length > 0) {
        alert(errors);
    } else {
        ourForm.submit();
    }
    
    return false;
}

window.onload = function() {
    init();
}