

/*************** GLOBAL *****************************************************/

//var objRegExpEmail  = /^[\w\.-]+@[\w\.-]+\.[^r]+[a-zA-Z]+$/;
//var objRegExpList = /[,;\n\s]+/;

//Enhanced for friendly name support
var objRegExpEmail  = /^(([-\w \.]+)|("[-\w \.]+"))?([\w\-\.]+)@(([\w\-]+\.)+)([a-zA-Z]{2,4})|<([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))>$/;
var objRegExpLetter = /[,;]+/;
var objRegExpList = /[,;\n]+/;
var objRegExpNetwork = /^([A-z\s])*\[[0-9]+\]/;
var captchaUrl = '/_net/ws/Captcha/JpegImage.aspx';
var eTotal = 'edivvy_total';
var eNumberName = 'edivvy_number_dynamic';
var eValueName  = 'edivvy_values';
var eventRequestValue = 'event_request_value';
var eventTotal = 'event_total';
var eventScrollUrl = '/frontpage/inc_frontpage_realtime_server.asp';
var rValueName = 'retail_amounts';
var products = 'product_ids';
var trackEditUrl = '/create/event/tracking_participant_editprocess.asp';
var processUrl = '/product/process.asp';
var cartUrl = '/product/cart.asp';
var sendToUrl 	= '/product/?nav_id=10';
var manualFormUrl 	= '/create/participant/enter_manual.asp';
var contactbookUrl 		  = '/manage/contact/index.asp';
var webFormUrl 		  = '/create/participant/import_login.asp';
var networkFormUrl 		  = '/create/participant/import_network_login.asp';
var contactFormUrl 	= '/create/participant/import_contact.asp?xml=';
var csvFormUrl 			=	'/create/participant/import_csv.asp?xml=';
var eventMeterUrl   = '/create/event/event_contribution_meter.asp';
var calendarUrl			= '/calendar/calendar.asp';
var calendarFuncs		= '/calendar/calendar_functions.asp';
var calendarId      = 'calendar_event_date_delivery';
var deliveryId			= 'event_date_contribution';
var liType 					= 'li'
var event_subtotal 	= 'event_subtotal';
var event_tax 			= 'event_tax';
var event_shipping	=	'event_shipping';
var event_total			= 'product_attribute_retailPrice_amounts'; 
var def_eventname = 'The Name Of Your Event Goes Here!';
var def_organizedby = 'Who\'s organizing this Event?';
var def_recipientname = 'Who\'s getting this group gift?';
var def_invitemsg = 'Your message to the people you want to participate goes here.';
var debug=true;
/***************************************************************************/

function $$$(name) { return  document.getElementsByName(name); }

//Pause script hack
function pause(millis){
	
var date = new Date();
var curDate = null;

do { curDate = new Date(); }
		while(curDate-date < millis);

} 

function noEnt() {
	return !(window.event && window.event.keyCode == 13); 
}
//Status indicator
function showStatus(id){
	$(id).style.display="block";
	resizeFrame();
}

function getElementsByTag(tag,name) { 
		 var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
	}
function copyArray(arr1,arr2) {
		
		if(arr1 && arr2) {
			var len = arr2.length;
			for(var i=0;i < len; i++){
		    	arr1.push(arr2)
	 	  }
	 	}
	  return arr1;
}
// Send form data to process page
function sendFormData(formObj,
	processPage, confirmPage, subCallBack , width, height, showStatus, showStatusMsgId, showCloseBox ){
	 //Display Saving animated Gif
	 if(showStatus != 0){ 
	 	var statusId = 1;
		if (showStatusMsgId != null) statusId = showStatusMsgId;
		showStatus_Loading(1, statusId);
	 }
	 if(width  == null) width   = 750;
	 if(height == null) height  = 400;
	 if(subCallBack == null) subCallBack = sendToProducts;
	 
	 var ajaxReq = new Ajax.Request(processPage ,
				{	method: formObj.method, 
				  parameters: $(formObj.id).serialize(true),
					onSuccess:function(transport){	
						//Hide Saving animated Gif
						showStatus_Loading(0);
						//alert('BEFORE showPopWin()' + transport.responseText);
						showPopWin(confirmPage, width, height, subCallBack, showCloseBox );	
					},
					onFailure:function(transport){
							if(debug)
									alert('transport failure!!:' + transport.responseText);
										
					}
				}); 
}

function submitForm(formObj, actionuri, showStatus, showStatusMsgId) {
//S.N - used to handle multiple submit buttons on form and navigation after
//for Create
	if( actionuri != ''){
		//handle if user refreshes and action has uri in it
		//alert('formObj:' + formObj);
		var action = formObj.action.split('?');
		var sAction = action[0];
		var sActionURI = action[1];
		
		formObj.action = sAction + '?' + actionuri;
//		alert('Submit FORM: ' + formObj.action);
	}
	 //Display Saving animated Gif
	 if(showStatus != 0){ 
	 	var statusId = 1;
		if (showStatusMsgId != null) statusId = showStatusMsgId;
		showStatus_Loading(1, statusId);
	 }
	formObj.submit();
}
//Calls the subModal with form parameters
function showPopWinParam(url, formObj, width, height, subCallBack, closeButtonFlag){
	 var pars = $(formObj.id).serialize(false);
	 url = url + '?' + pars;
	 
	 showPopWin(url, width, height, subCallBack, closeButtonFlag );
}

//subModal window control
function sendSubModalContacts(){	
	document.location.href='/manage/contact/?list=cont';	
}

//subModal window control
function sendSubModalNext(url){	
	
	if(url == null)
		document.location.reload();
	else
		document.location.href=url;

}


function sendToProducts(){
	sendSubModalNext(sendToUrl);
}

// Removes leading whitespaces
function lTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending whitespaces
function rTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim( value ) {
	if(value.length > 0)
	return lTrim(rTrim(value));
	return value;
}

function cleanQuotes(value){	
    value = value.replace( /\u2018/g, "'" );
    value = value.replace( /\u2019/g, "'" );
	value = value.replace(/%u201C/g,'"') // Replace left double quote.
	value = value.replace(/%u201D/g,'"') // Replace right double quote.
	document.pageform.event_email.value = value;
}

//Removes characters from a numeric string
function cleanNumber(str){
	var num = str;
	
	if(isNaN(num)){
		num = num.replace(/\$/g, '');
		num = num.replace(/\,/g, '');		
		num = num.replace(/\*/g, '');	
		//num = num.replace(/\-/g, '');					
	}
	return num;
}

function calcCost(amount,numParts){				
	var cost=0;
	amount = cleanNumber(amount);	
	cost = (amount/numParts).toFixed(2);	
	if (cost < .01)
	  cost = .01;	
	return cost;		
}

function formatDollar(amount){

try {	
  if(amount.length == 0) return;
	
	var dollars = amount.split('.');
	if(dollars.length > 1) {
		var dollar = dollars[0];
		var dArray = new Array();
		var index = 1;
		for(i=dollar.length-1; i >= 0; i--){
			dArray.push(dollar.charAt(i));
			if( (index%3) == 0 ) {
					dArray.push(',');
				}	
			index++;
		}		
		dArray = dArray.reverse();		
		if(dArray[0] == ',') {
			dArray = dArray.slice(1);
		}	
		return '$' + dArray.join('') + '.' + dollars[1];
	}	
 }catch(e) {}
	
	return '$' + amount;

}

function setCalcCost(amount,numParts,id,str){
	cost = calcCost(amount,numParts);
	$(id).innerHTML = '$' + cost + ' ' + str;	
	$('edivvy_number_footer').innerHTML = numParts;
}

function updateValuesByName(name,value){
	
	var names = $$$(name);
	
	for(i=0;i < names.length;i++){			
	   	try {
	   			names[i].innerHTML = value;
	   			}catch(e){}
	   	try {
	   			names[i].value = value;
	   			}catch(e){}
	}
	
}

function updateError(objParts){
	  if(!objParts) return;
	  objParts.style.backgroundColor='#ffffcc';			
		eValArray = new Array();	
		objParts.value='';
		objParts.focus();
}

/***********************************************
 * CONVERT KEY STROKES TO STRING
 **********************************************/
function cKeyPress(obj,event){
	var char_code = event.keyCode ? event.keyCode : 
	event.which ? event.which : event.charCode;
	
	return char_code;
	
}
function convertKeyPress(obj,event){
	
	return String.fromCharCode(cKeyPress(obj,event));
	
}
/***********************************************
 * EDIVVY_CALCULATOR: Update edivvy numbers 
 *										and totals
 **********************************************/
function updateValue(obj,event){
	
	var strPress = convertKeyPress(obj,event);
	
	updateValues(obj,strPress);
}

function updateValues(objParts,numParts){
	var val = '';
		
	if(objParts)
		val = trim(objParts.value);

	if(!isNaN(val) && parseInt(val) != 0){
		if(val.length > 0)
			numParts = val;
		else if(objParts)
			numParts = '1';
	}else	{ 
		numParts = '1';
		updateError(objParts);
	}	
	updateValuesData(objParts, numParts);
}

function updateValuesData(objParts, numParts) {

	var cost = 0;
	//eDivvy numbers dynamic
	var eNums = $$$(eNumberName)
	//eDivvy values
	var eVals = $$$(eValueName);
	//retail values
	var rVals = $$$(rValueName);
	//product_id values
  var prods = $$$(products);
	var elemObj;
	
	for(i=0;i < rVals.length;i++){			
	    try {
	    	 cost = calcCost(rVals[i].value,numParts);	   
	   	}catch(e){
	   		cost = 0;
	   		//alert('e0' + e);
	   	}
	   try {
	   			eVals[i].value = '$' + cost + '*';
	   			elemObj = $(eValueName + '_' + prods[i].value);
	   			if(elemObj)
	    			elemObj.innerHTML = '$' + cost;				
	    	}catch(e){alert('e1' + e);
	    	}
	}

 	//alert('prods_length=' + prods.length);
	//SET MULTIPLE SPAN TAGS

	for(i=0;i < eNums.length;i++){	
			try {
							if(objParts && objParts != eNums[i]) {
									eNums[i].value =  numParts;
							}	else	{
							  	eNums[i].innerHTML = numParts;	
							}
					}catch(e){//alert('e2' + e);
					}	
					try {
						   elemObj = $(eNumberName + '_' + prods[i].value)
						   if(elemObj)
								elemObj.innerHTML = numParts;
						
					}catch(e){//alert('e3' + e);
					}	
	}

	try{	
			//SET SINGLE SPAN WITH CART
			elemObj = $('edivvy_number_dynamic_');
			if(elemObj)
				elemObj.innerHTML = numParts;
				
			elemObj = $('edivvy_number_dynamic');
			if(elemObj)
				elemObj.innerHTML = numParts;
			
			elemObj = $('edivvy_number_footer');
			if(elemObj)
				elemObj.innerHTML = numParts;
		 
		 
		 } catch(e){}

	updateTotals(numParts);
	updateDbEventParts('edivvy_number_dynamic=' + numParts);
	

}

function updateTotals(numParts){
var total = 0;
 try {
     total = calcCost($(eventTotal).innerHTML,numParts);
 	 total = formatDollar(total);     
 }catch(e){  total = 0;}
 try {		
 			if(total == 0) {
				total = calcCost($(eTotal).innerHTML,numParts);
				total = formatDollar(total);
			}
			$(eTotal).innerHTML = total;
		}catch(e){}
		
 try {	
	 	 	var eVals = $$$(eValueName);
	 	 	for(i=0;i < eVals.length;i++){	
				 eVals[i].innerHTML = total;
  		}
		}catch(e){//alert('e6' + e);
					}
	try {	
		 $$$(eventRequestValue + '_min')[0].value = total;
		 $$$(eventRequestValue + '_flexible_min')[0].value = total;
		 $$$(eventRequestValue + '_exact')[0].value = total;
		}catch(e){//alert('e7' + e);
		}
}

function updateDbEventParts(pars){
	
	 var rand   = Math.random(9999);
	 pars += '&rand=' + rand; 
	 //alert('updateDbEventParts=' + pars);
	 var ajaxReq = new Ajax.Request(
	 								trackEditUrl ,{
	 								method: 'get', 
									parameters: pars,
									onSuccess:function(transport){
									    //alert('success=' + transport.responseText);
									},
									onFailure:function(transport){
								    //alert('failure=' + transport.responseText);
									}
									}); 
	
}
/***********************************************
 * CART function: up down qty arrows
 **********************************************/
function changeQuantity(action,name,product_id){
	
	var field = $(name + '_' + product_id);
	var quant_o = cleanNumber(field.value);
	var quant_f = 0;
	
	if(action == 'i') {		
		quant_o++;
		quant_f = 1;
	}
	else if(action == 'd'){
		if(quant_o > 0)
			quant_o--;
			quant_f = -1;
	}
	
	field.value = quant_o;	
	
	url =  '?product_id=' + product_id;
	url += '&product_qty=' + quant_f;
	url += '&redirect_url=' + cartUrl;
	document.location.href = processUrl + url;
	
}

function trackEventTotals() {
	try {
		var a 	= $(event_subtotal).innerHTML;
		var b 	= $(event_tax).innerHTML;
		var c 	= $(event_shipping).innerHTML;
		var d 	= $(event_total).innerHTML; 
	
		if(a && b && c && d) {
			var rand = Math.random(9999);
			var pars = 'rand=' + rand; 	
			pars += '&' + event_subtotal + '=' + cleanNumber(a);
			pars += '&' + event_tax + '=' + cleanNumber(b);
			pars += '&' + event_shipping + '=' + cleanNumber(c);
			pars += '&' + 'event_total' + '='  + cleanNumber(d);
		 
			var ajaxReq = new Ajax.Request(
	 								trackEditUrl ,{
	 								method: 'get', 
									parameters: pars,
									onSuccess:function(transport){
									   // alert('success=' );
									   
									},
									onFailure:function(transport){
								    //	alert('failure=');
									}
									}); 
		  
		}
	
	}catch(e){alert(e.message); }
	
	
}
/***********************************************
 * PARTICIPANTS : WEB MAIL
 * 
 **********************************************/
 var webForm = true;
 var csvForm=true;
 function simpleDisplay(flag, url,id){
 	if(flag) {
   var rand   = Math.random(9999);
   var pars = 'rand=' + rand;
   flag=false;
   var ajaxUpdate = new Ajax.Updater(
   									id,
   									url,
   									{ method: 'get',
   										parameters: pars,
   										onSuccess:function(transport){
									    //alert('success!' + transport.responseText);
									    //flag=false;
										},
										onFailure:function(transport){
								    	alert('failed!' + transport.responseText);
								    	//flag=false;
										}
									  });	
 	
   }else {
   	$(id).innerHTML = '';
   		flag=true;	
  }
  return flag;
}

/***********************************************
 * PARTICIPANTS : MANUAL ENTRY
 **********************************************/
function simpleShow(id, img_id, d_style ){
	if (!$(id)) return;
	
	var display =	$(id).style.display; 
	var image = $(img_id);

	if(display == 'block' || display == 'inline') {
		display = 'none';
		if(image)
			image.src = '/images_www/' + img_id + '_close.gif';
	}else{
		display = 'block';
		if(d_style && d_style != '')
			display = d_style;
		if(image)
			image.src = '/images_www/' + img_id + '_open.gif';
	}
	 $(id).style.display=display
}

function showTabCSS(id_txt, txt_style, id_tab, tab_css)
{
	var display  
	var css = tab_css;

	if(txt_style && txt_style != '')
		display = txt_style;
	if(tab_css && tab_css != '')
	 	css = tab_css;
	
	if(id_tab && id_tab != '' && $(id_tab) != null)
	 	$(id_tab).className = css;
	
	if(id_txt && id_txt != ''  && $(id_txt) != null) 
		$(id_txt).style.display= display;
	
	//alert(display & css);
	 
}
function simpleShowCCAdd(id, d_style, messageId ){

  var display =	'';
	try {
			display = $(id).style.display; 
			var messsage = '';
	
			if(display == 'block' || display == 'inline') {
				display = 'none';
	  			message = ':: use card on file ::';   
			}else{
				display = 'block';			
				if(d_style && d_style != '')
					display = d_style;
		 			message = '+ add new';   
			}
	 	$(id).style.display=display
	 	$(messageId).innerHTML = message;	 		
	  
	  if(display == 'none') {	 			
  			var pars = 'rand=' + Math.random(9999);
			
	 		var ajaxUpdate = new Ajax.Updater(
		 								'cc_new',
		 								'/manage/participation/includes/inc_form_cc.asp',
   									{ method: 'get',
   										parameters: pars,
   										onSuccess:function(transport){		
										 	$('cc_new').style.display='inline'; 
										},
										onFailure:function(transport){
										
								    	alert('failed!' + transport.responseText);
								  	}
									  });	
  	 } else {
  	 		$('cc_new').innerHTML = '';	 	
  	 		$('cc_new').display='none'; 	
  	}
	}catch(e) {}
	
	
}


/***********************************************
 * CALENDAR : 
 **********************************************/
function setContributionDate(strDate) {
									
	$('event_date_contribution_wrap').style.display='none';
	$('event_date_contribution').style.display='none';	
		
  var rand   = Math.random(9999);
  var pars = 'rand=' + rand;
  pars += '&command=date_add';
  pars += '&d=' + strDate + '&n=-7';	
  
  var ajaxUpdate = new Ajax.Updater(
		 								deliveryId,
		 								calendarFuncs,
   									{ method: 'get',
   										parameters: pars,
   										onSuccess:function(transport){
									   		document.pageform.event_date_contribution.value = transport.responseText; 									   		
									   		$('event_date_contribution_wrap').style.display='';
									   		$('event_date_contribution').style.display='';
									   
										},
										onFailure:function(transport){
								    	//if(debug)
								    	//alert('failed!' + transport.responseText);
								  	}
									  });	
}

function openCalendar(display){

    if(!display) {
    	var openClose = $(calendarId).style.display;
    		if( openClose == '' || openClose == 'none')
    			openClose = 'block';
    		else
    			openClose = 'none';
			
			$(calendarId).style.display = openClose;
			return;
		}
    
    $(calendarId).style.display= display;	
}

function setCalendar(date){
	document.pageform.event_date_delivery.value=date;
	setContributionDate(date);
    openCalendar('none');
  
}

function calcCalendar(objElem,display){
	 var curDate = new Date();
   	
	 var strDt = objElem.value;
	 if(strDt.length > 1){
				curDate.setTime(Date.parse(strDt));
				curDate.setDate(1);
	 }
		
		calcCalendarParts(	curDate.getMonth() +1,
												curDate.getDate(),
												curDate.getFullYear()
											);
		//alert(strDt);
	 
		openCalendar(display);
}

function calcCalendarParts(m, d, y){	
		var rand   = Math.random(9999);
  	var pars = 'rand=' + rand + "&month=" + m + "&day=" + d + "&year=" + y;	
 
		var ajaxUpdate = new Ajax.Updater(
		 								calendarId,
		 								calendarUrl,
   									{ method: 'get',
   										parameters: pars,
   										onSuccess:function(transport){
									   // if(debug)
									   // alert('success!' + transport.responseText);
									   
										},
										onFailure:function(transport){
								    	if(debug)
								    	alert('failed!' + transport.responseText);
								  	}
									  });	
	
	}
/***********************************************
 * PARTICIPANTS: WEB/CSV  
 **********************************************/  
	//Assumes participant checkbox is formmated 
	//<name>||<email>
	function addCheckPartLi(objCheck, parentId, allChecked){
		var nameParts = objCheck.value.split('||');
		var objLi = $(nameParts[1]);
		if(objCheck.checked) {
				if(objLi) 
					 return;
				else{
						var strElement = '<li id="' + nameParts[1] + '">';
					 	strElement+= '<img src="/images_www/remove.gif" onclick="removeLi(\'' + nameParts[1] + '\')" >';
						strElement+= nameParts[0] + '</li>';
						var insert = new Insertion.Top(parentId, strElement);
				} 
		}else{
			 if(objLi) objLi.remove();
		}
		if(allChecked == null){
			  try {
			  	$('select_all').checked = false;
			  } 
			  catch(e) {
			  }
		} 
}	

function removeLi(id){
	 $(id).remove();
	 $(id + '_check').checked = false;
	 try {
		$('select_all').checked = false;
	  } 
	  catch(e) {
	  }
}

/***********************************************
* SELECT/DESELECT ALL CHECKBOXES
**********************************************/  
 
function sendManualEntry(dataStr){
	dataStr = dataStr.replace(/\n/g,",");
 	showPopWin(manualFormUrl + '?data=' + dataStr, 600, 450, null );	
}

function sendContactBook(frmId, url){
	//dataStr = dataStr.replace(/\n/g,",");
	var frm = $(frmId);
	frm.action = url;
	frm.submit();
	
}
function selectAllParts(name, parentId){
 	var boxes = $$$(name); 
	var box = null;
	 		
	if(boxes){
  		var allCheck = $('select_all').checked;
	  	for(var i=0;i < boxes.length; i++) {
  			box = boxes[i];
  			if(allCheck)
  				box.checked = true;  			
			else 
		  	  	box.checked = false; 
		  	  addCheckPartLi(box, parentId, true);  		
	  	}	
	}
 }
 
function sendPartData(dataId, elemId ){
  var dataArray = $(dataId).immediateDescendants();
  var numParts = dataArray.length;
  var dataStr = '\n';
  
  for(i=0; i < numParts; i++){
  		dataStr += dataArray[i].id + '\n';
  } 
  sendToPartList(dataStr,elemId,false);
}

function sendToPartList(dataStr,elemId,overwrite, close ){ 
	var parentDoc = parent.document;
	var childElem = parentDoc.getElementById(elemId);
  if(childElem){
  	//Set participant list
  	if(!overwrite)
  		dataStr = trim(childElem.value) + dataStr;  	
  	if(!dataStr) 
  		dataStr = "";
    	childElem.value = dataStr;	
  }
 	dataStr = trim(dataStr);
 	//Find the new number of participants 
  numParts = countNumParts(dataStr); 

  //Update tracking
  dataStr = dataStr.replace(/\n/g,",");
  
  //dataStr = dataStr.replace(/\(Organizer\)/g,"");
  //alert('participant_list=' + dataStr);
  updateDbEventParts('participant_list=' + dataStr);
  
  //Set parent values 
  if(numParts > 0){
  numParts++;
  javascript:parent.updateValues(null,String(numParts));
  javascript:parent.updateEdivvyParts(--numParts);
  javascript:parent.hidePopWin(true);
  }

   
}

function countNumParts(strNumParts){ 
	if(strNumParts.length < 1) return 0;
	
	return strNumParts.split(objRegExpList).length;
	
}
/***********************************************
 * POD CART
 **********************************************/ 
 
 function showHideCart(objRef,cartId){
 	
 	var displayStr=objRef.innerHTML;
 	var display = $(cartId).style.display;
 	
 	if(displayStr.indexOf('hide') > -1) {
 		display = 'none';
 		displayStr = '+ view';
 }	else {
 		display = 'block';
  	displayStr = '- hide';
  } 
 
  objRef.innerHTML = displayStr;
  $(cartId).style.display = display;
  
}





/***********************************************
 * REGISTER CREDIT CARD
 **********************************************/ 
 
 function showHideCCRegistration(objRef,divId){
 	
 	var displayStr=objRef.innerHTML;
 	var display = $(divId).style.display;
 	if(displayStr.indexOf('later') > -1) {
 		display = 'none';
 		displayStr = '[+] I wish to create and event and send the invitation during this session.';
 }	else {
 		display = 'block';
  	displayStr = '[-] Skip this for now.  I wish enter my credit card info at a later time.';
  } 
 
   objRef.innerHTML = displayStr;
	
  $(divId).style.display = display;
  
}

/***********************************************
 * EVENT STATUS BAR
 **********************************************/ 
	function calcStatusBar(event_id) {		

	if(event_id = -1) return;	
		
	var bar = $('status_bar');
	var percent = $('status_percent');
  var bar_max = 439;
  var rand   = Math.random(9999);
	var pars = '&rand=' + rand;
			pars += + '&eid=' + event_id;
			pars += '&max=' + bar_max; 
	var result='0:0%';
	var ajaxReq = new Ajax.Request(
	 								eventMeterUrl ,{
	 								method: 'get', 
									parameters: pars,
									onSuccess:function(transport){
									    result = transport.responseText;
									   
									},
									onFailure:function(transport){
								    	if(debug)
								    	alert('failure=' + transport.responseText);
									}
									}); 
  
  var status_results = result.split(':');
  
	bar.width = parseFloat(status_results[0]);
	percent.innerHTML = status_results[1];
	
	setTimeout('calcStatusBar(' + event_id + ')', 1000);
}

/***********************************************
 * Captcha
 **********************************************/ 
function captchaFile(objForm) {
	
	var file = (Math.random()*1000000).toFixed(0);
	randomImage(file,objForm); 
	try {
		resizeFrame();
	}catch(e){}
	 
}

function randomImage(f,obj) {
	
	 var rand   = Math.random(9999);
   var pars = 'rand=' + rand;
   pars += '&file_name=' + f  + '.jpg';
   
   var ajaxUpdate = new Ajax.Request(
   									captchaUrl,
   									{ method: 'get',
   										parameters: pars,
   										onSuccess:function(transport){
   										$('random').innerHTML = '<img src="/captcha/images/' + f + '.jpg" />';
									 		 obj.c.value = transport.responseText.substring(0,6); 
									 		 //alert('success!' + transport.responseText);
									    },
										 onFailure:function(transport){
								    	alert('failed!' + transport.responseText);
								    	//flag=false;
										}
									  });
	}
	
/***********************************************
 * Event details form
 **********************************************/ 	
function eventPop(objElem) {
	
	var val = objElem.value;

	//if(val == '3'){
	//	clearShipping(objElem.form);
	//}else 
		if(val=='2'){
		clearShipping(objElem.form)
		objElem.form.event_shipto_name.value =  
		objElem.form.event_recipient_name.value;
		//objElem.form.event_shipto_email.value = 
		objElem.form.event_recipient_email.value;
	}else if(val =='1'){
		clearShipping(objElem.form)		
		var rand   = Math.random(9999);
  	var pars = 'rand=' + rand;
   	pars += '&member_shipping=y';   
    var ajaxUpdate = new Ajax.Request(
   				trackEditUrl,
   			{ method: 'get',
   				parameters: pars,
   				onSuccess:function(transport){
					var res_split = transport.responseText.split('^');   	
   				  if(	res_split.length > 6) {
   						objElem.form.event_shipto_name.value = res_split[1];
   						//objElem.form.event_shipto_email.value = res_split[2];
   						objElem.form.event_shipto_address.value = res_split[4];
   						objElem.form.event_shipto_city.value = res_split[5]
   						var state_abbr= res_split[6];
						for(i = 0; i < objElem.form.event_shipto_state.length; i++) {
							if(objElem.form.event_shipto_state[i].value == state_abbr)
								objElem.form.event_shipto_state.selectedIndex = i;
						}
						objElem.form.event_shipto_zip.value = res_split[7];
   						try { //phone
							objElem.form.event_shipto_phone1.value = res_split[3].substring(0,3);
							objElem.form.event_shipto_phone2.value = res_split[3].substring(3,6);
							objElem.form.event_shipto_phone3.value = res_split[3].substring(6,10);
						}catch(e){}
					}else {
   						  objElem.form.event_shipto_name.value =  
								objElem.form.event_organizer_name.value;
								//objElem.form.event_shipto_email.value = 
								objElem.form.event_organizer_email.value;
						}
   			},
				 onFailure:function(transport){
					alert('f=' + transport.responseText);
				}
		 });
		} else {
			clearShipping(objElem.form);
		}
	}

 function clearShipping(objForm){

			objForm.event_shipto_name.value =  '';
			//objForm.event_shipto_email.value = '';
			objForm.event_shipto_phone1.value = '';
			objForm.event_shipto_phone2.value = '';
			objForm.event_shipto_phone3.value = '';
			objForm.event_shipto_address.value = '';
			objForm.event_shipto_city.value = '';
			objForm.event_shipto_state.selectedIndex = -1
			objForm.event_shipto_zip.value = '';
}

function getNext(obj){
if(obj.getAttribute('maxlength')!=obj.value.length) 
	 return true;

var next;
do {
	next=obj.nextSibling;
	if(!next) return true;
		obj = next;
}while(next.nodeName !='INPUT');
	  
next.focus();

return true;
}

/***********************************************
 * Manage account form
 **********************************************/ 	
function managePopShip(objElem) {	

	try {	
			
			if(objElem && objElem.checked)  {
				objElem.form.member_account_billing_address.value =  objElem.form.member_shipping_street.value;
				objElem.form.member_account_billing_city.value = objElem.form.member_shipping_city.value;
				objElem.form.member_account_billing_state.selectedIndex = objElem.form.member_shipping_state.value - 1;
				objElem.form.member_account_billing_zip.value = objElem.form.member_shipping_zip.value;
		 	} else {
		 		objElem.form.member_account_billing_address.value = '';
		 		objElem.form.member_account_billing_city.value = '';
		 		objElem.form.member_account_billing_state.selectedIndex = -1;
		 		objElem.form.member_account_billing_zip.value = '';
		 	}
		 } catch(e) {alert(e);}
}

/***********************************************
 * Payment form
 **********************************************/ 

function resetCheck(id) {
	
 var obj = $(id);
 if(obj)
 		obj.checked=true;
 
}
/***********************************************
* BEGIN
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
* http://www.dynamicdrive.com/dynamicindex17/ajaxcontent.htm
***********************************************/

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
	page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
	page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
	page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
	return false
	page_request.onreadystatechange=function(){
	loadpage(page_request, containerid)
	//alert('page loaded');
	//BEGIN - ADDED handle state of check boxes after page has completely loaded
	//Re-word to make function call dynamic
	try
	{
		check_checkbox();  //eDivvy Custom - want to re-check check boxes to handle pagination of checkbox list
	}
	catch(err)
	{
	//Handle errors here
	}
	
}
if (bustcachevar) //if bust caching of external page
	bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('GET', url+bustcacheparameter, true)
	page_request.send(null)	
}

function loadpage(page_request, containerid){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
	document.getElementById(containerid).innerHTML=page_request.responseText;
}

function loadobjs(){
if (!document.getElementById)
	return
for (i=0; i<arguments.length; i++){
	var file=arguments[i]
	var fileref=""
	if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
	if (file.indexOf(".js")!=-1){ //If object is a js file
		fileref=document.createElement('script')
		fileref.setAttribute("type","text/javascript");
		fileref.setAttribute("src", file);
	}
	else if (file.indexOf(".css")!=-1){ //If object is a css file
	fileref=document.createElement("link")
	fileref.setAttribute("rel", "stylesheet");
	fileref.setAttribute("type", "text/css");
	fileref.setAttribute("href", file);
	}
}
if (fileref!=""){
	document.getElementsByTagName("head").item(0).appendChild(fileref)
	loadedobjects+=file+" " //Remember this object as being already added to page
	}
}
}
/***********************************************
* END - Dynamic Ajax Content
***********************************************/
function check_checkbox() {
/******************************
*PURPOSE:  Function checks to see if the <LI> id string is in the string of the checkbox id, if so, re-check the box.  To Handle pagination - Re-Check checkboxes. 
*CREATED BY: Steven
*Checking and moving selected items utilizes addCheckPartLi() function
*Checkbox Id format should =  <email>_check
*<LI> id format should =  <email>
******************************/
	
	var objinput = document.getElementsByTagName('input')
	var objcontainer = document.getElementsByTagName('li');
	
	for (i=0; i< objinput.length; i++){
		var inputobjid = objinput[i].id;
		//GRAB THE IDs for the checkboxes
		if ( objinput[i].type == 'checkbox' && inputobjid != '' ) {
			//GRAB THE IDs for the <LI>s used to hold the selected items
			for (x=0; x< objcontainer.length; x++){
				var containerid = objcontainer[x].id;
				if ( containerid != '' ) {
					//SEE if the <LI> id string is in the checkbox id
					var strcheck = inputobjid.indexOf(containerid);
					if ( strcheck != -1 ) {
						//alert('Match!');
						objinput[i].checked=true
					}
				}
			}			
		}
	}
}
function getSelectedListData(frmId, dataId, hiddenId ){
//Get <LI> objects created as a result of using addCheckPartLi().
//Then write to hidden field used to post to process page.
  var dataArray = $(dataId).immediateDescendants();
  var numParts = dataArray.length;
  var dataStr = '';
  
  for(i=0; i < numParts; i++){
  		dataStr += dataArray[i].id + '||';
  } 
  //sendToPartList(dataStr,elemId,false);
  var frm = $(frmId);
  var hiddenField = $(hiddenId);
  hiddenField.value = dataStr;
  //alert(dataStr);
  //try {
  	frm.submit();
  //} catch(e) {};
}

function checkAll_Simple(objParent, objChild)
//objParent represents the check/select all check box, objChild = the group of check boxes the parent is selecting all
{
  try {	 
		if (objChild.length > 0) {
			for (i = 0; i < objChild.length; i++)
				objChild[i].checked = objParent.checked ;
			}
		//if a single check box
		else
		{
			objChild.checked = objParent.checked ;
		}
		
	}catch(e) {}
}

function showStatus_Loading(showhide, msgID){
	//showhide valid values - 0 = hide, 1 = show
	//msgID represents IDs below
	//0 or null = loading
	//1 = Saving info
	//2 = Searching
	//Display saving div - requires page to have the following <div> defined
	//<div id="savingstatus"></div>
	//CSS targets the div with the appropriate image
	var display;
	var message;
	var span;
	
	span = '<span>...</span>';
	message = 'Loading' + span;
	
	display = 'none';
	if (showhide != 0){display = 'block';}
	 try{
		if (msgID == 1){ message = 'Saving Info'; };
		if (msgID == 2){ message = 'Searching'; };
		message += span;
		$('loadingstatus').innerHTML = message;
		showTabCSS('loadingstatus',display);
		 
	 } catch(e){}
}

/****************************************************
*	        DOM Image rollover:
*		by Chris Poole
*		http://chrispoole.com
*               Script featured on http://www.dynamicdrive.com
*		Keep this notice intact to use it :-)
****************************************************/

function init() {
  if (!document.getElementById) return
  var imgOriginSrc;
  var imgTemp = new Array();
  var imgarr = document.getElementsByTagName('img');
  for (var i = 0; i < imgarr.length; i++) {
    if (imgarr[i].getAttribute('hsrc')) {
        imgTemp[i] = new Image();
        imgTemp[i].src = imgarr[i].getAttribute('hsrc');
        imgarr[i].onmouseover = function() {
            imgOriginSrc = this.getAttribute('src');
            this.setAttribute('src',this.getAttribute('hsrc'))
        }
        imgarr[i].onmouseout = function() {
            this.setAttribute('src',imgOriginSrc)
        }
    }
  }
}
onload=init;



/**********************************************
	BOF IMAGE RESIZE
**********************************************/
function resize(which, max) {
  var elem = $(which);
  
  if (!elem) return false;    
  if (max ==  null || max ==  undefined) max = 80;
  
  if (elem.width > elem.height) {
    if (elem.width > max) elem.width = max;
  } else {
    if (elem.height > max) elem.height = max;
  }
  
}
/**********************************************
	EOF resize
**********************************************/

