var $pages = [];
var $current;

YAHOO.util.Event.addListener(window, "load", function() { 
    if (YAHOO.util.Dom.get('scroller')) {

		var elPages = YAHOO.util.Dom.getChildren('scroller');
		var elMarks = YAHOO.util.Dom.get('marker');
	
		for(var i=0; i<elPages.length; i++) {
			var elMark = document.createElement('img');
			elMark.src = "/images/s.gif"
			elMark.className = "page-mark";
			elMark.title = "Page " +(i+1);
			elMark.page = i;
			elMarks.appendChild(elMark);
			YAHOO.util.Event.on(elMark, 'click', function(e) {
				var el = YAHOO.util.Event.getTarget(e);
				scrollToPage($pages[el.page]);
			});
		
			$pages[i] = {
				pos: i,
				page: elPages[i],
				mark: elMark
			};
		}

		scrollToPage($pages[0]);	
	
		YAHOO.util.Event.on('scroll-right', 'click', function() {
			scrollToPage($pages[$current+1]);
		});	
		YAHOO.util.Event.on('scroll-left', 'click', function() {
			scrollToPage($pages[$current-1]);
		});
	
	}
});

function scrollToPage(oPage) {
	//abort if page doesn't exist
	if(!oPage) {
		return;
	}
	
	var page = oPage.page;
	var scrollerx= YAHOO.util.Dom.getX('scroller');
	var pagex = (YAHOO.util.Dom.getX(page)+YAHOO.util.Dom.get('scroller').scrollLeft)-scrollerx; //237
	
	var attributes = {
        scroll: { to: [pagex, 0] }
    };
    var anim = new YAHOO.util.Scroll('scroller', attributes);
	anim.onComplete.subscribe(function() {
		setMark(oPage.mark);
		$current = oPage.pos;
		YAHOO.util.Dom.get('left').className  = ($current==0) ? "first" : "";
		YAHOO.util.Dom.get('right').className = ($current==$pages.length-1) ? "last" : "";
	});
	anim.animate();
}

function setMark(elMark) {
	for(var i=0; i<$pages.length; i++) {
		YAHOO.util.Dom.removeClass($pages[i].mark, "page-mark-on");
	}
	
	YAHOO.util.Dom.addClass(elMark, "page-mark-on");
}

function openAudioPlayer() {
	window.open ("http://www.wardlawbanks.com/wbplayer.php",
	"wbplayer","menubar=1,resizable=1,width=520,height=170");
}

function clearForm() {
	YAHOO.util.Dom.get('name').value = "";
	YAHOO.util.Dom.get('email').value = "";
	YAHOO.util.Dom.get('subject').value = "";
	YAHOO.util.Dom.get('message').value = "";
}


function wbdialog(text, icon) {
	var handleOk = function() {
		this.destroy();
	};
	
	// Instantiate the Dialog
	var dialog = new YAHOO.widget.SimpleDialog("wbdialog", 
				{ width: "265px",
				  fixedcenter: true,
				  draggable: true,
				  close: true,
				  modal:true,
				  text: text,
				  icon: icon,
				  constraintoviewport: true,
				  buttons: [ { text:"OK", handler:handleOk, isDefault:true } ]
				} );
				
	dialog.setHeader("Wardlaw Banks");
	// Render the Dialog
	dialog.render(document.body);
	
	return dialog;
}


function sendForm() {
	var noerr = true
	
	if (YAHOO.util.Dom.get('name').value == "") {
		YAHOO.util.Dom.addClass(YAHOO.util.Dom.get('name'), "form-invalid")
		noerr = false;
	}
	
	if (YAHOO.util.Dom.get('email').value == "") {
		YAHOO.util.Dom.addClass(YAHOO.util.Dom.get('email'), "form-invalid")
		noerr = false;
	}
	
	if (YAHOO.util.Dom.get('message').value == "") {
		YAHOO.util.Dom.addClass(YAHOO.util.Dom.get('message'), "form-invalid")
		noerr = false;
	}
	
	if (noerr) {
		var dialog = new YAHOO.widget.SimpleDialog("wbdialog", 
			{ width: "250px",
			  fixedcenter: true,
			  draggable: true,
			  close: true,
			  modal:true,
			  text: "<img src=\"/images/activity.gif\">",
			  constraintoviewport: true
			} );

		dialog.setHeader("Sending Message");
		dialog.render(document.body);
		
		var pause = setTimeout(function() {
			YAHOO.util.Connect.asyncRequest('GET',
				"/mailer.php?name="
				+YAHOO.util.Dom.get('name').value
				+"&email="
				+YAHOO.util.Dom.get('email').value
				+"&subject="
				+YAHOO.util.Dom.get('subject').value
				+"&message="
				+YAHOO.util.Dom.get('message').value
				+"&recaptcha_challenge_field="
				+YAHOO.util.Dom.get('recaptcha_challenge_field').value
				+"&recaptcha_response_field="
				+YAHOO.util.Dom.get('recaptcha_response_field').value
				, {
					// Successful XHR response handler
				    success : function (o) {
				        dialog.destroy();
						var json;

				        // Use the JSON Utility to parse the data returned from the server
				        try {
				            json = YAHOO.lang.JSON.parse(o.responseText);
				        }
				        catch (x) {
				            wbdialog("JSON Parse failed!", YAHOO.widget.SimpleDialog.ICON_WARN);
				            return;
				        }

						if (json.sent) {
							clearForm();
							wbdialog(json.msg, YAHOO.widget.SimpleDialog.ICON_INFO);
						} else {
							wbdialog(json.msg, YAHOO.widget.SimpleDialog.ICON_WARN);
						}
				    },
					failure : function (o) {
						dialog.destroy();
						wbdialog("Message delivery failed. Please try again later\n\nStatus code: " + o.statusText, YAHOO.widget.SimpleDialog.ICON_WARN);
					},
					timeout: 1500
				}
			);
		},3000);
		
	}
		
	return false; 
}