// JavaScript Document
var nameOk = true;
var surnameOk = true;
var companyOk = true;
var telephoneOk = true;
var addressOk = true;
var emailOk = true;
var subjectOk = true;
var messageOk = true;
var codeOk = false;


function showForm(){
		$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showForm:"showForm"},function(data){	
			document.getElementById("message_content").innerHTML=data;	
		});
}

function sendForm(){
	
nameOk = verifyLastName(document.getElementById("user_last_name"));
surnameOk = verifyFirstName(document.getElementById("user_first_name"));
telephoneOk = verifyTelephone(document.getElementById("telephone_name"));
emailOk = verifyEmail(document.getElementById("email"));
addressOk = verifyEmptyAdress(document.getElementById("address"));
subjectOk = verifyEmptySubject(document.getElementById("subject"));
messageOk = verifyEmptyMessage(document.getElementById("message"));
codeOk = verifyEmptyCode(document.getElementById("code_generated"));
	
	if(!nameOk || !surnameOk || !telephoneOk  || !emailOk || !subjectOk || !messageOk || !codeOk) { 
		alert("Va rugam introduceti datele corect! Please fill out the form!");
		return;
	}
	document.messageForm.submit();
}


function showElement(element_id){
	
	try {
		$("#"+element_id).show();
	}catch (error) {
		alert("Caught: " + error.message);
	}
	
}

function hideElement(element_id){
	
	try {
			$("#"+element_id).hide();
	}
		catch (error) {
			alert("Caught: " + error.message);
	}
}

function isAlphaNum(val){
	var letterExp = /^[a-zA-Z]+$/;
	if(val.match(letterExp)){
		return true;
	} 
	return false;
}

function verifyLastName(ob){
	if(isAlphaNum(ob.value)&&(ob.value!="")){
		nameOk = true;
		document.getElementById("last_name_error").innerHTML="";
		hideElement("last_name_error");
		return true;
	} else { 
		nameOk = false;
		document.getElementById("last_name_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>';
		showElement("last_name_error");
		return false;
	}
}


function verifyFirstName(ob){
	if(isAlphaNum(ob.value)&&(ob.value!="")){
		surnameOk = true;
		document.getElementById("user_first_error").innerHTML="";
		hideElement("user_first_error");
		return true;
	} else { 
		surnameOk = false;
		document.getElementById("user_first_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>'; 
		showElement("user_first_error");
		return false;
	}
}

function verifyTelephone(ob){
	return true;
	var RegExp = /^([\+]?)([\ ]|[0-9])*$/
	var telephone=ob.value;
	
	if(RegExp.test(telephone)&&telephone!=""){
		document.getElementById("telephone_error").innerHTML="";
		hideElement("telephone_error");
		telephoneOk = true;
		if(trim(telephone).length < 9) { 
			telephoneOk = false;
			document.getElementById("telephone_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>';
			showElement("telephone_error");
			return false;
		}
	} else { 
		telephoneOk = false;
		document.getElementById("telephone_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>';
		showElement("telephone_error");
		return false;
	} 
	return true;

}

function trim(stringToTrim) {
	stringToTrim = stringToTrim.replace(" ","");
	stringToTrim = stringToTrim.replace("+","");
	return stringToTrim;
}


function verifyEmail(ob){
	var email=ob.value;	
	var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/ 
	if(RegExp.test(email)&&email!=""){ 
	document.getElementById("email_error").innerHTML="";
	hideElement("email_error");
	emailOk = true;
	return true;
	}else{ 
	document.getElementById("email_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>'; 
	showElement("email_error");
	emailOk = false;
	return false;
	} 	
}

function verifyEmptyCompany(ob){
	return true;
	var company_name=ob.value;
	if(company_name==''){
		document.getElementById("company_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>';
		showElement("company_error");
		companyOk = false;
		return false;
	}else{
		document.getElementById("company_error").innerHTML="";
		hideElement("company_error");
		companyOk = true;
		return true;
	}
	
}

function verifyEmptyAdress(ob){
	return true;
	var company_name=ob.value;
	if(company_name==''){
		document.getElementById("address_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>';
		showElement("address_error");
		addressOk = false;
		return false;
	}else{
		document.getElementById("address_error").innerHTML="";
		hideElement("address_error");
		addressOk = true;
		return true;
	}
	
}

function verifyEmptySubject(ob){

	var company_name=ob.value;
	if(company_name==''){
		document.getElementById("subject_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>';
		showElement("subject_error");
		subjectOk = false;
		return false;
	}else{
		document.getElementById("subject_error").innerHTML="";
		hideElement("subject_error");
		subjectOk = true;
		return true;
	}

}


function verifyEmptyMessage(ob){
	
	var company_name=ob.value;
	if(company_name==''){
		document.getElementById("message_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>';
		showElement("message_error");
		messageOk = false;
		return false;
	}else{
		document.getElementById("message_error").innerHTML="";
		hideElement("message_error");
		messageOk = true;
		return true;
	}	
	
}

function verifyEmptyCode(ob){
	var code=ob.value;
	if(code.length<6 || code.length>6){
		document.getElementById("code_error").innerHTML='<img src="images/icons/small/wrong.png" alt="x" style="margin:0;"/>';
		showElement("code_error");
		codeOk = false;
		return false;
	}else{
		document.getElementById("code_error").innerHTML="";
		hideElement("code_error");
		codeOk = true;
		return true;
	}	
}


function showMessagesForAcceptation(page,number_of_filds){
	//alert(page+"---"+number_of_filds);
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showMessagesForAcceptation:"showMessagesForAcceptation",page:page,number_of_filds:number_of_filds},function(data){	
			document.getElementById("message_content").innerHTML=data;	
	});
}


function addIpBan(page,number_of_fields,ip_id){
	
	var ip=document.getElementById("ip_"+ip_id).innerHTML;
	
	var answer = confirm("Adaugati IP in lista de IP-uri interzise? Toate mesajele si rezervarile neacceptate de la IP:"+ip+" vor fi sterse!");
	if(!answer) { return; }
	
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),addBan:"addBan",ip:ip},function(data){	
		showMessagesForAcceptation(page,number_of_fields);
	});
}

function acceptMessage(message_id,page,number_of_filds){
	var answer = confirm("Mesajul va aparea pe lista publica. Acceptati?");
	if(!answer) { return; }
	var id= message_id;
		
		$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),aceptMessage:"aceptMessage",id:id},function(data){	
			showMessagesForAcceptation(page,number_of_filds);
			//alert(data);
		});
}

function showAllAcceptedMessage(page,number_of_filds){
	//alert(page+"---"+number_of_filds);
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showAllMessages:"showAllMessages",page:page,number_of_filds:number_of_filds},function(data){	
			document.getElementById("message_content").innerHTML=data;	
	});
}

function showAllAcceptedMessageUsers(page,number_of_filds){
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showAllMessagesUsers:"showAllMessagesUsers",page:page,number_of_filds:number_of_filds},function(data){	
			document.getElementById("message_content").innerHTML=data;	
	});
}

function deleteMessage(message_id,page,number_of_filds){
	var answer = confirm("Stergeti mesajul?");
	if(!answer) { return; }
	var id=message_id;
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),deleteMessage:"deleteMessage",id:id},function(data){	
			//document.getElementById("message_content").innerHTML=data;	
			 showMessagesForAcceptation(page,number_of_filds);
	});
	
}

function showBanList(){
	
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showBanList:"showBanList"},function(data){	
																										   
			 document.getElementById("message_content").innerHTML=data;
	});
	
}


function deleteBan(temp_id){
	var answer = confirm("Sterge ban?");
	if(!answer) { return; }
	//alert(id);
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),deleteBan:"deleteBan",id:temp_id},function(data){	
			 alert(data);
			 showBanList();
	});
	
}


/* bookings */

function loadPageBookings(page,number_of_filds){
	//alert(page+"---"+number_of_filds);
	$.post("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showUnreadBookings:"showUnreadBookings",page:page,number_of_fields:number_of_filds},function(data){	
			document.getElementById("message_content").innerHTML=data;	
	});
}


function loadReadPageBookings(page,number_of_filds){
		//alert(page+"---"+number_of_filds);
	$.post("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showReadBookings:"showReadBookings",page:page,number_of_fields:number_of_filds},function(data){	
			document.getElementById("message_content").innerHTML=data;	
	});
}


function checkBooking(booking_id,page,number_of_fields){
	var answer = confirm("Marcheaza rezervare ca verificata?");
	if(!answer) { return; }
	$.post("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),checkBooking:"checkBooking",booking_id:booking_id},function(data){	
			loadPageBookings(page,number_of_fields);
			document.getElementById("message_content").innerHTML=data;	
	});		
}

function deleteBooking(booking_id,page,number_of_fields){
	var answer = confirm("Sterge rezervare?");
	if(!answer) { return; }
	$.post("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),deleteBooking:"deleteBooking",booking_id:booking_id},function(data){	
			loadPageBookings(page,number_of_fields);
			document.getElementById("message_content").innerHTML=data;	
	});		
}
/* end of bookings */


function loadPage(page,number_of_filds){
	//alert(page+"---"+number_of_filds);
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showMessagesForAcceptation:"showMessagesForAcceptation",page:page,number_of_filds:number_of_filds},function(data){	
			document.getElementById("message_content").innerHTML=data;	
	});
}


function loadNewPage(page,number_of_filds){
		//alert(page+"---"+number_of_filds);
		$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showAllMessages:"showAllMessages",page:page,number_of_filds:number_of_filds},function(data){	
			document.getElementById("message_content").innerHTML=data;	
		});	
}

function loadNewPageUsers(page,number_of_filds){
		//alert(page+"---"+number_of_filds);
		$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showAllMessagesUsers:"showAllMessagesUsers",page:page,number_of_filds:number_of_filds},function(data){	
			document.getElementById("message_content").innerHTML=data;	
		});	
}

function toggleMessageForm() {
	$("#contact_form1").slideToggle(200);
	if(document.getElementById("messageFormShowControl").innerHTML == "[ - ]") { 
		document.getElementById("messageFormShowControl").innerHTML = "[ + ]"
	} else { 
		document.getElementById("messageFormShowControl").innerHTML = "[ - ]"
	}
}

function deleteSelectedMessages(page,number_of_filds){
	
	var value_check='';
	var id_check='';
	var k = false;
	var varia=0;
	for (varia=1;varia<=number_of_filds;varia++){
		if(document.getElementById("delete_option_"+varia)===null){
			break;
		}
		if(document.getElementById("delete_option_"+varia).checked){
			k=true;
			id_check=document.getElementById("delete_option_"+varia).value;
			value_check=value_check+id_check+",";
			//alert(id_check);
		}
	}
	
	if(!k) { alert("Nu ati selectat nici un mesaj pentru stergere!"); return; }
	
	var answer = confirm("Stergeti mesajele selectate?");
	if(!answer) { return; }
	
	$.get("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),deleteMultipleMessages:"deleteMultipleMessages",value_check:value_check},function(data){	
																																						 			//alert(data);
			//document.getElementById("message_content").innerHTML=data;	
			showMessagesForAcceptation(page,number_of_filds);
	});
	
	//alert(value_check);
}

/* BOOKINGS */
var booking_being_sent = false;
$(document).ready(function(){

	$(".clear_me").live("focus",function(){
		if($(this).attr("value")==$(this).attr("title")){
			$(this).attr("value","");
		}
	});
	
	$(".clear_me").live("blur",function(){
		if($(this).attr("value")==""){
			$(this).attr("value",$(this).attr("title"));	
		}
	});
	
	
	refreshBookingDatePicker();
});


function sendBooking(){
	if(booking_being_sent) return;
	booking_being_sent = true;
	$("#booking_form_loader").show(0);
	$("#booking_form_status #booking_form_message").html("");
	$.post("ajax_calls/useMessages.php", $("#bookings-form").serialize(), function(data){
		$("#booking_form_loader").delay(200).fadeOut(200,function(){
				$("#booking_form_status #booking_form_message").html(data.message);
				booking_being_sent = false;
		});
		
	},"json");
}

function refreshBookingDatePicker(){
		var dates = $( "#from, #to" ).datepicker({
			defaultDate: "+1w",
			changeMonth: false,
			numberOfMonths: 1,
			onSelect: function( selectedDate ) {
				var option = this.id == "from" ? "minDate" : "maxDate",
					instance = $( this ).data( "datepicker" ),
					date = $.datepicker.parseDate(
						instance.settings.dateFormat ||
						$.datepicker._defaults.dateFormat,
						selectedDate, instance.settings );
				dates.not( this ).datepicker( "option", option, date );
			}
		});

}

function showUnreadReservations(page,number_of_fields){
	//alert(page+"---"+number_of_filds);
	$.post("ajax_calls/useMessages.php",{ignoreMe: new Date().getTime(),showUnreadBookings:"showUnreadBookings",page:page,number_of_fields:number_of_fields},function(data){	
		document.getElementById("message_content").innerHTML=data;	
	});
}

/* END OF BOOKINGS */
