// JavaScript Document
var xmlhttp;
	divAC=document.getElementById("divAutoComplete");
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;
}

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

function getXmlHttpResponse_POST(url, params){
	alert("get xml http response useing POST");
	http=GetXmlHttpObject();
	if (http==null)
  	{
  		alert ("Your browser does not support XMLHTTP!");
  		return;
  	}
	http.open("POST", url, true);

	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");

	http.onreadystatechange = function() {//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) {
			return http.responseText ;
		}
	}
	http.send(params);
	//return http.responseText;
}

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);
	if(target_div != null){
		
			document.getElementById(target_div).innerHTML = xmlhttp.responseText;
	}
}

//return the value of the radio button that is checked
//return an empty string if none are checked, or
//there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

//set the radio button with the given value as being checked
//do nothing if there are no radio buttons
//if the given value does not exist, all the radio buttons
//are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

function setHTML(id, str)
{
	var elem = document.getElementById(id);
	elem.innerHTML = str;
}

function getHTML(id)
{
	var  elem = document.getElementById(id);
	return elem.innerHTML;
}

function validateQForm()
{
	resetLabels();
	var msg = "";
	var params = "";
	
	for(var i=1; i<=10; i++)
	{
		//var group = "group"+i;
		
		if(getCheckedValue(document.forms['QForm'].elements['group'+i+'']) != ""){ params += "&answer"+i+"="+getCheckedValue(document.forms['QForm'].elements['group'+i+''])+"";}
		else { setHTML("err"+i, "*");}
	}
	if(getValue("email") != ""){params += "&email="+email+"";}
	if(!checkLabels()){
		setHTML("msg", "Τα πεδία με * είναι υποχρεωτικό να συμπληρωθούν.");
	}else {
		setDiv("save_answers", params, "front_page_center_div");
	}
}

function resetLabels()
{
	for(var i=1; i<=10; i++)
	{
		setHTML("err"+i, "");
	}
}

function checkLabels()
{
	for(var i=1; i<=10; i++)
	{
		if(getHTML("err"+i) != "") return false;
	
	}
	return true;
}

function createXMLQuery(date, departure, destination)
{
	var url="search_results.php?date="+date+"&departure="+departure+"&destination="+destination+"";
	ajax_routine(url, "search_results");
}



function getDepartureHint(departure, inputId, hiddenId){
	var url = "interface.php?departureHint="+departure+"&inputId="+inputId+"&hiddenId="+hiddenId+"";
	//alert(url);
	ajax_routine(url, "departure_suggestion");
}

function getDestinationHint(destination, inputId, hiddenId){
	var url = "interface.php?departureHint="+destination+"&inputId="+inputId+"&hiddenId="+hiddenId+"";
	//alert(url);
	ajax_routine(url, "destination_suggestion");
}

function textValueOf(id){
	var elems = document.getElementById(id).childNodes;
	for(i in elems){
		if(elems.item(i).selected == true){ return elems.item(i).innerHTML;}
	}
}

function searchRides(date, departure, destination){
	var url = "search_results.php?date="+date+"&departure="+departure+"&destination="+destination+"";
	ajax_routine(url, "search_results");
}

/*function startGame(swf_file){
	
	document.getElementById('game').innerHTML = '<object width="550" height="400"><param name="movie" value="'+swf_file+'"><embed src="'+swf_file+'" width="550" height="400"></embed></object>';
}*/

/* function startGame(file_name){

	 var html = "game_code/"+file_name+".html";

	 window.open(html,"myWin","width=600, height=500, top=300, left=500, toolbar=1, menubar=1, location=1, status=1, scrollbars=1, resizable=1");
 }*/
 
 function startGame(gameId){
	 url = "games.php";
	 params = "gameId="+gameId+"";
	 var response = getXmlHttpResponse_GET(url, params);
	 elem = document.getElementById('game');
	 
	 elem.innerHTML = response;
 }

function _select(value){
	alert("select");
	var url = "interface.php?hint="+value+"";
	//ajax_routine(url, "editable");
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
  	{
  		alert ("Your browser does not support XMLHTTP!");
  		return;
  	}
	url = url+"&sid="+Math.random();
	alert(url);
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	alert(document.getElementById("departure").getAttribute("selectBoxOptions"));
	var response = xmlhttp.responseText;
	document.getElementById("departure").selectBoxOptions = "LOLO";
	alert(xmlhttp.responseText);
}

function edit(){
	document.getElementById('editable').innerHTML = "<input type='text' >";
}

/*function autoComplete(tbxObj,event, input_id)	{
	
	divAC=document.getElementById("divAutoComplete");
	setupAutoCompDiv(tbxObj);

	var newChar=event.which;
	var tbxValue=tbxObj.value;
	var tbxId=tbxObj.id;

	if(newChar==undefined)
		newChar=event.keyCode;

	if(newChar==8)	{
		if(tbxValue.length<=1)
         	tbxValue="";
		else
			tbxValue=tbxValue.substr(0,(tbxValue.length-1));
    } else
		tbxValue=tbxValue+String.fromCharCode(newChar);

	if(tbxValue.length>=2)
		
		getHint(tbxValue, 'divAutoComplete', input_id);
		//divAC.innerHTML=
	else
		divAC.style.visibility="hidden";
}


function setupAutoCompDiv(tbxObj)	{
	
	divAC=document.getElementById("divAutoComplete");
	var posX=(getXpos(tbxObj)+1);
	var posY=(getYpos(tbxObj)+23);

	alert(divAC);
	divAC.style.left=posX;
	divAC.style.top=posY;
	alert(divAC.x+" -- "+divAC.y);

	divAC.style.visibility="visible";
}

function getXpos(obj)	{
	var curLeft=0;
	if(obj.offsetParent)
		while(obj.offsetParent)	{
			curLeft+=obj.offsetLeft
			obj=obj.offsetParent;
    	}
    else
    	if(obj.x)
    		curLeft+=obj.x;
			
  return curLeft;
}

function getYpos(obj)	{
	var curTop=0;
	if(obj.offsetParent)
		while(obj.offsetParent)	{
			curTop +=obj.offsetTop
			obj=obj.offsetParent;
    	}
  	else
  		if(obj.y)
    		curTop +=obj.y;
			
  return curTop;
}

function setValue(tbxId,value, value_id)	{
  divAC.style.visibility="hidden";
  obj=document.getElementById(tbxId);
  obj.value=value;
  obj=document.getElementById(tbxId+"_id");
  obj.value = value_id
}
*/


function registerForComplaints(){
	var elem = document.getElementById('first_name');
	var fname = elem.value;
	elem = document.getElementById('last_name');
	var lname =elem.value;
	elem = document.getElementById('email');
	var email =elem.value;
	elem = document.getElementById('username');
	var username = elem.value;
	elem = document.getElementById('password');
	var password = elem.value;
	elem = document.getElementById('confirm');
	var confirm  = elem.value;
	
	var url = "complaint_register.php";
	var params = "fname="+fname+"&lname="+lname+"&email="+email+"&username="+username+"&password="+password+"";
	alert(url+"?"+params);
	var response = getXmlHttpResponse_GET(url, params);
	alert("Response from http request is "+response+"");
	var elem = document.getElementById('msg');
	alert("ELEM "+elem.value);
	elem.value = response;
}


function deleteComplaint(id){
	alert(id);
}

function setLanguage(language)
{
	var url = "index.php";
	var params = "language="+language+"";
	var response = getXmlHttpResponse_GET(url, params);
	window.location.reload();
}

function setDiv(task, params, div)
{
	var url = "util.php?"+task+"=1";
	var response = getXmlHttpResponse_GET(url, params);
	var elem =  document.getElementById(div);
	elem.innerHTML = response;
}

function displayPage( url ) {

	window.location.href=url;
}
