// JavaScript Document
var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all
var nn=(document.layers)?true:false;
var ie=(document.all)?true:false; 

function showForm(){
	crossobj=ns6? document.getElementById("stylized") : document.all.stylized;
	if(crossobj.style.visibility!="visible") crossobj.style.visibility="visible";
}
function hideForm(){
	crossobj=ns6? document.getElementById("stylized") : document.all.stylized;
	crossobj.style.visibility="hidden";
	return false;
}
function hideStatus(){
	crossobj=ns6? document.getElementById("status") : document.all.status;
	crossobj.style.visibility="hidden";
}
function keyDown(e) { 
	var evt=(e)?e:(window.event)?window.event:null; 
	if(evt){ 
		var key=(evt.charCode)?evt.charCode: ((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0)); 
		if(key=="27") {
			hideForm(); 
			hideStatus();
		}
	} 
} 
document.onkeydown=keyDown; 
if(nn) document.captureEvents(Event.KEYDOWN);
/* AJAX Form Submission  */
/* 
 * Cross-browser event handling, by Scott Andrew
 */
function addEvent(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}

/* 
 * Kills an event's propagation and default action
 */
function knackerEvent(eventObject) {
    if (eventObject && eventObject.stopPropagation) {
        eventObject.stopPropagation();
    }
    if (window.event && window.event.cancelBubble ) {
        window.event.cancelBubble = true;
    }
    
    if (eventObject && eventObject.preventDefault) {
        eventObject.preventDefault();
    }
    if (window.event) {
        window.event.returnValue = false;
    }
	return false;
}

/* 
 * Safari doesn't support canceling events in the standard way, so we must
 * hard-code a return of false for it to work.
 */
function cancelEventSafari() {
    return false;        
}

/* 
 * Cross-browser style extraction, from the JavaScript & DHTML Cookbook
 * <http://www.oreillynet.com/pub/a/javascript/excerpt/JSDHTMLCkbk_chap5/index5.html>
 */
function getElementStyle(elementID, CssStyleProperty) {
    var element = document.getElementById(elementID);
    if (element.currentStyle) {
        return element.currentStyle[toCamelCase(CssStyleProperty)];
    } else if (window.getComputedStyle) {
        var compStyle = window.getComputedStyle(element, '');
        return compStyle.getPropertyValue(CssStyleProperty);
    } else {
        return '';
    }
}

/*
 * Disables all 'test' links, that point to the href '#', by Ross Shannon
 */
function disableTestLinks() {
  var pageLinks = document.getElementsByTagName('a');
  for (var i=0; i<pageLinks.length; i++) {
    if (pageLinks[i].href.match(/[^#]#$/)) {
      addEvent(pageLinks[i], 'click', knackerEvent, false);
    }
  }
}

var xmlhttp =  new XMLHttpRequest();
xmlhttp.open('POST', 'sendmail.php', true);
xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) {
        // Your callback code goes here
    }
}
addEvent(window, 'load', init, false);

function init() {
	addEvent(document.getElementById('cancelBtn'), 'click', hideForm, false);
	addEvent(document.getElementById('emailForm'), 'submit', sendMail, false);
	addEvent(document.getElementById('closeStatus'), 'click', hideStatus, false);

if (!Sarissa || !document.getElementsByTagName) return;
	/*
    var formElements = document.getElementsByTagName('form');
    for (var i = 0; i < formElements.length; i++) {
        if (formElements[i].className.match(/\bemailForm\b/)) {
            addEvent(formElements[i], 'submit', sendMail, false);
			
        }
    }
	*/
}
var ajaxInProgress=false;
function sendMail() {
    /* Cancel the submit event, and find out which form was submitted */
    //knackerEvent(e);
    //var target = window.event ? window.event.srcElement : e ? e.target : null;
    var target = document.getElementById('emailForm');
	var statusTxt= document.getElementById('statusTxt');
	statusTxt.innerHTML='<span id="optext">Connecting to Server</span><br /><img src="../../images/anims/sending.gif" width="44" height="44" alt="Connecting animation" />';
	var statusPop= document.getElementById('status');
	if (ie4||ns6)
 	statusPop.style.visibility="visible";
	else if (ns4)
	document.statusPop.visibility="show";
    if (!target) return true;
	var opTxt = document.getElementById('optext');
   /* Set up the request */
    
    /* The callback function */
	if(!ajaxInProgress){
		var xmlhttp =  new XMLHttpRequest();
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 2) {
				opTxt.innerHTML='Request sent';
			} else if(xmlhttp.readyState == 3){
				opTxt.innerHTML='Receiving response...';
			} else if (xmlhttp.readyState == 4) {
				if (xmlhttp.status == 200){
					showFeedback(xmlhttp.responseXML, target);
					return false;
				}
				else
					target.submit();
			}
		}
		  
		/* Send the POST request */
		xmlhttp.open('POST', 'sendmail.php', true);
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		var data='';
		data +='NAME=' + target.elements['NAME'].value;
		data +='&COMPANY=' + target.elements['COMPANY'].value;
		data +='&TELEPHONE=' + target.elements['TELEPHONE'].value;
		data +='&EMAIL=' + target.elements['EMAIL'].value;
		data +='&MESSAGE=' + target.elements['MESSAGE'].value;
		xmlhttp.send(data);
		ajaxInProgress = true;
	}

	return false;
}
function showFeedback(responseXML, target) {
	/*
	var loadingImg = target.getElementsByTagName('img')[0];
	loadingImg.parentNode.className += ' success';
	*/
	var feedback = responseXML.getElementsByTagName('error')[0].firstChild.data;
	var result = responseXML.getElementsByTagName('errCode')[0].firstChild.data;
	var statusPop= document.getElementById('statusTxt');

    if (!target) return;
	if(result != 0){
		showForm();
	} else {
    	hideForm();
	}
 	statusPop.innerHTML=feedback;
	/*
	var feedbackSpan = document.getElementById('span');

	feedbackSpan.className = 'ajaxresponse';
	feedbackSpan.appendChild(document.createTextNode(feedbackText));
	loadingImg.parentNode.replaceChild(feedbackSpan, loadingImg);
	
	// Free up the form to go again
	*/
	ajaxInProgress = false;
	return false;
	// Disable form inputs
	/*
	target.getElementsByTagName('select')[0].disabled = true;
	target.getElementsByTagName('input')[0].disabled = true;
	*/
}
