YAHOO.namespace('PB');

YAHOO.PB.pageInit = function(){
	YAHOO.PB.mask = new YAHOO.widget.Overlay("mask", { fixedcenter:true, visible:false} );
		YAHOO.PB.mask.render();
	
	YAHOO.PB.loaderOverlay = new YAHOO.widget.Overlay("loaderOverlay", { fixedcenter:true,
					visible:false, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
	
	YAHOO.PB.loaderOverlay.render();
	YAHOO.util.Dom.setStyle("loaderOverlay","display","block");
	
	YAHOO.PB.contentOverlay = new YAHOO.widget.Overlay("contentOverlay", { fixedcenter:true,
					visible:false, effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
	
	YAHOO.PB.contentOverlay.render();
	YAHOO.util.Dom.setStyle("contentOverlay","display","block");
}

YAHOO.PB.showMask = function()
{
	var o = .85;
	YAHOO.PB.mask.maskAnimIn = new YAHOO.util.Anim("mask", {opacity: {to:o}}, 0.25);
	YAHOO.util.Dom.setStyle("mask", "opacity", 0);
	YAHOO.PB.mask.show(); 
	YAHOO.PB.mask.maskAnimIn.animate();
	
}

YAHOO.PB.hideMask = function()
{
	YAHOO.PB.mask.maskAnimOut = new YAHOO.util.Anim("mask", {opacity: {to:0}}, 0.25);
	YAHOO.PB.mask.maskAnimOut.onComplete.subscribe(function() {YAHOO.PB.mask.hide(); } );
	YAHOO.PB.mask.maskAnimOut.animate();
}

function showLoaderAndMask(){
	YAHOO.PB.showMask();
	YAHOO.PB.loaderOverlay.show();
}

function hideLoaderAndMask(){
	YAHOO.PB.hideMask();
	YAHOO.PB.loaderOverlay.hide();
}

YAHOO.PB.showContent = function(myURL){
	if(YAHOO.util.Dom.getStyle('mask', 'visibility') == 'hidden'){
		YAHOO.PB.showMask();
	}
	YAHOO.PB.loaderOverlay.show();
	var transaction = YAHOO.util.Connect.asyncRequest('GET', myURL, showContentCallback, null);
}

var showContentCallback = {
	success: function(response) {
		if(response.responseText.substr(0, 5)=='error'){
		}
		else{
			setTimeout('YAHOO.PB.loaderOverlay.hide()', 500);
			YAHOO.util.Dom.get('contentOverlayText').innerHTML = response.responseText;
			if(YAHOO.util.Dom.getStyle('contentOverlay', 'visibility') == 'hidden'){
				setTimeout('YAHOO.PB.contentOverlay.show()', 500);
			}
		}
	}, 
	failure: function(response) {	
		alert('request failed!');
	}
}


YAHOO.PB.closeContent = function()
{
	YAHOO.PB.contentOverlay.hide();
	YAHOO.PB.hideMask();
}

function showGalleryImage(id, init){
	YAHOO.util.Dom.get('contentOverlayText').innerHTML = '';
	if(init == 'init'){
		YAHOO.PB.showMask();
		//YAHOO.PB.contentOverlay.show();
	}
	else{
		YAHOO.util.Dom.setStyle('contentOverlay', 'visibility', 'hidden');
	}
	myURL = '/gallery_images/details/'+id+'/'+init; 
	YAHOO.PB.showContent(myURL);
}

YAHOO.util.Event.addListener(window,"load",YAHOO.PB.pageInit);
YAHOO.util.Event.addListener("linkCloseContent","click",YAHOO.PB.closeContent);

function postComment(){
	YAHOO.util.Dom.setStyle('post_comment_status', 'display', 'block');
	YAHOO.util.Dom.setStyle('post_comment_error', 'display', 'none');
	
	var formObject = YAHOO.util.Dom.get('comment_form'); 
	YAHOO.util.Connect.setForm(formObject); 
	var sUrl = '/comments/ajax_post/';
	var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, postCommentItemCallback);
}

var postCommentItemCallback = {
	success: function(response) {
		//alert(response.responseText);
		if(response.responseText.split(':')[0] == 'error'){
			YAHOO.util.Dom.setStyle('post_comment_status', 'display', 'none');
			YAHOO.util.Dom.get('post_comment_error').innerHTML = response.responseText.split(':')[1];
			YAHOO.util.Dom.setStyle('post_comment_error', 'display', 'block');
		}
		else if(response.responseText == 'auth_required'){
			YAHOO.util.Dom.setStyle('post_comment_status', 'display', 'none');
			YAHOO.util.Dom.setStyle('leave_comment_container', 'visibility', 'hidden');
			YAHOO.util.Dom.setStyle('comment_auth_msg', 'display', 'block');
		}
		else if(response.responseText == 'success'){
			location.reload(true);
		}
		else{
			YAHOO.util.Dom.setStyle('post_comment_status', 'display', 'none');
			alert(response.responseText);
			alert('Request Failed');
		}
	}, 
	failure: function(response) {
		YAHOO.util.Dom.setStyle('post_comment_status', 'display', 'none');
		YAHOO.util.Dom.get('post_comment_error').innerHTML = 'Server response error. Please try your request again.';
		YAHOO.util.Dom.setStyle('post_comment_error', 'display', 'block');	
	}
}


function checkSignupText(){
	var myInput = YAHOO.util.Dom.get('NewsLetterSignupEmail');
	if(myInput.value == 'Sign Up for the Newsletter'){
		myInput.value = '';
	}
}

function doSignup(){
	YAHOO.PB.showMask();
	YAHOO.PB.loaderOverlay.show();
	var formObject = YAHOO.util.Dom.get('signupForm'); 
	YAHOO.util.Connect.setForm(formObject); 
	var sUrl = '/pages/ajax_newsletter_signup/';
	var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, doSignupCallback);
}

var doSignupCallback = {
	success: function(response) {
		YAHOO.PB.loaderOverlay.hide();
		var myInput = YAHOO.util.Dom.get('NewsLetterSignupEmail');
		myInput.value = 'Sign Up for the Newsletter';
		if(response.responseText == 'validation_error'){
			YAHOO.util.Dom.get('contentOverlayText').innerHTML = '<h3>Please provide a valid email address.</h3>';
		}

		else if(response.responseText == 'success'){
			YAHOO.util.Dom.get('contentOverlayText').innerHTML = '<h3>Subscription successful!</h3>';
		}
		else{
			YAHOO.util.Dom.get('contentOverlayText').innerHTML = '<h3>Server response error. Please try your request again.</h3>';
		}
		YAHOO.PB.contentOverlay.show();
	}, 
	failure: function(response) {
		YAHOO.util.Dom.setStyle('post_comment_status', 'display', 'none');
		YAHOO.util.Dom.get('contentOverlayText').innerHTML = '<h3>Server response error. Please try your request again.</h3>';
		YAHOO.util.Dom.setStyle('post_comment_error', 'display', 'block');
		YAHOO.PB.contentOverlay.show();
	}
}

function swapSlideshowImage(imageID){
	var myImg = YAHOO.util.Dom.get('bigImage');
	myImg.src = '/post_images/medium/'+imageID;
}