/* Pathfinder Help js here :) */
var codeOk 		= false;
var captcha		= '';
var auth		= null;

var Help = {
	/**
	 * Handle focusing on a givven element.
	 *
	 * @param element The element to check on
	 */
	handleFocus : function(element) {
		if( !element._original )
			element._original = element.value;
		if( element.value == element._original ) {
			element.value = "";
			Node.addClass( element, "acceptable");
		}
	},
	
	handleBlur : function(element) {
		if( !element.value ) {
			element.value = element._original;
			Node.removeClass( element, "acceptable");
		}
	},
	handleSearchSubmit : function( form ) {
		// q check
		if (form.q.value == "Αναζήτηση στο Pathfinder Support")
			form.q.value = '';

		if( form.q.value.trim().length < 3) {
			alert( "Το μέγεθος της αναζήτησης θα πρέπει να ξεπερνάει τους 2 χαρακτήρες");
			form.q.focus();
			return false;			
		}

	},
	handlePassFormSubmit : function( form ) {
		if( form.username.value.trim().length < 2) {
			alert("Παρaκαλούμε δώστε το username σας στο Pathfinder.");
			form.username.focus();
			return false;			
		}
		if( form.birthDay.value < 1 || form.birthMonth.value < 1 || form.birthYear.value == "Χρονιά" || form.birthYear.value.trim().length < 4 || form.birthYear.value < 1) {
			alert("Παρακαλούμε να συμπληρώσετε την ημερομηνία γέννησής σας.");
			return false;
		}
	},
	handleContactSubmit : function( form, isLoggedIn ) {
		/*
		if( form.uselogin.value.trim().length < 2) {
			alert("Παρακαλούμε δώστε το username σας στο Pathfinder.");
			form.uselogin.focus();
			return false;			
		}
		*/
		if( form.fullname.value.trim().length < 2) {
			alert("Παρσκαλούμε δώστε το ονοματεπώνυμό σας.");
			form.fullname.focus();
			return false;			
		}
		if(!isLoggedIn)
		{
			if( form.email.value.trim().length < 1 || !form.email.value.isValidEmail()) {
				alert("Παρακαλούμε δώστε ένα έγκυρο email στο οποίο θέλετε να λάβετε την απάντηση.");
				form.email.focus();
				return false;			
			}
		}

		if( form.subject.value.trim().length < 2) {
			alert("Παρακαλούμε δώστε το θέμα του προβλήματός σας.");
			form.subject.focus();
			return false;			
		}

		if( form.body.value.trim().length < 10) {
			alert( "Παρακαλούμε πληκτρολογήστε την περιγραφή του προβλήματος.");
			form.body.focus();
			return false;			
		}
		if(!isLoggedIn)
		{
			codeOk = ($('field-code').getValue() === window.challenge) && window.challenge;
			if (!codeOk) {
				alert( "Παρακαλούμε πληκτρολογήστε σωστά τον κωδικό ασφαλείας.");
				form.code.focus();
				return false;						
			}
		}
	}
}

function Vote(id, vote, user)
{
	var rateMethod, getMethod, args;
	if (!user)
	{
		//alert('Κάντε login στο Pathfinder για να αξιολογήσετε την απάντηση.');
		window.location = forwardUrl;
		return false;
	}


	/* do the necessery rpc calls */
	if (id && vote)
	{
		/* show loading to user */
		$("rateResult").innerHTML = '&nbsp;';
		$("rateResult").className = "loading";

		new Ajax.RPC( "aux.SetScore", args, {
			onSuccess : function(req) {
				res = req.responseJSON;
				if( res && res.faultCode ) {
					alert( res.faultString );
				}
				else
				{
					$("rateResult").className = "";
					var s = '';
					var r = res['tot_score'] / res['tot_votes'];
					if (res['tot_votes'] > 0)
						s = "Μέσος Όρος: <strong>" + Math.round(r*100)/100 + "</strong> &nbsp;(";
					switch(res['tot_votes'])
					{
						case 1:
							s = s + "1 ψήφος";
						break;
						default: 
							s = s + res['tot_votes'] + " ψήφοι";
						break;
					}
					s += ")";
					$("rateResult").innerHTML = s;
				}
			}
		}).send("aux.SetScore", 'help', parseInt(id), user, parseInt(vote), true);
	}
}


function SendEmail(form) {
	from 	= form.from.value;
	to 	= form.to.value;
	comment = form.comment.value;
	url 	= form.url.value;

	if ( !from.isValidEmail()) {
		alert("Παρκαλούμε δώστε ένα έγκυρο email.");
		form.from.focus();
		return false;			
	}

	if ( !to.isValidEmail()) {
		alert("Παρκαλούμε δώστε ένα έγκυρο email για αποστολή του συνδέσμου.");
		form.to.focus();
		return false;			
	}

	body = "Αγαπητέ φίλε/φίλη,\n\n";
	body = body + "Ο/η "+ from +" σας έστειλε ένα σύνδεσμο από το Pathfinder Help.\n";
	body = body + "\n-------------------------------------------------\n";
	body = body + url +"\n";
	body = body + "\nΠροσωπικό μήνυμα\n";
	body = body + "-------------------------------------------------\n";
	body = body + comment +"\n";
	body = body + "\n\n=================================================\n";
	body = body + "Pathfinder Help | http://help.pathfinder.gr/\n";

	new Ajax.RPC ({
		onSuccess: function(req) {
			res = req.responseJSON;
			if( res && res.faultCode ) {
				alert( res.faultString );
			}
			else
			{
				alert('Το email στάλθηκε.');
			}
		}
	}).send("aux.SendEmail", '\"Pathfinder Help\" <mailman@pathfinder.gr>', to, 'Pathfinder Help - Link', body, 'text/plain; charset=\"iso-8859-7\"', 'support/link');

	toggleEmailer();
	//$('emailer').style.display = "none";
	return false;
}


function renderSubs(form)
{
	var id = form.sectionId.options[form.sectionId.selectedIndex].value;
	var cRow = $('sub_section');
	if (id > 0)
	{
		var sids = eval("subids_"+id);
		var snames = eval("subnames_"+id);
	}

	if (sids != null)
	{
		if (sids.length > 0)
		{
			cRow.style.display = '';
			form.subSectionId.options[0] = null;
			form.subSectionId.options.length = 0;
			form.subSectionId.options[0] = new Option('-- Επιλέξτε --', 0);
			for (i=0;i < sids.length;i++)
			{
				form.subSectionId.options[form.subSectionId.options.length++] = new Option(snames[i], sids[i]);
			}
		} else {
			if (cRow.style.display == '')
				cRow.style.display = 'none';
			form.subSectionId.selectedIndex=0;
		}
	} else {
		if (cRow.style.display =='')
			cRow.style.display='none';
		form.subSectionId.selectedIndex = 0;
	}
}

/*
 * toggleEmailer()
 *
 * @ node 		: The link node acting as a referejnce
*/
function toggleEmailer( node ) {
	if( !node )
		node = $("emailer-handler");

	var block = $("emailer-container");
	
	// Sanity check
	if( !block )
		return;
	
	if (!block.fx) {
		block.fx = new Fx.Slide( block, { duration : 200, 'onComplete' : function() { $("to").focus(); }}).hide();
	}

	// Expanding
	if( !block.visible ) {
		Node.show(block);
		block.fx.slideIn();
		node.innerHTML 		= "απόκρυψη φόρμας";
		block.visible = 1;
	} else { 
		// Collapsing
		block.fx.toggle(); // Lovely, lovely method
		node.innerHTML 		= "αποστολή";
		block.visible = 0;
	}
	
	
}

/* vote an answer via core ajax */
function AddVote(id, userId, good, why) {
	var cont = $('hl-'+ id);

	if(!userId) {
		alert('Πρέπει να να έχετε κάνει login για να αξιολογήσετε την απάντηση');
		return false;
	}		

	if (!id) {
		alert('Oops, answer ID not provided');
		return false;
	}
	if(!good && typeof(why) === 'undefined'){
		cont.setHTML('<form onsubmit="AddVote(' + id +', ' +userId + ', ' + good + ',  $(this).getElement(\'input\').value)"><p style="margin-top: 0; font-size: 11px;margin-bottom: 5px;">Παρακαλούμε ενημερώστε μας για ποιο λόγο βρήκατε την απάντηση μη βοηθητική</p><input type="text" style="width: 18em;" class="field" />&nbsp; <input type="submit" value="Αποστολή" class="button" /></form>');
		cont.getElement('input').focus();
		return false;
	}
	cont.innerHTML = "Αποστολή ...";
	new Ajax.RPC( {
		onSuccess : function(req) {
			res = req.responseJSON;
			if( res && res.faultCode ) {
				alert( res.faultString );
			}
			else
			{
				var tot = res['good'] + res['bad'];
				var s = '';
				if (res['good'])
					s = res['good'] + ' από ' + tot +' μέλη βρήκαν αυτήν την απάντηση χρήσιμη';

				if (res['good'] == 1)
					s = "1 μέλος βρήκε αυτήν την απάντηση χρήσιμη";

				if (s) {
					$('hl-sum-'+id).innerHTML = s;
					$('hl-sum-'+id).style.display = 'block';
				}
				if (good)
					cont.innerHTML = "Βρήκατε χρήσιμη αυτήν την απάντηση.";
				else
					cont.innerHTML = "Δεν βρήκατε χρήσιμη αυτήν την απάντηση.";
			}
		}
	}).send("help.VoteAnswer", parseInt(id), parseInt(userId), good, why || '');
}


// Grab challenge code
function getChallenge() {
	var seed = $('seed').getValue();
	new Ajax.RPC({
		'onSuccess' : function(req) {
			var res = req.responseJSON;
			window.challenge = res['challenge'];	
//			$(document.getElementsByName('submitForm')[0]).enable();
		}
	}).send('aux.GetChallengeString', seed, 0 );	
}



var Tabs = {
	current : 'answer',

	select 	: function(element) {
		if(element.toLowerCase) {
			element = $('tabs-'+element).getElement('a');	
		}
		element = $(element);
		var id = element.getProperty('href').replace('#', '');
		if(this.current === id) {
			return false;	
		} 

		
		$('tabs-'+this.current).removeClass('active');
		$('container-'+this.current).hide();
		
		this.current = id;
		if(this.current == 'answer') {
			if(window.ie) {
				this.___html = $('container-screencast-obj').empty();
			}
		} else {
			if(window.ie) {
				FLVPlay(screencastFLV, 'container-screencast-obj');
			}
				
		}
		
		$('tabs-'+this.current).addClass('active');
		$('container-'+this.current).show();

		var href = $(element).getProperty('href').substr(1);
		var loc = location.href.toString().replace(/#.*?$/, '');
		location.replace( loc + '#' + href);
		return false;
	}
	
};

var player;
function FLVPlay( flv, container ) {
	if(!player) {
		player = new Player({
			src 		: flv,
			autoPlay 	: true,
			height 		: 460,
			width 		: 700,
			showVol 	: false,
			showSpeaker 	: false,
			controlsColorBack 	: '0xEEEEEE'
		});
		console.log(player);
	}
	else {
		player.close();
	}
	player.write(container);
		
	/*
	var _player = "http://www.sobjrep.phaistosnetworks.gr/player.swf"; // Otenet
	//var _player 		= "http://sobpool.phaistosnetworks.gr/pathfinder/technologin/files/player.swf";

	var html = "<object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\"	data=\""+_player+"\"	type=\"application/x-shockwave-flash\" width=\"700\" height=\"460\">\n";
	html 	+= "<param name=\"movie\" value=\""+_player +"\" />\n";
	html 	+= "<param name=\"allowfullscreen\" value=\"true\" />\n";
	html 	+= "<param name=\"AllowScriptAccess\" value=\"always\" />\n";
	html 	+= "<param name=\"flashvars\" value=\"autostart=true&showdigits=true&showvolume=false&displayheight=440&file="+flv+"\" />\n";
	html 	+= "<param name=\"quality\" value=\"high\" />\n";
	html 	+= "<param name=\"bgcolor\" value=\"#ffffff\" />\n";
	html	+= "<param name=\"pluginurl\" value=\"http://www.macromedia.com/go/getflashplayer\">\n";
	html	+= "</object>\n";
	
	document.getElementById(container).innerHTML = html;
	*/
}


	window.addEvent('DOMContentLoaded', function() {
		 if($('field-code')) {
				$('field-code').setValue(''); 
		 }
	var options 	= new Abstract({
		delay 		: 500,
		autocomplete	: false,
		highlightFirst	: true,
		completeOnSelect: false,
		valueKey		: 'q',
		openOnFocus		: true,
		header			: 'Πιθανές απαντήσεις στην ερώτηση σας',
		popupWidth		: 500,
		maxResults		: 10,
		positionTo 		: 'right',
		content			: 'π.χ Πως μπορώ να διαγράψω τα Cookies',
		
		fetch 			: function(query) {
			//console.log(this.options.ajax);
			return this.options.ajax.send('help.LookupRelevantTopic', query);
		},
		
		onSelect		: function(item) {
			var url = item.skw + '/'+(item.tkw2 ? item.tkw2 + '/' : '')+  (item.tkw ? item.tkw + '/' : '')+ item.akw + '.html';
			self.location = '/' + url;	
			//console.log(item);	
		}
	});
	if ($('trails')) {
		var aj 			= new Ajax.RPC();
		options 		= $merge(options, { ajax : aj } );
		lookupAC 		= new AutoComplete($('trails').getElement('input'), options);
	}

	var _options 	= $merge(options, {  positionTo: 'left', popupWidth: null} );
	if($('subject')) {
		var subjectAC 	= new AutoComplete($('subject'),_options );
	}
	
	// Validate
	if($('seed')) {
		getChallenge();
	}

});

var _hexSymbols = '0123456789ABCDEF';
function RenderMailtoLink(v)
{
	var l = v.length - 1, i, ref= "", name = "", cnt=0;

	document.write('<a href="mailto:');
	for (i = 0; i < l; i++)
	{
		if (++cnt == 4)
		{
			cnt = 0;
			i++;
		}


		var c = v[i], b = Math.floor(c >> 4);

		ref+='&#x' + _hexSymbols.charAt(b) + '' + _hexSymbols.charAt(c - (b << 4))+';';
		name+=String.fromCharCode(c);
	}
	document.write(ref + '">' + name + '</a>');
}








Contact = {
	scope		: '',
	selected	: null,
	title		: ['Γράψτε την ερώτησή σας', 'Βοηθήστε μας να γίνουμε καλύτεροι - στείλτε μας την πρότασή σας για την βελτίωση των υπηρεσιών μας!', 'Περιγράψτε μας το πρόβλημα που αντιμετωπίζετε και θα φροντίσουμε άμεσα για επίλυσή του', 'Περιγράψτε το θέμα για το οποίο θέλετε να σας βοηθήσουμε με την υπηρεσία τηλεδιάσκεψης Live e-help <em>(30&euro; η συνεδρία)</em>', 'Συμπληρώστε τη φόρμα εάν θέλετε να επικοινωνήσετε μαζί μας για κάποιον άλλο λόγο (feedback)'],
	
	initialize	: function() {
		if(!$('contact') ) {
			return false;
		}

		if(document.largeFile) {
			alert("Το μέγεθος του αρχείου δεν μπορεί να ξεπερνάει τα 2 MBytes");
		}

		// Give it some delay
		var hash 		= location.hash.substr(1).split(/\//);

		// If not defined already
		if(!this.scope) {
			this.scope 		= hash[0];
			this.topic	 	= hash[1];
			var referrerMatch;

			if(document.referrer && (referrerMatch = document.referrer.match(/^http:\/\/(.*?)\.pathfinder.gr/))){
			       this.scope = "pathfinder-" + referrerMatch[1].replace(/\.dev/, '');
			} 

			this.setHash();
		} else {
			this.scope = 'pathfinder';
		}

		if(this.scope == "pathfinder-sportsbeta" || this.scope == "pathfinder-sportsv10")
			this.scope = "pathfinder-sports";

		// Default topic
		if(!this.topic ) {
			this.topic = 'question';
			
		}
		
		// set the selectScope based on scope
		var sel = null;
		$$('#field-scope option').each(function(option, index) {
			if(option.value == this.scope) {
				sel = option.value;
				option.selected = 'selected';
			};
		}, this);
		
		if(!sel) {
			$('field-scope').selectedIndex = 0;
		}
		this.selectScope();

		// We could use some delay here
		this.setupFields.delay(100, this);
	
	
		// Process scopes
		$$('#field-scope option').each(function(element) {
			if(element.value === Contact.scope) {
				element.selected = 'selected';
			}
		});
		
		// Process topics
		$$('#contact-topic li').makeUnselectable().addEvent( 'mousedown', this.select.bind(Contact) );			
	
	
	
		// Process form
		$('contact').addEvent('submit', this.submit.bind(this));
		
		// Initialize values
		if(!document.largeFile) {
			['body', 'email', 'name', 'phone'].each(function(item, index) {
				$('field-'+item).setValue('');
			});
		}	

		if(this.body) {
			$('field-body').value = this.body;
		}
		// Extra
		$$('#contact-body .foo').addEvent('click', function(event) {
			$('contact-extra').show();													 
			event.target.hide();
			

			// if(event.target.className.contains('link')) {
			//	$('field-link').setValue('').show().focus();	
			// } else {	
				if(arguments.callee.cnt === undefined) {
					$('field-file').removeClass('right');
				} else {
					$('field-file').addClass('right');
				}
				
				$('field-file').show().focus();
				// }
				// arguments.callee.cnt = (arguments.callee.cnt || 0 ) + 1;
				// if(arguments.callee.cnt == 2) {
				//	event.target.getParent().hide();
				// }
		});
		
		// Disable submit
		$('#field-submit').disabled = false;

		this.select();
	},
	
	select		: function(event) {

		var rel;
		if(event && $typeOf(event) == 'event') {
			event.stop();
			element 			= event.target.nodeName === 'LI' ? event.target : event.target.parentNode;
		} else {
			element				= $('contact-topic-'+this.topic);
			if(!element) {
				return false;	
			}
		}
	
		this.selected		= (this.selected || $$('#contact-topic li.active')[0]);
		rel					= element.getProperty('rel').toInt();
		
		// Not for current ones
		if(this.selected === element) {
			return false;	
		}
		
		this.selected.removeClass('active');
		$('contact-body-question-title').setHTML('2. ' + this.title[rel]);
		$('field-body').focus();
	
		$('field-type').setValue(rel);
		
		
			

		this.selected 		= $(element).setClass('active');
		$('contact-extra-container')[ rel==2 ? 'show' : 'hide']();		
		
		if(rel == 2) {
			$('field-body').setStyle('height', '6em');
		} else {
			$('field-body').setStyle('height', '8em');
		}
		
		this.topic = element.id.replace(/^.*-/, '');
		
		this.setHash();
		
	},
	
	setHash 	: function() {
		
		if(!['idea', 'mail', 'question', 'problem','live'].contains(Contact.topic)) {
			Contact.topic = 'question';
		}

		if(Contact.scope === 'portfolio') {
			Contact.scope = 'stocks';	
		}
		if(Contact.scope === 'email') {
			Contact.scope = 'mail';	
		}
		if(Contact.scope === 'briefcases') {
			Contact.scope = 'briefcase';	
		}		

		if(Contact.scope === 'addressbook') {
			Contact.scope = 'address';	
		}
		location.replace ( (location.href.toString().replace(/#.*$/g, '') + '#' + Contact.scope + '/' + Contact.topic ).replace(/#+/gi, '#') );		
		return this;
	},
	
	selectScope	: function(select) {
		select = select || $('field-scope');	
		var icon = (select.options[select.selectedIndex].value).toString().replace(/^pathfinder-/, '');		if(icon === 'portfolio') {
			icon = 'stocks';	
		}
		if(icon === 'email') {
			icon = 'mail';	
		}
		if(icon === 'briefcases') {
			icon = 'briefcase';	
		}		

		if(icon === 'addressbook') {
			icon = 'address';	
		}
		
		// Default icon setup
		if( icon ==  'account' || icon === 'pathfinder' || icon === 'techno') {
			icon = 'default';	
		}

		(this.scopeImg = (this.scopeImg || $('#contact-scope img'))).src = 'http://pfs.pstatic.gr/Support/img/icons/'+ icon +'.gif';
		Contact.scope = select.options[select.selectedIndex].value;
		this.setHash();
		
		$('field-body').focus();
	},
	
	setupFields	: function() {
		$$('input[type="text"], textarea').addEvents({			
			'focus'	 : function(event) {
			//	if(window.ie7 || window.ie6 || window.ie5) {
					this.addClass('field-focus');	
				//}
			},
			
			'blur'	: function(event) {
				if(this.nodeName !== 'TEXTAREA') {
					this.setValue(this.value.trim());
				}
				
				//if(window.ie7 || window.ie6 || window.ie5) {
					this.removeClass('field-focus');	
				//}
			}
		});
		
		$$('label input[type="text"], label input[type="password"]').each(function(element, index) {
			var title = element.getProperty('title');
			if(!title) {
				return false;	
			}

			// Make the parent element inline block (fixe some overflow issues)
			element.getParent().makePositioned();
			if(!window.ie6) {
				element.getParent().setStyle(  'display', 'inline-block'); 
			}
			var useFX = false;
			
			// Get propper top and left
			var left 	= element.getStyle('border-left-width').toInt() + element.getStyle('padding-left').toInt() 	+ 3 + (window.webkit ? 1 : 0) ;
			var top		= element.getStyle('border-top-width').toInt() 	+ element.getStyle('padding-top').toInt() + ( window.ie ? 1 : 0);
			
		
			// Create a span element to be used as ghost label			
			element.label = $C('span').
			setHTML(element.getProperty('title')).
			makeUnselectable().
			hide().
			setStyles({ 'position' : 'absolute', 'overflow' : 'hidden', 'width' : '100%', 'white-space' : 'nowrap', 'cursor': 'text', 'line-height': 'normal'}).
			injectBefore(element).
			setStyles({
				'left' 	: left,
				'top'	: top
			});

			// Show label if applicable
			element.value.length === 0 && element.label.show();
			
			if(useFX) {
				element.labelFX =	element.label.effect('color', { duration: 200 } );
			}

			// Fix an IE quirk with label
			if(window.ie) {
				element.label.addEvent('click', function(event) {													 
					 this.focus();
					 event.stop();
				}.bind(this));
			}
			
			// Handle element events
			element.addEvents({
				'focus'		: function() {
					if(useFX) {
						if(element.label.isVisible()) {
							element.labelFX.start('#ccc');
						}
					} else {
						element.label.setClass('field-pale');
					}
				},
				
				'blur'		: function() {
					if(this.value.length == 0) {
						this.label.show();
					}
					if(useFX) {
						if(element.label.isVisible()) {
							element.labelFX.start( '#999');
						}
					} else {
						element.label.removeClass('field-pale');	
					}
					element.setValue(element.value.trim());
				},
				
				'keydown'	: function(event) {
					if( event.key.length === 1 || event.key === 'space' ) {
						this.value.length === 0 & this.label.hide();
					}
					// TODO: Check whether we should show it when deleting					

					if(['tab', 'down', 'up'].contains(event.key) ) {
						this.label.hide();
					}
				},
				
				'keyup'		: function(event) {
					if(!['down', 'up'].contains(event.key) ) {
						this.value.length === 0 && this.label.show();
					}
				}
							  
			});
		});											 		
	},
	
	submit			: function(event) {
		// body
		var body 	= $('field-body').getValue().trim();
		var name 	= $('field-name').getValue().trim();
		var email 	= $('field-email').getValue().trim();
		var phone 	= $('field-phone').getValue().trim();
		var scope 	= $('field-scope');		

		$('field-submit')._value = $('field-submit')._value || $('field-submit').value;
		
		$('field-submit').setProperty('disabled', 'disabled');
		$('field-submit').setValue('Παρακαλώ περιμένετε ...')

		if(scope.selectedIndex == 0) {
			event.stop();
			alert('Παρακαλούμε να επιλέξετε υπηρεσία/ενότητα');
			scope.focus();
			$('field-submit').setValue('4.  Αποστολή φόρμας »');
			$('field-submit').setProperty('disabled', '');
			return false;
		}
		
		if(body.length < 10) {			
			event.stop();			
			alert('Το μέγεθος του κειμένου δεν πρέπει να είναι μικρότερο των 10 χαρακτήρων');
			$('field-body').focus();	

		
			$('field-submit').setProperty('disabled', '');
			$('field-submit').setValue($('field-submit')._value);
			return false;
		}

		if(name.length < 5) {			
			event.stop();			
			alert('Το μέγεθος ονόματος δεν πρέπει να είναι λιγότερο από 5 χαρακτήρες');
			$('field-name').focus();	

			$('field-submit').setProperty('disabled', '');
			$('field-submit').setValue($('field-submit')._value);

			return false;
		}


		if(email.length == 0 || !email.isValidEmail()) {			
			event.stop();			
			alert('Δεν έχετε δηλώσει έγκυρο e-mail');
			$('field-email').focus();	

			$('field-submit').setProperty('disabled', '');
			$('field-submit').setValue($('field-submit')._value);
			return false;
		}

		if(Core.isHuman) {
/*
			var myAjax = new Ajax ({
				onSuccess: function(req) {
					res = this.responseText;
					if( res && res.faultCode ) {
						alert('Παρουσιάστηκε πρόβλημα: Error code: 0002');
					}
					else
					{
						$('contact').setProperty('action', '/contact/');
						$('key').setValue(res);
					}
				},
				url 		: 'keygen.php',
				'asynchronous'	: false
			}).send("body="+body+"&email="+email+"&name="+name);
			return true;
*/
			var cForm = $('contact');

			if(rel = cForm.getProperty('rel')) {	
				cForm.setProperty('action', rel);			
			} else {
				cForm.setProperty('action', '.');	
			}

		}
		else {
			alert('Παρουσιάστηκε πρόβλημα: Error code: 0001');
			event.stop();
			return false;
		}
	}
}

window.addEvent('DOMContentLoaded', Contact.initialize.bind(Contact));
