// JavaScript Document

var ajaxid = null;

function GetXmlHttpObject()
{
	var xmlHttp=null;

	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	
	catch (e) {
		// Internet Explorer

		try {
    		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    	}
		
  		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    	}
  	}
	
	return xmlHttp;
}


function stateChanged ( )
{
	if ( xmlHttp.readyState == 4 ) { 
		document.getElementById ( ajaxid ).innerHTML = xmlHttp.responseText;
	}
	else if ( xmlHttp.readyState == 1 )
	{
		document.getElementById ( ajaxid ).innerHTML = "<img src='images/ajax-loader.gif' /> <span>Please wait...</span>";
	}
}

function load_page ( page, attr, div, method )
{
	xmlHttp = GetXmlHttpObject();
	ajaxid = div;

	if ( xmlHttp == null) {
		alert ( "Your browser doesn't support Ajax!" );
	}
	else if ( method.toUpperCase() == 'GET' ) {
		var url = page;
		url = url + "?sid=" + Math.random() + attr;
		xmlHttp.onreadystatechange = stateChanged;
		xmlHttp.open ( "GET", url, true );
		xmlHttp.send ( null );
	}
	else if ( method.toUpperCase() == 'POST' ) {

			var url = page;
			params = "?sid=" + Math.random() + attr;
			xmlHttp.onreadystatechange = stateChanged;
			xmlHttp.open ( "POST", url, true );
			
			xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlHttp.setRequestHeader("Content-length", params.length );
			xmlHttp.setRequestHeader("Connection", "close");
	
			xmlHttp.send ( params );
	}
	else {
		alert ( 'Invalid Ajax Method' );	
	}
	
}

function blank ( x )
{
	 var length = x.length;
	 var result = 1;

	for ( i = 1; i <= length; i++ )
	{
		if ( x.charAt(i-1) != " " ) {
			
			result = 0;
			break;
		}
	} 
	return result;
}

function validate_form ( form ) 
{
	var message = 'Παρακαλώ συμπληρώστε τα παρακάτω πεδία\n';
	message += '-------------------------------------------------------';
	
	if ( form.ADULTS.value < 1 ) {
		message += '\n- Αριθμός ενηλίκων';
	}
	
	if ( blank ( form.FIRSTNAME.value ) ) {
		message += '\n- Όνομα';
	}
	
	if ( blank ( form.LASTNAME.value ) ) {
		message += '\n- Επώνυμο';
	}
	
	if ( blank ( form.EMAIL.value ) ) {
		message += '\n- E-mail';
	}
	else if ( !form.EMAIL.value.match(/(\w+)@(.+)\.(\w+)$/)) {
		message += "\n- Το e-mail δεν είναι έγκυρο";
	}
	
	if ( message.length == 94 ) {
		form.submit ();	
	} else {
		alert ( message );
		return false;
	}
}

function print_page ( id )
{
var c =	window.open( "print.php?PID=" + id , "pprt", "width=480,height=400,left=" + ( ( screen.width - 600 ) / 2 ) + ", top=" + ( ( screen.height - 400 ) / 2 ) + ",status=no,resizable=yes,scrollbars=yes" );
	
}

function suggest_page ( )
{
		url = encodeURIComponent ( location.href );
		w = 550
		h = 400
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		winprops = 'status=yes, toolbar=yes, height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars=yes,resizable=yes'
		win = window.open("suggest.php?URL="+url+"", "", winprops)
		win.document.close();
		win.window.focus();	
}

function search_bus ( form, lang )
{
	depart = form.departure_date.value;
	ret = form.return_date.value;

	if ( blank ( depart ) && blank ( ret ) )
	{
		alert ( 'Δεν έχετε επιλέξει ημερομηνία αναχώρησης ή ημερομηνία επιστροφής' );
		return false;
	}
	
	depart_date = depart.split ( '/' );
	depart_new_date = new Date ( depart_date [1] + '/' + depart_date [0] + '/' + depart_date[2] );
	depart_timestamp = depart_new_date.getTime()/1000.0;
	
	ret_date = ret.split ( '/' );
	ret_new_date = new Date ( ret_date [1] + '/' + ret_date [0] + '/' + ret_date[2] );
	ret_timestamp = ret_new_date.getTime()/1000.0;
	
	if ( !blank ( depart ) && !blank ( ret ) )
	{
		if ( ret_timestamp < depart_timestamp )
		{
			con = confirm ( 'Η ημερομηνία επιστροφής είναι προγενέστερη της ημερομηνίας αναχώρησης\nΘέλετε να συνεχίσετε?' );	
			if ( con == false )
			{
				return false;	
			}
		}
	}

	
	attr = '&DEPART=' + depart;
	attr += '&RET=' + ret;
	attr += '&LANG=' + lang;

	load_page ( 'bus_results.php', attr, 'bus_results', 'POST' );	
}

function clear_field ( field )
{
	field.value = "";
}

function subscribe ( email )
{
		var message = "";
		
		if ( blank ( email ) ) {
			message += 'Παρακαλώ συμπληρώστε το e-mail σας';
		}
		else if ( !email.match(/(\w+)@(.+)\.(\w+)$/)) {
			message += "Το e-mail δεν είναι έγκυρο";
		}
		
		if ( message == "" ) {
		
			w = 300
			h = 150
			
			var winl = (screen.width - w) / 2;
			var wint = (screen.height - h) / 2;
			winprops = 'status=yes, toolbar=yes, height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars=yes,resizable=yes'
			win = window.open("subscribe.php?EMAIL="+email+"", "", winprops)
			win.document.close();
			win.window.focus();	
			
		}
		else {
			alert ( message );	
		}
}

function get_date ( timestamp )
{
	var myDate = new Date ( ( timestamp - 86400 ) * 1000);
	new_date = myDate.toGMTString ();
	
	day = myDate.getDate ();
	month = myDate.getMonth () + 1;
	year = myDate.getFullYear ();
	
	return_date = day + '/' + month + '/' + year;
	
	//document.getElementById ( 'BEGIN' ).value = ( timestamp - 86400 ) ;
	document.getElementById ( 'departure_date' ).value = return_date;
}

function get_date_end ( timestamp )
{
	var myDate = new Date ( ( timestamp - 86400 ) * 1000);
	new_date = myDate.toGMTString ();
	
	day = myDate.getDate ();
	month = myDate.getMonth () + 1;
	year = myDate.getFullYear ();
	
	return_date = day + '/' + month + '/' + year;
	
	//document.getElementById ( 'END' ).value =  ( timestamp - 86400 );
	document.getElementById ( 'return_date' ).value = return_date;	
}

function set_language ( lang )
{
	url = location.href;
	new_url = url.split ( '?' );
	len = new_url.length;
	
	if ( len > 1 ) {
		location.href = url + '&LANG=' + lang;	
	}
	else {
		location.href = url + '?LANG=' + lang;
	}
}

function validate_suggest()
{
	var themessage = "Συμπληρώστε τα παρακάτω πεδία";

	function blank ( x )
	{
		 var length = x.length;
		 var result = 1;
	
		for ( i = 1; i <= length; i++ )
		{
			if ( x.charAt(i-1) != " " ) {
				
				result = 0;
				break;
			}
		} 
		return result;
	}
	
	if ( blank ( document.frmData.MYNAME.value ) ) {
		themessage = themessage + "\n    -  Το όνομά σας";
	}


	if ( blank ( document.frmData.MYEMAIL.value ) ) {
		themessage = themessage + "\n    -  Το e-mail σας";
	}
	else {

		if( !document.frmData.MYEMAIL.value.match( /(\w*|\d*)\@(\w*|\d*)\.(\w*|\d*)/ ) ) {
			themessage = themessage + "\n    -  Το e-mail σας δεν είναι έγκυρο";
		}
	}
	
	
	if ( blank ( document.frmData.FRENDNAME.value ) ) {
		themessage = themessage + "\n    -  Το όνομα του παραλήπτη";
	}	


	if ( blank ( document.frmData.FRENDEMAIL.value ) ) {
		themessage = themessage + "\n    -  Το e-mail του παραλήπτη";
	} 

	if ( blank ( document.frmData.MESSAGE.value ) ) {
		themessage = themessage + "\n    -  Το μήνυμά σας";
	} 


	if ( blank ( document.frmData.FRENDEMAIL.value ) )
	{

	} else {

		if( !document.frmData.MYEMAIL.value.match( /(\w*|\d*)\@(\w*|\d*)\.(\w*|\d*)/ ) ) {
			themessage = themessage + "\n    -  Το e-mail του παραλήπτη δεν είναι έγκυρο";
		}
	}
	
	
	
	if (themessage == "Συμπληρώστε τα παρακάτω πεδία") {
		frmData.submit();
	} else {
		alert(themessage);
	}

}