// $Id$

// onLoad functions
function init() {
	externalLinks();
	
	if($('terms_a')){
		var terms_a = $('terms_a');
		terms_a.style.display = "none";
	}
	
	if($('terms_b')){
		var terms_b = $('terms_b');
		terms_b.style.display = "none";
	}
	
	if($('country')){
		var country = $('country');
		var country_state = country.options[country.selectedIndex].className;
		
		var terms_a = $('terms_a');
		var terms_b = $('terms_b');
		var terms_def = $('terms_def');
		
		wterms = $(country_state);
		
		if(wterms){
			terms_a.style.display = "none"; terms_b.style.display = "none"; terms_def.style.display = "none";
			wterms.style.display = "block";
		}
	}
	
	if($('type'))
		$('type').observe('change', onDanceTypeChange);
	
	if($('no_dancers'))
		$('no_dancers').observe('change', showDancersOnChange);
		
	try
	{
		onlyThree();
		onDanceTypeChange($('type'));
	}
	catch(e) {}
	
	
}

// opens links in new window with rel="external" to validate xhtml strict
function externalLinks() { 
	var anchors = $$("a"); 
 	for (var i=0; i<anchors.length; i++) { 
   			var anchor = anchors[i]; 
 			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external"){
 				anchor.target = "_blank"; 
       		} else if(anchor.getAttribute("href") && anchor.getAttribute("rel") == "thiswindow")anchor.target = "_top";
 	} 
}

function terms() {
	var country = $('country');
	var country_state = country.options[country.selectedIndex].className;
		
	var terms_def = $('terms_def');
	var terms_a = $('terms_a');
	var terms_b = $('terms_b');
		
	if(country_state == "terms_a" && terms_a.style.display=="none"){
		new Effect.Puff('terms_def');
		new Effect.Puff('terms_b');
		new Effect.Grow('terms_a');
	}
	
	else if(country_state == "terms_b" && terms_b.style.display=="none"){
		new Effect.Puff(terms_def);
		new Effect.Puff(terms_a);
		new Effect.Grow(terms_b);
	}
}

function detectMacXFF()
{
	var userAgent = navigator.userAgent.toLowerCase();
	
	if(userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1)
		return true;
}


function anybox(section_class){
	var mainform = $("filter");
	var allboxes = document.getElementsByClassName(section_class);
	var thesection = $(section_class);

	if( thesection.checked == true){
		for(i=0; i<allboxes.length; i++){
			allboxes[i].checked = false;
		}
	}
}

function afterbox(section_class){
	var mainform = $("filter");
	var allboxes = document.getElementsByClassName(section_class);
	var thesection = $(section_class);
	
	for(i=0; i<allboxes.length; i++){
		if(allboxes[i].checked == true){		
			thesection.checked = false;
		}
	}
	
}

var maxDancers = 20;

function onDanceTypeChange(evt)
{

	try
	{
		var selectedType = evt.element().value;
	}
	catch(e)
	{
		var selectedType = evt.value;
	}

	if(selectedType == 0)
	{
		$('dancersDiv').style.display = 'none';
		$('no_dancers').value = 1;
	}
	else if(selectedType == 1)
	{
		$('dancersDiv').style.display = 'none';
		$('no_dancers').value = 1;
	}
	else if(selectedType == 2)
	{
		$('dancersDiv').style.display = 'none';
		$('no_dancers').value = 2;
	}
	else
	{
		$('dancersDiv').style.display = 'block';
		$('no_dancers').value = 3;
	}
	
	var dancer = 1;
	
	while(dancer < maxDancers)
	{
		if(dancer <= selectedType) {
			$('dancer' + dancer).style.display = 'block';
		}
		else {
			$('dancer' + dancer).style.display = 'none';
		}
		
		dancer++;
	}
	
	if (selectedType!=0) {
		document.forms[0].elements['dancer_1_name'].value = document.forms[0].elements['fname'].value;
		document.forms[0].elements['dancer_1_surname'].value = document.forms[0].elements['sname'].value;
		document.forms[0].elements['dancer_1_email'].value = document.forms[0].elements['email'].value;
	}
}




function showDancersOnChange(evt)
{
	var selectedDancers = evt.element().value;
	
	var dancer = 1;
	
	while(dancer < maxDancers)
	{
		if(dancer <= selectedDancers)
			$('dancer' + dancer).style.display = 'block';
		else
			$('dancer' + dancer).style.display = 'none';
		
		dancer++;
	}
}


var dancer = 1;

if ( $('dancers') || $('dancer') ) {

if((typeof(postVars.no_dancers) == 'undefined')||(postVars.no_dancers < 3))
{
	swfobject.createCSS('#dancers', 'display:none;');
}

while(dancer < maxDancers)
{
	if((typeof(postVars.no_dancers) == 'undefined') || (postVars.no_dancers <= dancer))
		swfobject.createCSS('#dancer' + dancer, 'display:none;');
	
	dancer++;
}

}

function onlyThree(){
	var dance_categories = $$('.dance_categories');
	//var dance_options = dance_categories.options;
	var j = 0;
	var maxOpts = 3;
	var optArray = new Array();


	if(dance_categories[dance_categories.length-1].checked == false)
	{
		for(i=0; i<=dance_categories.length-1; i++)
			dance_categories[i].disabled = false;
	}

	//disable all checkboxes when 3 are checked
	for(i=0; i<=dance_categories.length-1; i++)
	{
		if( dance_categories[i].checked==true )
		{
			j++;

			optArray.push(i);

			if(j==maxOpts)
			{
				for(i=0; i<=dance_categories.length-1; i++)
				{

					if( in_array(i, optArray)==false )
					{
						dance_categories[i].disabled = true;
					}
				}
			}

		}
	}
}

function in_array(needle, haystack, strict) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	// *     returns 1: true

	var found = false, key, strict = !!strict;

	for (key in haystack)
	{
		if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
			found = true;
			break;
		}
	}

	return found;
}