$(document).ready(function() {
	$(".validationForm").validate({
		errorClass: "validationError"
	});

	$(".report").each(function() {
		if (!$(this).hasClass("notDynamic")) {
			$(this).dataTable({
				"bPaginate":true,
				"bLengthChange":false,
				"bFilter":false,
				"bSort":true,
				"bInfo":true,
				"bProcessing":true,
				"bAutoWidth":true,
				"iDisplayLength":25,
				"sPaginationType":"full_numbers"
			});
		}
	});

	$("ul.sf-menu").supersubs({ 
        minWidth:    10,   // minimum width of sub-menus in em units
        maxWidth:    27,   // maximum width of sub-menus in em units
        extraWidth:  1     // extra width can ensure lines don't sometimes turn over
                           // due to slight rounding differences and font-family 
    }).superfish({
    	hoverClass:'sfHover',
		delay: 500,
		speed: 'fast', 
        autoArrows: false, 
        dropShadows: false,
        disableHI: true
	}).find('ul').bgIframe({opacity:false});;

	$("table.report tr:even").addClass("even");
	$("table.report tr:odd").addClass("odd");

	$(".checkBoxTree").each(function(){          
		addTreeView($(this), "", "", false, false);
		$(this).TreeViewCheckboxes();              
		$(this).show();                            
	});
	
	$("select.sort").each(function() {
	    var selectedVal = $(this).val();
		$(this).sortOptions(true);
		$(this).val(selectedVal);
	});
});

function parseXML( xml ) {
	if( window.ActiveXObject && window.GetObject ) {
		var dom = new ActiveXObject( 'Microsoft.XMLDOM' );
		dom.loadXML( xml );
		return dom;
	}
	if( window.DOMParser ) {
		return new DOMParser().parseFromString( xml, 'text/xml' );
	}
	throw new Error( 'No XML parser available' );
} 

jQuery.parseXML = function( xml ) {
   	return jQuery( parseXML(xml) );
};

function addTreeView(element, animation, persist, collapsed, unique) {
	$(element).treeview({                                               
		animated: animation,                                              
		persist: persist,                                                 
		collapsed: collapsed,                                             
		unique: unique                                                    
	});                                                                 
}          

function populateStates(countryElem) {
	var countryVal = countryElem.value;

	$.ajax({
		type: "POST",
		url: webRoot + "/members/register/generateProvince",
		data: {selectedCountry:countryVal},
		success: function(msg){
			$("#provinceContainer").html(jQuery.trim(msg));
		}
	});
}