/*
GENERAL ENGINE to interact with NBN && the MOOTOOLS Library
Author: J.D. Gutierrez
jdgutierrez.com || kaleta.net
COPYRIGHT: To be used on NBN site ONLY!
*/

var comments_form;
var pannelSlide;

window.addEvent('domready', function() {
	if($('postacomment'))
	{
		//declare comments form wrapper and hide it
		comments_form = $('comments_form');
		comments_form.style.display='none';
		
		pannelSlide = new Fx.Slide(comments_form,{duration:500});
		pannelSlide.hide();
		comments_form.style.display='block';
		
		$('postacomment').addEvent('click',function(e){
			if($('userid').value == '' || $('userid').value == 0){
				alert('You must be logged in in order to add comments');
			}else{
				//alert('Sorry, but comments Section are under maintenance');
				pannelSlide.toggle();
			}
		});
	}
	
	if($('comment'))
	{
		$('c_post').disabled=true;
		$('c_clear').disabled=true;
		//validating values were entered and nothing is empty
		$('c_area').addEvent('click',function(e){
			if($('c_area').value == 'Start typing...'){
				$('c_area').value='';
				$('c_post').disabled=false;
				$('c_clear').disabled=false;
			}else if($('c_area').value==''){
				$('c_area').value='Start typing...';
				$('c_post').disabled=true;
				$('c_clear').disabled=true;
			}
		});
		//do the post
		$('c_post').addEvent('click',function(e){
			$('c_post').value='sending data....';
			$('c_post').disabled=true;
		});
		//resetting values to initial state
		$('c_clear').addEvent('click',function(e){
			$('c_area').value='Start typing...';
			$('c_post').disabled=true;
			$('c_clear').disabled=true;
		});
		//Ajax gets handled here
		
		$('c_post').addEvent('click', function() {
			$('c_clear').style.display='none';
			var url = $('comment').action;
			var options = {};
			
			$('comment').getFormElements().each(function(el){
				var name = el.name;
				var value = el.getValue();
				options[name] = value;
			});
			//we use mootools to send the Ajax
			new Ajax(url,{
				method: 'post',
				data: options,
				update: $('new_comment'),
				onComplete: function(){
					$('c_post').value="comment successfully added!";
					alert("Your comment will be displayed after being approved by site administrators. Thank you.");
				}
			}).request();
			
		});
	}
	
	if($('create_account'))
	{
		var dob_Year =  $('dob_Year');
		/*var today = new Date();
		var dob_Month = $('dob_Month');
		var dob_Day = $('dob_Day');*/
		dob_Year.addEvent('change',function(e){
			/*var dob = new Date(dob_Year.value-0,dob_Month.value-0,dob_Day.value-0);
			dob.setFullYear(dob.getFullYear()+18);
			if (dob >today)	{
				alert('Sorry - you must be 18 and over in order to be part of the NBN Community');
			}*/
			
			if(dob_Year.value > 0)
				$('create_account').disabled=false;
			else
				$('create_account').disabled=true;
		});
	}
});

/*** FUNCTIONS ****/
function checkPassword()
{
	pwd = $('password');
	c_pwd = $('password_confirm');
	
	if(pwd.value == "")
	{
		alert("Please Enter a Valid Password");
		return false;
	}
	else if(pwd.value != c_pwd.value)
	{
		alert("Password & Confirm Password values don't match");
		pwd.value="";
		c_pwd.value="";
		pwd.focus();
		return false;
	}
	return true;
}

function checkUserName()
{
	var res = $('un_ajax');
	var result = false;
	var url = "singup.php5?checkUser=true&username=" + $('username').value;
	res.empty();
	callPhpScript(url,res);
}

function checkUserEmail()
{
	var res = $('email_ajax');
	var result = false;
	var url = "singup.php5?checkEmail=true&email=" + $('email').value;
	res.empty();
	callPhpScript(url,res);
}

function callPhpScript(url,log)
{
	var result = false;
	var request = new Ajax(url, {
		method: 'get',
		update: log
	}).request();
}

function checkSignUpErrors()
{
	var strEmailLog = $('email_ajax').innerHTML;
	var	strUnameLog =  $('un_ajax').innerHTML;

	if(strEmailLog.length <= 1 && strUnameLog.length <= 1){
		return true;
	}else{
		alert('Please Fix Highlighted Errors');
		return false;
	}
}

function strictInteger(myfield, e, dec) {

	if (window.event) {
		var key = window.event.keyCode;
	} else if (e) {
		var key = e.which;
	} else {
		return true;
	}

	if (key == null || key in {0:'',8:'',9:'',13:'',27:''}) {
		return true;
	}

	var keychar = String.fromCharCode(key);
	if (keychar == parseInt(keychar, 10)) {
		return true;
	}

	return false;
}



function getHPContent()
{
	var loading = $('loading');
	var result = $('result');
	
	//result
	var resultFx = new Fx.Style(result, 'opacity', {
		duration: 500, 
		transition: Fx.Transitions.Quart.easeInOut
	});
	
	//ajax
	var ajax = new Ajax("loadIndex.php5?gethp=do",{
		update:result,
		method:'get',
		onComplete: function(){
			freeResults(loading);
		}
	});

	prepareResults(result,loading); //prepare it's content
	ajax.request(); //request
	resultFx.start(0,1); //show it
}


function prepareResults(result,processing){
	result.empty();
	processing.empty().addClass('ajax-loading');	
}

function freeResults(processing){
	processing.removeClass('ajax-loading');
}