/* ================= COMMENTS ================ */
function toggleComments ( toggler )
{
	thisForm = $T('form', $('comments'))[0];

	//thisForm= $("comments").getElementsByTagName("form")[0];
	//Node.toggle(thisForm);
		
	thisForm = $(thisForm);
	thisForm.toggle();
	
	display = Node.getStyle(thisForm, "display");
	
	if( toggler)
		thisForm.toggler = toggler;
	
	if( !toggler )
		thisForm = mailContainer.toggler;
	
	
	
	Node.disableSelect( toggler ); // Disable the selection
	
	switch( display ) {
		case "none":
			if( toggler.hasClass("opened") )
				toggler.className = "closed";			
			else
				toggler.innerHTML = toggler.title =  "σχόλια";
		break;
		
		default:
			thisForm.elements[0].focus();
			if( toggler.hasClass("closed") )
				toggler.className = "opened";
			else
				toggler.innerHTML = toggler.title = "Απόκρυψη φόρμας";
		break;
	}

	return false;			
}

function postComment (forma) {
	// Check body
	thisBody = forma.body;
	if(thisBody.value.length < 1 )
	{
		alert( "Παρακαλώ δώστε το σχόλιο σας για να συνεχίσετε");
		thisBody.focus();
		return false;
	}			

	greekWords = thisBody.value.match(/[αάΑ?βΒγΓδΔεέΕΈζΖηήΗΉθΘιίϊΙΊκΚλΛμΜνΝξΞοόΟΌπΠρΡσςΣτΤυύΎΥψφΨχΧωώΩΏ]+/g);
	if( 1 ) {
		
		if (greekWords == null || greekWords.length < 5 )
		{		
			alert ("Για να προχωρήσετε πρέπει το μήνυμά σας να είναι γραμμένο με Ελληνικούς χαρακτήρες και με περισσότερες από 5 ορθά γραμμένες λέξεις.");
			thisBody.focus();
			return false;
		}	
	}
		
	if(thisBody.value.length > 2200 )
	{
		alert( "Το σχόλιο σας δεν μπορεί να υπερβαίνει τους 2.200 χαρακτήρες");
		thisBody.focus();
		return false;
	}			
	
	if(!forma.terms.checked)	{
		alert( "Πρέπει να διαβάσετε και να αποδεχτείτε τους Όρους Χρήσης του Pathfinder για να συνεχίσετε");
		return false;
	}

	var aj = new Ajax('post', {
		url 		: forma.action,
		parameters 	: {
			action 	: "comments",
			body 	: forma.body.value,
			url 	: "/post",
			host  	: "comments.pathfinder.gr",
			articleId : forma.articleId.value,
			login 	: forma.login.value,
			section : forma.section.value,
			forward : self.location
		},
		onSuccess 	: function(req) {
			if( req.responseText )
				alert( req.responseText );

			par = document.createElement("p");
			par.innerHTML = "Το σχολίο σας θα εμφανιστεί στις σελίδες του Pathfinder αμέσως μόλις ελεγχθεί ότι είναι σύμφωνο προς τους Όρους Χρήσης από τη Συντακτική Ομάδα.<br />Ευχαριστούμε για τη συμμετοχή σας!";
			par.className = "success";
			
			$("comments").insertBefore(     par, $("comments").getElementsByTagName("form")[0] ); 
			
			//$('mail').toggler.remove();
			
			$("comments").getElementsByTagName("form")[0].remove();

		}	
	});
	aj.send();
	return false;	
}



/* ================= Mailer ================ */
function toggleMail( toggler ) {
	// Define properties
	mailContainer 		= $("mail");

	if( toggler)
		mailContainer.toggler = toggler;
	
	if( !toggler )
		toggler = mailContainer.toggler;
		
	Node.disableSelect( toggler );	
	
	mailContainer.form 	= mailContainer.getElementsByTagName("form")[0];
	Node.toggle(mailContainer)


	switch( Node.getStyle( mailContainer, "display" ) ) {
		case "none":
			if( toggler.hasClass("opened") )
				toggler.className = "closed";
		break;
		
		default:
			mailContainer.form.elements[0].focus();
			if( toggler.hasClass("closed") )
				toggler.className = "opened";
		break;
	}

	return false;
}

function sendMail( forma ) {
	// Check title
	if( forma.to.value.length < 1 || !forma.to.value.isValidEmail() ) {
		alert( "Παρακαλώ δώστε σωστά το e-mail του παραλήπτη για να συνεχίσετε");
		forma.to.focus();
		return false;
	}

	if( forma.fromEmail.value.length < 1 || !forma.fromEmail.value.isValidEmail() ) {
		alert( "Παρακαλώ δώστε σωστά το e-mail σας για να συνεχίσετε");
		forma.fromEmail.focus();
		return false;
	}

	Node.toggle(forma);
	$('mail').addClass ( "loading"); // :

	var ajax = new Ajax('post', {
		parameters : {
			action 	: 'mail',
			articleTitle: forma.articleTitle.value,
			service : forma.service.value,
			articleUrl : forma.articleUrl.value,
			to 	: forma.to.value,
			fromEmail : forma.fromEmail.value,
			fromName  : forma.fromName.value,
			msg 	: forma.msg.value
		},
		onSuccess 	: function( req ) {
			mailContainerForm = $("mail").getElementsByTagName("form")[0];
			
			alertMsg = "Το άρθρο στάλθηκε επιτυχώς στον/στους:\n" + mailContainerForm.to.value;
			if( mailContainerForm.fromCopy.checked )
				alertMsg += "\n\nΑντίγραφο του μηνύματος στάλθηκε και στο e-mail σας";
			alert( alertMsg );      


			$("mail").removeClass ("loading");
			
			
			toggleMail()
			Node.toggle( mailContainerForm);

			mailContainerForm.to.value = "";
		}
	});
	ajax.send();

	return false;
			
}


function popImg( img, width, height ) {

	if(img.hasClass('zoomer')) {

		var link = img.getParent().getElement('a.screenshot');
		var href = link.getProperty('href').replace(/\//gi, '_').replace(':', '_').replace('.', '_');
		Zoom.zoomers[href].open();
	}

	return;

	/*
	if ((!window.popup)  || (window.popup && window.popup.closed) )
		window.popup = window.open( "", "popup", "width=" + width  + ", height="+(height + 30));
	else {
		window.popup.resizeTo( width  , (height + 80) );
		window.popup.focus();
	}

		
	doc = window.popup.document;
	var code = "<html>";
	code += "<head><title>" + img.title + "</title>";
	code += "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-7\" />\n";
	code += "<style type=\"text/css\">";
	code += "body {margin:0; font: normal 13px arial, serif; text-align: center; background: #eee;}\nimg { margin-bottom: 5px;}\n";
	code += "</style>\n";
	code += "</head><body>\n";
	code += "<img height=\""+height+"\" width=\""+width+"\" border=\"0\" alt=\""+img.title+"\" title=\""+img.title+"\" src=\""+img.href+"\" /><br /><a href=\"#\" onclick=\"self.close();\">[x] κλείσιμο παραθύρου</a>\n";
	code += "</body></html>";
	
	doc.write( code);
	doc.close();
	*/
}

function toggleTab(tab)
{
	if( tab.parentNode.className == "active") {
		tab.blur();
		return false;
	}
	tab = $(tab); // The tab
	tab = tab.parentNode;

	var allTabs = $T( "li", $("tabs"));
	$A(allTabs).forEachBind( function() {
		var thisId = this.id.toString().replace( /tab-/, "" );

		Node.removeClass( this, "active");
		Node.hide( "box-" + thisId );

		if( this == tab ) {
			Node.addClass( this, "active" );
			
			var box = $("box-" + thisId );
			Node.show( box);
		}
	});
	return false;
}

var Zoom = {
	zoomers : {},

	initialize : function() {

		selector = '.screenshot';

		if(typeof Zoomer == 'function') {

			$$(selector).each(function(element) {

				var link = element, img = element.getElements("img")[0];

				if(typeof link != 'undefined') { 

					var href = link.getProperty('href').replace(/\//gi, '_').replace(':', '_').replace('.', '_');
					Zoom.zoomers[href] = new Zoomer.Image(img);
				}
			});
		}
	}
};

window.addEvent('DOMContentLoaded', function() {

	Zoom.initialize();

	if ( !window._rater &&  $('rater-my')) {
		var myRater = window._rater = new Rater( $("rater-my"), {
			loginUrl	: loginUrl,
			section		: "cman",
			username	: login,
			'ip' 		: ip,
			id		: id,
			'save' 	: function () {
				this.loader = $C('img').
				setProperty('src', 'http://c.pathfinder.gr/img/icons/loading-circle.gif').
				setStyles({'position': 'absolute', 'text-align' : 'center', 'top' : 0, 'left' : 0}).
				injectIn(this.container);
				this.loader.show();
			}
		}).build(rate);
	}
});
