var httpRequest;


try {
	httpRequest=new ActiveXObject('Msxml2.httpRequest');
}
catch(e) {
	try {
	    httpRequest=new ActiveXObject('Microsoft.httpRequest');
	}
	catch(E) {
		httpRequest=false;
	}
}

if(!httpRequest && typeof XMLHttpRequest!='undefined')
  httpRequest=new XMLHttpRequest();

function fetchDataViaGet(url,data)	{
	httpRequest.open('GET',url+data,false);
	httpRequest.send(null);
    return httpRequest.responseText;
}

function fetchDataViaPost(url,data) {
	httpRequest.open('POST',url, false);
	httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
 	httpRequest.setRequestHeader("Content-length",data.length);
 	httpRequest.setRequestHeader("Connection","close");
 	httpRequest.send(data);
	return httpRequest.responseText;
}

function getTbxValue(id)	{
	var obj = document.getElementById(id);
	return obj.value;
}

function loginUser(){
	var username=getTbxValue("loginUsername");
	var password=getTbxValue("loginPassword");

  	response = fetchDataViaPost( "checkCredentials.php", "username="+username+"&password="+password);
	if( response == "1")
		window.location="http://anemometer.gr/logged_in.php";
	else
		alert("Λάθος όνομα ή/και συνθηματικό" );
}

function showRegistrationForm(){
	document.getElementById('userForm').innerHTML=document.getElementById('registrationForm').innerHTML;
}

function closeRegistration(){
	document.getElementById('userForm').innerHTML=document.getElementById('loginForm').innerHTML;
}

function registerUser() {
	var username=getTbxValue("regUsername");
	var password=getTbxValue("regPassword");
	var confirmPassword=getTbxValue("confirmPassword");
	var mobilePhone=getTbxValue("mobilePhone");
	var email=getTbxValue("email");

	document.getElementById("status").innerHTML = "";

	var error=validate(username, password, confirmPassword, mobilePhone, email);
	if(error=="") {
	  	var url="do_register.php";
		var data="?username="+username+"&password="+password+"&mobilePhone="+mobilePhone+"&email="+email;
		response=fetchDataViaGet(url,data);
		if(response=="1") {
			document.getElementById('status').innerHTML="Η εγγραφή σας πραγματοποιήθηκε με επιτυχία. <a onclick=\"closeRegistration()\">Είσοδος</a>";
			document.getElementById('register').disabled=true;
		}
		else
			document.getElementById('status').innerHTML="Σημειώθηκε σφάλμα κατά την εγγραφή σας. Παρακαλούμε δοκιμάστε ξανά αργότερα.";
	}
	else
		document.getElementById('status').innerHTML=error;
}

function echeck(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);

	if (str.indexOf(at)==-1)
		return false;

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		   return false;

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		    return false;

		 if (str.indexOf(at,(lat+1))!=-1)
		    return false;

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		    return false;

		 if (str.indexOf(dot,(lat+2))==-1)
		    return false;

		 if (str.indexOf(" ")!=-1)
		    return false;

 		 return true;
}


function validate(username,password,confirmPassword,mobilePhone,email){

	var error = "";

	if(username.length <2 )
		error=" Το όνομα χρήστη πρέπει να παριέχει περισσότερους από 2 χαρακτήρες.<br>";

	if(password.length < 6)
		error+="Το συνθηματικό πρέπει να είναι 6 χαρακτήρες τουλάχιστον.<br>";
//	if(confirm_password == ''){document.getElementById('confirm_password_div').innerHTML += "<label style='color:red'>*</label>";empty_fields = true;}
	if(password!=confirmPassword)
		error+="Το συνθηματικό και η επιβεβαίωση του συνθηματικού δεν είναι τα ίδια.<br>"

	//if(mobile != null){
//		if(mobile_phone==''){document.getElementById('mobile_phone_div').innerHTML += "<label style='color:red'>*</label>";empty_fields = true;}
	if(mobilePhone.length < 10)
		error+="Το κινητό πρέπει να είναι τουλάχιστον 10 νούμερα.<br>";

	//if(email != null){
	//	if(email == ''){document.getElementById('email_div').innerHTML += "<label style='color:red'>*</label>";empty_fields = true;}
		if(email !='' && echeck(email) == false)
		error+="Το email που δώσατε δεν είναι έγκυρο.<br>";

//	if(empty_fields == true){ document.getElementById("error_div").innerHTML += "Τα πεδία με <label style='color:red'>*</label> είναι υποχρεωτικό να συμπληρωθούν.<br>";}

	return error;
}

function buyNow() {
	var amount = document.getElementById('purchase_amount').value;
	if(amount == '')   {
		alert("Δεν έχετε επιλέξει ποσό.");
		return;
	}
  	document.getElementById('amount').value = amount;
	fetchDataViaGet( "preCheckout.php", "?amount="+amount );
	smsCount=parseInt(amount/0.119);
	document.getElementById('item_name').value="anemometer.gr - "+smsCount+" SMS";
  	document.formPaypal.submit()
}

function ajax_routine(url, target_div){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
  	{
  		alert ("Your browser does not support XMLHTTP!");
  		return;
  	}
	url = url+"&sid="+Math.random();
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	document.getElementById(target_div).innerHTML = xmlhttp.responseText;
}


function checkUsername() {
	var username=getTbxValue("regUsername")
	if(username.length>2) {
		var response=fetchDataViaGet("checkUsername.php", "?username="+username);
		if(response=="1")
			document.getElementById('regUsername').style.background="#d4f9ca";
		else
			document.getElementById('regUsername').style.background="#ffb091";
	}
}

function update(id){
	var from_date = document.getElementById('from_date').value;
	var to_date = document.getElementById('to_date').value;
	var day_of_week = document.getElementById('day_of_week').value;
	var from_time = document.getElementById('from_time').value;
	var to_time = document.getElementById('to_time').value;
	var speed_limit = document.getElementById('speed_limit').value;
	var report_interval = document.getElementById('report_interval').value;
	url = "update_entry.php?id="+id+"&from_date="+from_date+"&to_date="+to_date+"&day_of_week="+day_of_week+"&from_time="+from_time+"&to_time="+to_time+"&speed_limit="+speed_limit+"&report_interval="+report_interval+"";
	//alert(url);
	ajax_routine(url, "msg");
}

function updateEntry(id){
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
  	{
  		alert ("Your browser does not support XMLHTTP!");
  		return;
  	}
	//alert(id);
	var url = "update_entry.php?id="+id+"&sid="+Math.random();
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	document.getElementById("msg").innerHTML = xmlhttp.responseText;

}

function getDeleteList(){
	var items = new Array();
	var j=0;
	var deletelist = new Array();
	items = document.getElementsByName('to_be_selected');
	for(i=0; i<items.length; i++)
	{
		if(items.item(i).checked == true){
			deletelist[j] = items.item(i).id;
			j = j+1;
		}
	}
	//alert(deletelist.length);
	/*for(counter=0; counter<deletelist.length; counter++){
		document.write(deletelist[counter]);
	}*/
	//alert("Delete list --> "+deletelist);
	return deletelist;
}

function deleteSelected(items){//pinakas epilegmenwn
	alert("delete selected items");
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
  	{
  		alert ("Your browser does not support XMLHTTP!");
  		return;
  	}

  	var url="delete_selected.php";
	url=url+"?vars="+items;
	url=url+"&sid="+Math.random();
	//alert(url);
	//xmlhttp.onreadystatechange=setOrderFileContentDiv;
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	document.getElementById("msg").innerHTML = xmlhttp.responseText;
	//alert("delete selected items");
}

function selectAll(){
	var items = new Array();
	items = document.getElementsByName('to_be_selected');
	for(i in items)
	{
		items[i].checked = true;
	}
}

function selectNone(){
	var items = new Array();
	items = document.getElementsByName('to_be_selected');
	for(i in items)
	{
		items[i].checked = false;
	}
}

function addSchedule(){
	//alert("add schedule");
	var from_date = document.getElementById('from_date').value;
	var to_date = document.getElementById('to_date').value;
	var from_time, to_time, speed_limit, url;
	url = "private_2.php";
	url = url+"?from_date="+from_date;
	url = url+"&to_date="+to_date;
	for(var i=1; i<=7; i++)
	{
		from_time = document.getElementById(i+'_from').value;
		to_time = document.getElementById(i+'_to').value;
		speed_limit = document.getElementById(i+'_speed').value;
		if(from_time != '' && to_time != '' && speed_limit != ''){
		//url = url+"&day_of_week="+i;
		url = url+"&"+i+"_from="+from_time;
		url = url+"&"+i+"_to="+to_time;
		url = url+"&"+i+"_speed="+speed_limit;
		}

	}
	url=url+"&sid="+Math.random();

		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
  		{
  			alert ("Your browser does not support XMLHTTP!");
  			return;
  		}
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
		//document.write(url);
		document.getElementById("error_msg").innerHTML = xmlhttp.responseText;
		//alert("add schedule");
}


function clear_error_fields(){
	document.getElementById('username_div').innerHTML='';
	document.getElementById('password_div').innerHTML='';
	document.getElementById('confirm_password_div').innerHTML='';
	document.getElementById('email_div').innerHTML='';
	document.getElementById('mobile_phone_div').innerHTML='';
	document.getElementById('error_div').innerHTML='';
}

function alterUserData(username, password, confirm_password, mobile_phone, email){
	//alert("alter user data");
	clear_error_fields();
	var error = validate(username, password, confirm_password, mobile_phone, email);
	//alert(error);
	if(error == false){
		var url = "do_alter_user_data.php?username="+username+"&password="+password+"&mobile_phone="+mobile_phone+"&email="+email+"";
		ajax_routine(url, "success_div");
	}
}


function confirmPassword(password, confirm_password){
	if(password != confirm_password){
		//document.getElementById('confirm_msg').innerHTML = "Οι κωδικοί δεν είναι ίδιοι! ";
		alert("Passwords do not match! ");
	}
}

function cancelAlterUserData(){
	clear_error_fields();
	document.getElementById('username').value = '';
	document.getElementById('password').value = '';
	document.getElementById('confirm_password').value = '';
	document.getElementById('mobile_phone').value = '';
	document.getElementById('email').value = '';
}



function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}
