function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function vform()
	{
	error = 0;
	errorMsg = 'Please check the following items';
	if(document.getElementById('FullName').value == '')
		{
		error = 1;
		errorMsg = errorMsg + '\n - Name';
		}
	if(document.getElementById('EmailAddress').value == '')
		{
		error = 1;
		errorMsg = errorMsg + '\n - Email Address';
		}
	if(error == 1)
		{
		alert(errorMsg);
		return false;
		}
	else
		{
		return true;
		}
	}

function gotoPage(pg) {
window.location = pg;
}

function getListCount(list) {
listArray = "";
if (list.indexOf(",") != -1) {
	listArray = list.split(",");
	}
return listArray;
}

function checkLength(to,from,val,key,m) {
origList = $(val).value;
origListArray = getListCount(origList);
newList = Sortable.sequence(to).join();
newListArray = getListCount(newList);

if (newListArray.length > parseInt(m)) {
	for (l=0;l < origListArray.length; l++) {
		for (ol=0;ol < newListArray.length; ol++) {
			if (origListArray[l] == newListArray[ol]) {
				newListArray = newListArray.without(origListArray[l]);
				}
			}
		}
	//alert("too many");
	fromObj = $(key + 'From_' + newListArray.join());
	$(from).appendChild(fromObj);
	//fromObj.remove();
	}
}

function SubmitPurchaseLink(idNum) {
var requestSelect = $(idNum);
var ticketsRequested = requestSelect.options[requestSelect.selectedIndex].value;
var eventId = $(idNum + "_eventId").value;
var ticketGroupId = $(idNum + "_ticketGroupId").value;
var price = $(idNum + "_price").value;
var referralVal = getCookie("referralId");

//var purchaseUrl = 'https://tickettransaction2.com/Checkout.aspx?e='+ escape(info)+cookie_tn_ppc_src+'&treq=' + ticketsRequested+ '&SessionId=' + makeGuid();
//purchaseUrl =" https://tickettransaction2.com/Checkout.aspx?";
purchaseUrl =" https://secure.vegastickets.com/checkout/Checkout.aspx?";
purchaseUrl += "brokerid=110";
purchaseUrl += "&sitenumber=1";
purchaseUrl += "&tgid=" + ticketGroupId;
purchaseUrl += "&evtid=" + eventId;
purchaseUrl += "&price=" + price;
purchaseUrl += "&treq=" + ticketsRequested;
purchaseUrl += "&SessionId=" + makeGuid();
if (referralVal != "") {
	purchaseUrl += "&referralId=" + referralVal;
	}

window.location = purchaseUrl;
}

function makeGuid(){
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';
var guid_length = 5;
var guid = '';
for (var i=0; i<guid_length; i++) {
	var rnum = Math.floor(Math.random() * chars.length);
	guid += chars.substring(rnum,rnum+1);
	}
return guid;
}

function getURLParam(name) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null ) {
	return "";
	}
else {
	return results[1];
	}
}
function getCookie(c_name) {
if (document.cookie.length > 0) {
	c_start=document.cookie.indexOf(c_name + "=");
	if (c_start != -1) {
		c_start=c_start + c_name.length+1;
		c_end=document.cookie.indexOf(";",c_start);
		if (c_end==-1) c_end=document.cookie.length;
		return unescape(document.cookie.substring(c_start,c_end));
		}
	}
return "";
}
function setCookie(c_name,value,expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function eraseCookie(name) {
	setCookie(name,"",-1);
}

function setReferralCookie() {
	referralVal = getURLParam('Ref');
	if (referralVal != "") {
		WriteCookie("SOURCE",referralVal,45,'/','vegastickets.com');
		}
	else {
		eraseCookie("SOURCE");
		}
}

function WriteCookie(name, value, expires, path, domain, secure) {
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct
expires time, the current script below will set
it for x number of days, to make it for hours,
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );

}

//AJAX Search
function findKeywords(val,retId) {
Effect.Fade('indicator1');
$(retId).innerHTML = "";
if (val.length >= 3) {
	url = "/feeds/search/" + val;
	makeServerCall(url,retId);
	}
}
function makeServerCall(url,retId) {
new Ajax.Request	(
					url, 
						{
						method: 'get', 
						onSuccess: function(req) {
							getReturnResults(req.responseText,retId);
							Effect.Appear('indicator1');
							}
						}
					);
}
function getReturnResults(str,retId) {
Effect.Appear(retId);
$(retId).innerHTML = str.trim();
}

function selectItem(val) {
$("siteSearch").value = val;
$('siteSearchForm').submit();
}

var mapTop = 593;
var currentPos = 0;
var mapOffset = 20;

function moveMapOLD() {
posVars = getScrollXY();
imgHeight = $('eventMap').getHeight();
mapBottom = $('wideintbodytext').getHeight();
if (posVars[1] > mapTop) {
	topPos = (posVars[1] - mapTop) + 10;
}
if (posVars[1] >= mapBottom) {
	topPos = (mapBottom - imgHeight) - 200;
}
new Effect.Move('eventMapContainer', { y: topPos, mode: 'absolute' });
}

function moveMap() {
posVars = getScrollXY();
imgHeight = $('eventMap').getHeight();
mapBottom = $('ticketContainer').getHeight();
scrollOffset = posVars[1]- 100;
tOffset = 135;
padOffset = 40;
tMargin = scrollOffset - tOffset;
bMax = mapBottom - imgHeight;
imgBottom = tMargin + imgHeight;
bOffset = (scrollOffset + tOffset) + padOffset;
if (parseInt(tMargin) < 0) {
	tMargin = 0;
}
if (parseInt(imgBottom) >= parseInt(mapBottom)) {
	tMargin = bMax - padOffset;
}
$('eventMapContainer').style.marginTop = tMargin + "px";
}

function getScrollXY() {
var scrOfX = 0, scrOfY = 0;
if( typeof( window.pageYOffset ) == 'number' ) {
	//Netscape compliant
	scrOfY = window.pageYOffset;
	scrOfX = window.pageXOffset;
	} 
else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	//DOM compliant
	scrOfY = document.body.scrollTop;
	scrOfX = document.body.scrollLeft;
	} 
else if ( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	//IE6 standards compliant mode
	scrOfY = document.documentElement.scrollTop;
	scrOfX = document.documentElement.scrollLeft;
	}
return [ scrOfX, scrOfY ];
}