if(location.href.indexOf('dev.chchfoundation.org') != -1 && (location.href.indexOf('10.0.1.100') != -1 || location.href.indexOf('localhost') != -1)){
	var rootdomain="http://"+window.location.hostname+"/dev.chchfoundation.org/";
}else if(location.href.indexOf('10.0.1.100') != -1 || location.href.indexOf('localhost') != -1){
	var rootdomain="http://"+window.location.hostname+"/chchfoundation.org/";
}else if(location.href.indexOf('sixwebsites.com') != -1){
	var rootdomain="http://"+window.location.hostname+"/dev/chchfoundation.org/";
}else if(location.href.indexOf('https://') != -1){
	var rootdomain="https://"+window.location.hostname+"/";
}else{
	var rootdomain="http://"+window.location.hostname+"/";
}

function $(id){return document.getElementById(id);}

function bannerRotate(i){
	var inTime = 6000;
	var outTime = 750;
	if(Number($('bannerNum').innerHTML) == i){var i = 0;}
	var i2 = i+1;

	if($('bannerImg'+i).style.display == 'none'){
		$('bannerImg'+i).style.display = '';
		fade('bannerImg'+i,'0','in',1);
		setTimeout("bannerRotate("+i+")",inTime);
	}else if($('bannerImg'+i).style.display != 'none'){
		fade('bannerImg'+i,'100','out',1);
		setTimeout("bannerRotate("+i2+")",outTime);		
	}
}


function loading(area){
	if($('loadingDiv')){$('loadingDiv').parentNode.removeChild($('loadingDiv'));return;}
	
	var div = document.createElement('div');
	div.id = 'loadingDiv';
	
	if(area == 'onLoadLogin'){
		var gif = 'onLoadArrows.gif';
	}else if(area == 'controlPanel'){
		div.className = 'loadingControlPanel';
		var gif = 'onLoad.gif';
	}else{
		$(area).style.position = 'relative';
		var gif = 'onLoad.gif';
		div.className = 'loading';
	}

	var img = document.createElement('img');
	img.src = rootdomain + 'RootControlpanel/images/'+gif;
	
	div.appendChild(img);
	$(area).appendChild(div);
}

function GetXmlHttpObject2(url){
var xmlHttp=null;
	try{  // Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}catch (e){// Internet Explorer
	try{
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	}catch (e){
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
  }
return xmlHttp;
}


function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function fade(objId,opacity,direction,start){
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if ((opacity < 100 && opacity > 0) || start == 1){
      setOpacity(obj, opacity, direction);
	  if(direction == 'in'){
	      opacity += 10;
	  }else if(direction == 'out'){
	      opacity -= 10;
	  }
      window.setTimeout("fade('"+objId+"',"+opacity+",'"+direction+"')", 50);
    }else if(opacity == 0){
		obj.style.display = 'none';
//  }else{
//		fade('bannerImg','0','in');		
	}
  }
}

function stripNonNumeric(str,id)
{
  str += '';
//  var rgx = /^\d|\.|-$/;
  var rgx = /^\d|\./;
   var out = '';
   for( var i = 0; i < str.length; i++ ){
     if( rgx.test( str.charAt(i) ) ){
       if( !( ( str.charAt(i) == '.' && out.indexOf( '.' ) != -1 )
              /* || ( str.charAt(i) == '-' && out.length != 0 ) */
			  ) ){
         out += str.charAt(i);
       }
     }
   }
   if(out == '.'){out = 0;}
   if(id != '' && $(id)){
	   $(id).value = out;
	   return;
   }else{
	  return out;
   }
}
				
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function clearWarning(el){
	if(el.value != '' && $(el.id + 'Warning')){
		$(el.id + 'Warning').innerHTML = '';		
		el.style.border = '1px solid #b5b5b5';		
	}else{
//		alert(el.id+'\n'+el.value);
	}
}

function createUser(){
	jQuery($('userAccountDiv')).slideToggle('slow');
 	if(!$('userInfo').checked){
		$('fName').value = "";$('lName').value = "";$('fNameWarning').innerHTML = "";$('lNameWarning').innerHTML = "";
		$('email').value = "";$('emailStatus').innerHTML = "";$('emailWarning').innerHTML = "";
		$('pswd').value = "";$('pswdStatus').innerHTML = "";$('pswdWarning').innerHTML = "";
		$('pswd2').value = "";$('pswd2Status').innerHTML = "";$('pswd2Warning').innerHTML = "";
	}
}

function manageCheckout(mode){
	var url = rootdomain+"RootIncludes/phpScript.php?sid="+Math.random();
	var form = document.thisForm;
	var vars = [];
	vars[vars.length] = "req=checkout.php";
	vars[vars.length] = "mode="+mode;

	if(mode == 'ckValue'){
		if(!validate(form.email.value,'email')){$('emailStatus').innerHTML = '';$('emailWarning').innerHTML='';$('emailWarning').innerHTML = ' - Please insert a valid email';return;}else{$('emailWarning').innerHTML = ''}
		vars[vars.length] = "req=checkout.php";		
		vars[vars.length] = "mode="+mode;
		vars[vars.length] = "id=";
		vars[vars.length] = "email="+cleanValue(form.email.value);
	}else if(mode == 'pswd'){
		if($('pswd2') && $('pswd2').value != ""){manageCheckout('pswd2')};return;
	}else if(mode == 'pswd2'){
		if(form.pswd.value == "" || ($('pswdLock').src != rootdomain+'RootImages/store/iconLockGrey.png' && $('pswdLock').src != rootdomain+'RootImages/store/iconLockGreen.png')){return;}		
		if($('pswd').value == $('pswd2').value){
			$('pswd2Status').innerHTML = "<img src='"+rootdomain+"RootImages/store/ck.gif'/>";			
			$('pswd2Warning').innerHTML = "";
			$('pswd2').style.border = '1px solid #b5b5b5';
		}else{
			$('pswd2Status').innerHTML = "<img src='"+rootdomain+"RootImages/store/x.gif'/>";
			$('pswd2Warning').innerHTML = "<br style='margin-top:4px;' />Passwords do not match. Please try again.";
		}
		return;
	}else if(mode == 'inMemory'){
		jQuery($('inMemoryDiv')).slideToggle('slow');
		if($("inMemoryNo").checked){
			$('inMemoryName').value = "";if($('inMemoryNameWarning')){$('inMemoryNameWarning').innerHTML = "";$('inMemoryName').style.border = '1px solid #b5b5b5';}
			$('inMemoryStreet').value = "";if($('inMemoryStreetWarning')){$('inMemoryStreetWarning').innerHTML = "";$('inMemoryStreet').style.border = '1px solid #b5b5b5';}
			$('inMemoryCity').value = "";if($('inMemoryCityWarning')){$('inMemoryCityWarning').innerHTML = "";$('inMemoryCity').style.border = '1px solid #b5b5b5';}
			$('inMemoryState').value = "";if($('inMemoryStateWarning')){$('inMemoryStateWarning').innerHTML = "";$('inMemoryState').style.border = '1px solid #b5b5b5';}
			$('inMemoryZip').value = "";if($('inMemoryZipWarning')){$('inMemoryZipWarning').innerHTML = "";$('inMemoryZip').style.border = '1px solid #b5b5b5';}
			tinyMCE.getInstanceById('inMemoryMessage').setContent('');
		}
		return;
	}else if(mode == 'shoppingCart'){
		tinyMCE.triggerSave(); //saves tinyMCE value back to the textarea value
		$('gatewayResponse').style.display = 'none';
		$('gatewayResponse').innerHTML = '';
		if(form.donationAmount){
			if(form.donationAmount.length){
				var donationAmount = 0;
				for(var i=0;i<form.donationAmount.length;i++){if(form.donationAmount[i].checked){var donationAmount = form.donationAmount[i].value;break;}}
				if(donationAmount == 0 || (donationAmount == "Other" && Number($('donationAmountOther').value) <= 0)){
					document.getElementById('donationAmountWarning').innerHTML = 'Please select the amount of your gift.  This is needed to complete your donation.';		
					window.scroll(0,600);
					return false;
				}else{
					document.getElementById('donationAmountWarning').innerHTML = '';
				}
			}
		}
		for(var i=0;i<form.elements.length;i++){
			if(form.elements[i].type == 'checkbox' && !form.elements[i].checked && form.elements[i].id != "disclaimer"){
				continue;
			}else if(form.elements[i].type == 'radio' && !form.elements[i].checked){
				continue;			
			}else if(form.elements[i].id == 'pswd2' || form.elements[i].id == 'donationAmountOther'){
				continue;
			}else if(form.elements[i].type == 'radio' && form.elements[i].checked && form.elements[i].value == "Other" && form.elements[i].id == 'donationAmount'){
				vars[vars.length] = 'donationAmount=' + cleanValue($('donationAmountOther').value);
				continue;
			}else if((form.elements[i].id == 'fName' || form.elements[i].id == 'lName' || form.elements[i].id == 'email' || form.elements[i].id == 'pswd' || form.elements[i].id == 'pswd2') && !$('userInfo').checked){
				continue;
			}else if(form.elements[i].id.indexOf('inMemory') != -1 && !$('inMemoryYes').checked ){
				continue;
			}else if((form.elements[i].id == 'shipCountryOther' || form.elements[i].id == 'shipStateOther') && $('shipCountry') && $('shipCountry').value == 'United States of America'){
				continue;
			}else if((form.elements[i].id == 'shipCountry' || form.elements[i].id == 'shipState') && $('shipCountry') && $('shipCountry').value == 'Other'){
				continue;
			}else if((form.elements[i].id == 'billCountryOther' || form.elements[i].id == 'billStateOther') && $('billCountry') && $('billCountry').value == 'United States of America'){
				continue;
			}else if((form.elements[i].id == 'billCountry' || form.elements[i].id == 'billState') && $('billCountry') && $('billCountry').value == 'Other'){
				continue;
			}else if(form.elements[i].id == 'shipCountryOther'){
				vars[vars.length] = 'shipCountry=' + cleanValue(form.elements[i].value);
				continue;		
			}else if(form.elements[i].id == 'shipStateOther'){
				vars[vars.length] = 'shipState=' + cleanValue(form.elements[i].value);
				continue;
			}else if(form.elements[i].id == 'billCountryOther'){
				vars[vars.length] = 'billCountry=' + cleanValue(form.elements[i].value);
				continue;
			}else if(form.elements[i].id == 'billStateOther'){
				vars[vars.length] = 'billState=' + cleanValue(form.elements[i].value);
				continue;
			}else if(
				document.getElementById(form.elements[i].id + 'Warning') && 
				(form.elements[i].value == '' || (form.elements[i].type == 'checkbox' && !form.elements[i].checked))
			){
				form.elements[i].style.border = '1px solid #ff0000';
				$(form.elements[i].id + 'Warning').innerHTML = '- Required';		
				form.elements[i].focus();			
				return;
			}else if($(form.elements[i].id + 'Warning') && $(form.elements[i].id + 'Warning').innerHTML != ""){
				form.elements[i].focus();			
				return;
			}else if(form.elements[i].id == 'donationAmount' && Number(form.elements[i].value) <= 0){
				form.elements[i].style.border = '1px solid #ff0000';
				document.getElementById(form.elements[i].id + 'Warning').innerHTML = '- Please enter a valid donation amount';		
				form.elements[i].focus();			
				return;
			}else if((form.elements[i].id == 'email' || form.elements[i].id == 'billEmail' || form.elements[i].id == 'shipEmail') && !validate(Trim(form.elements[i].value), "email")){
				form.elements[i].style.border = '1px solid #ff0000';
				document.getElementById(form.elements[i].id + 'Warning').innerHTML = '- Please enter a valid email address';		
				form.elements[i].focus();			
				return;
			}else if(
				 ((form.elements[i].id == 'billPhone1' || form.elements[i].id == 'billPhone2') && form.elements[i].value.length != 3) ||
				 (form.elements[i].id == 'billPhone3' &&  form.elements[i].value.length != 4)
			){
				form.elements[i].style.border = '1px solid #ff0000';
				document.getElementById(form.elements[i].id + 'Warning').innerHTML = '- Please enter a valid phone number';		
				form.elements[i].focus();			
				return;		
			}else if(document.getElementById(form.elements[i].id + 'Warning') && form.elements[i].value != ''){
				form.elements[i].style.border = '1px solid #b5b5b5';
				document.getElementById(form.elements[i].id + 'Warning').innerHTML = '';
			}
			vars[vars.length] = form.elements[i].id + '=' + cleanValue(form.elements[i].value);
		}
		if($('placeOrder')){$('placeOrder').onclick = ''; }
	}
	var vars = vars.join('&');
	
//	alert(url+"&"+vars);return;
	
	if(!document.getElementById('loadingDiv')){loading('checkoutPanel');}

	xmlHttp=GetXmlHttpObject2();		
	xmlHttp.open("POST", url, true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", vars.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.onreadystatechange = function(){manageCheckoutRsp(mode)};
	xmlHttp.send(vars);
}

function manageCheckoutRsp(mode){
//	alert('readyState: '+xmlHttp.readyState+'\nstatus: '+xmlHttp.status+'\nresponseText: '+xmlHttp.responseText);
	if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
		if(document.getElementById('loadingDiv')){document.getElementById('loadingDiv').parentNode.removeChild(document.getElementById('loadingDiv'));}
//		alert(xmlHttp.responseText);
		var theGoods = xmlHttp.responseText.split('|');
		if(mode == 'ckValue'){
			if(theGoods[0] == 0){
				$('email').style.border = '1px solid #b5b5b5';
				$('emailStatus').innerHTML = "<img src='"+rootdomain+"RootImages/store/ck.gif'/>";
				$('emailWarning').innerHTML = "";
			}else if(theGoods[0] > 0){
				$('emailStatus').innerHTML = "<img src='"+rootdomain+"RootImages/store/x.gif'/>";
				$('emailWarning').innerHTML = "<br style='margin-top:4px;' />Please enter another address as this one is in use by another user.";
			}
			return;
		}else if(mode == 'pswd'){		
	
		}else if(mode == 'shoppingCart'){
			var theGoods = xmlHttp.responseText.split('|');
			if(theGoods[0] == 1){
				$('checkoutPanel').innerHTML = xmlHttp.responseText.substring(2);
				window.scroll(0,0);
			}else{
				$('placeOrder').onclick = function(){manageCheckout(mode);}
				$('gatewayResponse').style.display = '';
				$('gatewayResponse').innerHTML = '<div>Unfortunately, your payment information was not accepted.  Please double check it and try again.</div><div style=\'font-weight:normal;\'>The response received was: <span style=\'font-style:italic;\'>'+theGoods[3]+'</span></div>';			
			}
		}
	}
}

function countrySelect(type){
	if($(type+'Country').value == 'Other'){
		$(type+'CountryOtherDiv').style.display = '';
		$(type+'StateDiv').style.display = 'none';
		$(type+'StateOtherDiv').style.display = '';
		$(type+'Zip').maxLength = '20';
		$(type+'StateSpan').innerHTML = 'State/Province';
		$(type+'CountryOther').focus();		
	}else{
		$(type+'CountryOtherDiv').style.display = 'none';
		$(type+'StateOtherDiv').style.display = 'none';
		$(type+'StateDiv').style.display = '';
		$(type+'CountryOther').value = '';
		$(type+'StateOther').value = '';		
		$(type+'Zip').maxLength = '5';
		$(type+'StateSpan').innerHTML = 'State/Territory';		
	}
}

function cleanValue(value){
	var value = value.replace(/&/g,'-,-');
	var value = value.replace(/#/g,'-,,-');	
	var value = value.replace(/=/g,'-,,,-');	
	return value;
}

function TabNext(obj,event,len,nextField) {
	phone_field_length=1;
    if (event == "down") {
           phone_field_length=document.getElementById(obj).value.length;
   }else if (event == "up") {
          if (document.getElementById(obj).value.length != phone_field_length) {
                phone_field_length=document.getElementById(obj).value.length;
                if (phone_field_length == len) {
                document.getElementById(nextField).focus();
                }
          }
    }
}

function Trim(nStr){return nStr.replace(/(^\s*)|(\s*$)/g, "");}

function validate(aStr, type) {
/*------ Function to check inputs ------*/
	var expr = "";
	switch (type){
	case "date" : expr = /^[0-2]{0,1}([1-9]|30|31)\/0{0,1}([0-9]|11|12)\/[0-9]{4,4}$/; break;
	case "email" : expr = /^(.)+@{1,1}((.)+\.(.)+)+$/; break;
	case "integer" : expr = /^[0-9]*$/; break;
	case "decimal" : expr = /^[0-9]*\.{0,1}[0-9]*$/; break;
	case "username" : expr = /^([a-z]|[A-Z]|[0-9])*$/; break;
	case "password" : expr = /^([a-z]|[A-Z]|[0-9])*$/; break;
	case "string" : expr = /^([a-z]|[A-Z]|[ ]|[.])*$/; break;
	case "phonenumber" : expr = /^([0-9]|[ ]|[+]|[-])*$/; break;
	}
	if(expr != "")
		return expr.test(Trim(aStr));
	else
		return false;
}

function ckCardType(obj){
	if(document.getElementById(obj).value.substring(0,1) == '3'){
		document.getElementById('amex').src = rootdomain+'RootImages/store/credit-amex.jpg';
		document.getElementById('discover').src = rootdomain+'RootImages/store/credit-discover-grey.jpg';
		document.getElementById('mastercard').src = rootdomain+'RootImages/store/credit-mastercard-grey.jpg';
		document.getElementById('visa').src = rootdomain+'RootImages/store/credit-visa-grey.jpg';						
	}else if(document.getElementById(obj).value.substring(0,1) == '4'){
		document.getElementById('amex').src = rootdomain+'RootImages/store/credit-amex-grey.jpg';
		document.getElementById('discover').src = rootdomain+'RootImages/store/credit-discover-grey.jpg';
		document.getElementById('mastercard').src = rootdomain+'RootImages/store/credit-mastercard-grey.jpg';
		document.getElementById('visa').src = rootdomain+'RootImages/store/credit-visa.jpg';
	}else if(document.getElementById(obj).value.substring(0,1) == '5'){		
		document.getElementById('amex').src = rootdomain+'RootImages/store/credit-amex-grey.jpg';
		document.getElementById('discover').src = rootdomain+'RootImages/store/credit-discover-grey.jpg';
		document.getElementById('mastercard').src = rootdomain+'RootImages/store/credit-mastercard.jpg';
		document.getElementById('visa').src = rootdomain+'RootImages/store/credit-visa-grey.jpg';
	}else if(document.getElementById(obj).value.substring(0,1) == '6'){
		document.getElementById('amex').src = rootdomain+'RootImages/store/credit-amex-grey.jpg';
		document.getElementById('discover').src = rootdomain+'RootImages/store/credit-discover.jpg';
		document.getElementById('mastercard').src = rootdomain+'RootImages/store/credit-mastercard-grey.jpg';
		document.getElementById('visa').src = rootdomain+'RootImages/store/credit-visa-grey.jpg';
	}else{
		document.getElementById('amex').src = rootdomain+'RootImages/store/credit-amex.jpg';
		document.getElementById('discover').src = rootdomain+'RootImages/store/credit-discover.jpg';
		document.getElementById('mastercard').src = rootdomain+'RootImages/store/credit-mastercard.jpg';
		document.getElementById('visa').src = rootdomain+'RootImages/store/credit-visa.jpg';		
	}
}

function pswdCk() {	
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	
	if($("pswd").value.length == 0){
		$("pswdLock").style.display = 'none';
		$("pswdLock").src = rootdomain+'RootImages/store/iconLockRed.png';
		$("pswdWarning").innerHTML = "";
		$("pswd2").value = "";
		$("pswd2Warning").innerHTML = "";
		$("pswd2Status").innerHTML = "";
	}else if(!enoughRegex.test($("pswd").value)) {
		$("pswdLock").style.display = '';
		$("pswdLock").src = rootdomain+'RootImages/store/iconLockRed.png';
		$("pswdWarning").innerHTML = "- More Characters Needed";
		$("pswd2Warning").innerHTML = "";
		$("pswd2Status").innerHTML = "";
	}else if(strongRegex.test($("pswd").value)){
		$("pswdLock").style.display = '';
		$("pswdLock").src = rootdomain+'RootImages/store/iconLockGreen.png';
//		$("pswdWarning").innerHTML = "- Strong";
		$("pswdWarning").innerHTML = "";
	}else if(mediumRegex.test($("pswd").value)){
		$("pswdLock").style.display = '';
		$("pswdLock").src = rootdomain+'RootImages/store/iconLockGrey.png';
//		$("pswdWarning").innerHTML = "- Medium";
		$("pswdWarning").innerHTML = "";
	}else{
		$("pswdLock").style.display = '';
		$("pswdLock").src = rootdomain+'RootImages/store/iconLockGrey.png';
//		$("pswdWarning").innerHTML = "- Weak";
		$("pswdWarning").innerHTML = "";
	}
}
