// JavaScript Document
function getXMLHTTPRequest()
{
var req = false;
try
  {
    req = new XMLHttpRequest(); /* e.g. Firefox */
  }
catch(err1)
  {
  try
    {
     req = new ActiveXObject("Msxml2.XMLHTTP");
  /* some versions IE */
    }
  catch(err2)
    {
    try
      {
       req = new ActiveXObject("Microsoft.XMLHTTP");
  /* some versions IE */
      }
      catch(err3)
        {
         req = false;
        }
    }
  }
return req;
}

function confirmLink(theLink, confirmMsg){
    var is_confirmed = confirm('Delete '+confirmMsg+'?');
    if (is_confirmed) {
	   window.location.href = theLink;
    }
    return is_confirmed;
}

function MM_validateForm() { //v4.0
  var i,p,q,j,nm,test,num,val,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-3); i+=4) { 
	test=args[i+2]; 
	nm=args[i+3];
 	radioChecked=false;
	if (test == 'D') { //radio button
		val = document.getElementsByName(args[i]);
		for (j = 0; j < val.length; j++) {
			if (val[j].checked) {
				radioChecked=true;	
			}
		}
		if (radioChecked==false) {
			errors+= '- '+nm+' \n';
		}
	} else if (test.charAt(0) == 'A') { //(date) else if (test.charAt(1) == 'R')
				date = val;
				p = new RegExp("(20)\d\d[-](0[1-9]|1[012])[-]((0[1-9]|[12][0-9]|3[01])");
				result = p.exec(date);
				alert(result);
				if (result == null) {
					errors+= '- '+nm+' is invalid\n';
				}
	} else {
		val=MM_findObj(args[i]);

		if (val) { //else if (test.charAt(1) == 'D') 

			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain a valid email address\n';
				} else if (test!='R') { 
				
					if (test.indexOf('isAlphaBet') != -1){
						 var regex=/^[a-zA-Z\s]+$/; //Match for upper- or lowercase letters
						   if ( regex.test(val) == false) {
							 errors+='- '+nm+' must contain only alphabet\n';
						   }	
					} else {

						num = parseFloat(val);
						if (isNaN(val)) {
						errors+='- '+nm+' must contain a number\n';
						}	//if (isNaN(val)) 
						if (test.indexOf('inRange') != -1) { 
							p=test.indexOf(':');
							min=test.substring(8,p); max=test.substring(p+1);
							if (num<min || max<num) {
								errors+='- '+nm+' must contain a number between '+min+' and '+max+'\n';
							} //if (num<min || max<num)
						} else if (test.indexOf('selNotZero') != -1) {   //if (test.indexOf('inRange') != -1)  
								if (val==0) {
									errors+='- '+nm+'\n';
								} //if (num<min || max<num)
	
						}
						
					}
				} //} else if (test!='R')  
			} else if (test.charAt(0) == 'R') { 
						errors+= '- '+nm+' \n';		
			}
		}
	} //if (val) 

  } //for (i=0; i<(args.length-3); i+=4) 

  if (errors) alert('Please fill all required fields.\n'+errors);
  document.MM_returnValue = (errors == '');
}
function zeroPad(num,count) {
	var numZeropad = num + '';
	while(numZeropad.length < count) {
		numZeropad = "0" + numZeropad;
	}
	return numZeropad;
}
function get_country_flag(country_id) {
	var country_id = document.getElementById('country').value;
	country_id = zeroPad(country_id,3);
	document.getElementById('country_flag').src = "flags/" + country_id + 'b.gif';
}
function get_sports_team() {
	var favorite_team = document.getElementById(get_sports_team.arguments[0]);
	var sports_id = document.getElementById(get_sports_team.arguments[1]).value;
	if (sports_id!=prev_sports_id) {
		favorite_team.length = 0;
		prev_sports_id = sports_id;	
		var url = "get_requests.php?do=sports_team&sports_id=" + sports_id;
		myRequest.open("GET", url, true);
		myRequest.onreadystatechange = function () {
			if(myRequest.readyState == 4) {
				// if server HTTP response is "OK"
				if(myRequest.status == 200) {
					if (myRequest.responseXML) {
						var row = myRequest.responseXML.getElementsByTagName('team');
						if (row.length > 0) {
							for(var i=0; i<row.length; i++) {
								var team_name = row[i].firstChild.nodeValue;
								var team_id = row[i].getAttribute('id');
								favorite_team[i] = new Option(team_name,team_id);
							}
							$('#team_select_label').css({display:'block'});
							$('#team_select').css({display:'block'});
						} else {
							$('#team_select_label').css({display:'none'});
							$('#team_select').css({display:'none'});
						}
					}
				}
			}
		}
		myRequest.send(null);
	}
}


function submit_button() {

	if (document.getElementById('terms').checked == 1) {
		document.getElementById('submit_btn').disabled = "";
	} else {
		document.getElementById('submit_btn').disabled = "disabled";
	}

}

function form_input_var(oForm) {

    var aParams = new Array();
    for (var i=0 ; i < oForm.elements.length; i++) {
		if (oForm.elements[i].type=='radio') {
			if (oForm.elements[i].checked==true) {
			    sVal = encodeURIComponent(oForm.elements[i].value);
			} else {
				continue;
			}
		} else if (oForm.elements[i].type=='checkbox') {
			if (oForm.elements[i].checked==true) {
			    sVal = encodeURIComponent(oForm.elements[i].value);
			}
		} else {
	        sVal = encodeURIComponent(oForm.elements[i].value);		
		}
        var sParam = encodeURIComponent(oForm.elements[i].name);
        sParam += "=";
    	sParam += sVal;
        aParams.push(sParam);
    }
	
    return aParams.join("&");
}

function able_form(oForm, able) {
    var aParams = new Array();
    for (var i=0 ; i < oForm.elements.length; i++) {
		if (!able) {
			oForm.elements[i].disabled="disabled";
		} else {
			oForm.elements[i].disabled="";
		}
	}
}


function get_value(form_var) {
	var return_val;
	switch(form_type) {
		case 'c':
			return_val = document.getElementById(form_var).checked;
		case 'r':
			return_val = document.getElementById(form_var).checked;
		default:
			return_val = document.getElementById(form_var).value;
			break;
	}
	return return_val;
}

function delete_node(node_id) 
{
	var deletePoint = document.getElementById(node_id);
	while (deletePoint.hasChildNodes()) {
	deletePoint.removeChild(deletePoint.lastChild);
	}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function check_var () {
	args = check_var.arguments;
	subj = MM_findObj(args[0]);
	bool_check = true;
	switch(args[1]) {
		case 'm':
			subj2 = MM_findObj(args[2]);
			if (subj.value != subj2.value) {
				bool_check = false;
			}
			break;
	}
	
	return bool_check;
}
function el_focus(elementID) {
	document.getElementById(elementID).focus();
}
function confirm_form(msg, form_id) { 
   if (confirm(msg)) document.forms[form_id].submit();
}
var myRequest = getXMLHTTPRequest();

function textarea_counter(el, updater, limit) {
	el = document.getElementById(el);
	if (el.value.length > limit) {
		el.value = el.value.substring(0, limit);
	} else  {
		$('#'+updater).text(limit - el.value.length);
	}
}

function setSelectionRange(input, selectionStart, selectionEnd) {
	if (input.setSelectionRange) {
		input.focus();
		input.setSelectionRange(selectionStart, selectionStart);
	} else if (input.createTextRange) {
		var range = input.createTextRange();
		range.collapse(true);
		range.moveEnd('character', selectionEnd);
		range.moveStart('character', selectionStart);
		range.select();
	}
}

function generate_spinner (spinner_size){
    return '<img src="/images/spinner_'+spinner_size+'.gif" />';
}

function search_box () {
	var default_text = "Search by First Name, Last Name, Nickname, etc.";
	if ($('#athlete_lastname').val() == '' && $('#athlete_lastname').val() != default_text) {
		$('#athlete_lastname').attr({className:'search_box_def'});
		$('#athlete_lastname').val(default_text);
	} else {
		if ($('#athlete_lastname').val() == default_text) {
			$('#athlete_lastname').val('');
		}
		$('#athlete_lastname').attr({className:'search_box'});
	}

}

$(document).ready( function () {
							 
	search_box();

	function format(athlete) {
		athleteName_row = athlete.athleteName + " <br /><span>" + athlete.public_name ;
		if (athlete.nickname!='') athleteName_row += '&nbsp; "' + athlete.nickname + '"';
		athleteName_row += '</span>';
		return athleteName_row;
	}
	
	$("#athlete_lastname").autocomplete('/ajax-athlete-search.php', {
		selectFirst: false,
		minChars: 3,
		max: 100,
		scrollHeight: 480,
		cacheLength: 0,
		parse: function(data) {
			return $.map(eval(data), function(row) {
				return {
					data: row,
					value: row.athleteName,
					result: row.athleteName
				}
			});
		},
		formatItem: function(item) {
			return format(item);
		}
	}).result(function(e, item) {
		location.href='/'+item.aURL;
	});
	
	$('#advanced_search_link').click( function () {
		if ($('#advanced_search_div').is(":hidden")) {
			$('#advanced_search_div').slideDown("fast");
		} else {
			$('#advanced_search_div').slideUp("fast");
		}
	});
	
});

$(document).bind('click', function(e) {

	var $clicked=$(e.target); // get the element clicked
	
	if(!($clicked.is('#advanced_search_div') || $clicked.parents().is('#advanced_search_div') || $clicked.is('#advanced_search_link')) && $('#advanced_search_div').is(':visible')) {
		$('#advanced_search_div').slideUp("fast");
	}
}); 

