function addPA(index){	

	if (document.getElementById("selector").style.display == "block" && getElementsByClassName("paEntry").length > 3) {
		alert("Sie können max 5 Fachgebiete angeben.");
	}
	else if (getElementsByClassName("paEntry").length > 4) {
			alert("Sie können max 5 Fachgebiete angeben.");
	
	}else{
	
		var selector = document.getElementById("selector");
		
		document.getElementById("specality").insertBefore(selector , document.getElementById("addPAButton"));
		
		var pa = document.getElementById("selectorPA");
		
		if (selector.style.display == "none") {
			showSelector(pa.value);
		}
		else {			
			var spa = getElementsByClassName("subpractice");
			
			if (pa.value != "" && pa.value != null && pa.value != "undefined") {
				bildPA(index, pa, spa);
			}
			else {
				alert("Sie haben noch kein Fachgebiet ausgewählt");
			}
			
		}
	}
}

function savePA(index){
	var pa = document.getElementById("selectorPA");
	var spa = getElementsByClassName("subpractice");
	
	if (pa.value != "" && pa.value != null && pa.value != "undefined") {
		bildPA(index, pa, spa);
		hideSelector();
	}
	else {
		alert("Sie haben noch kein Fachgebiet ausgewählt");
	}	
}

function editPA(index){
	var dataContainers = document.getElementById( "ready" + index ).getElementsByTagName("input");
    var spaData = new Array();

	var selector = document.getElementById("selector");
	if (selector.style.display == "none"){
		//trebwa da go smeni6 toj 4e move da te ebe w gyzo ... see bildSubPractice
		showSelector();
	}
	document.getElementById("specality").insertBefore(selector , document.getElementById( "ready" + index ));
	
	for(i = 0; i < dataContainers.length; i++ ){
		if (dataContainers[i].name == "practice[]"){
			document.getElementById("selectorPA").value = dataContainers[i].value;
			getSubPractiesAreas(dataContainers[i].value);
		}
		//trebwa da go smeni6 toj 4e move da te ebe w gyzo ... see bildSubPractice
		if (dataContainers[i].name == "subpractice[]"){
			spaData.push(dataContainers[i].value);
		}		
	}	
	
	var spaContainers = document.getElementById("selectorSPA").getElementsByTagName("input");
	
	for(i = 0; i < spaContainers.length; i++){
		for (j = 0; j < spaContainers.length; j++) {
			if (spaContainers[i].value == spaData[j]) {				
				spaContainers[i].checked = true;
				break;
			}
			if (j == (spaContainers.length-1)){
				spaContainers[i].checked = false;
			}
		}
	}
	
	deletePA(index);
	
	
	
	
	
}


function bildPA(index, pa , spa){
	var mainContainer = document.getElementById("specality");
	
	var container = document.createElement("div");
	mainContainer.appendChild(container);	
	container.setAttribute("id", "ready" + index);
	container.className = "paEntry" ;

	var containerLeft = document.createElement("div");
	container.appendChild(containerLeft);	
	containerLeft.className = "left bold" ;
	
	var paInput = document.createElement("input");
	containerLeft.appendChild(paInput);
	paInput.setAttribute("value", pa.value);
	//paInput.setAttribute("type", "hidden");
	paInput.setAttribute("name", "practice[]");	
	paInput.className = "hidden";
	
	
	var paText = document.createElement("div");
	containerLeft.appendChild(paText);
	paText.innerHTML = pa.options[pa.selectedIndex].label;

	var containerRight = document.createElement("div");
	container.appendChild(containerRight);	
	containerRight.className = "right" ;
	
	for(i = 0; i < spa.length; i++){
		if (spa[i].checked) {
			spaInput = document.createElement("input");
			containerRight.appendChild(spaInput);
			spaInput.setAttribute("value", spa[i].value);
			//spaInput.setAttribute("type", "hidden");			
			spaInput.className = "hidden";
			spaInput.setAttribute("name", pa.value + "[]");			
			
			spaText = document.createElement("div");
			containerRight.appendChild(spaText);
			spaText.innerHTML = spa[i].nextSibling.nodeValue;
		}
	}
	
	var clearer = document.createElement("div");
	container.appendChild(clearer);	
	clearer.className = "clearer" ;

	var delButton = document.createElement("span");
	container.appendChild(delButton);
	delButton.innerHTML = '<div class="topSpace" ><a href="javascript: deletePA(' + index + ');">Fachgebiet löschen</a></div>';

/*
	var delButton = document.createElement("a");
	container.appendChild(delButton);
	delButton.setAttribute("href", "javascript: deletePA(" + index + ")");
	delButton.innerHTML = "del";

*/
	
/*	
	var editButton = document.createElement("a");
	container.appendChild(editButton);
	editButton.setAttribute("href", "javascript: editPA(" + index + ")");	
	editButton.innerHTML = "edit";
*/	
	
	var clearer = document.createElement("div");
	container.appendChild(clearer);	
	clearer.className = "clearer" ;
	
	mainContainer.insertBefore(container, document.getElementById("selector"));
	
	document.getElementById("savePA").href = "javascript: savePA("+ (index + 1)  + ");";
	document.getElementById("addPA").href = "javascript: addPA("+ (index + 1)  + ");";	
	
}

function deletePA(index){
	document.getElementById("specality").removeChild( document.getElementById("ready" + index) ) ;
}

function hideSelector(){
	var selector = document.getElementById("selector");
	selector.style.display = "none";
	spaInputs = selector.getElementsByTagName("input");


	for(i = 0; i < spaInputs.length; i++){
		spaInputs[i].name = "subpracticeInactive[]"
	}
	document.getElementById("selectorPA").name = "subpracticeInactive[]";			
}

function showSelector(value){
	var selector = document.getElementById("selector");
	
	selector.style.display = "block";
	spaInputs = selector.getElementsByTagName("input");
	
	for(i = 0; i < spaInputs.length; i++){
		spaInputs[i].name = value + "[]";
	}
	document.getElementById("selectorPA").name = "practice[]";			
}



/* Utillitis */

function getElementsByClassName(class_name)
{
  var all_obj,ret_obj=new Array(),j=0;
  if(document.all)all_obj=document.all;
  else if(document.getElementsByTagName && !document.all)all_obj=document.getElementsByTagName("*");
  for(i=0;i<all_obj.length;i++)
  {
    if(all_obj[i].className==class_name)
    {
      ret_obj[j]=all_obj[i];
      j++
    }
  }
  return ret_obj;
}      

