////////////////////////////////////////////////////////////////////////////////////////
// 0. Miscellaneous Functions
/////////////////////////////////////////////////////////////////////////////////////////

////////////MPE buy phase 1 changes start/////////////////

//var flashUrl = (window.seatMapUrl) ? window.seatMapUrl : "/promotions/scratch/BBSM/buy_frame.swf";

//var flashId = "buyflashSeatMap";

//var tag = new FlashTag(flashUrl, '100%', '100%', 1); 

//tag.setId(flashId);
	
//var uid = new Date().getTime();

//var buySeatMapVersion = '2';
var stringPriceTemp='';
var stringQtyTemp = '';
var stringPriceTemp21 = '';


/////////////MPE buy phase 1 change ends///////////////////

// tests if a variable is defined
function isDefined(variable) {
	var isDef = true;
	try {
		eval(variable);
	}
	catch (e) {
		isDef = false;
	}
	return isDef;
}
// gets elements vertical pos.
function findPosY(obj) {
	var curtop = 0;
	try {
		if (obj.offsetParent) {
			while (obj.offsetParent) {
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y) { curtop += obj.y; }
	}
	catch (e) { }
	return curtop;
}

// returns numbers formatted to two decimal places. No currency symbol.
function CommaFormatted(amount) {
	var delimiter = ',';
	var a = amount.split('.',2)
	var d = a[1];
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ''; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + '.' + d; }
	amount = minus + amount;
	return amount;
}

function currencyFormat(num) {
	num=parseFloat(num);
	if (!isNaN(num)) {
		num=''+num.toFixed(2);
		if (num.charAt(num.length-1)=='.')
			{num = num+'0';}
		else if (num.charAt(num.length)=='.')
			{num = num+'00';}
		num=CommaFormatted(num);
	}
	return(num);
}

function clearElement(element) {
	if (element.hasChildNodes) {
		var eleCount = element.childNodes.length;
		for (i=0;i<eleCount;i++) {
			element.removeChild(element.childNodes[0]);
		}
	}
}

function expandCol() {
	var listArray=document.getElementsByTagName('li');
	for (var i=0; i<listArray.length; i++) {
		if (listArray[i].className == 'filterMore') {
			listArray[i].className= '';
		}
	}
	document.getElementById('ticketFilterMoreLink').style.display='none';
	reDrawFooter();
}

function helpPopUp(url) {
	window.open(url,'help_window','height=200,width=300,directories=no,toolbar=no,scrollbars=yes,menubar=no,resizable=yes');
}


/////////////////////////////////////////////////////////////////////////////////////////
// 1. XML Functions
/////////////////////////////////////////////////////////////////////////////////////////

// Main request function. Makes the HTTP connection
function makeRequest(data) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla
		http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/xml');
            }
		}
	else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {http_request = new ActiveXObject("Microsoft.XMLHTTP");}
	}

	if (!http_request) {
		alert('Could not connect to the server');
		return false;
	}

	//add check for showseatmap in url add cleanFlag to url parameters
//alert(data);
	if(gup("showseatmap").length ==0){
		http_request.open('POST','/listingCatalog/getTicketsByEvent'+data,true);
	}else{
		http_request.open('POST','/listingCatalog/getTicketsByEvent'+data+'&cleanFlag=1',true);
	}
	http_request.setRequestHeader("Connection", "close");
	http_request.send('');
	return(http_request);

} // end makeRequest function
function gup( 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 buildQueryString(objQueryString) {
	var qs = '?';
	// add seeall condition for mpe-buy1 pagination by Shell
	if (objQueryString['limit'] && objQueryString['seeall'] != 1) {qs += 'limit='+objQueryString['limit']+'&';}
	if (objQueryString['section'])  {
		var qsec = objQueryString['section'];
		if (qsec.lastIndexOf(',') == qsec.length-1) {
			qsec = qsec.substring(0,qsec.length-1);
		}
		qs += 'section='+qsec+'&';
	}
	if (objQueryString['quantity']) {qs += 'quantity='+objQueryString['quantity']+'&';}
	if (objQueryString['bucket']) {
		var bucketArray = objQueryString['bucket'].split(',');
		qs += 'range=';
		for (var i=0; i<bucketArray.length; i++) {
			if(document.getElementById('bucket'+bucketArray[i])){
				qs += document.getElementById('bucket'+bucketArray[i]).value+',';
			}

		}

		if ((objQueryString['minprice']) && (objQueryString['maxprice'])) {
			qs += objQueryString['minprice']+','+objQueryString['maxprice'];
		}
		if (qs.lastIndexOf(',') == qs.length-1) {
			qs = qs.substring(0,qs.length-1);
		}
		qs += '&';
	}
	else {
		if ((objQueryString['minprice']) && (objQueryString['maxprice'])) {
			qs += 'range='+objQueryString['minprice']+','+objQueryString['maxprice']+'&';
		}
	}
	if (objQueryString['offset']) {offset = parseInt(objQueryString['offset']); if (offset > 0) {qs += 'offset='+offset+'&';}}
	if (objQueryString['sortby']) {qs += 'sortby='+objQueryString['sortby']+'&';}
	if (objQueryString['orderby']) {qs += 'orderby='+objQueryString['orderby']+'&';}
	if (objQueryString['eventid']) {qs += 'eventId='+objQueryString['eventid']+'&';}
	if (objQueryString['xbid']) {qs += 'xbid='+objQueryString['xbid']+'&';}
	if (objQueryString['cobrand']) {qs += 'cobrandId='+objQueryString['cobrand']+'&';}
	if (qs.lastIndexOf('&') == qs.length-1) {
		qs = qs.substring(0,qs.length-1);
	}
	return qs;
}

function QSObj(objQueryString) {
	var qsobj = new Object();
	if (objQueryString['limit']) {qsobj['limit'] = objQueryString['limit']}
	if (objQueryString['section']) {qsobj['section'] = objQueryString['section']}
	if (objQueryString['quantity']) {qsobj['quantity'] = objQueryString['quantity']}
	if (objQueryString['maxprice']) {qsobj['maxprice'] = objQueryString['maxprice']}
	if (objQueryString['minprice']) {qsobj['minprice'] = objQueryString['minprice']}
	if (objQueryString['bucket']) {qsobj['bucket'] = objQueryString['bucket']}
	if (objQueryString['offset']) {qsobj['offset'] = objQueryString['offset']}
		else {qsobj['offset'] = 1;}
	if (objQueryString['sortby']) {qsobj['sortby'] = objQueryString['sortby']}
	if (objQueryString['orderby']) {qsobj['orderby'] = objQueryString['orderby']}
	if (objQueryString['eventid']) {qsobj['eventid'] = objQueryString['eventid']}
	if (objQueryString['xbid']) {qsobj['xbid'] = objQueryString['xbid']}
	if (objQueryString['cobrand']) {qsobj['cobrand'] = objQueryString['cobrand']}
	// add seeall for mpe-buy1 pagination by Shell
	if (objQueryString['seeall']) {qsobj['seeall'] = objQueryString['seeall']}
	return qsobj;
}

function getTickets(objQueryString) {
	getTickets(objQueryString, true)
}

function getTickets(objQueryString, doSendSections) {
	if (!isDefined('qsObj')) {qsObj = new Array(); }
	killPages(); message('off'); addWaiting();
	var qs = buildQueryString(objQueryString);
	var gt_request = makeRequest(qs);
	gt_request.onreadystatechange = function() {
		if ((gt_request.readyState == 4) && (gt_request.status == 200)) {
			var xmlDocument = gt_request.responseXML.documentElement;
			delete gt_request;

			errorText = '';
			if (!xmlDocument) {
				error (errorText+'Empty document');
				killWaiting();
				return;
			}

			if (xmlDocument.getElementsByTagName('error').length > 0) {

				for (var i=0; i<xmlDocument.getElementsByTagName('error').length; i++) {
					errorText += xmlDocument.getElementsByTagName('error')[i].childNodes[0].nodeValue + '<br />';
				}
				error(errorText);
				killWaiting();
				return;
			}

			if (xmlDocument.getElementsByTagName('ticket').length < 1) {
				errorText+='Sorry, there are currently no tickets available with the quantity and/or price range you selected. Please choose a new quantity or price range and try again.';
				error(errorText);
				killWaiting();
				return;
			}

			var details = xmlDocument.getElementsByTagName('details').item(0).attributes;
			if (!details.getNamedItem('offset')) {var offset = 1;}
			else {var offset = parseInt(details.getNamedItem('offset').value);}
			if (!details.getNamedItem('total')) {var total = 0;}
			else {var total = parseInt(details.getNamedItem('total').value);}
			if (!details.getNamedItem('limit')) {var limit = 0;}
			else {var limit = parseInt(details.getNamedItem('limit').value);}
			if (!details.getNamedItem('cleantotal')) {var cleantotal = 0;}
			else {var cleantotal = parseInt(details.getNamedItem('cleantotal').value);}
			if (!details.getNamedItem('dirtytotal')) {var dirtytotal = 0;}
			else {var dirtytotal = parseInt(details.getNamedItem('dirtytotal').value);}

			if ((!xmlDocument.getElementsByTagName('ticket')) || (total < 1)) {
				error(errorText+'Sorry, there are currently no tickets available with the quantity and/or price range you selected. Please choose a new quantity or price range and try again.');
				killWaiting();
				return;
			}


			if(doSendSections){
				if (xmlDocument.getElementsByTagName('sections')[0].childNodes.length>0) {
					if(qsObj['section']==null){
						qsObj['filtersection']=xmlDocument.getElementsByTagName('sections')[0].childNodes[0].nodeValue;
					}
					sendSections(qsObj['filtersection']);
				} else {
					// send to blank out the map
					sendSections(0);
					qsObj['filtersection']="0";
				}
			}


			// begin modify for mpe pagination by Shell
			limit = objQueryString['limit'];
			// objQueryString['limit']=limit;
			var tixArray = xmlDocument.getElementsByTagName('ticket');

			// begin modify for bug# 12149
			var rest = total%limit;
			var pages = (total-rest)/limit;
			if (rest > 0){
				pages++;
			}
			// end modify for bug# 12149
			var thispage = ((offset - (offset%limit))/limit) + 1;
			if ((offset-1 + limit) > total) {var upper = total;}
			else {var upper = offset-1+limit;}

			var pagesarea  = document.createElement('div');
			pagesarea.id = 'pagesarea';
			//pagesarea.style.cssText = 'font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: #265686;';
			
			if (objQueryString['seeall'] != 1) {
				pagesarea.appendChild(document.createTextNode('Page '+thispage+' of '+pages));
				
				if(pages > 1){
					pagesarea.appendChild(createSpace(3));
					pagesarea.appendChild(document.createTextNode('|'));
					pagesarea.appendChild(createSpace(3));
					
					if(/*disable See All now*/false){
						var linkall = document.createElement('a');
						linkall.href = '';
						linkall.innerHTML = 'See All';
						//linkall.style.cssText = 'text-decoration:underline;';
						//linkall.onmouseover = function () {this.style.cursor = 'pointer';}
						//linkall.onmouseout = function () {this.style.cursor = 'auto';}
						eval('linkall.onclick = function () { qsObj[\'seeall\'] = 1; qsObj[\'offset\'] = 1; message(\'off\');addWaiting();getTickets(qsObj);return false;}');
						pagesarea.appendChild(linkall);
					
						pagesarea.appendChild(createSpace(3));
						pagesarea.appendChild(document.createTextNode('|'));
						pagesarea.appendChild(createSpace(3));
					}
					
					pagesarea.appendChild(document.createTextNode('Page: '));
				
					var navfrom = objQueryString['navfrom'];
					if (navfrom == null) {
						navfrom = thispage - 2;
					}
					if (thispage < 5) {
						navfrom = 1;
					} else if (thispage > pages - 4) {
						navfrom = pages - 4;
					}
					if (navfrom < 1) {
						navfrom = 1;
					}
					var navto = navfrom + 4;
					if (navto > pages) {
						navto = pages;
					}
				
					if (thispage > 1) { // adding < (previous) link
						var prevlink = document.createElement('a');
						prevlink.href = '';
						prevlink.innerHTML = '&lt;';
						//prevlink.onmouseover = function () {this.style.cursor = 'pointer';}
						//prevlink.onmouseout = function () {this.style.cursor = 'auto';}
						var prevoffset = (thispage-2)*limit+1;
						if(prevoffset < 1){prevoffset=1}
						var newnavfrom = navfrom;
						if(thispage-1 <= navfrom){
							newnavfrom = thispage-3;
						}
						eval('prevlink.onclick = function () { var prevObj = new QSObj(objQueryString); prevObj[\'offset\'] = prevoffset; prevObj[\'navfrom\'] = '+newnavfrom+'; message(\'off\');addWaiting();getTickets(prevObj);return false;}');
					
						var spanele = document.createElement('span');
						spanele.className = 'arrows';
						spanele.appendChild(prevlink);
						pagesarea.appendChild(spanele);
						pagesarea.appendChild(createSpace(2));
					}
				
					if (navfrom > 1) {
						prevtext = document.createElement('a');
						prevtext.href = '';
						prevtext.innerHTML = 1;
						//prevtext.style.cssText = 'text-decoration:underline;';
						//prevtext.onmouseover = function() {this.style.cursor = 'pointer';}
						//prevtext.onmouseout = function() {this.style.cursor = 'auto';}
						var newoffset = 1;
						eval('prevtext.onclick = function () { var prevObj = new QSObj(objQueryString); prevObj[\'offset\'] = '+newoffset+'; message(\'off\');addWaiting();getTickets(prevObj);return false;}');
						pagesarea.appendChild(prevtext);
					
						if (navfrom > 2) {
							pagesarea.appendChild(createSpace(2));
							pagesarea.appendChild(document.createTextNode('...'));
							pagesarea.appendChild(createSpace(2));
						} else {
							pagesarea.appendChild(createSpace(2));
						}
					}
	
					for (i=navfrom; i<=navto; i++) { // adding numbered page links
						if (i == thispage) {
							var spanele = document.createElement('span');
							spanele.className = 'currentPage';
							spanele.innerHTML = i;
							pagesarea.appendChild(spanele);
						} else {
							prevtext = document.createElement('a');
							prevtext.href = '';
							prevtext.innerHTML = i;
							//prevtext.style.cssText = 'text-decoration:underline;';
							//prevtext.onmouseover = function() {this.style.cursor = 'pointer';}
							//prevtext.onmouseout = function() {this.style.cursor = 'auto';}
							var newoffset = parseInt((i-1)*limit+1);
							if (newoffset < 1) {newoffset = 1;}
							var newnavfrom = navfrom;
							if (i == navfrom || i == navto) {
								newnavfrom = i-2;
							}
							eval('prevtext.onclick = function () { var prevObj = new QSObj(objQueryString); prevObj[\'offset\'] = '+newoffset+'; prevObj[\'navfrom\'] = '+newnavfrom+'; message(\'off\');addWaiting();getTickets(prevObj);return false;}');
							pagesarea.appendChild(prevtext);
						}
						pagesarea.appendChild(createSpace(2));
					}
		
					if (navto < pages) {
						if(navto < pages - 1){
							pagesarea.appendChild(document.createTextNode('...'));
							pagesarea.appendChild(createSpace(2));
						}
						
						prevtext = document.createElement('a');
						prevtext.href = '';
						prevtext.innerHTML = pages;
						//prevtext.style.cssText = 'text-decoration:underline;';
						//prevtext.onmouseover = function() {this.style.cursor = 'pointer';}
						//prevtext.onmouseout = function() {this.style.cursor = 'auto';}
						var newoffset = parseInt((pages-1)*limit+1);
						var newnavfrom = pages-2;
						eval('prevtext.onclick = function () { var prevObj = new QSObj(objQueryString); prevObj[\'offset\'] = '+newoffset+'; prevObj[\'navfrom\'] = '+newnavfrom+'; message(\'off\');addWaiting();getTickets(prevObj);return false;}');
						pagesarea.appendChild(prevtext);
						
						pagesarea.appendChild(createSpace(2));
					}
		
					if (thispage < pages) { //adding > (next) link
						var nextlink = document.createElement('a');
						nextlink.href = '';
						nextlink.innerHTML = '&gt;';
						//nextlink.onmouseover = function () {this.style.cursor = 'pointer';}
						//nextlink.onmouseout = function () {this.style.cursor = 'auto';}
						var newnavfrom = navfrom;
						if(thispage+1 >= navto){
							newnavfrom = thispage-1;
						}
						eval('nextlink.onclick = function () { var prevObj = new QSObj(objQueryString); prevObj[\'offset\'] = ('+thispage+')*limit+1; prevObj[\'navfrom\'] = '+newnavfrom+'; message(\'off\');addWaiting();getTickets(prevObj);return false;}');
						
						var spanele = document.createElement('span');
						spanele.className = 'arrows';
						spanele.appendChild(nextlink);
						pagesarea.appendChild(spanele);
					}
				}
			}
			// end modify for mpe pagination by Shell
			
			killWaiting();
			killPages();
			// begin add by Shell
			if (document.getElementById('pagestarget') == null) {
				// if the pagestarget div doesnot exist, append it
				var listingEle = document.getElementById('ticketListings');
				var listingFootEle = document.getElementById('listingfoot');
				var targetEle = document.createElement('div'); 
				targetEle.id = 'pagestarget';
				targetEle.align = 'right';
				targetEle.appendChild(document.createTextNode(' '));
				listingEle.insertBefore(targetEle, listingFootEle);
			}
			// end add by Shell
			document.getElementById('pagestarget').appendChild(pagesarea);


			// create table & add header row
			killDetails();
			var totaldetails = document.createElement('span');
			var helpdetails = document.createElement('a');
			var tempstuff = document.getElementById('tempstuff');

			totaldetails.id='totaldetails';
			helpdetails.id='helpdetails';

			tempstuff.appendChild(totaldetails);

			if (isFlashMap) {
				if (offset <= cleantotal) {makeTable('clean',cleantotal);}
				else {makeTable('dirty',dirtytotal);}
			}
			else if(cleantotal>0){
				if (offset <= cleantotal) {makeTable('clean',cleantotal);}
				else {makeTable('dirty',dirtytotal);}
			}
			else{
				makeTable('noflash',total);
			}

			var checkIntegrated = 'N';
			if (xmlDocument.getElementsByTagName('is_integrated_team')[0]){
				checkIntegrated = xmlDocument.getElementsByTagName('is_integrated_team')[0].childNodes[0].nodeValue;
			}
			// add tickets
			for (var i = 0; i < tixArray.length; i++) {

				if ( ((offset+i-1) == cleantotal) && (dirtytotal > 0) && (cleantotal > 0) && (!document.getElementById('subsectionheaderrow'))) {
				// at end of clean tickets (and there *were* some clean tickets) -- insert dirty header row
					var newRow = createSubSectionHeaderRow('dirty',dirtytotal);
					newRow.id = 'subsectionheaderrow';
					document.getElementById('ttb').appendChild(newRow);
				}

				var newRow = document.createElement('tr');
				var sectionCell = document.createElement('td');
				sectionCell.className = 'ttsc';
				var rowCell = document.createElement('td');
				rowCell.className = 'ttrc';
				var priceCell = document.createElement('td');
				priceCell.className = 'ttpc';
				priceCell.align='center';
				var quantityCell = document.createElement('td');
				// quantityCell.className = 'ttqc';
				var buyCell = document.createElement('td');
				buyCell.className = 'tttc vd_link';
				buyCell.align='center';
				var sectionValue = tixArray[i].getElementsByTagName('section')[0].childNodes[0].nodeValue;
				var rowValue = tixArray[i].getElementsByTagName('row')[0].childNodes[0].nodeValue;
				if (sectionValue == 'N/A') {sectionValue = 'GA';}
				if (rowValue == 'N/A') {rowValue = 'GA';}

				// if this is a clean ticket, we need to add code to send the sectionId to the map's highlighter function. -- gmc
				// firstChild returns either the first child element or null.  If we get null back, we know we have a dirty ticket.
				vSectionId= tixArray[i].getElementsByTagName('venue_config_sections_id')[0].firstChild;
				if( vSectionId ) {

					highlightSpan = document.createElement( 'span' );
					eval( 'highlightSpan.onmouseover = function() { sh_t_shs( \'' + vSectionId.nodeValue + '\'  ); }' );
					highlightSpan.appendChild( document.createTextNode( sectionValue ) );
					sectionCell.appendChild( highlightSpan );
				} else {
					sectionCell.appendChild( document.createTextNode(sectionValue ) );
				}
				
				// fulfillment icons
				var delivery_icon = tixArray[i].getElementsByTagName('delivery_icon')[0].childNodes[0].nodeValue;
				if (delivery_icon && delivery_icon.charAt(0) == '/') {
					// Icon calculated by running logistics rules
					addIcon(sectionCell, delivery_icon, 'ticketsIcon');
				} else {
					// Logistics rules not run for this ticket, or no value computed.
					var ticketMediumId = tixArray[i].getElementsByTagName('ticket_medium_id')[0].childNodes[0].nodeValue;
					switch(ticketMediumId){
						case '1':	//paper
							if (checkIntegrated=='Y'){
								addIcon(sectionCell, '/promotions/scratch/common/icon_edelivery.gif', 'ticketsIcon');
							}
							break;	
						case '2':	//pdf
							addIcon(sectionCell, '/promotions/scratch/common/icon_edelivery.gif', 'ticketsIcon');
							break;
						default:
			 				//MLB - display instantEDelivery/parking
			 				var parkVal = tixArray[i].getElementsByTagName('ticket_list_type_id')[0].childNodes[0].nodeValue;
		 					var hasParking = (parkVal == '3' || parkVal == '2');
		 					var isInstantEDelivery = ticketMediumId == '3';
		 					if (hasParking || isInstantEDelivery){
		 						sectionCell.appendChild(document.createElement('br'));
		 					
								if (isInstantEDelivery){
									addIcon(sectionCell, '/promotions/scratch/common/icon_quicktix.gif', 'ticketsIcon');
								}

								if (hasParking){
									addIcon(sectionCell, '/promotions/scratch/common/icon_parking.gif', 'ticketsIcon');
								}
		 					}						
					}
				}

				rowCell.appendChild(document.createTextNode(rowValue));
				var priceText = currencyFormat(tixArray[i].getElementsByTagName('price')[0].childNodes[0].nodeValue);
				priceCell.appendChild(document.createTextNode('$'+priceText+' '));
				var newSpan = document.createElement('span');
				newSpan.className='e';
				newSpan.appendChild(document.createTextNode('each'));
				priceCell.appendChild(newSpan);

				// check for auction
				if (tixArray[i].getElementsByTagName('sale_method')[0].childNodes[0].nodeValue == '0') {
					priceCell.appendChild(document.createElement('br'));
					priceCell.appendChild(document.createTextNode('auction'));
				}

if ((!qsObj['quantity']) && (tixArray[i].getElementsByTagName('split')[0].childNodes[0].nodeValue != tixArray[i].getElementsByTagName('quantity_remain')[0].childNodes[0].nodeValue) && (tixArray[i].getElementsByTagName('quantity_remain')[0].childNodes[0].nodeValue>1)) { qText = 'Up to '; }
	else {qText = ''; }
				qText += parseInt(tixArray[i].getElementsByTagName('quantity_remain')[0].childNodes[0].nodeValue);

				var selectedQty = ''
				if(objQueryString['quantity']){
					selectedQty = '&quantity_selected='+objQueryString['quantity'];
					qText = objQueryString['quantity'];
				}

				quantityCell.appendChild(document.createTextNode(qText));

				var buyLink = document.createElement('a');
				buyLink.style.cssText = 'text-decoration:underline;';
				var ticket_id = tixArray[i].getElementsByTagName('id')[0].childNodes[0].nodeValue;
				buyLink.onmouseover = function() {this.style.cursor='pointer';}

				var buyLinkQtyArg = '';
				if (objQueryString['quantity']) { buyLinkQtyArg = ', '+objQueryString['quantity']; }

				eval ('buyLink.onclick = function() { makeBuyLink('+ticket_id+buyLinkQtyArg+'); }');

				var buyBold = document.createElement('b');
				buyBold.appendChild(document.createTextNode('View Details'));

				buyLink.appendChild(buyBold);
				buyCell.appendChild(buyLink);

				newRow.appendChild(sectionCell);
				newRow.appendChild(rowCell);
				newRow.appendChild(quantityCell);
				newRow.appendChild(priceCell);
				newRow.appendChild(buyCell);
				document.getElementById('ttb').appendChild(newRow);
			}
		}

		else if (gt_request.readyState == 4) {
			message('\nthere was a problem with the request: readyState '+gt_request.readyState+' status '+gt_request.status); return;
		}
	}
}

function addIcon(parentElem, url, className){
	var br = document.createElement('br');
	var icn = document.createElement('img');
	icn.src = url;
	icn.className = className;
	parentElem.appendChild(br);
	parentElem.appendChild(icn);
}

function reDrawFooter() {
	if ( (document.getElementById('reSizeDiv')) && (document.getElementById('footer')) ) {
		document.getElementById('reSizeDiv').style.display='block';
		var newTopForFooter = findPosY(document.getElementById('reSizeDiv')) + 100;
		document.getElementById('footer').style.top = newTopForFooter+'px';
		document.getElementById('reSizeDiv').style.display='none';
	}
}
function init() {
	reDrawFooter();
	if (!isDefined('qsObj')) { qsObj = new Array(); }
	if (shGetCookie()) {var qsCookie = shGetCookie(); readCookie(qsCookie); setCookie(-1); }
	else {qsObj['offset'] = 1;}
	// remove by Shell for bug# 11045
	//qsObj['limit']=80;
	if(isFlashMap){

	var newHeight = parseInt(document.getElementById('flashmap').clientHeight);
	}
	
	if((buySeatMapVersion == '1.0')&&(isFlashMap)){

	changeHeight(newHeight);
	}else if (buySeatMapVersion == '2.0')
	{
		//dummyObject();
		sm.resizeSwfHeight(newHeight);
	}
	

	
	//mpe buy phase 1
	//tag.setFlashvars('lcId=' + uid + '&xbid=' + p.xbId + '&venueDescription=' + p.venueDesc + 
	//			'&venueConfigId=' + p.venueId + '&sectionName=' + p.sectionName +
	//		'&sectionId=' + p.sectionId + '&eventId=' + p.eventId);
			
			
	//mpe buy phase 1 closes.		



}

//get section to pin
function getPinSections() {
	var result = '';
	if (qsObj['section']) {
		result =qsObj['section'];
	}
	sendPinSections(result);
}
//get section that's filtered. return empty xml if nothing is filtered
function getFilterSections() {
	var result = '';
	if (qsObj['filtersection']) {
		result =qsObj['filtersection'];
	}
	sendSections(result);
}

function changeHeight(newHeight) {
	var divElement=document.getElementById('flashdiv');
	var oldHeight = parseInt(divElement.clientHeight);
	if (newHeight <= oldHeight) { return; }
	var diff = newHeight - oldHeight;
	var newContainerHeight = document.getElementById('mainTickets').clientHeight + diff;
	document.getElementById('mainTickets').style.height =  newContainerHeight + 'px';
	document.getElementById('ticketsDisplay').style.height =  newContainerHeight + 'px';
	document.getElementById('ticketsInfo').style.height =  newContainerHeight + 'px';
	divElement.style.height=newHeight+'px';
	document.getElementById('flashmap').style.height = newHeight + 'px';
}
/////////////////////////////////////////////////////////////////////////////////////////
// 2. DOM Functions
/////////////////////////////////////////////////////////////////////////////////////////

function killPages() {
	killDetails();
	if (document.getElementById('pagesarea')) {
		document.getElementById('pagestarget').removeChild(document.getElementById('pagesarea'));
	}
}

function killDetails() {
	detailsArray = new Array('totaldetails','cleandetails','dirtydetails','helpdetails');
	for (i=0; i<detailsArray.length; i++) {
		if (document.getElementById(detailsArray[i])) {
			document.getElementById('tempstuff').removeChild(document.getElementById(detailsArray[i]));
		}
	}
}

function message(text) {
	if (text == 'off') {
		document.getElementById('messages').innerHTML = '';
		document.getElementById('messages').style.cssText = 'display:none;';
		return;
	} else {
		document.getElementById('messages').innerHTML = '<pre'+text+'</pre>';
		document.getElementById('messages').style.cssText = '';
	}
}

function killWaiting() {
	document.getElementById('pleasewait').style.display = 'none';
}

function addWaiting() {
	killPages();
	killTables();
	document.getElementById('pleasewait').style.cssText = 'display:block; margin-left:auto; margin-right:auto;';
}

function killTables() {
	killError();
	if (document.getElementById('tt')) {
		document.getElementById('listing').removeChild(document.getElementById('tt'));
	}
	if (document.getElementById('headerTable')) {
		document.getElementById('listing').removeChild(document.getElementById('headerTable'));
	}
}

function createSubSectionHeaderRow(type,total) {
	var listingWord = 'listings'; var verbWord = 'are'; var ticketWord = 'tickets';
	if (total==1) { listingWord = 'listing'; verbWord = 'is'; ticketWord = 'ticket';}
	if (type=='clean') {
		headText = 	' ticket '+listingWord+' '+verbWord+' displayed in the map.';
	}
	else if (type == 'dirty') {
		headText =  ' ticket '+listingWord+' below '+verbWord+' not shown in the map because StubHub cannot clearly identify the section name of the '+ticketWord+' provided by the seller.';
	}
	else {
		type = 'clean';
		headText = ' ticket listings found.';
	}
	var newRow = document.createElement('tr');
	var newCell = document.createElement('td');
	newCell.colSpan=4;
	newCell.setAttribute('colspan',4);
	newCell.className = type+'head';
	newCell.appendChild(document.createTextNode(total+headText));
	var helpCell = document.createElement('td');
	helpCell.className = type+'head';
	var helpLink = document.createElement('a');
	helpLink.onmouseover = function() { this.style.cursor='pointer' ;}
	helpLink.onmouseout = function() { this.style.cursor='auto' ;}
	helpLink.onmouseup = function() { window.open('/mapped-tickets?popup=1','help_window','height=200,width=300,directories=no,toolbar=no,scrollbars=yes,menubar=no,resizable=yes'); }
	helpLink.innerHTML = 'Help';
	helpCell.appendChild(helpLink);
	newRow.appendChild(newCell);
	newRow.appendChild(helpCell);
	return(newRow);

}

function makeHeaderTable(type,total) {
	var newTable = document.createElement('table');
	newTable.id = 'headerTable';
	newTable.cellSpacing = 0;
	var newBody = document.createElement('tbody');
	var newRow = createSubSectionHeaderRow(type,total);
	newBody.appendChild(newRow);
	newTable.appendChild(newBody);
	return(newTable);
}

function makeTable(type,total) {
	killTables();
	updateColumnHeaders();
	var headText = '';
	var headerTable = makeHeaderTable(type,total);
	document.getElementById('listing').appendChild(headerTable);

	var newTable = document.createElement('table');
	newTable.cellSpacing = 0;
	newTable.id = 'tt';
	var newBody = document.createElement('tbody');
	newBody.id = 'ttb';
	newTable.appendChild(newBody);
	document.getElementById('listing').appendChild(newTable);
}

function sortHeaderClick(sortType,sortDir){
	if (!sortDir) { sortDir = 'a'; }
	track('sort',sortType);
	qsObj['sortby']=sortType;
	qsObj['orderby']=sortDir;
	addWaiting();
	getTickets(qsObj);
}

function sortHeaderHover(element) {
	element.className = 'sortHeaderHover';
}
function sortHeaderDeHover(element) {
	element.className = 'sortHeader';
}
function updateColumnHeaders() {
	var colArray = new Array('section','row','qty','price');
	for (var i=0; i<colArray.length; i++) { createHead(colArray[i]); }
}

function createHead(col) {
	var sort = col.substring(0,1);
	var cell = document.getElementById(col+'Header');
	clearElement(cell);
	var cellLink = document.createElement('span');
	cellLink.className='sortHeader';
	cellLink.appendChild(document.createTextNode(sort.toUpperCase()+col.substring(1)));
	if (qsObj['sortby'] == sort) {
		var sortImgSrc = '/resources/img/up.gif';
		var sortImg = document.createElement('img');
		var sortImgAlt = 'Viewing in ascending order';
		var dir = 'd';
		if (qsObj['orderby'] == 'd') {
			sortImgSrc = '/resources/img/down.gif';
			sortImgAlt = 'Viewing in descending order';
			dir = 'a';
		}
		sortImg.src = sortImgSrc;
		sortImg.alt = sortImgAlt;
		sortImg.width = 9;
		sortImg.height = 8;
		sortImg.className = 'sortImage';
	}
	cellLink.onmouseover = function() {
		sortHeaderHover(this);
	}
	cellLink.onmouseout = function() {
		sortHeaderDeHover(this);
	}
	cellLink.onclick = function() {
		sortHeaderClick(sort,dir);
	}
	sortHeaderDeHover(cellLink);
	cell.appendChild(cellLink);
	if (sortImg) {
		cell.appendChild(sortImg);
	}
}


function makeBuyLink(ticketid,quantity) {
	setCookie();
	var outstring='/'+qsObj['genre']+'/?ticket_id='+ticketid;
	if (quantity) {	outstring+='&quantity_selected='+quantity; }
	document.location.href=outstring;
}

function error(text) {
	killTables();
	var errormessage = document.createElement('div');
	errormessage.id='errormessage';
	errormessage.innerHTML = '<p>'+text+'</p>';
	document.getElementById('listing').appendChild(errormessage);
}

function killError() {
	if (document.getElementById('errormessage')) {
		document.getElementById('listing').removeChild(document.getElementById('errormessage'));
	}
}

function swpcntnt(src,trgt) {
	var trgtEl = document.getElementById(trgt);
	var srcChildNodes = document.getElementById(src).childNodes;
	var l = srcChildNodes.length;
	for (var i=0; i<l; i++) {
		var cn = srcChildNodes[i];
		cn.parentNode.removeChild(cn);
		trgtEl.appendChild(cn);
	}
}

////////////////////////////////
// 3. UI Functions
///////////////////////////////
function contains(a, e) {
	for(j=0;j<a.length;j++) {
		if(a[j]==e) {return true;}
	}
	return false;
}

function arrCount(a, e) {
	var tmp = 0;
	for(j=0;j<a.length;j++) {
		if(a[j]==e) {tmp++;}
	}
	return tmp;
}

function remove(a, e) {
	for(j=0;j<a.length;j++) {
		if(a[j]==e) {
			a.splice(j,1);
		}
	}
	return a;
}

function unique(a) {
	tmp = new Array(0);
	for(i=0;i<a.length;i++){
		if(!contains(tmp, a[i])){
			tmp.length++;
			tmp[tmp.length-1]=a[i];
		}
	}
	return tmp;
}

function qtySelect(qty) {
	track('quantity',qty);
	clickFilter();
}

function priceSelect() {
	message('off');
	minprice = parseFloat(document.getElementById('minprice').value);
	maxprice = parseFloat(document.getElementById('maxprice').value);
	if (minprice.length < 1) {minprice = 0;}
	if (maxprice.length < 1) {maxprice = 999999;}
	if ((!isNaN(minprice)) && (!isNaN(maxprice)) && (minprice<=maxprice)) {
		qsObj['minprice'] = minprice;
		qsObj['maxprice'] = maxprice;
		document.getElementById('bucketsall').checked=false;
		for (i = 1; i < 6; i++) {
			var tempbucket=document.getElementById('bucket'+i);
			if(tempbucket !=null){
				tempbucket.checked=false;
			}
		}
	}
	clickFilter();
}

function allBuckets() { // unchecks all checkboxes when "show all" is checked
	if (document.getElementById('bucketsall').checked) {
		track('bucket','none');
		for (i = 1; i < 6; i++) {
			var tempbucket=document.getElementById('bucket'+i);
			if(tempbucket !=null){
				tempbucket.checked=false;
			}
		}
	}
	clickFilter();
}

function getBuckets(id) { // unchecks "show all" when another bucket is checked
	if (id) {
		document.getElementById('bucketsall').checked = false;
		var bucketNum = id.replace('bucket','');
		track('bucket',bucketNum);
	}
	var checkCount = 0;
		for (i = 1; i <= 5; i++) {
			var tempbucket=document.getElementById('bucket'+i);
			if(tempbucket!=null){
				if (tempbucket.checked) {
					checkCount++;
				}
			}
		}
	if (checkCount > 0) {
		document.getElementById('bucketsall').checked = false;
		clickFilter();
	}
	else {
		document.getElementById('bucketsall').checked = true;
		clickFilter();
	}

}


function startOver(eventId) {
	setCookie(-1);
	window.location.href='/?event_id='+eventId;
}

function clearPrices() {
	document.getElementById('minprice').value='';
	document.getElementById('maxprice').value='';
	delete qsObj['minprice'];
	delete qsObj['maxprice'];
}

function clickSection() {
	var tmpArray = new Array();
	var sections = qsObj['section'];
	var secArgs = '';

	var tmpSectionArray = new Array();

	

	/*if((clickedSection != null)&&(buySeatMapVersion =='2.0')){
       	tmpSectionArray =  clickedSection.split(',');
		track('section',clickedSection.split(',').join('_'));
		if(tmpSectionArray.length > 1){
			track("zone","yes");
		}*/
   

	//}else if((clickSection.arguments.length > 0)&&(buySeatMapVersion =='1.0')){
       	
		if(clickSection.arguments.length > 0){
		tmpSectionArray =  clickSection.arguments[0].split(',');
		track('section',clickSection.arguments[0].split(',').join('_'));
		if(tmpSectionArray.length > 1){
			track("zone","yes");
		}
    }

	if (qsObj['section']) {tmpArray = qsObj['section'].split(',');}

	for(i = 0; i < tmpSectionArray.length; i++) {
		secArgs += tmpSectionArray+',';
		if(arrCount(tmpArray,tmpSectionArray[i]) == 1) {
			tmpArray = remove(tmpArray,tmpSectionArray[i]);
		} else {
			tmpArray.push(tmpSectionArray[i]);
		}
	}

	for (var j = 0; j < tmpArray.length; j++) {
		if (!(tmpArray[j].match(/^\d+$/))) {
			tmpArray.splice(j,1);
		}
	}

	qsObj['section'] = tmpArray.join(',');

	if (secArgs.lastIndexOf(',') == secArgs.length-1) {
			secArgs = secArgs.substring(0,secArgs.length-1);
	}

	// reset seeall for mpe-buy1 pagination by Shell
	delete qsObj['seeall'];
	getTickets(qsObj, false);
}


function sendSections(sections) { // function to send selected section info to Flash
	if (!isFlashMap) {return;}
	var sectionsStr = sections + "";
	if(buySeatMapVersion == '1.0'){
	
	flashProxy.call('setActiveSections', sectionsStr);
	return;
	}else if (buySeatMapVersion == '2.0'){  // changes for MPE buy 2.0
	
	document.getElementById('flashmap').setActiveSections(sectionsStr);
	return;
	}

}
function sendPinSections(sections) { // function to send selected section info to Flash
	if (!isFlashMap) {return;}
	if(buySeatMapVersion == '1.0'){
	var sectionsStr = sections + "";
	flashProxy.call('pinSetter', sectionsStr);
	return;
	}else if (buySeatMapVersion == '2.0'){   // changes for MPE buy 2.0
	
	document.getElementById('flashmap').pinSetter( sectionsStr );
	return;
	}


}

function sh_t_shs(sectionId) { // sends section id to flash map for highlighting.  -- gmc
	
	if((buySeatMapVersion == '1.0')&&(isFlashMap)){ //changed for MPE buy 2.0

	var sectionIdStr = sectionId + "";
	flashProxy.call( 'highlighter', sectionIdStr );
	return;

	}else if (buySeatMapVersion == '2.0'){
	
		document.getElementById('flashmap').highlighter(sectionId);
		return;
	}

}

function getSections() {
	var sectionURL = '?gsec=tickets&gact=summary';
	if (qsObj['xbid']) {sectionURL+='&xbid='+qsObj['xbid'];}
	if (qsObj['cobrand']) {sectionURL+='&cobrand='+qsObj['cobrand'];}
	if (qsObj['eventid']) {sectionURL+='&eventid='+qsObj['eventid'];}
	var gs_request = makeRequest(urlstring,sectionURL);
	gs_request.onreadystatechange = function() {
		if ((gs_request.readyState == 4) && (gs_request.status == 200)) {
			var xmlDocument = gs_request.responseXML.documentElement;
			delete gs_request;
			return(xmlDocument);
		}
		else if (gs_request.readyState == 4) {
			alert('there was an error');
			return('<?xml version="1.0" encoding="UTF-8"?><error>'+gs_request_status+'</error>');
		}
	}
}

function clickFilter() {

	setCookie();
	// populate tracking
	// get new quantity
	var qty = document.getElementById('seatqty').options[document.getElementById('seatqty').selectedIndex].value;
	// get new bucket state
	var bucketArray = new Array();
	for (i = 1; i <= 5; i++) {
		if (document.getElementById('bucket'+i)) {
			if (document.getElementById('bucket'+i).checked) {bucketArray[bucketArray.length] = i;}
		}
	}
	var buckets = bucketArray.join(',');
	// assign new values to qsObj
	if ( (!isNaN(qty)) && (qty>0) ) {
		qsObj['quantity'] = qty;
	}
	else {
		delete qsObj['quantity'];
	}
	qsObj['bucket'] = buckets;
	delete qsObj['section'];
	
	// reset seeall for mpe-buy1 pagination by Shell
	delete qsObj['seeall'];
	getTickets(qsObj, true);
}


function arrCount(arr, value) {
	var i = 0;
 	for (j=0; j<arr.length; j++) {
		if (arr[j] == value) {
		i++;
		}
	}
	return i;
}

function setWidgets() {
	if (qsObj['quantity']) {
		var qty = document.getElementById('seatqty');
		for (i=0; i<qty.options.length; i++) {
		if (qty.options[i].value==qsObj['quantity']) {
			qty.selectedIndex = i;
			}
		}
	}

	if (qsObj['bucket']) {
		var bucketArray = qsObj['bucket'].split(',');
		var bucketChecked=0;
		for (var i=0; i<bucketArray.length; i++) {
			if(document.getElementById('bucket'+bucketArray[i])){
				document.getElementById('bucket'+bucketArray[i]).setAttribute('checked','checked');
				bucketChecked++;
			}

		}
		if(bucketChecked>0){
			document.getElementById('bucketsall').checked=false;
		}
	}
}

function flashDetect(flashVer) {
	if (navigator.plugins.length) {
		for (var i=0; i<navigator.plugins.length; i++) {
			var ident = navigator.plugins[i].description.split(' ');
			if ((ident[0] == 'Shockwave') && (ident[1] == 'Flash')) {
				if (parseInt(ident[2].split('.')[0]) >= flashVer) {
					return true;
				}
				else {
					return false;
				}
			}
		}
	return false;
	}

	else {
		if (flashDetectIE(flashVer)) {
			return true;
		}
		else {
			return false;
		}
	}
}


function track(action,value) {
	try {
		s.pageName = '';
		s.server = '';
		s.channel = '';
		s.pageType = '';
		s.prop1 = '';
		s.prop2 = '';
		s.prop3 = '';
		s.prop4 = '';
		s.prop5 = '';
		s.hier1 = '';
		s.eVar18 = '';
		s.eVar20 = '';
		s.eVar22 = '';
		s.eVar26 = '';
		s.eVar27 = '';
		s.eVar21 ='';
		s.eVar24='';
		if (action == 'sort') {
			s.linkTrackVars="eVar20,prop15";
			if(value == 's'){
			s.eVar20 = 'Section';
			s.prop15 = 'Section';
			}else if(value == 'r'){
			s.eVar20 = 'Row';
			s.prop15 = 'Row';
			}else if(value == 'p'){
			s.eVar20 = 'Price';
			s.prop15 = 'Price';
			}else if(value == 'q'){
			s.eVar20 = 'Qty';
			s.prop15 = 'Qty';
			}
			
			s.tl(this,'o','Sort');
		}
		else if (action == 'bucket') {
			
			s.linkTrackVars='eVar24,eVar21';
			
			if(value != 'none'){
				
				stringPriceTemp21 = '';
			
				for (i = 1; i <=5; i++) {
			
				var tempbucket=document.getElementById('bucket'+i);
			
				if(tempbucket.checked){
			
				if(stringPriceTemp21 != ''){
				stringPriceTemp21 = stringPriceTemp21+":" + "price";
					}else{
					stringPriceTemp21 = "price";
					}
			  	   }
				}//end of for
			

			
			stringPriceTemp = '';
			for (i = 1; i <=5; i++) {
			
			var tempbucket=document.getElementById('bucket'+i);
			
			if(tempbucket.checked){
			
			prcString = tempbucket.nextSibling;
			if(stringPriceTemp !=''){
			
				stringPriceTemp = stringPriceTemp + ":"+ "price|"+ prcString.nodeValue;
				}else{
				stringPriceTemp = "price|"+ prcString.nodeValue;
				}
				}
			}//end of for

			
			}else{
			stringPriceTemp = '';
			stringPriceTemp21 = '';
			}
			
			if(stringQtyTemp != ''){
 			if(stringPriceTemp21 != ''){
			s.eVar21 = stringPriceTemp21 + ":qty";}
			else{s.eVar21 = "qty";}
			}else{
			s.eVar21 = stringPriceTemp21;
			}
	
			if(stringQtyTemp != ''){
				if(stringPriceTemp !=''){
 
				s.eVar24 = stringPriceTemp +":"+ stringQtyTemp;
				}else{
				s.eVar24 = stringQtyTemp;
				}
			}else{
			s.eVar24 = stringPriceTemp;
			}
					
			
			
			s.tl(this,'o','Price Bucket Chosen');
		}
		else if (action == 'quantity') {
			
			s.linkTrackVars="eVar21,eVar24";

			if((stringPriceTemp21 != '')){
			
				if(value != ''){
				String21 = stringPriceTemp21 + ":"+ "qty";
					
				s.eVar21 = String21;
				}else{
				String21 = stringPriceTemp21;
				s.eVar21 = String21;
				}

				} else if(value != ''){
		
				string21 = "qty";
			
				s.eVar21 = string21;
				}

			
			stringQtyTemp = '';
			
			if(value != ''){
			stringQtyTemp = "quantity|"+value;
			}
		
			if(stringPriceTemp != ''){
				if(stringQtyTemp != ''){
				s.eVar24 = stringPriceTemp + ":"+stringQtyTemp;
				}else{
				s.eVar24 = stringPriceTemp;
				}
			}else{
			s.eVar24 = stringQtyTemp;
			}
			
			

			
			s.tl(this,'o','Quantity Selected');
		}
	}
	catch (e) {
		return;
	}
}


function killTrack() {
	// function deprecated
	return true;
}

/////////////////////////////////////////////////////////////////////////////////////////
// 4. Cookie Functions
/////////////////////////////////////////////////////////////////////////////////////////

function setCookie(days) {
	if (!isDefined('qsObj')) { var qs =''; }
	else {
		var qs = buildQueryString(qsObj);
		if (qsObj['bucket']) {qs+='&bucket='+qsObj['bucket'];}
		if (qsObj['filtersection']){qs+='&filtersection='+qsObj['filtersection'];}
	}

	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = '; expires='+date.toGMTString();
	}
	else {
		var expires = '';
	}
	document.cookie = 'bbsmqs='+qs+expires+'; path=/';
}

function shGetCookie() {
	var nameEQ = 'bbsmqs=';
	if (!document.cookie) { return null; }
	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;
}
var getCookie = shGetCookie;

function readCookie(qs) {
	qs = qs.substring(1,qs.length);
	var qsArray = qs.split('&');
	for (var i = 0; i<qsArray.length; i++) {
		var key = qsArray[i].split('=')[0];
		var value = qsArray[i].split('=')[1];
		qsObj[key]=value;
	}
	// set eventId
	var regexp = /\?event_id=(\d+)/;
	if (window.location.href.match(regexp)) {
		newEventId = window.location.href.match(regexp)[1];
		qsObj['eventid']=newEventId;
	}
	setWidgets();
	getTickets(qsObj, true);
}

/**
 * Create a empty span element.
 * Because cannot append &nbsp;, so use it instead
 * add by Shell for bug# 11045
 * @param size how many &nbsp; it stands for
 * @return the span element
 */
function createSpace(size){
   	var space = document.createElement('span');
   	var px = (size-1)*3;
    space.style.cssText = 'padding-right:'+px+'px';
    space.appendChild(document.createTextNode(' '));
    return space;
}

// Below  methods are added to change the height , to go back and onclick on zone or section of flashmap for Buy version 2.0 maps ( MPEBuy phase1).

var sm = new Object();

//function dummyObject(){ 
 sm.resizeSwfHeight = function(h){
  /*var divElement=document.getElementById('flashdiv');
  document.getElementById('mainTickets').style.height =  h + 'px';
	document.getElementById('ticketsDisplay').style.height =  h  + 'px';
	document.getElementById('ticketsInfo').style.height =  h  + 'px';
	divElement.style.height=h+'px';
	document.getElementById('flashmap').style.height =h + 'px';

  
  document.getElementById('flashmap').css("height", h+"px");*/
	changeHeight(h);

 };
sm.back = function(){
		history.back();
	}
sm.clickSectionTwo  = function(clickedSection){
	clickSection(clickedSection);
}
