function trim(str){
	return str.replace(/^\s*|\s*$/g,"");
}

function validURL(url) {
	var v = new RegExp();
	v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");
	if (!v.test(url)) { return false;	}
	else { return true; }
} 

function registerMember() {
	var showResponse = function (originalRequest) { 
		$('memberRegistration').innerHTML = originalRequest.responseText; 
		Event.observe('country', 'change', selectRegion, false);
		selectRegion();
		Event.observe('registerMember', 'click', registerMember, false);
	};
	var showProgress = function () { $('memberRegistration').innerHTML = '&nbsp;Member registration in progress...'; }
	inputs = Form.getElements( 'regMember' );
	var err = 0;
	var j = 0;
	for(var i = 1; i < inputs.length; i++){
		if((Element.hasClassName(inputs[i],'required'))&&(trim(inputs[i].value) == '')){
			err++;
			Element.addClassName(inputs[i].parentNode,'formError');
		}else{
			Element.removeClassName(inputs[i].parentNode,'formError');
		}
		j++;
	}
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
//	alert($F('email'));
	if(filter.test($F('email'))){ Element.removeClassName($('email').parentNode,'formError')}
	else{alert('The email address you entered is invalid. \n\n Please enter a valid email address.'); err++; Element.addClassName($('email').parentNode,'formError')}		
	if(($F('country') == 'PH')&&($F('region')=='')){ Element.addClassName($('region').parentNode,'formError'); err++; }
	else if(($F('country') == 'US')&&($F('state')=='')){ Element.addClassName($('state').parentNode,'formError'); err++; }
	else if(($F('country') != 'PH')&&($F('country') != 'US')&&($F('specRegion')=='')){ Element.addClassName($('specRegion').parentNode,'formError'); err++; }
	else { Element.removeClassName($('specRegion').parentNode,'formError'); }
	if(($('m').checked == false)&&($('f').checked == false)){	Element.addClassName($('genderBox'),'formError'); err++; }
	else{ Element.removeClassName($('genderBox'),'formError'); }
	if(($('unameErr').value == '1')||(trim($('uname').value) == '')){ Element.addClassName($('uname').parentNode,'formError'); err++; }
	else Element.removeClassName($('uname').parentNode,'formError');
	if(($('emailErr').value == '1')||(trim($('email').value) == '')){ Element.addClassName($('email').parentNode,'formError'); err++;}
	else Element.removeClassName($('email').parentNode,'formError');
	if (err != 0){
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
	}else{
		if($('agree').checked == false){ alert('Please select the checkbox if you agree with the terms and conditions \n\n of the member registration.');}
		else{
			parameter = Form.serialize( 'regMember' );		
			var url = publicdomain+"blogawards/objects/beamember/register.xml.php";
			var myAjax = new Ajax.Request( url, { method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress });	
			
			pageTracker._trackPageview("ajax"+chnnl+"/registermember");
		}
	}
}

function checkUniqueUsername() {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('unameErr').value = 1; Element.addClassName($('uname').parentNode,'formError'); 
			$('unameerror').innerHTML = '&nbsp;The username you entered already exists in our database, please enter a different username.';
		}else{ Element.removeClassName($('uname').parentNode,'formError'); $('unameerror').innerHTML = ''; $('unameErr').value = 0;}
	};
	var showProgress = function () { $('unameerror').innerHTML = '&nbsp;verifyng username...'; }
	un = $F('uname');
	uId = (($F('memberId') != 0)||($F('memberId') != '')) ? $F('memberId') : '';
	parameter = "un="+un+"&uId="+uId;
	var url = publicdomainobj + "beamember/checkUniqueUsername.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}

function checkUniqueEmail() {
	var showResponse = function (originalRequest) { 
		if(trim(originalRequest.responseText) != 0){ 
			$('emailErr').value = 1; Element.addClassName($('email').parentNode,'formError'); 
			$('emailerror').innerHTML = '&nbsp;The email you entered already exists in our database. Please enter a different email address.';
		}else{ Element.removeClassName($('email').parentNode,'formError'); $('emailerror').innerHTML = ''; $('emailErr').value = 0;}
	};
	var showProgress = function () { $('emailerror').innerHTML = '&nbsp;verifyng email address...'; }
	email = $F('email');
	uId = (($F('memberId') != 0)||($F('memberId') != '')) ? $F('memberId') : '';
	parameter = "email="+email+"&uId="+uId;
	var url = publicdomainobj + "beamember/checkUniqueEmail.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
}

function verifypassword(){
	if(($F('pword1').length > 5)&&($F('pword2') != $F('pword1'))) Element.show('pwderror'); 
	else Element.hide('pwderror');
}

function confirmCorrectEmail(){
	if(($F('email').length > 5)&&($F('email') != $F('confirmemail'))){ $('emailErr').value = 1; Element.show('confirmemailerror'); } 
	else { $('emailErr').value = 0; Element.hide('confirmemailerror'); }
}

function selectRegion(){
	if($("country")){
		if($F('country') == 'US') { Element.hide('specRegion','region'); Element.show('state'); Field.clear('specRegion'); }
		else if($F('country') == 'PH') { Element.hide('specRegion','state'); Element.show('region'); Field.clear('specRegion'); }
		else { Element.hide('region','state'); Element.show('specRegion'); }
	}
}

function submitBlogNomination(){
	var showResponse = function (originalRequest) { 
		Element.hide('Submit-Blog');
		$('bcomments').innerHTML = originalRequest.responseText;
	};

	var showProgress = function () { $('bcomments').innerHTML = "submitting your nomination..."; }
	
	var err = 0;
	if(trim($('title').value) == ''){	err++; Element.addClassName($('title').parentNode,'formError'); }
	else Element.removeClassName($('title').parentNode,'formError');
	if(((!validURL($('address').value))&&($('address').value != 'http://')) || ($('address').value == 'http://')){ err++; Element.addClassName($('address').parentNode,'formError'); }
	else Element.removeClassName($('address').parentNode,'formError');
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if(err != 0){
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
	}else{
		$('submitnomination').disabled = true;		
		auth = $('nominator').value;
		authem = $('nominatoremail').value;
		title = $('title').value;
		em = $('email').value;
		url = $('address').value;
		isnominee = ($('is_nominee').checked?2:0);
		
		parameter = "auth="+auth+"&em="+em+"&url="+url+"&title="+title+"&authem="+authem+"&isnominee="+isnominee;
		
		var url = publicdomain+"blogawards/objects/blogs/addNomination.xml.php";
		var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
	
		pageTracker._trackPageview("ajax"+chnnl+"/submitblog");
	}
}

function displaySticker(){
	var showResponse = function (originalRequest) { 
		$('main').innerHTML = originalRequest.responseText;
		$('getsticker').style.display = "none";
	};
	
	var showProgress = function () { $('bcomments').innerHTML = "&nbsp;<img src='http://www.candymag.com/blogawards/images/progress.gif' />&nbsp;verifying code & url..."; }
	
	var err = 0;
	
	if(trim($('code').value) == ''){	err++; Element.addClassName($('code').parentNode,'formError'); }
	else Element.removeClassName($('code').parentNode,'formError');
	
	if(((!validURL($('baddress').value))&&($('baddress').value != 'http://')) || ($('baddress').value == 'http://')){ err++; Element.addClassName($('baddress').parentNode,'formError'); }
	else Element.removeClassName($('baddress').parentNode,'formError');
	
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	
	if(err != 0){
		alert('You have not filled out all the fields correctly. \n\n Please submit the required information.');
	}else{
		$('getSticker').disabled = true;		
		blogger = $('uid').value;
		code = $('code').value;
		url = $('baddress').value;
		
	parameter = "blogger="+blogger+"&code="+code+"&url="+url;
	
	var url = publicdomain+"blogawards/objects/blogs/digitalSticker.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
	
	pageTracker._trackPageview("ajax"+chnnl+"/displaysticker");
	}
}

function editblog(){
	var err = 0;
	
	if(trim($('title').value) == ''){	err++; Element.addClassName($('title').parentNode,'formError'); }
	else Element.removeClassName($('title').parentNode,'formError');
	
	if(((!validURL($('url').value))&&($('url').value != 'http://')) || ($('url').value == 'http://')){ err++; Element.addClassName($('url').parentNode,'formError'); }
	else Element.removeClassName($('url').parentNode,'formError');
	
	if(trim($('description').value) == ''){	err++; Element.addClassName($('description').parentNode,'formError'); }
	else Element.removeClassName($('description').parentNode,'formError');
	
	/*if(trim($('fotoValidateIE').value) == 0){	err++; Element.addClassName($('logo').parentNode,'formError'); }
	else Element.removeClassName($('logo').parentNode,'formError');*/
	
	if(err == 0){ returnval = true; }
	else{
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
		returnval = false;
	}
	return returnval;
}

function testFileType() {
	fileName = $('logo').value;
	fileTypes = new Array ('.gif', 'jpg', 'png', 'jpeg');
	if (!fileName) return;
	dots = fileName.split(".")
	fileType = "." + dots[dots.length-1];
	if(fileTypes.join(".").indexOf(fileType.toLowerCase()) != -1){ 
		$('previewFoto').innerHTML = ''; xxx='file://localhost/' + fileName; xxx=xxx.toLowerCase();
		
		if (xxx.substring(0,xxx.lastIndexOf('.png'))||xxx.substring(0,xxx.lastIndexOf('.jpg'))||xxx.substring(0,xxx.lastIndexOf('.jpeg'))||xxx.substring(0,xxx.lastIndexOf('.gif'))){
			var img=document.createElement('img'); img.setAttribute('src',xxx); img.setAttribute('width',150); img.setAttribute('height',150); //$('previewFoto').appendChild(img);
		}
		Element.removeClassName($('logo').parentNode,'formError');
		$('fotoValidateIE').value = '1';
	}else{
		$('logo').value = '';
		$('fotoValidateIE').value = '0';	
		Element.addClassName($('logo').parentNode,'formError');
		alert("Please only upload files that end in types: \n\n" + (fileTypes.join(" .")) + "\n\nPlease select a new file and try again.");
	}
}	

function submitBlogComment(){
	var showResponse = function (originalRequest) { 
		Element.hide('blogCommentForm');
		new Insertion.Bottom('blogComments', originalRequest.responseText);
		Element.hide('noComment');
	};
	var showProgress = function () { $('blogCommentForm').innerHTML = '&nbsp;<img src="'+publicdomaintpl+'images/loading.gif" alt="loading..." /> submitting your comment...'; }
	//$('blogCommentForm').innerHTML = '&nbsp;<img src="'+publicdomaintpl+'loading.gif" alt="loading..." /> submitting your comment...';	
	var err = 0;
	if(trim($('blogCommentAuthor').value) == ''){	err++; Element.addClassName($('blogCommentAuthor').parentNode,'formError'); }
	else Element.removeClassName($('blogCommentAuthor').parentNode,'formError');
	if(trim($('blogComment').value) == ''){	err++; Element.addClassName($('blogComment').parentNode,'formError'); }
	else Element.removeClassName($('blogComment').parentNode,'formError');
	if((!validURL($('blogCommentUrl').value))&&($('blogCommentUrl').value != 'http://')){ err++; Element.addClassName($('blogCommentUrl').parentNode,'formError'); }
	else Element.removeClassName($('blogCommentUrl').parentNode,'formError');
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if(err != 0){
		alert('You have not filled out all the required fields correctly. \n\n Please submit the required information.');
	}else{
		$('submitBlogComment').disabled = true;		
		auth = $('blogCommentAuthor').value;
		em = $('blogCommentEmail').value;
		url = $('blogCommentUrl').value;
		comment = $('blogComment').value;
		blog_id = $('comment-blog-id').value;
		parameter = "auth="+auth+"&em="+em+"&url="+url+"&comment="+comment+"&blog_id="+blog_id;
		var url = publicdomain+"blogawards/objects/blogs/addBlogComment.xml.php";
		var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
		
		pageTracker._trackPageview("ajax"+chnnl+"/commentblog");
	}
}

function ratethisarticle(id,rating,slug) {
//	debugger;
	var showResponse = function (originalRequest) {$('ratesystem').innerHTML = originalRequest.responseText;};
	var showProgress = function () { $('ratesystem').innerHTML = '&nbsp;<img src=publicdomain+"templates/candydefault/images/loading.gif" alt="loading..." /> loading...'; }
	parameter = "id="+id+"&rating="+rating+"&slug="+slug;
	var url = publicdomain+"blogawards/objects/blogs/rateThisBlog.obj.php";
	new Effect.Highlight('ratesystem', {startcolor:'#FFFFFF', endcolor:'#FEF3FA'})	
	var myAjax = new Ajax.Request( url,	{method: 'get', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
	
	pageTracker._trackPageview("ajax"+chnnl+"/rateblog");
}

function blogNomination(id) {
	var showResponse = function (originalRequest) { 
							if(originalRequest.responseText == "error1"){
								$('nResponse'+id).innerHTML = "You must log in to nominate a blog."; 	
							}else{
								$('nResponse'+id).innerHTML = "done!"; 
							}
						};
	var showProgress = function () { $('nResponse'+id).innerHTML = 'nominating...'; }
	parameter = "id="+id;
	var url = publicdomain+"blogawards/objects/blogs/nominate.xml.php";
	var myAjax = new Ajax.Request( url,	{method: 'post', parameters: parameter, onComplete: showResponse, onLoading: showProgress});
	
	//pageTracker._trackPageview("ajax"+chnnl+"/nominateblog");
}

function markRating(rating,flag,label) {
	$("ratinglabel").innerHTML = label;
	if(flag == 'on'){
		for(i = 1; i<=5; i++){
			if(i <= rating)	$("labelrating"+i).className = 'ratingOn';
			else{
				if($("rate"+i).checked == true) break;
				else $("labelrating"+i).className = 'ratingOff';
			}
		}
	}else{
		for(i = 5; i>=1; i--){
			if($("rate"+i).checked == true)	break;
			else $("labelrating"+i).className = 'ratingOff';
		}
	}
}

function submitBlogSearch(url){
//	debugger;
	var key = $F('search');
	key1 = key.replace(/ +/g, '+');
//	var tag = this.value.replace(/ +/g, '+')
  	location.href = url+'search/'+key1;
	return false;
}

function init(){
	if($("submitnomination")) Event.observe('submitnomination', 'click', submitBlogNomination, false);
	if($("registerMember")) Event.observe('registerMember', 'click', registerMember, false);
	if($("getSticker")) Event.observe('getSticker', 'click', displaySticker, false);
	if($("editblogbt")) Event.observe('editblogbt', 'click', editblog, false);
	if($("submitBlogComment"))Event.observe('submitBlogComment', 'click', submitBlogComment, false);
	if($("searchBox"))Event.observe('searchBox', 'submit', submitBlogSearch, false);
	/*if($("logo")) Event.observe('logo', 'change', testFileType, false);*/
	
	if($("scroll-list")) initscroll();
}

Event.observe(window, 'load', init);