// JavaScript Document

function OpenWindow (url) {
var nWindow = window.open('http://www.activedogadventures.net/' + url, '','scrollbars = 1');
}

function OpenWindowSized (url, w, h) {
var nWindow = window.open('http://www.activedogadventures.net/' + url,'','width=' + w + ',height=' + h + ',scrollbars = 1');
}

function OpenWindowSizedFullURL (url, w, h) {
var nWindow = window.open(url,'','width=' + w + ',height=' + h + ',scrollbars = 1');
}

function MoreInfo (subject) {
	OpenWindowSized ('Info.php?SubjectID=' + subject, 350, 250);	
}

/*function addListener(element, type, expression, bubbling) {
	bubbling = bubbling || false;
	if(window.addEventListener) { // Standard
		element.addEventListener(type, expression, bubbling);
		return true;
	} 
	else if(window.attachEvent) { // IE
		element.attachEvent('on' + type, expression);
		return true;
	}
	else {	
		return false;
	}
}


function removeListener(element, event, listener) {
	if (typeof element == "string")	element = document.getElementById(element);
	var eventId = getEventId(element, event, listener);
	if (!eventId in listeners)	return false;
	
	var proxy = listeners[eventId].proxy;
	delete listeners[eventId];
	
	if (element.removeEventListener)	element.removeEventListener(event, proxy, false);
	else if (element.detachEvent)	element.detachEvent('on' + event, proxy);
	return true;

}*/

var curId = 0;
var delayedListeners = [];
var listeners = {};
var windowLoaded = false;

function getObjId(object) {
	if (!object.__eventId)
		object.__eventId = ++curId;
	return object.__eventId;
}

function getEventId(element, event, listener) {
	var listener = listener.length == 2 ? getObjId(listener[0]) + '_' + getObjId(listener[1]) : getObjId(listener);
	return getObjId(element) + "_" + event + "_" + listener;
}

function addListener(element, event, listener) {
	if (typeof element == 'string' && !windowLoaded) {
		delayedListeners.push(arguments);
		return true;
	}
	if (typeof element == "string")
		element = document.getElementById(element);
	if (!element)
		return false;
	var obj = listener.length == 2 ? listener[0] : element;
	var func = listener.length == 2 ? listener[1] : listener;
	var args = Array.prototype.splice.call(arguments, 3, arguments.length);
	var proxy = function(event) {
		args.push(event);
		func.apply(obj, args);
	}
	listeners[getEventId(element, event, listener)] = {listener: listener, proxy: proxy};
	if (element.addEventListener)
		element.addEventListener(event, proxy, false);
	else if (element.attachEvent)
		element.attachEvent('on' + event, proxy);
	return true;
}

function removeListener(element, event, listener) {
	if (typeof element == "string")
		element = document.getElementById(element);
	var eventId = getEventId(element, event, listener);
	if (!eventId in listeners)
		return false
	var proxy = listeners[eventId].proxy;
	delete listeners[eventId];
	if (element.removeEventListener)
		element.removeEventListener(event, proxy, false);
	else if (element.detachEvent)
		element.detachEvent('on' + event, proxy);
	return true;
}

function ProcessFields (fo, highlight) {
	hl = highlight || false;
	//var f = document.getElementById(fo);
	for (var a = 0; a < document.getElementById(fo).elements.length; a++)
	{
		if (document.getElementById(fo).elements[a].type == 'text' || document.getElementById(fo).elements[a].type == 'textarea') {
			document.getElementById(fo).elements[a].className = 't';
		}
		if (document.getElementById(fo).elements[a].type != 'hidden') {
			document.getElementById(fo).elements[a].tabIndex = (a+1);
		}
		addListener(document.getElementById(fo).elements[a], 'keyup', NextField);
		if (hl && (document.getElementById(fo).elements[a].type == 'text' || document.getElementById(fo).elements[a].type == 'textarea')) {
			addListener(document.getElementById(fo).elements[a], 'focus', HighlightField);
			addListener(document.getElementById(fo).elements[a], 'blur', ResetBorder);
		}
	}
}

function ValidateForm(fo) {
	var c = 0;
	for (a = 0; a < document.getElementById(fo).elements.length; a++) {
		if (document.getElementById(fo).elements[a].className.indexOf("opt") < 0) {
			if (document.getElementById(fo).elements[a].value == "")	c++;
		}
	}
	
	if (c > 0)	alert("Please fill out all required fields.");
	else	document.getElementById(fo).submit();
}

function NextField (e) {
	e = e || false;
	
	var thi;
	if (window.addEventListener)
	{
		thi = this;	
	}
	else
	{
		thi = e.srcElement;	
	}
	if (thi.maxLength != -1 && thi.value.length == thi.maxLength) {
		thi.form.elements[thi.tabIndex].focus();
	}
}
function HighlightField (e) {
	e = e || false;
	
	var thi;
	if (window.addEventListener)
	{
		thi = this;	
	}
	else
	{
		thi = e.srcElement;	
	}
	thi.style.borderColor = '#F00';
	thi.style.backgroundColor = '#FCC';
	thi.style.color = '#000';
}
function ResetBorder (e) {
	e = e || false;
	
	var thi;
	if (window.addEventListener)
	{
		thi = this;	
	}
	else
	{
		thi = e.srcElement;	
	}
	thi.style.borderColor = '#EEE';
	thi.style.backgroundColor = '#FFF';
	thi.style.color = '#666';
}

function VerifyAdventureReqeust () {
	var f = document.getElementById('adinfo').elements;
	var pi = 0;
	var email = 0;
	var pn = 0;
	var addr = 0;
	var errors = '';
	for (var a = 0; a < f.length; a++)
	{
		if (f[a].name.indexOf('pi', 0) > -1)
		{
			if (f[a].value != '')	pi++;	
		}
		if (f[a].name.indexOf('email', 0) > -1)
		{
			if (f[a].value != '')	email++;
		}
		if (f[a].name.indexOf('pn', 0) > -1)
		{
			if (f[a].value != '' && f[a].value.length >= 3)	pn++;
		}
		if (f[a].name.indexOf('addr', 0) > -1)
		{
			if (f[a].value != '')
			{
				if (f[a].name == 'addr_street' && f[a].value.indexOf(' ', 0) > -1)	addr++;	
				if (f[a].name == 'addr_zip' && f[a].value.length == 5)	addr++;
				if (f[a].name == 'addr_city' && f[a].value != '')	addr++;
			}
		}
	}
	if (pi < 3)
	{
		errors += '<br />Please provide your pet\'s name, your pet\'s breed, and your name';	
	}
	if (email < 3 || pn < 3)
	{
		errors += '<br />Please provide a vaild email address and phone number.';
	}
	if (addr < 3) {
		errors += '<br />Please provide a valid street address, city, and zip code.';	
	}
	if (errors == '')
	{
		document.getElementById('adinfo').submit();	
	}
	else
	{
		document.getElementById('adinfo_errors').innerHTML = '<b>The following errors were found:</b><i>' + errors + '</i>';	
	}
}

function Submitter(d) {
	document.getElementById('adinfo').action = d;
	document.getElementById('adinfo').submit();
}

function WindowSizel(e) {
	WindowSize();	
}
function WindowSize ()
{
	var w = window.size();
	if (w[0] <= 1039) {
		document.getElementById('content').style.width = '90%';
		if (document.getElementById('nav') != null)	document.getElementById('nav').style.width = '90%';
	}
	else {
		document.getElementById('content').style.width = '80%';
		if (document.getElementById('nav') != null)	document.getElementById('nav').style.width = '80%';	
	}
}

window.size = function () {
	var w = 0;
	var h = 0;
	var size = new Array();

	//IE
	if(!window.innerWidth)
	{
		//strict mode
		if(!(document.documentElement.clientWidth == 0))
		{
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
		}
		//quirks mode
		else
		{
			w = document.body.clientWidth;
			h = document.body.clientHeight;
		}
	}
	//w3c
	else
	{
		w = window.innerWidth;
		h = window.innerHeight;
	}
	size[0] = w;
	size[1] = h;
	return size;
};

function AgreeTOS (c) {
	if (c) {
		document.getElementById('SR').disabled = false;
	}
	else {
		document.getElementById('SR').disabled = 'disabled';
	}
}