/******************/
/**	AVAILABILITY **/
/******************/

var TendmeAvailability = {

	init: function() {
		var ref = this;
		var links = document.getElementsByName('availability_link');
		
		for(var i = 0; i < links.length; i++) {
			links[i].onchange = function(){ ref.checkDay(this); return false; };
		}
		
		var all = document.getElementById("availability_all");
		
		if(all) {
			all.onclick = function(){ ref.checkAllOrNone("all"); return false; };
		}
		
		var none = document.getElementById("availability_none");
		
		if(none) {
			none.onclick = function(){ ref.checkAllOrNone("none"); return false; };
		}
	},
	
	checkDay: function(checkbox) {
		var id = checkbox.id;
		
		// for edit availability old (babysitter, seniorcare, tutor)
		var dayLinks = document.getElementsByName("provider.availability." + id);
		
		for(var i = 0; i < dayLinks.length; i++) {
			if(checkbox.checked == true) {
				dayLinks[i].checked = true;
			}
			else {
				dayLinks[i].checked = false;
			}
		}

		// for edit availability new (petcare)
		var dayLinksPet = document.getElementsByName(checkbox.value);
		for(var i = 0; i < dayLinksPet.length; i++) {
			if(checkbox.checked == true) {
				dayLinksPet[i].checked = true;
			}
			else {
				dayLinksPet[i].checked = false;
			}
		}

		// for edit availability new (petcare)
		var dayLinksFilterSearch = document.getElementsByName("profile." + checkbox.value);
		for(var i = 0; i < dayLinksFilterSearch.length; i++) {
			if(checkbox.checked == true) {
				dayLinksFilterSearch[i].checked = true;
			}
			else {
				dayLinksFilterSearch[i].checked = false;
			}
		}
		

	},
	
	checkAllOrNone: function(type) {
		var links = document.getElementsByName('availability_link');
		for(var i = 0; i < links.length; i++) {
			if (type == "all") {
				links[i].checked = true;
			} else {
				links[i].checked = false;
			}
			this.checkDay(links[i]);
		}
	}
};
Tendme.addPageLoadModule(TendmeAvailability);



/*************/
/**	SEARCH	**/
/*************/

var TendmeSearch = {

	init: function() {
		var ref = this;
		var form = document.getElementById("submitOnSelect");
		
		/* a change on the select box causes a submit of the specified form */
		if(form) {
			// doesn't work, don't know why
			//var obj = document.getElementsByClassName("selectBox", form);
			var obj = document.getElementById("numberResults");
			obj.onchange = function(){ ref.changeSearch(); return false; };
		}
		
		/* a click on the link causes a submit of the specified form */
		var form = document.getElementById("submitOnClick");
		if(form) {
			// doesn't work, don't know why
			// var obj = document.getElementsByClassName("blueLink", form);
			var obj = document.getElementById("linkSearchResults");
			obj.onclick = function(){ ref.getMyNeighborhood(); return false; };
		}
		
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("linkAvailability");
		if(obj) {
			obj.onclick = function(){ ref.showAvailability(); return false; };
		}
		
		/* hides the availability box in the search page */
		var obj = document.getElementById("linkCloseAvailability");
		if(obj) {
			obj.onclick = function(){ ref.hideAvailability(); return false; };
		}

		
		/* makes the hidden box in the more jobs tab ( my account ) visible */
		var obj = document.getElementById("showFilterLayerMoreJobs");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerMoreJobs(); return false; };
		}
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerBabysitter");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerBabysitter(); return false; };
		}
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerBabysitterRequest");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerBabysitterRequest(); return false; };
		}
		/* hides the hidden box in the more jobs tab ( my account ) page */
		var obj = document.getElementById("closeFilterLayerMoreJobs");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerMoreJobs(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerBabysitter");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerBabysitter(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerBabysitterRequest");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerBabysitterRequest(); return false; };
		}
		
		
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerPetcare");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerPetcare(); return false; };
		}
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerPetcareRequest");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerPetcareRequest(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerPetcare");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerPetcare(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerPetcareRequest");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerPetcareRequest(); return false; };
		}
		
		
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerSeniorcare");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerSeniorcare(); return false; };
		}
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerSeniorcareRequest");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerSeniorcareRequest(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerSeniorcare");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerSeniorcare(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerSeniorcareRequest");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerSeniorcareRequest(); return false; };
		}
		
		
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerTutor");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerTutor(); return false; };
		}
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerTutorRequest");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerTutorRequest(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerTutor");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerTutor(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerTutorRequest");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerTutorRequest(); return false; };
		}
		
		
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerHomehelp");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerHomehelp(); return false; };
		}
		/* makes the hidden availability box in the search page visible */
		var obj = document.getElementById("showFilterLayerHomehelpRequest");
		if(obj) {
			obj.onclick = function(){ ref.showFilterLayerHomehelpRequest(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerHomehelp");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerHomehelp(); return false; };
		}
		/* hides the availability box in the search page */
		var obj = document.getElementById("closeFilterLayerHomehelpRequest");
		if(obj) {
			obj.onclick = function(){ ref.hideFilterLayerHomehelpRequest(); return false; };
		}
		
		
		/* sends a form if a static url was clicked 
		   (needed for sending key without the knowledge of the user) */
		var links = document.links;
		
		for (var i = 0; i < links.length; i++) {
			if (links[i].id.substr(0,5) == "link_") {
				links[i].onclick = function(){ ref.submitDetailForm(this); return false; };
			}
		}
		
		/* for detail page, link for sending message by clicking submit */
		var submitSendMessage = document.getElementById("submit_send_message");
		
		if(submitSendMessage) {
			submitSendMessage.onclick = function(){ ref.sendMessage(); return false; };
		}
	},
	
	changeSearch: function(){
		// damn JavaScript, can't submit form object to this method, should be fixed
		var form = document.getElementById("submitOnSelect");
		form.submit();
	},
	
	getMyNeighborhood: function(form1) {
		// damn JavaScript, can't submit form object to this method, should be fixed
		var form = document.getElementById("submitOnClick");
		form.submit();
	},
	
	showAvailability: function() {
		var div = document.getElementById("hiddenAvailability");
	
		if (navigator.appName == "Microsoft Internet Explorer") {
			var showEvent = window.event;
			
			var x = event.offsetX + 120;
			var y = event.offsetY - 40;
			
			div.style.position="absolute";
			div.style.width='590px';
			div.style.zIndex = 100;
			div.style.left = x+'px';
			div.style.top = y+'px';
			div.style.display = "block";
		}
		else {
			var obj = document.getElementById("linkAvailability");
			
			if (div.style.display == "none") {
				div.style.position="relative";
				div.style.zIndex = 100;
				div.style.marginTop = "-180px";
				div.style.marginLeft = "80px";
				div.style.display = "block";
			}
		}
	},
	
	hideAvailability: function() {
		var div = document.getElementById("hiddenAvailability");
	
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},
	
	submitDetailForm: function(link) {
		var index = link.id.lastIndexOf('_');
		var counter = link.id.substr(index + 1); // gets index of search list
		
		var form = document.getElementById("form_details_" + counter);
		form.submit();
	},
	
	sendMessage: function() {
		var link = document.getElementById("link_send_message");
		
		window.location.href = link;
	},
	
	showFilterLayerMoreJobs: function() {
		var div = document.getElementById("filterLayerMoreJobs");
		
		if (div.style.display == "none") {
			div.style.position="relative";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},

	hideFilterLayerMoreJobs: function() {
		var div = document.getElementById("filterLayerMoreJobs");
		
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},
	
	
	showFilterLayerBabysitter: function() {
		var div = document.getElementById("filterLayerBabysitter");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},

	hideFilterLayerBabysitter: function() {
		var div = document.getElementById("filterLayerBabysitter");
		
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},

	showFilterLayerBabysitterRequest: function() {
		var div = document.getElementById("filterLayerBabysitterRequest");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},
	
	hideFilterLayerBabysitterRequest: function() {
		var div = document.getElementById("filterLayerBabysitterRequest");
	
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},
	
	
	
	showFilterLayerPetcare: function() {
		var div = document.getElementById("filterLayerPetcare");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},
	
	hideFilterLayerPetcare: function() {
		var div = document.getElementById("filterLayerPetcare");
		
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},

	showFilterLayerPetcareRequest: function() {
		var div = document.getElementById("filterLayerPetcareRequest");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},
	
	hideFilterLayerPetcareRequest: function() {
		var div = document.getElementById("filterLayerPetcareRequest");
	
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},
	
	
	
	showFilterLayerSeniorcare: function() {
		var div = document.getElementById("filterLayerSeniorcare");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},
	
	hideFilterLayerSeniorcare: function() {
		var div = document.getElementById("filterLayerSeniorcare");
		
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},

	showFilterLayerSeniorcareRequest: function() {
		var div = document.getElementById("filterLayerSeniorcareRequest");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},

	hideFilterLayerSeniorcareRequest: function() {
		var div = document.getElementById("filterLayerSeniorcareRequest");
	
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},
	
	
	
	showFilterLayerTutor: function() {
		var div = document.getElementById("filterLayerTutor");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},
	
	hideFilterLayerTutor: function() {
		var div = document.getElementById("filterLayerTutor");
		
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},

	showFilterLayerTutorRequest: function() {
		var div = document.getElementById("filterLayerTutorRequest");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},
	
	hideFilterLayerTutorRequest: function() {
		var div = document.getElementById("filterLayerTutorRequest");
	
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},	
	
	
	
	showFilterLayerHomehelp: function() {
		var div = document.getElementById("filterLayerHomehelp");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},
	
	hideFilterLayerHomehelp: function() {
		var div = document.getElementById("filterLayerHomehelp");
		
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	},

	showFilterLayerHomehelpRequest: function() {
		var div = document.getElementById("filterLayerHomehelpRequest");
		
		if (div.style.display == "none") {
			div.style.position="absolute";
			div.style.zIndex = 100;
			div.style.marginTop = "-180px";
			div.style.marginLeft = "80px";
			div.style.display = "block";
		}
	},
	
	hideFilterLayerHomehelpRequest: function() {
		var div = document.getElementById("filterLayerHomehelpRequest");
	
		if (div.style.display == "block") {
			div.style.display = "none";
		}
	}
	
};

Tendme.addPageLoadModule(TendmeSearch);



/*********************/
/**		SUBJECT	 	**/
/*********************/
	
var TendmeTutorSubjects = {

	experiencedWithScholarSubjectsSelected:false,
	experiencedWithStudentSubjectsSelected:false,
	
	teachesScholarSubjectsSelected:false,
	teachesStudentSubjectsSelected:false,

	init: function() {
		var ref = this;
		
		var experiencedWithScholarSubjects = document.getElementById('toggle.experiencedWithScholarSubjects');
		if(experiencedWithScholarSubjects) {
			experiencedWithScholarSubjects.onclick = function(){ ref.checkExperiencedWithScholarSubjects(); return false; };
		}
		
		var experiencedWithStudentSubjects = document.getElementById('toggle.experiencedWithStudentSubjects');
		if(experiencedWithStudentSubjects) {
			experiencedWithStudentSubjects.onclick = function(){ ref.checkExperiencedWithStudentSubjects(); return false; };
		}

		var teachesScholarSubjects = document.getElementById('toggle.teachesScholarSubjects');
		if(teachesScholarSubjects) {
			teachesScholarSubjects.onclick = function(){ ref.checkTeachesScholarSubjects(); return false; };
		}

		var teachesStudentSubjects = document.getElementById('toggle.teachesStudentSubjects');
		if(teachesStudentSubjects) {
			teachesStudentSubjects.onclick = function(){ ref.checkTeachesStudentSubjects(); return false; };
		}
		
	},
	
	checkExperiencedWithScholarSubjects: function() {
		this.experiencedWithScholarSubjectsSelected=!this.experiencedWithScholarSubjectsSelected;
		this.checkAllOrNone(this.experiencedWithScholarSubjectsSelected, 'experiencedWithScholarSubjects');
	},
	
	checkExperiencedWithStudentSubjects: function() {
		this.experiencedWithStudentSubjectsSelected=!this.experiencedWithStudentSubjectsSelected;
		this.checkAllOrNone(this.experiencedWithStudentSubjectsSelected, 'experiencedWithStudentSubjects');
	},
	
	checkTeachesScholarSubjects: function() {
		this.teachesScholarSubjectsSelected=!this.teachesScholarSubjectsSelected;
		this.checkAllOrNone(this.teachesScholarSubjectsSelected, 'teachesScholarSubjects');
	},
	
	checkTeachesStudentSubjects: function() {
		this.teachesStudentSubjectsSelected=!this.teachesStudentSubjectsSelected;
		this.checkAllOrNone(this.teachesStudentSubjectsSelected, 'teachesStudentSubjects');
	},
	
	
	checkAllOrNone: function(selected, id) {
		var element = document.getElementById(id);
		if(element) {
			var options = element.getElementsByTagName('option');
			if(options) {
				for(var i = 0; i < options.length; i++) {
					options[i].selected = selected;
				}
			}
		}
	}
	
};
Tendme.addPageLoadModule(TendmeTutorSubjects);



/*********************/
/**		PLACES	 	**/
/*********************/

var TendmeTutorPlaces = {

	selected:false,

	init: function() {
		var ref = this;
		var all = document.getElementById("dontcare");
		
		if(all) {
			all.onclick = function(){ ref.checkAllOrNone(); return false; };
		}
		
	},
	
	checkAllOrNone: function() {
		var checkbox = document.getElementsByClassName('checkBox');
		
		this.selected=!this.selected;
		
		var all = document.getElementById("dontcare");
		if(all) {
			all.checked = this.selected;
		}
		
		// Check or uncheck
		for(var i = 0; i < checkbox.length; i++) {
			var name = checkbox[i].name;
			var isAvailability = name.search(/tutoringPlaces/);
			
			if(isAvailability != -1) {
				checkbox[i].checked = this.selected;
			}
		}
		
		
	}
};
Tendme.addPageLoadModule(TendmeTutorPlaces);



/*********************/
/**		EXPAND	 	**/
/*********************/

var TendmeExpand = {

	init: function() {
		var ref = this;
		
		var c = document.getElementsByClassName('minus');
		for(var i = 0; i < c.length; i++){
			c[i].onclick = function(){ ref.collapse(this, document.getElementsByClassName('block_body', this.parentNode)[0]); };
		}
		
		var e = document.getElementsByClassName('plus');
		for(var i = 0; i < e.length; i++){
			e[i].onclick = function(){ ref.expand(this, document.getElementsByClassName('block_body', this.parentNode.parentNode)[0]); };
		}
		
		var x = document.getElementsByClassName('minus_1');
		for(var i = 0; i < x.length; i++){
			x[i].onclick = function(){ ref.collapse_1(this, document.getElementsByClassName('block_body_1', this.parentNode)[0]); };
		}
		
		var y = document.getElementsByClassName('plus_1');
		for(var i = 0; i < y.length; i++){
			y[i].onclick = function(){ ref.expand_1(this, document.getElementsByClassName('block_body_1', this.parentNode.parentNode)[0]); };
		}
	},
	
	collapse: function(link, obj){
		var ref = this;
		link.onclick = null;
		
		new Effect.BlindUp(obj, {duration: 0.50, afterFinish: function(){
			obj.style.display="none";
			//obj.style.visibility="hidden";
			link.removeClassName('minus');
			link.addClassName('plus');
			link.onclick = function(){ ref.expand(link, obj); return false; }
			
		} });
	},
	
	expand: function(link, obj){
		var ref = this;
		link.onclick = null;
		
		new Effect.BlindDown(obj, {duration: 0.50, afterFinish: function(){
			obj.style.display="inline";
			//obj.style.visibility="visible";
			link.removeClassName('plus');
			link.addClassName('minus');
			link.onclick = function(){ ref.collapse(link, obj); return false; }
			
		} });
	},
	
	collapse_1: function(link, obj){
		var ref = this;
		link.onclick = null;
		
		new Effect.BlindUp(obj, {duration: 0.50, afterFinish: function(){
			obj.style.display="none";
			//obj.style.visibility="hidden";
			link.removeClassName('minus_1');
			link.addClassName('plus_1');
			link.onclick = function(){ ref.expand_1(link, obj); return false; }
			
		} });
	},
	
	expand_1: function(link, obj){
		var ref = this;
		link.onclick = null;
		
		new Effect.BlindDown(obj, {duration: 0.50, afterFinish: function(){
			obj.style.display="inline";
			//obj.style.visibility="visible";
			link.removeClassName('plus_1');
			link.addClassName('minus_1');
			link.onclick = function(){ ref.collapse_1(link, obj); return false; }
			
		} });
	}
};

Tendme.addPageLoadModule(TendmeExpand);



/*********************/
/**		VALIDATE	**/
/*********************/

var TendmeValidateForm = {
	init: function() {
		/** 
		 * validates text fields within a form
		 *
		 * needed id's ( <id> to be set by programmer ):
		 * form_validate_<id> -> id of the form for submit
		 * div_validate_present_<id> -> id of the div which holds the error message for not present (empty field)
		 * div_validate_invalid_<id> -> id of the div which holds the error message for invalid
		 * field_validate_<id> -> id of the field to be validated
		 * submit_validate_<id> -> id of the submit button
		 *
		 * class of button: btnS
		 */ 
		var ref = this;
		
		var submits = document.getElementsByClassName("btnS");
		
		for (var i = 0; i < submits.length; i++) {
			var index = submits[i].id.lastIndexOf('_');
			var firstPart = submits[i].id.substring(0, index);
			
			if (firstPart == 'submit_validate') {
				submits[i].onclick = function(){ref.validateField(this); return false;};
			}
		}
	},
	
	validateField: function(button) {
		var index = button.id.lastIndexOf('_');
		var submitId = button.id.substr(index + 1);
		
		var field = document.getElementById("field_validate_"+submitId);
		if (field) {
			var value = field.value;
			
			if (value == '') {
				document.getElementById("div_validate_present_"+submitId).style.display = "block";
				document.getElementById("field_validate_"+submitId).style.color = "#b0232a";
				document.getElementById("field_validate_"+submitId).style.borderColor = "#b0232a";
			}
			else {
				if (value.match(/\d{5}/)) {
					var form = document.getElementById("form_validate_"+submitId).submit();
				}
				else {
					document.getElementById("div_validate_invalid_"+submitId).style.display = "block";
					document.getElementById("field_validate_"+submitId).style.color = "#b0232a";
					document.getElementById("field_validate_"+submitId).style.borderColor = "#b0232a";
				}
			}
		}
		
	}
};

Tendme.addPageLoadModule(TendmeValidateForm);



/*********************/
/**	RATING LIST		**/
/*********************/

var TendmeNavigateList = {

	init: function() {
		// script for expanding and collapsing box for ratings
		var ref = this;
		
		var links = document.getElementsByClassName('expand');
		
		for(var a = 0; a < links.length; a++){
			links[a].onclick = function() { ref.expand(this); return false; }
		}
		
		// if there was a rating submitted change the text in the box and show it for 3 seconds
		var userIds = document.getElementsByClassName('userId');
		
		for (var b = 0; b < userIds.length; b++) {
			var flag = document.getElementsByClassName('ratingFlag')[0];
			
			if (flag && userIds[b].value == flag.value) {
				var lastIndex = userIds[b].id.lastIndexOf('_');
				var id = userIds[b].id.substr(lastIndex + 1);
				
				// hide rating form
				var hide = document.getElementById('form_rate_' + id);
				if (hide) {
					hide.style.display = "none";
				}
			
				// show "thanks for rating" text
				var show = document.getElementById('submitted_rate_' + id);
				if (show) {
					show.style.display = "inline";
				}
				
				// display the wohole box
				var obj = document.getElementById("boxSlide_edit_rating_" + id);
				obj.style.display = "block";
				
				// scroll to rating box if we have more then 2 boxes
				if (userIds.length > 2) {
					obj.scrollIntoView(true);
				}
				
				// after 3 seconds close it
				window.setTimeout("TendmeNavigateList.collapseRating(" + id + ")", 3000);
			}
		}
	},
	
	expand: function(link){
		var ref = this;
			
		// ref.collapseAll(); ??
		
		var newId = "boxSlide_"+link.id;
		
		var obj = document.getElementById(newId);
		
		new Effect.BlindDown(obj, {duration: 0.3});
		
		//ref.init();
		ref.initStars();
		ref.initCancel();
		ref.initSubmit();
		
		window.setTimeout("document.getElementById('" + newId + "').scrollIntoView(true)", 300);
	},
	
	setValue: function(star){
		var firstIndex = star.id.indexOf('_');
		var lastIndex = star.id.lastIndexOf('_');
		var value = star.id.substr(star.id.length-1);
		var id = star.id.substr(0, star.id.length-1);
		
		var hideid = star.id.substring(firstIndex+1, lastIndex);
		var hiddens = document.getElementsByClassName('hide_' + hideid);
	
		var hidden = hiddens[0];
		
		var values;
		var ids;
		
		var stars = document.getElementsByClassName('stars');
		
		for(var a = 0; a < stars.length; a++){
			stars[a].src="static_media/pics/content/stern_leer.gif";
		}
		
		for(var b = 0; b < stars.length; b++){
			//stars[b].src="static_media/pics/content/stern_voll.gif";
			values = stars[b].id.substr(star.id.length-1);
			ids = stars[b].id.substr(0, star.id.length-1);
			
			if (ids = id) {
				if (values <= value) {
					stars[b].src="static_media/pics/content/stern_voll.gif";
				}
			}
		}
		
		hidden.value=value;
	},
	
	initStars: function() {
		var ref = this;
		var stars = document.getElementsByClassName('stars');
		
		for(var a = 0; a < stars.length; a++){
			stars[a].onclick = function() {ref.setValue(this);};
		}
	},
	
	initCancel: function() {
		// rateSubmitab
		var ref = this;
		var id;
		var index;
		
		var cancel = document.getElementsByClassName('rateSubmitab');
		for(var b = 0; b < cancel.length; b++){
			index = cancel[b].id.lastIndexOf('_');
			id = cancel[b].id.substr(index + 1);
			cancel[b].onclick = function() {ref.collapseRating(id);};
		}
	},
	
	initSubmit: function() {
		var ref = this;
		
		// TODO send form
		
		var submit = document.getElementsByClassName('rateSubmit');
		for(var b = 0; b < submit.length; b++){
			submit[b].onclick = function() {ref.submitForm(this);};
		}
	},
	
	collapseRating: function(id) {
			
		// rate_box
		var box = document.getElementsByClassName('rate_box');
		for(var b = 0; b < box.length; b++){
			index = box[b].id.lastIndexOf('_');
			var boxid = box[b].id.substr(index + 1);
			
			if(boxid = id) {
				new Effect.BlindUp(box[b], {duration: 0.3});
			}
		}
		
		// reset text
		var hide = document.getElementById('notClicked_' + id);
		if (hide) {
			hide.style.display = "none";
		}
			
		var show = document.getElementById('clickStars_' + id);
		if (show) {
			show.style.display = "inline";
		}
	},
	
	submitForm: function(submit) {
		var index = submit.id.lastIndexOf('_');
		var id = submit.id.substr(index + 1);
		var ref = this;
		
		/*new Ajax.Request(document.getElementById('form_rate_box_' + id).action,
							{parameters: $('form_rate_box_' + id).serialize(true)});*/
							
		// , $('bean.description').serialize(true), $('bean.userIdOfProvider').serialize(true)
		
		
		// if the user don't have choosed a value we display only another text
		if (document.getElementById('rating.ratingValue_' + id).value == '') {
			var hide = document.getElementById('clickStars_' + id);
			if (hide) {
				hide.style.display = "none";
			}
			
			var show = document.getElementById('notClicked_' + id);
			if (show) {
				show.style.display = "inline";
			}
		}
		else {
			ref.collapseRating(id);
		
			//document.getElementById('form_rate_box_' + id).submit();
		}
	}
};

Tendme.addPageLoadModule(TendmeNavigateList);



function swapForms(formToBeDisplayed, formToBeHidden){
    document.getElementById(formToBeDisplayed).style.visibility = "visible";           
    document.getElementById(formToBeHidden).style.visibility= "hidden";
  }


function showCurasSearch() {
	document.getElementById("curasSearch").style.visibility='visible';
	document.getElementById("curasSearch").style.display='block';
	document.getElementById("seniorCareSearch").style.visibility='hidden';
	document.getElementById("seniorCareSearch").style.display='none';
	document.getElementById("seniorbox_o").style.marginTop='-10px';
	document.getElementById("seniorbox_u").style.marginTop='0px';
}

function showSeniorCareSearch() {
	document.getElementById("seniorCareSearch").style.visibility='visible';
	document.getElementById("seniorCareSearch").style.display='block';
	document.getElementById("curasSearch").style.visibility='hidden';
	document.getElementById("curasSearch").style.display='none';
	document.getElementById("seniorbox_o").style.marginTop='0px';
	document.getElementById("seniorbox_u").style.marginTop='15px';
}


