var Request = false;
if(window.XMLHttpRequest){
	Request = new XMLHttpRequest();
	Request2 = new XMLHttpRequest();
} else if (window.ActiveXObject){
	Request = new ActiveXObject("Microsoft.XMLHTTP");
	Request2 = new ActiveXObject("Microsoft.XMLHTTP");
}
function sendEmail(data){
	if(Request2){
		var params = "i="+data['id']+'&n='+escape(data['name'])+'&e='+data['email']+'&l='+escape(data['letter'])+'&w='+escape(data['list']);
		Request2.open("POST",'/scripts/email.php');
		Request2.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		Request2.setRequestHeader("Content-length", params.length);
		Request2.setRequestHeader("Connection", "close");
		Request2.onreadystatechange = function(){
			if(Request2.readyState == 4 && Request2.status == 200){
				//window.alert(Request2.responseText);
				if(Request2.responseText==1){
					//do something
				}
			}
		}
		Request2.send(params);
	}
}
function serverValidation(data,bypass){
	if(Request){
		var params = "i="+data['id']+'&n='+escape(data['name'])+'&e='+data['email']+'&l='+escape(data['letter'])+'&w='+escape(data['list'])+"&bypass="+bypass;
		Request.open("POST",'/scripts/store.php');
		Request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		Request.setRequestHeader("Content-length", params.length);
		Request.setRequestHeader("Connection", "close");
		Request.onreadystatechange = function(){
			if(Request.readyState == 4 && Request.status == 200){
				//activate for debugging, number represents which regex match occured in store.php
				//window.alert(Request.responseText);
				if(Request.responseText==3||Request.responseText==4||Request.responseText==5||Request.responseText==6||Request.responseText==7){
					showMsgBox('pii',data['id']);
				}
				if(Request.responseText==1||Request.responseText==2){
					sendEmail(data);
					window.location="/"+data['id'];
				}
			}
		}
		Request.send(params);
	}
}
function limitText(limitField, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	}
}
function prepareForDataEntry(info){
	if(info.value==info.defaultValue){
		info.value='';
		info.style.color="#000000";
		info.style.fontStyle="normal";
	}
}
function whiteSpace(v){
	var t = v.replace(/^\s+|\s+$/g,'');
	return t;
}
function addElement(target) {
	var numfields = document.getElementById('list_items').getElementsByTagName('input').length;
	if(numfields<14){
		var target = document.getElementById(target);
		var newdiv = document.createElement('input');
		newdiv.setAttribute('className','wishlist');
		newdiv.setAttribute('class','wishlist');
		newdiv.setAttribute('type','text');
		newdiv.setAttribute('maxlength','50');
		target.appendChild(newdiv);		
	}else{
		document.getElementById('add_more').style.display="none";
	}
}
function showMsgBox(text,id){
	if(!id){var id=null;}
	document.getElementById('msg_container').style.display="block";
	document.getElementById('msg_dim').style.display="block";
	switch (text){
		case 'why_santa':
		text = 'To be sure Santa gets your letter, we need to send it to your parent or guardian. Santamail.com will only use the email address to forward your letter and, in accordance with our <a href="javascript:newwin(\'/privacy/\',540,380);" onclick="pageTracker._trackEvent(\'Legal\', \'Privacy Policy\', \'Why Santa\');">privacy policy</a>, will not sell, share or distribute it to any third party.';
		button = 'default';
		break;
		case 'share_letter':
		text = 'Share your letter with as many people as you want by copying this link and pasting it into an email:<br /><input type="text" onfocus="this.select();" value="http://www.santamail.com/'+id+'" />';
		button = 'default';
		break;
		case 'pii':
		text = 'We noticed you may have provided some personal information in your "Dear Santa" letter, please make sure you don\'t put any personal information in your letter, such as your full name, email, phone number, address or school name.';
		button = 'pii';
	}
	document.getElementById('msg_txt').innerHTML=text;
	switch(button){
		case 'pii':
		document.getElementById('buttons').innerHTML='<p class="button editltr"><a href="javascript:;" onclick="hideMsgBox();">Edit Letter</a></p><p class="button sendltr"><a href="javascript:;" onclick="localValidation(\''+id+'\',1)">Send Anyhow</a></p>';
		break;
		case 'default':
		document.getElementById('buttons').innerHTML='<p class="button close"><a href="javascript:;" onclick="hideMsgBox();">Close</a></p>';
	}
}
function hideMsgBox(){
	document.getElementById('msg_container').style.display="none";
	document.getElementById('msg_dim').style.display="none";
}
function errorMsg(missing,invalid){
	document.getElementById('error_fN').innerHTML="";
	document.getElementById('error_pE').innerHTML="";
	document.getElementById('error_uA').innerHTML="";
	document.getElementById('error_wL').innerHTML="";
	document.getElementById('error_alert').innerHTML="";
	if(missing.length>0){
		for(i=0;i<missing.length;i++){
			document.getElementById('error_'+missing[i]).innerHTML="Field Must Not Be Blank";
		}
	}
	if(invalid.length>0){
		for(i=0;i<invalid.length;i++){
			if(invalid[i]=="fN"){
				document.getElementById('error_fN').innerHTML="Santa only needs your first name";
			}
			if(invalid[i]=="pE"){
				document.getElementById('error_pE').innerHTML="Not a valid email address";
			}
			if(invalid[i]=="uA"){
				document.getElementById('error_uA').innerHTML="If you are not over 13, please be sure to get your parent&#146;s or guardian&#146s permission before sending your letter to Santa.";
			}
		}
	}
	if(missing.length>0||invalid.length>0){
		document.getElementById('error_alert').innerHTML="There were error(s) in sending your letter. See <span>error messages</span> above and try again.";
	}
}
function wishList() {
	var wishList = document.getElementById('list_items').getElementsByTagName('input');
	
	var myList = [];
	for(i=0;i<wishList.length;i++){
		myList[i]=wishList[i].value;
	}
	var m = '';
	for(i=0;i<myList.length;i++){
		if(whiteSpace(myList[i])){
			myList[i] = myList[i].replace("||",'');
			m += whiteSpace(myList[i])+"||";
		}
	}
	m = m.replace(/(\|\|)$/g,'');
	return m;
}
function localValidation(id,bypass){
	if(!bypass){var bypass=null;}
	if(whiteSpace(document.getElementById('email').value)==''){
		var data = new Array();
		data['id'] = whiteSpace(id);
		data['name'] = whiteSpace(document.getElementById('firstName').value);
		data['email'] = whiteSpace(document.getElementById('parentEmail').value);
		data['letter'] = whiteSpace(document.getElementById('santaLetter').value);
		if(data['letter']==document.getElementById('santaLetter').defaultValue){
			data['letter'] = '';
		}
		data['over13'] = document.getElementById('over13').checked;
		data['list'] = wishList();
		var missing = new Array();
		var invalid = new Array();
		if(!data['name']){missing.push("fN");}else{
			var fNStrip = data['name'].replace('\'','');
			var fN = fNStrip.match(/[\W_0-9]/gi);
			if(fN){invalid.push("fN");}
		}
		if(!data['email']){missing.push("pE");}else{
			var pE = data['email'].match(/([\w-\.]+)@((?:[\w]+\.)+)([a-z]{2,4})/i);
			if(!pE){invalid.push("pE");}
		}
		if(!data['list']){missing.push("wL");}
		if(!data['over13']){invalid.push("uA");}
		if(missing.length>0||invalid.length>0){
			errorMsg(missing,invalid);
		}else{
			document.getElementById('error_fN').innerHTML="";
			document.getElementById('error_pE').innerHTML="";
			document.getElementById('error_uA').innerHTML="";
			document.getElementById('error_wL').innerHTML="";
			document.getElementById('error_alert').innerHTML="";
			serverValidation(data,bypass,pageTracker);
		}
	}
}
//open new window
<!--
function newwin (n,h,w) { var newwin = window.open(eval("n"),
'Legal','height='+h+',width='+w+',left=0,top=0,directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,status=no,toolbar=no') ; }
//--><!--
function twitter (n,h,w) { var newwin = window.open(eval("n"),
'Twitter','height='+h+',width='+w+',left=0,top=0,directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,status=no,toolbar=no') ; }
//-->