var defaultSize		= 12;
var resizeCounter	= 0;
var increment		= 2;
var maxsize			= 18;
var minsize			= 8;
var ev 				= ev || window.event;
var rememberCurr	= "";
var currentBox		= '';
var currentCo		= '';
var currentForm		= '';


function verifyForm(pgForm)
{
	var errMsgs		= new Array();
	var reqMsgSet	= false;
	for(var i = 0; i < pgForm.elements.length; i++)
	{ 
		if(pgForm.elements[i].name == 'user_name')
		{
			if((pgForm.elements[i].value.length < 6)||(pgForm.elements[i].value.length > 25))
			{
				if(!alertMsg){var alertMsg	= "User names must be 6 - 25 characters long.";}
				else{alertMsg = alertMsg+"\nUser names must be 6 - 25 characters long.";}
				errMsgs.push(pgForm.elements[i].name);
			}
		}
		if(pgForm.elements[i].name == 'email')
		{
			if(isValidEmail(pgForm.elements[i].value) == false)
			{
				if(!alertMsg){var alertMsg	= "A valid Email address is required!";}
				else{alertMsg = alertMsg+"\nA valid Email address is required!";}
				errMsgs.push(pgForm.elements[i].name);
			}
			var priEmail	= pgForm.elements[i].value;
		}
		if(pgForm.elements[i].name == 'ver_email')
		{
			if(pgForm.elements[i].value != priEmail)
			{
				if(!alertMsg){var alertMsg	= "Email addresses do not match!";}
				else{alertMsg = alertMsg+"\nEmail addresses do not match!";}
				errMsgs.push(pgForm.elements[i].name);
			}
			if(pgForm.elements[i].value ==''){errMsgs.push(pgForm.elements[i].name);}
		}
		if(pgForm.elements[i].name == 'user_pass')
		{
			if(isValidPass(pgForm.elements[i].value) == false)
			{
				if(!alertMsg){var alertMsg	= "A password is required and may contain only Numbers, letters and these characters; @#$!%&";}
				else{alertMsg = alertMsg+"\nA password is required may contain only Numbers, letters and these characters; @#$!%&";}
				errMsgs.push(pgForm.elements[i].name);
				
			}else{
				var userPass	= pgForm.elements[i].value;
			}
		}
		if(pgForm.elements[i].name == 'verify_pass')
		{
			if(pgForm.elements[i].value != userPass)
			{
				if(!alertMsg){var alertMsg	= "Passwords do not match!";}
				else{alertMsg = alertMsg+"\nPasswords do not match!";}
				errMsgs.push(pgForm.elements[i].name);
			}
		}
		if(pgForm.elements[i].name == 'coDesc')
		{
			if(pgForm.elements[i].value.length > 500)
			{
				if(!alertMsg){var alertMsg	= "Company description may not exceed 500 characters (including spaces)\nYour description is "+pgForm.elements[i].value.length+" long";}
				else{alertMsg += "\nCompany description may not exceed 500 characters (including spaces)\nYour description is "+pgForm.elements[i].value.length+" long";}
				errMsgs.push(pgForm.elements[i].name);
			}
		}
		
		if(pgForm.elements[i].name == 'stList')
		{
			errMsgs.push(pgForm.elements[i].name);
			boxes = pgForm.elements[i].length;
			sel = -1;
			for (x = 0; x < boxes; x++) 
			{
				if (pgForm.elements[i][x].checked) 
				{sel = x;}
			}	
			if(sel == -1)
			{
				if(!alertMsg){var alertMsg = "Please select at least one state under which your listing will appear.";}
				else{alertMsg += "Please select at least one state under which your listing will appear.";}
				errMsgs.push(pgForm.elements[i].name);
			}
		}
		
		if((pgForm.elements[i].getAttribute('number')) && (pgForm.elements[i].value != 'All'))
		{
			var numVal		= pgForm.elements[i].getAttribute('number');
			var	shoVal		= numVal.replace(/,/, " - ");
			var regExpObj	= new RegExp("^\\d{"+numVal+"}$");
			if(pgForm.elements[i].getAttribute('required') == '1') 
			{
				if(regExpObj.exec(pgForm.elements[i].value) == null)
				{
					if(!alertMsg){var alertMsg	= "Field "+pgForm.elements[i].name+" must be "+shoVal+" digits only";}
					else{alertMsg += "\nField "+pgForm.elements[i].name+" must be "+shoVal+" digits only";}
					errMsgs.push(pgForm.elements[i].name);
				}
			}else{
				if((pgForm.elements[i].value.search(regExpObj) == -1) && (pgForm.elements[i].value.length > 0))
				{
					if(!alertMsg){var alertMsg	= "Field "+pgForm.elements[i].name+" must be "+shoVal+" digits only";}
					else{alertMsg += "\nField "+pgForm.elements[i].name+" must be "+shoVal+" digits only";}
					errMsgs.push(pgForm.elements[i].name);
				}
			}
		}
		if(pgForm.elements[i].getAttribute('required') == '1')
		{
			if(pgForm.elements[i].value == '')
			{
				if(!reqMsgSet)
				{
					if(!alertMsg){var alertMsg	= "Please fill in all highlighted fields.";}
					else{alertMsg = alertMsg+"\nPlease fill in all highlighted fields.";}
					reqMsgSet	= 1;
					alertMsg = alertMsg+"\n"+pgForm.name;
				}
				if(pgForm.elements[i].type != 'RADIO')
				{
					errMsgs.push(pgForm.elements[i].name);
				}
			}
		}
		
	}
	if(errMsgs.length > 0)
	{
		var errSpan	= $('error');
		alert(alertMsg);
		for(var j = 0; j < errMsgs.length; j++)
		{
			var fieldName	= errMsgs[j];
			pgForm.elements[fieldName].style.background = '#fff3c8';
		}
		return false;
	}
	return true;
}

 
function showCo(country, selID, stProv)
{
	stProvReq		= new xmlRequest();
	if(stProv)
	{
		var serverScript	= "stProvList.php?country="+country+"&stProv="+stProv;
	}else{
		var serverScript	= "stProvList.php?country="+country;
	}
	stProvReq.open("GET", serverScript, true);
	var stProvSelect	= $(selID);
	stProvReq.onreadystatechange = function()
	{
		if(stProvReq.readyState == 4 && stProvReq.status == 200)
		{
			stProvSelect.innerHTML = stProvReq.responseText;
		}
	}
	stProvReq.send(null);
}

function showStateChoice(divID)
{
	choiceReq			= new xmlRequest();
	var targetDiv		= $(divID);
	var serverScript	= 'http://'+location.host+'/showstchoice.php';
	choiceReq.open("GET", serverScript, true);
	choiceReq.onreadystatechange = function()
	{
		if(choiceReq.readyState == 4 && choiceReq.status == 200)
		{
			targetDiv.innerHTML = choiceReq.responseText;
		}
	}
	choiceReq.send(null);
	
}

function hideStateChoice(divID)
{
	targetDiv	= $(divID);
	targetDiv.innerHTML = '';
}

function showBox(closedBox)
{
	hiddenItem	= $(closedBox);
	hiddenItem.style.display = 'block';
	if(currentBox){hideBox(currentBox);}
	currentBox	= closedBox;
}

function hideBox(openBox)
{
	hiddenItem	= $(openBox);
	hiddenItem.style.display = 'none';
}

function currFormSubmit(pgForm) 
{
	var curr_form	= pgForm;
	var from_idx	= curr_form.from.selectedIndex;
	var from_value	= curr_form.from.options[from_idx].value;
	var to_idx		= curr_form.to.selectedIndex;
	var to_value	= curr_form.to.options[to_idx].value
			var amount		= curr_form.amount.value;
	if (amount.length == 0)
	{
		alert("Currency Converter:\nPlease input an amount value!");
		return false;
	}
	/*some debugging stuff
	alert("From "+from_value);
	alert("To "+to_value);
	alert("Amount "+amount);
	*/
	res_win	=	window.open('/convert_curr.php?from='+from_value+"&to="+to_value+"&amount="+amount,'conversion_window','status = 1, height = 150, width = 500, resizable = 0');
	if(window.focus){res_win.focus();}
	return false;
}

function resizeFont(resize) 
{
	if (!document.getElementById) {
		return;
	}
		
	if (resize > 0)
	{
		var size = parseInt($("inner-text").style.fontSize.substring(0,$("inner-text").style.fontSize.length-2));
		if (size && size + increment <= maxsize)
		{
			$("inner-text").style.fontSize = (size + increment) + 'px';
			resizeCounter++;
		}else{
			$("inner-text").style.fontSize = defaultSize + 'px';
			resizeCounter = 0;
		}
	} else {
		var size = parseInt($("inner-text").style.fontSize.substring(0,$("inner-text").style.fontSize.length-2));
		if (size && size >= minsize)
		{
			$("inner-text").style.fontSize = (size - increment) + 'px';
			resizeCounter--;
		}else{
			$("inner-text").style.fontSize = defaultSize + 'px';
			resizeCounter = 0;
		}
	}
	saveSettings();
}

function setFontSize(resizeCounter)
{

	var size = parseInt($("inner-text").style.fontSize.substring(0,$("inner-text").style.fontSize.length-2));
	var resize = size + resizeCounter;			
	if (!size)
	{
		$("inner-text").style.fontSize = (parseInt(defaultSize) + parseInt(resizeCounter)) + 'px';
	}
	else if (size && resize > 0)
	{
		$("inner-text").style.fontSize = resize + 'px;';
	}
}

function resetFontSize()
{
	$("inner-text").style.fontSize = defaultSize + 'px';
	resizeCounter = 0;
}
//cookie functions to remember the font sizes across pages
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function setUserOptions()
{
	cookie = readCookie("FontSize");
	if(cookie)
	{
		resizeCounter = cookie;
	}else{
		return null;
	}
	setFontSize(resizeCounter*increment);
}

function saveSettings()
{
	createCookie("FontSize", resizeCounter, 365);
}

function varitext(text)
{
	text=document;
	print(text);
	return false;
}

function xmlRequest()
{
	try
	{
		xmlHttp=new XMLHttpRequest();
	}catch(e){
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				alert("Your browser does not support AJAX!");
			}
		}
	}
	return xmlHttp;
}

function isValidEmail(email)
{
	email	= email.trim();
	if(email.search(/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i) == -1)
	{
		return false;
	}else{
		return true;
	}
}

function isValidPass(pass)
{
	email	= pass.trim();
	if(email.search(/[-a-z0-9@#$!%&]/) == -1)
	{
		return false;
	}else{
		return true;
	}
}

String.prototype.trim = function()
{
	return this.replace(/^\s+|\s+$/g,"");
}

String.prototype.ltrim = function()
{
	return this.replace(/^\s+/,"");
}

String.prototype.rtrim = function()
{
	return this.replace(/\s+$/,"");
}

function returnLabel(item)
{
	var itemName	= item.nodeValue;
	return itemName;
}

function getElementbyClass(rootobj, classname)
{
	var temparray=new Array()
			var inc=0
			var rootlength=rootobj.length
			for (i=0; i<rootlength; i++)
	{
		if (rootobj[i].className==classname)
		{
			temparray[inc++]=rootobj[i];
		}
	}
	return temparray
}

function $(id)
{
	return document.getElementById(id);
}

Array.prototype.inArray = function (value)
{
	var i;
	for (i=0; i < this.length; i++)
	{
		if (this[i] === value){return true;}
	}
	return false;
}

function verifyDelCat(catName)
{
	if(confirm('Are you sure you want to delete '+catName+'?'))
	{
		return true;
	}else{
		return false;
	}
}
function searchForm(srchFormName)
{
	if(rememberCurr != ''){min(rememberCurr);}
	max(srchFormName);
	return false;
}

function expand(categoryid)
{
	if(rememberCurr != ""){min(rememberCurr);}
	max(categoryid);
	
}

function min (categoryID)
{
	var objTBL = $(categoryID);
	objTBL.style.display = 'none';
	rememberCurr="categoryID";
}

function max (categoryID)
{
	var objTBL2 = $(categoryID);
	objTBL2.style.display = 'block';
	rememberCurr=categoryID;
}

window.onload = function()
{
//	showBox('stProv');
	setUserOptions();
}

