/*GLobal Variables:*/
var mailto ="m"+"a"+"i"+"l"+"t"+"o"+":";
var theLocation = "@"+"dieta-c"+"lub" + "."+"co"+"."+"il";

/*Functions*/

function updateTotal () {
	if (0 == $('total_units').value) {
		$('balance').value = '';
		$('balance_reduct').value = '';
		return false;
	}
	var tmpArray = $('total_units').value.split('_');
	var balance = formatOutput(tmpArray[1]);
	$('balance').value = balance;
	$('balance_reduct').value = formatOutput(parseInt(tmpArray[1]*0.97));
	$('total_instalments').innerHTML = '';
	max_instalments = tmpArray[0];
	var text;
	var value;
	if ($('total_instalments')) {
		for (var i = 1;i <= max_instalments;i++) {
			if (1 == i) {
				text = messages.one_instalment;
				value = i;
			}
			else {
				value = i;
				bla = tmpArray[1]*1/i;
				text = i + " " + messages.instalments;
			}
			addOption('total_instalments',value,text, false);
		}
	}
	return true;
}

function updateSubgroup () {
	var service_id = $('prices_id').value;
	if (service_id.indexOf ('5') > -1) {
		hide ('onlineDetails');
	}
	else {
		show('onlineDetails');
	}
	var randomNum = Math.round(10000*Math.random());
	var req = new Request({
		method: 'get',
		url: 'prices.php?service=' + service_id + '&ieRefresh=' + randomNum,
 		data: { 'do' : '1' },
		onRequest: function() {
			$('total_units').innerHTML = '';
			addOption ('total_units', 0, 'בחר מסלול בצטרפות', false);
		},
		onComplete: function(response) {
			if (req.status == 200) {
				if (response == '-1') {
					var value = 0;
					var text = "problem getting the list";
					addOption('total_units',value,text, false);
				}
				else {
					var priceList = eval('(' + response + ')');
					for (var i = 0;i <priceList.length;i++) {
						var value = priceList[i]['period'] + "_" + priceList[i]['price'];
						var text = priceList[i]['content'];
						addOption('total_units',value,text, false);
					}
					updateTotal ();
					var selectedOption = $('prices_id').selectedIndex;

					var comments = ($('prices_id').options[$('prices_id').selectedIndex].text);
					
					comments = comments.replace(/<\/?strong/gi,"");
					$('orderDetails').value = comments;
					$('comments').innerHTML = comments; 
				}
	        } 
			else {
				var value = 0;
				var text = "problem getting the list";
				addOption('total_units',value,text, false);
	        }
		}
	}).send();
}

function doar(correspondent, subject){
   location = mailto + correspondent + theLocation + "?subject=" + subject + ": From [Please add your name here]" ;
}

function doarPic() {
	location = mailto + 'webmaster' + theLocation + "?subject=Pictures for my success story: From [Please add your name here]" ;
}

function setFromDate (objDate) {
	var dateInput = document.getElementById('date');
	dateInput.DateChooser.setEarliestDate(objDate);
	dateInput.DateChooser.updateFields();
	return true;
}

function setToDate (objDate) {
	var dateInput = document.getElementById('toDate');
	dateInput.DateChooser.setEarliestDate(objDate);
	dateInput.DateChooser.updateFields();
	return true;
}

function toggleSub (nId) {
	if (document.getElementById('subMenu' + nId).style.display != 'none') {
		hide('subMenu' + nId);
		document.getElementById('menuItem' + nId).className = document.getElementById('menuItem' + nId).className.replace(/opened/gi,'closed');
		document.getElementById('bullet'+ nId).src = 'Images/bullet.gif';
	}
	else {
		document.getElementById('bullet'+ nId).src = 'Images/bulletCurrent.gif';
		show('subMenu' + nId);
		document.getElementById('menuItem' + nId).className = document.getElementById('menuItem' + nId).className.replace(/closed/gi,'opened');
	}
}

function toggleCCAction (actionPage) {
	oForm = document.forms['registration'];
	if ($('ccard').checked) {
		show('ccardBlock');
	}
	else {
		hide ('ccardBlock');
	}
	/*oForm.action = actionPage;*/
}

function validateRegistration(isLoggedIn) {
	var oForm = document.forms['registration'];
	var errBoxes = $('registration').getElements('span.error');
	errBoxes.each(function(errBox){
		errBox.parentNode.removeChild(errBox);
	});
	if (document.forms['registration'].mib.value != '') {
		return false;
	}
	try {
		var validator = new FormValidator('registration');
	}
	catch (e) {
		alert(e);
	}

	var hasErrors = false;
	try {
		if (!validator.validateMail('email')) {
			validator.displayError('email',messages.email_empty);
			hasErrors = true;
		}
		if (validator.isEmpty('name')) {
			validator.displayError('name',messages.name_empty);
			hasErrors = true;
		}
		if (validator.isEmpty('surname')) {
			validator.displayError('surname',messages.name_empty);
			hasErrors = true;
		}
		if (!validator.validatePhone('phone')) {
			validator.displayError('phone',messages.invalid_phone);
			hasErrors = true;
		}
		if (0 == oForm.total_units.value) {
			validator.displayError('total_units',messages.total_units);
			hasErrors = true;
		}
		if ($('onlineDetails') && $('onlineDetails').style.display != 'none') { 
			if (validator.isEmpty('weight')) {
				validator.displayError('weight',messages.general_empty);
				hasErrors = true;
			}
			else if (!validator.isCurrency('weight')) {
				validator.displayError('weight',messages.floatNum_only);
				hasErrors = true;
			}
			if (validator.isEmpty('height')) {
				validator.displayError('height',messages.general_empty);
				hasErrors = true;
			}
			else if (!validator.isCurrency('height')) {
				validator.displayError('height',messages.floatNum_only);
				hasErrors = true;
			}
			/*if (validator.isEmpty('wrist')) {
				validator.displayError('wrist',messages.general_empty);
				hasErrors = true;
			}
			else if (!validator.isCurrency('wrist')) {
				validator.displayError('wrist',messages.floatNum_only);
				hasErrors = true;
			}*/
			if (!validator.isEmpty('desired_weight') && !validator.isCurrency('desired_weight')) {
				validator.displayError('desired_weight',messages.intNum_only);
				hasErrors = true;
			}
			if (validator.isEmpty('occupation')) {
				validator.displayError('occupation',messages.general_empty);
				hasErrors = true;
			}
			if (oForm.isActive.checked && validator.isEmpty('sports')) {
				validator.displayError('sports',messages.general_empty);
				hasErrors = true;
			}
		}
		if (!validator.isValidUsername('title')) {
			validator.displayError('title',messages.username_too_short);
			hasErrors = true;
		}
		/* Validating password only if new registration: */
		if (!isLoggedIn /*|| (isLoggedIn && oForm.password.value != '@@@@@@@@@@@@@@@@@@@@')*/) {
			if (!validator.isValidPassword('password')) {
				validator.displayError('password',messages.password_too_short);
				hasErrors = true;
			}
			else if (oForm.password.value != oForm.password2.value) {
				validator.displayError('password',messages.password_no_match);
				hasErrors = true;
			}
		}
		if (validator.isEmpty('arith')) {
			validator.displayError('arith',messages.arith);
			hasErrors = true;
		}
		else if (!validator.isFigures('arith')) {
			validator.displayError('arith',messages.intNum_only);
			hasErrors = true;
		}
		if (!oForm.terms.checked) {
			validator.displayError('terms',messages.terms);
		}
		if (validator.isEmpty('taz')) {
			validator.displayError('taz',messages.taz_empty);
			hasErrors = true;
		}
		else if (!validator.isValidTaz('taz')) {
			validator.displayError('taz',messages.taz_not_valid);
			hasErrors = true;
		}
		if ($('ccard') && $('ccard').checked) {
			if (validator.isEmpty('cc_fname')) {
				validator.displayError('cc_fname',messages.general_empty);
				hasErrors = true;
			}
			if (validator.isEmpty('cc_surname')) {
				validator.displayError('cc_surname',messages.general_empty);
				hasErrors = true;
			}
			if (validator.isEmpty('cc_number')) {
				validator.displayError('cc_number',messages.general_empty);
				hasErrors = true;
			}
			else if (!validator.isFigures('cc_number')) {
				validator.displayError('cc_number',messages.intNum_only);
				hasErrors = true;
			}
			if (validator.isEmpty('cc_cvc')) {
				validator.displayError('cc_cvc',messages.general_empty);
				hasErrors = true;
			}
			else if (!validator.isFigures('cc_cvc')) {
				validator.displayError('cc_cvc',messages.intNum_only);
				hasErrors = true;
			}
		}
	}
	catch(e) {
		alert(e);
		return false;
	}
	if (hasErrors) {
		displayModalDialogBox('<h3>' + messages.alertMsg + '</h3>\n' + messages.general_error);
		return false;
	}
	else {
		return true;
	}
}

function validateforumSignUp() {
	var oForm = document.forms['forumSignUp'];
	var errBoxes = $('forumSignUp').getElements('span.error');
	errBoxes.each(function(errBox){
		errBox.parentNode.removeChild(errBox);
	});
	if (document.forms['forumSignUp'].mib.value != '') {
		return false;
	}
	try {
		var validator = new FormValidator('forumSignUp');
	}
	catch (e) {
		alert(e);
	}
	var hasErrors = false;
	if (!validator.validateMail('email')) {
		validator.displayError('email',messages.email_empty);
		hasErrors = true;
	}
	if (validator.isEmpty('name')) {
		validator.displayError('name',messages.name_empty);
		hasErrors = true;
	}
	if (!validator.isValidUsername('title')) {
		validator.displayError('title',messages.username_too_short);
		hasErrors = true;
	}
	if (!validator.isValidPassword('password')) {
		validator.displayError('password',messages.password_too_short);
		hasErrors = true;
	}
	else if (oForm.password.value != oForm.password2.value) {
		validator.displayError('password',messages.password_no_match);
		hasErrors = true;
	}
	if ($('client').value != '') {
		if (validator.isEmpty('taz')) {
			validator.displayError('taz',messages.taz_empty);
			hasErrors = true;
		}
		else if (!validator.isValidTaz('taz')) {
			validator.displayError('taz',messages.taz_not_valid);
			hasErrors = true;
		}
		if (validator.isEmpty('surname')) {
			validator.displayError('surname',messages.name_empty);
			hasErrors = true;
		}
		if (oForm.supportgroups_id && oForm.supportgroups_id.value == 0) {
			validator.displayError('supportgroups_id',messages.select_support_group);
			hasErrors = true;
		}
	}
	if (validator.isEmpty('arith')) {
		validator.displayError('arith',messages.arith);
		hasErrors = true;
	}
	else if (!validator.isFigures('arith')) {
		validator.displayError('arith',messages.intNum_only);
		hasErrors = true;
	}
	if (!oForm.terms.checked) {
		validator.displayError('terms',messages.terms);
	}
	if (hasErrors) {
		displayModalDialogBox('<h3>' + messages.alertMsg + '</h3>\n' + messages.general_error);
		return false;
	}
	else {
		return true;
	}
}

var hasErrors = false;
function validate() {
	var oForm = document.forms['contact'];
	if (oForm.mib.value != '') {
		return false;
	}
	try {
		var validator = new FormValidator('contact');
	}
	catch (e) {
		alert(e);
	}
	if (hasErrors) {
		var errBoxes = $('contact').getElements('span.error');
		errBoxes.each(function(errBox){
			errBox.parentNode.removeChild(errBox);
		});
	}

	hasErrors = false;
	if (!validator.validateMail('email')) {
		validator.displayError('email',messages.email_empty);
		hasErrors = true;
	}
	if (validator.isEmpty('name')) {
		validator.displayError('name',messages.name_empty);
		hasErrors = true;
	}
	if (!validator.validatePhone('phone')) {
		validator.displayError('phone',messages.invalid_phone);
		hasErrors = true;
	}
	if (hasErrors) {
		displayModalDialogBox(messages.general_error);
		return false;
	}
	else {
		return true;
	}
}

function validateCoupon() {
	var oForm = document.forms['contact'];
	if (oForm.mib.value != '') {
		return false;
	}
	try {
		var validator = new FormValidator('contact');
	}
	catch (e) {
		alert(e);
	}
	if (hasErrors) {
		var errBoxes = $('contact').getElements('span.error');
		errBoxes.each(function(errBox){
			errBox.parentNode.removeChild(errBox);
		});
	}

	hasErrors = false;
	if (!validator.validateMail('email')) {
		validator.displayError('email',messages.email_empty);
		hasErrors = true;
	}
	if (validator.isEmpty('name')) {
		validator.displayError('name',messages.name_empty);
		hasErrors = true;
	}
	if (!validator.validatePhone('phone')) {
		validator.displayError('phone',messages.invalid_phone);
		hasErrors = true;
	}
	if (oForm.supportgroups_id.value == 0) {
		validator.displayError('supportgroups_id',messages.select_support_group);
		hasErrors = true;
	}
	if (hasErrors) {
		displayModalDialogBox(messages.general_error);
		return false;
	}
	else {
		return true;
	}
}

function validateStory() {
	var hasErrors = false;
	var oForm = document.forms['story'];
	if (oForm.mib.value != '') {
		return false;
	}
	try {
		var validator = new FormValidator('story');
	}
	catch (e) {
		alert(e);
	}
	var errBoxes = $('story').getElements('span.error');
	errBoxes.each(function(errBox){
		errBox.parentNode.removeChild(errBox);
	});

	if (validator.isEmpty('name')) {
		validator.displayError('name',messages.name_empty);
		hasErrors = true;
	}
	if (validator.isEmpty('surname')) {
		validator.displayError('surname',messages.surname_empty);
		hasErrors = true;
	}
	if (!validator.validateMail('email')) {
		validator.displayError('email',messages.email_empty);
		hasErrors = true;
	}
	if (validator.isEmpty('my_story')) {
		validator.displayError('my_story',messages.my_story_empty);
		hasErrors = true;
	}
	var story = oForm.my_story.value;
	story = story.replace(/\n/gi,'<br />');
	oForm.my_story.value = story;
	if (hasErrors) {
		displayModalDialogBox(messages.general_error);
		return false;
	}
	else {
		return true;
	}
}

/*Generated by responder.co.il*/
function responder_validation(form) {
	var inputs = form.getElementsByTagName('input');
	var selects = form.getElementsByTagName('select');
	var filter = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+){1,4}$/;

	for (a=0; a<inputs.length; a++) {
		switch (inputs[a].name) {
			case 'fields[subscribers_email]':
				if (!filter.test(inputs[a].value)) {
					alert(messages.email_empty);
					inputs[a].focus();
					return false;
				}

				break;
		}
	}

	for (a=0; a<selects.length; a++) {
		switch (selects[a].name) {
		}
	}

	return true;
}



function takeMe(itemId,itemTitle, num) {
	$('nameBox').value = itemTitle;
	hide('foodBox');
	var foodInfo = $('template').innerHTML;
	foodInfo = foodInfo.replace(/__TITLE__/gi,nameArray[num]['title']);
	foodInfo = foodInfo.replace(/__CONTENT__/gi,nameArray[num]['content']);
	foodInfo = foodInfo.replace(/__PORTION__/gi,nameArray[num]['portion']);
	foodInfo = foodInfo.replace(/__GROUP__/gi,nameArray[num]['group_title']);
	foodInfo = foodInfo.replace(/__UNIT__/gi,nameArray[num]['unit']);
	$('foodInfo').innerHTML = foodInfo;
	$('sublist').innerHTML = '';
	var sb = new StringBuffer();
	for (var i = 0;i < nameArray.length;i++) {
		if (nameArray[i]['food_groups_id'] == nameArray[num]['food_groups_id']) {
			try {
			sb.append('<li>');
			sb.append(nameArray[i]['title']);
			sb.append(' (');
			sb.append(nameArray[i]['portion']);
			sb.append(' ');
			sb.append(nameArray[i]['unit'])
			sb.append(')');
			}
			catch (e) {
				alert(e);
			}
		}
	}
	$('sublist').innerHTML = sb.toString();
	show('substitutes');
}

function suggest() {
	var regXp = new RegExp('^'+ $('nameBox').value);
	var sb = new StringBuffer();
	for (var i = 0;i <nameArray.length;i++) {
		$('foodBox').innerHTML = '';
		if(regXp.test(nameArray[i]['title'])) {
			sb.append('<li class="button" id="foodName_' + nameArray[i]['food_items_id'] + '" onclick="takeMe(\'' + nameArray[i]['food_items_id'] + '\',\'' + nameArray[i]['title'] + '\',' + i + ')">');
			sb.append(nameArray[i]['title']);
			sb.append('</li>');
		}
	}
	$('foodBox').innerHTML = sb.toString();
	if ($('foodBox').innerHTML == '' || $('nameBox').value == '') {
		hide('foodBox');
	}
	else {
		show('foodBox');
	}
}


var nameArray;

function getFoodList(container, theUrl,theSync) {
	var req = new Request({
		method: 'get',
		url: theUrl,
 		data: { 'do' : '1' },
		onRequest: function() {
			$('foodBox').innerHTML = '';
		},
		onComplete: function(response) {
			nameArray = eval('(' + response + ')');
			for (var i = 0;i <nameArray.length;i++) {
				nameArray[i]['title'] = nameArray[i]['title'].replace(/\'/,'')
			}
		}
	}).send();
}

function filterCity() {
	var whichCity = $('cities').value;
	$('supportGroupList').getElements('ul.groupList').each(function(oddItem) {
		if (whichCity == 0) {
			oddItem.getElements('li.odd').each(function(oddBox){
				oddBox.setStyle('display','block');
			}) ;
		}
		else {
			oddItem.getElements('li.odd').each(function(oddBox){
				if (oddBox.getElement('h4').title == whichCity) {
					oddBox.setStyle('display','block');
				}
				else {
					oddBox.setStyle('display','none');
				}
			}) ;
		}
	});
}

function init () {
	detectIe6();
	/* If the page containes a rolling marquee - roll it on! */
	if(document.getElementById('vmarquee')) {
		initializemarquee();
	}
	/* If the page containes a sortable list - initiate it */
	if($('sortable-list')) {
		var sb = new Sortables('sortable-list', {
			/* set options */
			clone:true,
			revert: true,
			/* initialization stuff here */
			initialize: function() { 
				
			},
			/* once an item is selected */
			onStart: function(el) { 
				el.getElement('p').setStyle('background','#add8e6');
			},
			/* when a drag is complete */
			onComplete: function(el) {
				/*el.getElement('p').setStyle('background','#ddd');*/
				//build a string of the order
				
				
				
				//autosubmit if the checkbox says to
				/*if($('auto_submit').checked) {
					//do an ajax request
					var req = new Request({
						url:'/dw-content/sort-save.php',
						method:'post',
						autoCancel:true,
						data:'sort_order=' + sort_order + '&ajax=' + $('auto_submit').checked + '&do_submit=1&byajax=1',
						onRequest: function() {
							$('message-box').set('text','Updating the sort order in the database.');
						},
						onSuccess: function() {
							$('message-box').set('text','Database has been updated.');
						}
					}).send();
				}*/
			}
		});
	}
	
	if($('calculator')) {
		getFoodList('foodBox', 'foodSrc.php',true);
		$('nameBox').addEvent('keyup',suggest);
		$('nameBox').addEvent('click',function() {
			$('nameBox').value = '';
		});
	}
	if ($('joined')) {
		myCal1 = new Calendar({ joined: 'd-m-Y' });
	}
	/* If the page containes a date boxes - format them */
	if ($('valid_untill')) {
		myCal1 = new Calendar({ valid_untill: 'd-m-Y' });
	}
	if ($('birthday') && $('edit')) {
		myCal1 = new Calendar({ birthday: 'd-m' });
	}
}

window.onload = init;