/* Fundraising Request Form */
function checkEmail(evalue) {
						if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(evalue)){
							return (true);
						}
						return (false);
}
					
var FRFM = {	//  Fundraising Request Form manager - FRFM
	//btnRef: null,
	btnCancel: null,
	btnCancel1: null,
	btnSubmit: null,
	//daOutRef: null,
	daRef: null,
	xhr: null,
	fieldNames: ['daOrganization', 'daContactName', 'daEmail', 'datbPhone1', 'datbPhone2', 'datbPhone3', 'daEventName', 'daEventDates', 'daText'],
	fieldRefs: [],
	errRefs: [],
	errPos: [],
	errTextPos: [],
	
	create: function(){
		//if(!FRFM.btnRef) FRFM.btnRef = g_el('btnDA');
		//if(!FRFM.daOutRef) FRFM.daOutRef = g_el('daHolder');
		
		if(!FRFM.daRef){
			FRFM.daRef = document.createElement('DIV');
			FRFM.daRef.className = 'hsfundraisingf';
			document.body.appendChild(FRFM.daRef);
		}
		//FRFM.ccRef.innerHTML = "<div class='loading'><span>&nbsp;loading...&nbsp;</span></div>";
	},
	
	show: function(){
		FRFM.create();
		
		showCover(true);
		FRFM.daRef.style.top = 120 + get_scrollXY().top + 'px';
		FRFM.daRef.className = 'vsfundraisingf';
		FRFM.loadForm();
	},
	
	hide: function(){
		FRFM.daRef.className = 'hsfundraisingf';
		showCover(false);
	},
	
	loadForm: function(){
		var ticks = (new Date()).valueOf();
		if(!FRFM.xhr) FRFM.xhr = new Ajax();
		FRFM.xhr.doneHandler = FRFM.ajaxLoadDone;
		FRFM.xhr.errorHandler = FRFM.ajaxError;
		FRFM.xhr.waitingHandler = FRFM.ajaxWaiting;
		FRFM.xhr.send('GET', 'fundraisingform.ashx', 'ticks=' + ticks);
	},
	
	submitForm: function(){
		FRFM.resetError();
		
		if(!FRFM.isDataValid()){
			FRFM.setError();
			return;
		}
	
		FRFM.btnSubmit.onclick = '';
		var data = '';
		for(var i = 0; i < FRFM.fieldNames.length; i++){
			if(data.length != 0) data += '&';
			data += FRFM.fieldNames[i] + '=' + encodeURIComponent(FRFM.fieldRefs[i].value);
		}
		//alert(data);
		
		FRFM.xhr.doneHandler = FRFM.ajaxSubmitDone;
		FRFM.xhr.errorHandler = FRFM.ajaxError;
		FRFM.xhr.waitingHandler = FRFM.ajaxWaiting;
		FRFM.xhr.send('POST', 'fundraisingform.ashx', 'action=add&' + data);
	},
	
	resetError: function(){
		FRFM.errPos.length = 0;
		for(var i = 0; i < FRFM.errRefs.length; i++){
			if(FRFM.errRefs[i]) FRFM.errRefs[i].className = 'noerror2';
		}
	},
	
	cancelForm: function(){
		FRFM.resetError();
		FRFM.hide();
	},
	
	isDataValid: function(){
		FRFM.resetError();
		
		if(FRFM.fieldRefs[0].value.trim().length == 0) FRFM.errPos[FRFM.errPos.length] = 0;	// org
		if(FRFM.fieldRefs[1].value.trim().length == 0) FRFM.errPos[FRFM.errPos.length] = 1;	// contact name
		if(FRFM.fieldRefs[2].value.trim().length == 0) FRFM.errPos[FRFM.errPos.length] = 2;	// email
		if (!checkEmail(FRFM.fieldRefs[2].value)) FRFM.errPos[FRFM.errPos.length] = 2; // email1
		if(FRFM.fieldRefs[3].value.trim().length == 0 ||
		    FRFM.fieldRefs[4].value.trim().length == 0 ||
		    FRFM.fieldRefs[5].value.trim().length == 0) 
		        FRFM.errPos[FRFM.errPos.length] = 3;	// Phone
        if(FRFM.fieldRefs[8].value.trim().length == 0) FRFM.errPos[FRFM.errPos.length] = 8; // text
		
		
		return (FRFM.errPos.length == 0);
	},
	
	setError: function(){
		if(FRFM.errPos.length > 0){
			FRFM.fieldRefs[FRFM.errPos[0]].focus();
			for(var i = 0; i < FRFM.errPos.length; i++){
				if(FRFM.errRefs[FRFM.errPos[i]]) FRFM.errRefs[FRFM.errPos[i]].className = 'error2';
			}
			//alert('errors amount: ' + FRFM.errPos.length);
		}
	},
	
	ajaxLoadDone: function(text, xml){
		var i;
		FRFM.daRef.innerHTML = text;
		
		for(i = 0; i < FRFM.fieldNames.length; i++){
			FRFM.fieldRefs[i] = g_el(FRFM.fieldNames[i]);
			//alert(FRFM.fieldRefs[i]+',' + DAM.fieldNames[i]);
		}
		
		for(var i = 0; i < FRFM.fieldNames.length; i++){
			FRFM.errRefs[i] = g_el(FRFM.fieldNames[i] + 'Error');
		}
		
		
		FRFM.btnCancel = g_el('daCancel');
		FRFM.btnCancel1 = g_el('daCancel1');
		FRFM.btnSubmit = g_el('daSubmit');
		
		FRFM.btnCancel.onclick = FRFM.cancelForm;
		FRFM.btnCancel1.onclick = FRFM.cancelForm;
		FRFM.btnSubmit.onclick = FRFM.submitForm;
		//FRFM.fieldRefs[5].onclick = FRFM.switchDefault;
		
		initDivHoverEffect(FRFM.daRef);	// div hover effect initializer
		events.add(FRFM.daRef, 'keyup', function(ev){ if(ev.keyCode == 27) FRFM.cancelForm(); });	// esc
		events.add(FRFM.daRef, 'keyup', function(ev){ if(ev.keyCode == 13) FRFM.submitForm(); });	// enter
		
		FRFM.fieldRefs[0].focus();	
		//FRFM.switchDefault();
		
	},

	ajaxSubmitDone: function(text, xml){
		var pos1 = text.indexOf('{');
		var pos2 = text.indexOf('}');
		eval('var res = ' + text.substring(pos1, pos2 + 1));
		if(res.status == 1){
			alert('Thank you for contacting us.  A representative will contact you within 48 hours if necessary.');
			FRFM.hide();
		}
		else {
			FRFM.btnSubmit.onclick = FRFM.submitForm;
			if(res.errTextPos > 0) alert(FRFM.errTextPos[res.errTextPos]);
			if(res.errText) alert(res.errText);
			if(res.idPos != -1) { 
				if(FRFM.errRefs[res.idPos]) FRFM.errRefs[res.idPos].className = 'error2';
				FRFM.fieldRefs[res.idPos].focus();
			}
		}
	},
	
	ajaxError: function(status, errText){
		
	},
	
	ajaxWaiting: function(){
		
	}
	
}

/* delivery address end */

