var highZ = 1;

function showHide(el,showonly,hideonly)
{
	var elObj = document.getElementById(el);
	if(elObj.style.display == "none")
	{
		elObj.style.display = "";
		highZ++;
		elObj.style.zIndex = highZ;
	}
	else
	{
		elObj.style.display = "none";
	}
	if(showonly)
	{
		elObj.style.display = "";
		highZ++;
		elObj.style.zIndex = highZ;
	}
	if(hideonly)
	{
		elObj.style.display = "none";
	}
}

/* Image Preloader */
function preloadImages()
{
	var d=document; if(d.images){ if(!d.p) d.p=new Array();
	var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

/* Find Element on Page */
function findObj(n, d)
{
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n); return x;
}

/* Mouseover Function */
function swapImage()
{
	var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/* Mouseover Function: Restore */
function swapImgRestore()
{
	var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

/* Popup Window */
function spawnWindow(theURL,winName,features,posX,posY)
{
	myWindow=window.open(theURL,winName,features);
	if (!myWindow.opener) myWindow.opener = self;
	myWindow.focus();
	if(posX || posY)
	{
		myWindow.moveTo(posX,posY);
	}
}

/* Mmmm... Coookies! */
function setCookie(name, value, expires, path, domain, secure)
{
	if(expires)
	{
		var expireDate = new Date();
		expireDate.setTime(Date.parse(expires));
	}
	var curCookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expireDate.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
	document.cookie = curCookie;
}
function getCookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1)
	{
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}
	else
	{
		begin += 2;
		var end = document.cookie.indexOf(";", begin);
		if (end == -1)
		end = dc.length;
		return unescape(dc.substring(begin + prefix.length, end));
	}
}
function deleteCookie(name, path, domain)
{
	if (getCookie(name))
	{
		document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

/* File Upload Form Value */
function UpdateFileUpload(fieldid,fileFieldVal)
{
	document.uniForm[fieldid].value = fileFieldVal;
}

/* Show Wait Cursor Window */
function ShowWait()
{
	if($('wait') && $('wait').getStyle('display') == 'none')
	{
		Element.show('wait');
	}
}

/* Hide Wait Cursor Window */
function HideWait()
{
	if($('wait') && $('wait').getStyle('display') == 'block')
	{
		Element.hide('wait');
	}
}

function AJAXSplitReturnVal(field,theitem)
{
	var fieldname = field.id;
	var selectfield = document.getElementById(fieldname+"select");
	var selectdata = theitem.innerHTML;
	var fields = selectdata.replace(/(.*?)<span (.*?)>(.*?)<\/span>/gi,"$3");
	/* $('debug').innerHTML = fields; */
	var values = fields.split('::');
	if(values.length > 1)
	{
		return values;
	}
}

function CheckFormSubmit(RequiredFieldArr,RequiredTextArr,FormID)
{
	var ErrStr = '';
	RequiredFieldArr.each(function(name, index) {
		if(name.indexOf('::') == -1)
		{
			if($(name) && !$(name).value)
			{
				ErrStr += RequiredTextArr[index]+"\n";
			}
		}
		else
		{
			var c = name.split('::');
			if (!eval(c[0]+'($(c[1]).value)'))
			{
				ErrStr += RequiredTextArr[index]+"\n";
			}
		}
	});
	if(ErrStr)
	{
		alert(ErrStr);
	}
	else
	{
		$(FormID).submit();
	}
}

function CheckMail(val)
{
	var re = new RegExp(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i);
	if (val.match(re))
	{
		return true
	}
	else
	{
		return false
	}
}
