
var bErr = false;
var focusElem = '';

function setErr(name, errMsg) {
var errSpan = document.getElementById('err' + name);
  errSpan.innerHTML = errMsg;
  if ( errMsg == '' ) {
    errSpan.style.display = 'none';
  } else {
    errSpan.style.display = '';
    bErr = true;
    if (focusElem == '')
      focusElem = name;
  }
}

function testWhiteSpace (name, errMsg) {
var whiteSpace = /^[\s]+$/;
var el = document.getElementById('pos' + name);
  if ( el.value == '' || whiteSpace.test(el.value) ) {
    setErr(name, errMsg);
	} else {
    setErr(name, '');
  }
}

function testEmail (name, errMsg) {
var emailRegExp = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
var el = document.getElementById('pos' + name);
  testWhiteSpace(name, errMsg);
  if ( !emailRegExp.test(el.value) ) {
    setErr(name, errMsg);
	} else {
    setErr(name, '');
	} 
}

function validateFields(name) {
  
  bErr = false;

  switch (name) {
  case 'Name':
    testWhiteSpace(name, 'Please enter your name.');    
    break;
  
  case 'Address':
    testWhiteSpace(name, 'Please enter your address.');    
    break;
  
  case 'City':
    testWhiteSpace(name, 'Please enter your city.');    
    break;
  
  case 'State':
    testWhiteSpace(name, 'Please enter your state.');    
    break;
  
  case 'Zip':
    testWhiteSpace(name, 'Please enter your ZIP.');    
    break;
  
  case 'Email':
    testEmail(name, 'Please enter your valid email.');
    break;
  
  case 'Telephone':
    testWhiteSpace(name, 'Please enter your Telephone.');    
    break;
  
  case 'Text':
    testWhiteSpace(name, 'Please type a message.');
    break;
  
  default: //test all fields upon clicking Send button
    testWhiteSpace('Name', 'Please enter your name.');    
    testWhiteSpace('Address', 'Please enter your address.');    
    testWhiteSpace('City', 'Please enter your city.');    
    testWhiteSpace('State', 'Please enter your state.');    
    testWhiteSpace('Zip', 'Please enter your ZIP.');    
    testEmail('Email', 'Please enter your valid email.');
    testWhiteSpace('Telephone', 'Please enter your Telephone.');    
    testWhiteSpace('Text', 'Please type a message.');
    break;
  }
  if ( bErr ) {
    document.getElementById('pos'+focusElem).focus();
    focusElem = '';
    bErr = false;
    return false;
  } else {
    bErr = false;
  	return true;
  }
}

function sendPosEmail () {

  if ( validateFields('all') ) {
  	var submitButton = document.getElementById('sendContactEmail');
  	var submitDiv = document.getElementById('submitDiv');
  	var success = document.getElementById('emailSuccess');
  	var posName = convert(document.getElementById('posName').value);
  	var posRegard = 'Contact SlideScapes';
  	var posTitle = convert(document.getElementById('posTitle').value);
  	var posCompany = convert(document.getElementById('posCompany').value);
  	var posAddress = convert(document.getElementById('posAddress').value);
  	var posCity = convert(document.getElementById('posCity').value);
  	var posState = convert(document.getElementById('posState').value);
  	var posZip = convert(document.getElementById('posZip').value);
  	var posEmail = convert(document.getElementById('posEmail').value);
  	var posTelephone = convert(document.getElementById('posTelephone').value);
  	var posFax = convert(document.getElementById('posFax').value);
  	var posText = convert(document.getElementById('posText').value);
//  	var strCC = convert(document.getElementById('selfCC').value);
  	var page = "SendEmail.aspx?contact=true&xml=true";

//	  submitButton.disabled = true;
//    submitDiv.style.display = "none";

  	showContactTimer();
  	success.style.display = 'none'; 
  	
  	var stuff = "&posName="+posName+"&posRegard="+posRegard+"&posEmail="+posEmail+"&posTitle="+posTitle+"&posCompany="+posCompany+"&posAddress="+posAddress+"&posCity="+posCity+"&posState="+posState+"&posZip="+posZip+"&posTelephone="+posTelephone+"&posFax="+posFax+"&posText="+posText;
    loadXMLPosDoc(page, stuff);
  }
}

function convert(str) {
var st =  str;
  	st = st.replace(/&/g,"**am**");
  	st = st.replace(/=/g,"**eq**");
  	st = st.replace(/\+/g,"**pl**");
  	return st;
}

function showContactTimer () {
	var loader = document.getElementById('loadBar');
	loader.style.display = 'block';
	sentTimer = setTimeout("hideContactTimer()",6000);
}

function hideContactTimer () {
	var submitButton = document.getElementById('sendContactEmail');
	var submitDiv = document.getElementById('submitDiv');
	var loader = document.getElementById('loadBar');
	var success = document.getElementById('emailSuccess');
	var fieldArea = document.getElementById('contactFormArea');
	var inputs = fieldArea.getElementsByTagName('input');
	var inputsLen = inputs.length;
	var tAreas = fieldArea.getElementsByTagName('textarea');
	var tAreasLen = tAreas.length;

	loader.style.display = "none";
	success.style.display = "block";
	success.innerHTML = '<strong style="color:green;">'+grabPosXML("confirmation")+'</strong>';

	for ( i=0;i<inputsLen;i++ ) {
		if ( inputs[i].getAttribute('type') == 'text' ) {
			inputs[i].value = '';
		}
	}
	for ( j=0;j<tAreasLen;j++ ) {
		tAreas[j].value = '';
	}
//  submitButton.disabled = false;
//  submitDiv.style.display = "block";
}

function ajaxContact() {
var frmEl = document.getElementById('cForm');
addEvent(frmEl, 'submit', sendPosEmail, false);
frmEl.onsubmit = function() { return false; }
}
addEvent(window, 'load',ajaxContact, false);
