function checkRegistration(form) {
  //return validateStandard(form, 'error');
  if (validateCompleteForm(form, 'error')) {
    form.submit();
  }
}

function submitEnter(field,e) {
  var keycode;
  if (window.event) {
    keycode = window.event.keyCode;
  } else if (e) {
    keycode = e.which;
  } else { 
    return true;
  }

  if (keycode == 13) {
   field.form.submit();
   return false;
  } else {
    return true;
  }
}

function showElement(elementName, show, style) {
  var element = document.getElementById(elementName);
  if (show) {
    if (style != "") {
      if (document.all) {
        element.style.display = 'block';
      } else {
        element.style.display = style;  
      }
    } else {
      element.style.display = 'block';
    }
  } else {
    element.style.display = 'none';
  }
}

function confirmDel(url) {
  if (confirm("bist du sicher?")) {
    window.location = url;
  }
}

function createNamedElement(type, name) {
   var element = null;
   // Try the IE way; this fails on standards-compliant browsers
   try {
      element = document.createElement('<'+type+' name="'+name+'">');
   } catch (e) {
   }
   if (!element || element.nodeName != type.toUpperCase()) {
      // Non-IE browser; use canonical method to create named element
      element = document.createElement(type);
      element.name = name;
   }
   return element;
}

function addSportText(limit) {
  var selectedValue = $('int_sport_id').value;
  var selectedText = $('str_sport').value;
  var parentNode = document.getElementById('selected_sports');

  var childNodesNumber = parentNode.childNodes.length - 1;
  
  // can choose only 8 favorite sports
  if (numberOfSelectedSports < limit) {
  
  //  cannot choose same sport more than once
    if (!document.getElementById('selected_sport_' + selectedValue) && (selectedValue != -1)) {
    
      //  div which encompases the hidden input 
      //  and the text for the sport
      var container = document.createElement('div');  
      container.id = 'selected_sport_' + selectedValue;
    
      //  hidden input with selected sport
      var hiddenInput = createNamedElement('input', 'int_sports[]');
      hiddenInput.type = 'hidden';
      hiddenInput.value = selectedValue;
      container.appendChild(hiddenInput);
      
      //  Name of the selected sport
      var sportText = document.createTextNode(selectedText);
      container.appendChild(sportText);
      container.innerHTML += '&nbsp;&nbsp;';

      // link for removing the sport
      var removalLink = document.createElement('a');
      removalLink.href = 'javascript:removeSport(' + selectedValue + ');';
      removalLink.innerHTML = 'Entfernen';
      removalLink.setAttribute('class','col2-2');
      removalLink.setAttribute('id','removeSportButton_' + selectedValue);
      container.appendChild(removalLink);
      
     	var loader_img = document.createElement("img");
			loader_img.setAttribute("src", "templates/images/upload_loader.gif");      
			//loader_img.style.display="none";
			loader_img.setAttribute('style','display:none;');
			loader_img.style.display="none";
			loader_img.setAttribute('id','sportRemoveLoader_'+selectedValue);
      container.appendChild(loader_img);
      
      //  appending the container to the parent node        
      parentNode.appendChild(container);
      
      numberOfSelectedSports++;
    }
    return false;
  }
  
}

function addSportToSelect(limit) {
  var selectedValue = $('int_sport_id').value;
  var selectedText = $('str_sport').value;
  
  var coachSelect = document.getElementById('int_sport_coach');
  var numberOfSelectedSports = coachSelect.length - 1; 
  
  /*  if sport already exists we dont add it  */
  for (var i = 0; i < coachSelect.length; i++) {
    if (coachSelect.options[i].value == selectedValue) {
      return false;
    }
  }
  
  // can choose only 8 favorite sports
  if (numberOfSelectedSports < limit) {
    //  Setting the selecte options for sports coach
    var sportOption = new Option(selectedText, selectedValue);
    coachSelect.options[coachSelect.length] = sportOption;
  }
}





function addSport(limit) {
  var limit = 8;

  var selectedValue = $('int_sport_id').value;

  document.getElementById('addSportButton').style.display = "none";
  document.getElementById('sportAddLoader').style.display = "";  
  
  http.open("GET", 'ajax_sports.php?action=add&int_sport_id=' + selectedValue, true);	  
  http.onreadystatechange = handleHttpResponse;  
  http.send(null); 
  
  return false;
}

function removeSport(sportID){
	var sport = document.getElementById('selected_sport_' + sportID);
	document.getElementById('sportRemoveLoader_' + sportID).style.display="";
	document.getElementById('removeSportButton_' + sportID).style.display="none";	
	http.open("GET", 'ajax_sports.php?action=remove&int_sport_id=' + sportID, true);	  
  http.onreadystatechange = handleHttpResponse;  
  http.send(null); 
}


function handleHttpResponse(){
	if (http.readyState == 4){ 
		var rez = http.responseText;
		var arr = rez.split("--t--")
		
		//alert(rez);
		var selectedValue = $('int_sport_id').value;
		if (arr[0] == '1_add'){
		  var limit = 8;
				  
		  var selectedText = $('str_sport').value;
		  
		  if (selectedValue == "" || selectedText == "") {
		    return false;
		  }
		  
		  addSportText(limit);
		  if (document.getElementById('int_sport_coach')) {
		    addSportToSelect(limit);
		  }
		  
		  $('int_sport_id').value = '';
		  $('str_sport').value = '';		
		  
		  document.getElementById('addSportButton').style.display = "";
  		document.getElementById('sportAddLoader').style.display = "none";  
		}
		else if(arr[0] == '0_add'){
			document.getElementById('addSportButton').style.display = "";
  		document.getElementById('sportAddLoader').style.display = "none"; 
		}
		else if (arr[0] == '1_rem'){
			
			//alert (arr[1]);
			var sport = document.getElementById('selected_sport_' + arr[1]);
  		sport.parentNode.removeChild(sport);
		}
	}
 	else{
 	}
}

function getHTTPObject(){
 var C=null;
 try{
  C=new ActiveXObject("Msxml2.XMLHTTP")
 }
 catch(e){
  try{
   C=new ActiveXObject("Microsoft.XMLHTTP")
  }
  catch(sc){
   C=null
  }
 }
 if(!C&&typeof XMLHttpRequest!="undefined"){
  C=new XMLHttpRequest()
 }
 return C
}

var http = getHTTPObject(); //HTTP Object

function barLength(name, length) {
  document.getElementById(name + '_bar').style.width = length * 20 + '%';
  document.getElementById('int_fitness_' + name).value = length;
}

function trim(stringToTrim) {
  return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function checkAll(formID, checked) {
  if (!document.getElementById(formID)) {
    return;
  }
  var form = document.getElementById(formID);
  for (var i = 0; i < form.length; i++) {
    if (form[i].name == "") {
      continue;
    }
    if (form[i].type != "checkbox") {
      continue;
    }
    form[i].checked = checked;
  }
}

function changeCheckState() {
  if (checkState == undefined) {
    return;
  }
  
  if (checkState == true) {
    checkState = false;
  } else {
    checkState = true;
  }
  
}

function checkReadMessages(formID, checked) {
  if (!document.getElementById(formID)) {
    return;
  }
  var form = document.getElementById(formID);
  for (var i = 0; i < form.length; i++) {
    if (form[i].name == "") {
      continue;
    }
    if (form[i].type != "checkbox") {
      continue;
    }
    form[i].checked = false;
    var status = form[i].getAttribute('status');
    if (status == 1 || status == 2) {
      form[i].checked = checked;
    }
  }
}

function setStatus(formID, status, url) {
  if (document.getElementById(formID)) {
    var form = document.getElementById(formID);
    form.action = url + '&int_status=' + status;
    form.submit();
  }
}

function deleteMessages(formID, url) {
  if (document.getElementById(formID)) {
    if (confirm('bist du sicher?')) {
      var form = document.getElementById(formID);
      form.action = url;
      form.submit();
    }
  }
}

function submitForm(formID, url) {
  if (document.getElementById(formID)) {
    form = document.getElementById(formID);
    if (url != undefined) {
      form.action = url;
    }
    form.submit();
  }
}

function menuShow(event, element, show) {
  event.cancelBubbling = true;
  if (!document.getElementById(element)) {
    return false;
  }
  var element = document.getElementById(element);
  var children = element.childNodes;
  for (i=0; i < children.length; i++) {
    if (children[i].nodeName == "UL") {
      if (show) {
        children[i].style.display = 'block';
      } else {
        children[i].style.display = 'none';
      }
      return;
    }
  }
}



//custom implementek added


	var scrollerInterval	= null;
	
	function startScrollRight(_domId, _stepSize)
	{
		if (scrollerInterval == null)
			scrollerInterval = window.setInterval('scroller_scroll_right("'+_domId+'", '+_stepSize+')', 50);
	}
	
	function stopScrollRight()
	{
		window.clearInterval(scrollerInterval);
		scrollerInterval = null;
	}
	
	function startScrollLeft(_domId, _stepSize)
	{
		if (scrollerInterval == null)
			scrollerInterval = window.setInterval('scroller_scroll_left("'+_domId+'", '+_stepSize+')', 50);
	}
	
	function stopScrollLeft()
	{
		window.clearInterval(scrollerInterval);
		scrollerInterval = null;
	}
	
	function scroller_scroll_left(_id, _stepsize)
	{
		var scroller = document.getElementById(_id);
		var scroll_left = scroller.scrollLeft;
	
		scroll_left -= _stepsize;
		if (scroll_left < 0)
			scroll_left = 0;
	
		scroller.scrollLeft = scroll_left;
		//alert(scroller.scrollWidth);
	}
	
	function scroller_scroll_right(_id, _stepsize)
	{
		var scroller = document.getElementById(_id);
		var scroll_left = scroller.scrollLeft;
	
		scroll_left += _stepsize;
		if (scroll_left >= scroller.scrollWidth - scroller.offsetWidth - 1)
			scroll_left = scroller.scrollWidth - scroller.offsetWidth;
	
		scroller.scrollLeft = scroll_left;
		//alert(scroller.scrollWidth);
	}


	function validateDelete()
	{
	if(confirm('Are you sure'))
		{
		alert('Thank you for being a Zesara member. Your account will be deleted.');
		window.location = "delete-account.php";
		return false;
		}
	else
		{
		alert('A wise decision!');
		return false;
		}
	}
	
function showInfo(destdiv, field)
{
switch(field)
{
case 'firstname':
  document.getElementById(destdiv).innerHTML="Gebe bitte Deinen Vornamen an, damit die anderen Zesara-Mitglieder wissen wie sie Dich ansprechen dürfen.";
  break;    
case 'lastname':
  document.getElementById(destdiv).innerHTML="Dein Nachname ist für andere Mitglieder sichtbar. Falls Du das nicht möchtest, dann kürze ihn bitte ab.";  
  break;
case 'sport':
  document.getElementById(destdiv).innerHTML="Wähle hier bitte Deine liebste Sportart. Weitere Sportarten kannst Du in Deinem Profil hinzufügen.";  
  break;  
case 'email':
  document.getElementById(destdiv).innerHTML="Über Deine E-Mail-Adresse erhältst Du Benachrichtigungen von Zesara. Zum Schutz Deiner Privatsphäre ist die E-Mail-Adresse nicht sichtbar für andere Mitglieder.";  
  break;  
case 'pass1':
  document.getElementById(destdiv).innerHTML="Wähle bitte ein beliebiges Passwort. Es muss mindestens 6-stellig sein. Solltest Du einmal Dein Passwort vergessen, so kannst Du es Dir jederzeit per Email zuschicken lassen.";  
  break;  
case 'pass2':
  document.getElementById(destdiv).innerHTML="Die Wiederholung des Passworts dient nur der Vermeidung von Tippfehlern.";  
  break;  
case 'captcha':
  document.getElementById(destdiv).innerHTML="Bitte schreibe die Zahlen aus dem Feld ab. Falls sie schlecht zu lesen sind, klicke bitte auf “neu anzeigen”.";  
  break;          
default:
}

}


function validateFormElement(frm,element_name,not_valid_code,img_dest){
	var element = document.forms[frm].elements[element_name];
	var span = document.getElementById('spn_' + element_name);
	
	var ok = true;
	
	switch (element_name){
		case 'str_fname':
		element.value = element.value.replace(/^\s*|\s*$/g,"");
		if (element.value == not_valid_code) ok = false;
		break;
		
		case 'str_lname':
		element.value = element.value.replace(/^\s*|\s*$/g,"");
		if (element.value == not_valid_code) ok = false;
		break;		
		
		case 'int_sport_id':
		if (element.value == not_valid_code) ok = false;
		break;		
		
		case 'str_email':
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!filter.test(element.value)) ok = false;
		break;
		
		case 'str_password':
		element.value = element.value.replace(/^\s*|\s*$/g,"");
		if (element.value == not_valid_code || element.value.length < 6) ok = false;
		break;
		
		case 'str_password_repeat':
		element.value = element.value.replace(/^\s*|\s*$/g,"");
		if (element.value == not_valid_code || element.value.length < 6 || element.value != document.forms[frm].elements['str_password'].value) ok = false;
		break;		
	}
	
	if (!ok) span.innerHTML = '<img src="'+img_dest+'icon-error.gif"/>';
	else span.innerHTML = '<img src="'+img_dest+'icon-ok.gif"/>';
	
}

function getCookie(c_name) {
	if (document.cookie.length > 0){
		c_start=document.cookie.indexOf(c_name + "=")
		if (c_start!=-1){ 
			c_start=c_start + c_name.length+1 
	    c_end=document.cookie.indexOf(";",c_start)
	    if (c_end==-1) c_end=document.cookie.length
	    return unescape(document.cookie.substring(c_start,c_end))
		} 
	}
	return null
}


function in_array(arr,el) {
	for (i=0; i < arr.length; i++){
		if (el == arr[i]) return i;
	}
	return false;
}

function collapseExpand(id){	
	var table = document.getElementById(id);
	if (table.style.display == "") {
		table.style.display = "none";
		//var par = getParent(el);
		//el.parentNode.style.background = 'url(templates/images/box-bar-1-expand.jpg)';
		document.getElementById('spn_'+id).innerHTML = '<img src="templates/images/arrow-expand.gif">';
		//alert(el.parentNode.id);
		var expiry_date = new Date();
		var add = expiry_date.getTime() + (10*365 * 24 * 60 * 60 * 1000);
		expiry_date.setTime(add);					
		document.cookie=id+"=1;expires=" + expiry_date.toGMTString();		
	}
	else {
		table.style.display = "";
		//el.parentNode.style.background = 'url(templates/images/box-bar-1-collaps.jpg)';
		document.getElementById('spn_'+id).innerHTML = '<img src="templates/images/arrow-collaps.gif">';
		document.cookie=id+"=0;expires=expires=Fri, 27 Jul 2001 02:47:11 UTC";				
	}		
}
