onload=function()
{
	if (document.getElementsByClassName == undefined)
	{
		document.getElementsByClassName = function(className)
		{
			var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
			var allElements = document.getElementsByTagName("*");
			var results = [];
	
			var element;
			for (var i = 0; (element = allElements[i]) != null; i++) {
				var elementClass = element.className;
				if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
					results.push(element);
			}
	
			return results;
		}
	}
}

function destroy_div_check(div_id){
	//var DIVtoRemove = document.getElementById(div_id);
	var o = testForObject(div_id);
	if (o){
		var DIVtoRemove = document.getElementById(div_id)
		DIVtoRemove.parentNode.removeChild(DIVtoRemove);
	}
}

function testForObject(Id, Tag)
{
  var o = document.getElementById(Id);
  if (o)
  {
    if (Tag)
    { if (o.tagName.toLowerCase() == Tag.toLowerCase()) { return o; } }
    else { return o; }
  }
  return null;
}

function makeWindow(parent_id)
{
	if (parent_id=='undefined' || parent_id=="")
	{ var parent_id='testParentDiv'; }
	var url = "classes.php";
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4)
		{ process_results(parent_id)}
	}
	xmlHttp.send(null);
}

function findHighestZ()
{
	var documentDivs = new Array();
	documentDivs = document.getElementsByTagName("DIV");
	var highestZ = 0;
	for (var i = 0; i < documentDivs.length; i++) {
	  var Zindex = documentDivs[i].style.zIndex;
	  if (Zindex > highestZ) {
	       highestZ = Zindex;
	  }
	}
	return highestZ;
}

function moveToFront(divid)
{
	var highestZ=findHighestZ();
	var o = testForObject(divid);
	if (o){
		document.getElementById(divid).style.zIndex=parseInt(highestZ)+1;
	}
}

function ajaxStream(divid, url, getData, postData)
{
	if (divid=="" || divid==null){alert("No Div ID in the Stream Call..."); return;}
	if (url=="" || url==null){alert("No URL in the Stream Call..."); return;}
	if (getData=="" || getData==null){ var getData=false; }
	if (postData=="" || postData==null){ var postData=false; }
	this.divid=divid;
	this.getData=getData;
	this.postData=postData;
	this.url=url;
}

function sendData(windowname, showLoading)
{
	with (this)
	{
		if (windowname=="")
		{
			var xmlHttpName=new Date().getTime();
			xmlHttpName="request"+xmlHttpName;
		}
		else { xmlHttpName="request"+windowname; }
		
		if (showLoading==1){ document.getElementById(divid).innerHTML='<img src="http://myam365.com/images/ajaxLoader.gif">'; }
		
		/* Create a new XMLHttpRequest object to talk to the Web server */
		/*@cc_on @*/
		/*@if (@_jscript_version >= 5)
		try {
		  window[xmlHttpName] = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		  try {
		    window[xmlHttpName] = new ActiveXObject("Microsoft.XMLHTTP");
		  } catch (e2) {
		    window[xmlHttpName] = false;
		  }
		}
		@end @*/
		//alert(xmlHttpName);
		
		if (!window[xmlHttpName] && typeof XMLHttpRequest != 'undefined') {
		  window[xmlHttpName] = new XMLHttpRequest();
		}
		else if (window[xmlHttpName].readyState != 0)
		{
			window[xmlHttpName].abort();
			if (showLoading==1){ document.getElementById(divid).innerHTML='<img src="http://myam365.com/images/ajaxLoader.gif">'; }
		}

		if (divid=='undefined' || divid=="")
		{ alert("No Divid. Can't create window."); }
		else
		{
			if (postData){streamMethod="POST";}
			else {streamMethod="GET";}
			
			if (getData){url=url+'?'+getData;}
			
			if (streamMethod=="GET")
			{
				window[xmlHttpName].open(streamMethod, url, true);
				window[xmlHttpName].onreadystatechange = function() {
					if (window[xmlHttpName].readyState == 4)
					{ document.getElementById(divid).innerHTML = window[xmlHttpName].responseText; }
				}
				window[xmlHttpName].send(null);
			}
			else if (streamMethod=="POST")
			{
				window[xmlHttpName].open(streamMethod, url, true);
				window[xmlHttpName].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				window[xmlHttpName].setRequestHeader("Content-length", postData.length);
				window[xmlHttpName].setRequestHeader("Connection", "close");
				window[xmlHttpName].onreadystatechange = function() {
					if (window[xmlHttpName].readyState == 4)
					{ document.getElementById(divid).innerHTML = window[xmlHttpName].responseText; }
				}
				window[xmlHttpName].send(postData);
			}
			else
			{ alert("Invalid Stream Type."); }
		}
	}
}

ajaxStream.prototype.sendData=sendData;	//Prototype the newWindow function...

function validateRadio(elm)
{
    var cnt = -1;
    for (var i=elm.length-1; i > -1; i--) {
        if (elm[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return elm[cnt].value;
    else return null;
}

function generateData(formname)
{
	var params="";
	for(i=0; i<document.getElementById(formname).elements.length; i++)
	{
		var addElement=1;
		if (document.getElementById(formname).elements[i].type!="checkbox") {
			if ( document.getElementById(formname).elements[i].type=="radio" ) {
				if (document.getElementById(formname).elements[i].checked) { fieldvalue=document.getElementById(formname).elements[i].value; }
				else { addElement=0; }
			}
			else { fieldvalue=document.getElementById(formname).elements[i].value; }
		}
		else {fieldvalue=document.getElementById(formname).elements[i].checked;}
		
		fieldname=document.getElementById(formname).elements[i].name;
		if (addElement==1)
		{ params=params+fieldname+'='+encodeURIComponent(fieldvalue)+'&'; }
	}
	params=params.substring(0, params.length-1);
	return params;
}

function generateImageData(formname)
{
	var returnData=generateData(formname);
	
	var o=testForObject('uploaded_file_name');
	if (o){
		var upload_image_2=encodeURIComponent($('#uploaded_file_name').html());
		returnData = returnData + '&upload_image_2=' + upload_image_2;
	}
	return returnData;
}

function generateSendData(formname)
{
	var returnData=generateData(formname);
	
	var o=testForObject('uploaded_file_name');
	if (o){
		var upload_image_2=encodeURIComponent($('#uploaded_file_name').html());
		returnData = returnData + '&upload_image_2=' + upload_image_2;
	}
	return returnData;
}

function validate_required(field,alerttxt)
{
	with (field)
	{
		if (value==null||value=="") { alert(alerttxt);return false; }
		else { return true; }
	}
}

function validate_number(field,alerttxt)
{
	with (field)
	{
		if (value.length==5)
		{
			if (value==null||value=="") { alert(alerttxt);return false; }
			else if (isNaN(value)) { alert("Please enter a valid zip code!");return false; }
			else { return true; }
		}
		else
		{ alert("Zip code must be 5 digits!");return false; }
	}
}

function validate_checked(field,alerttxt)
{
	with (field)
	{
		if (checked==false) { alert(alerttxt);return false; }
		else { return true; }
	}
}

function validateForm(thisform)
{
	with (thisform)
	{
		if (zip_code_input.value=="" || zip_code_input.value==null)
		{ /*Do nothing*/}
		else
		{
			if (validate_number(zip_code_input,"Please enter valid zip code!")==false)
			{zip_code_input.focus(); return false;}
		}
		
		if (validate_required(first_name_input,"Please enter your first name!")==false)
		{first_name_input.focus(); return false;}
		
		if (validate_required(last_name_input,"Please enter your last name!")==false)
		{last_name_input.focus(); return false;}
		
		if (validate_required(phone_input,"Please enter your phone number!")==false)
		{phone_input.focus(); return false;}
		
		if (validate_required(ship_to_input,"Please enter a name to ship to!")==false)
		{ship_to_input.focus(); return false;}
		
		if (validate_required(ship_addr1_input,"Please enter an address to ship to!")==false)
		{ship_addr1_input.focus(); return false;}
		
		if (validate_required(ship_city_input,"Please enter a city to ship to!")==false)
		{ship_city_input.focus(); return false;}
		
		if (validate_required(ship_state_input,"Please enter a state to ship to!")==false)
		{ship_state_input.focus(); return false;}
		
		if (validate_number(ship_zip_code_input,"Please enter a zip code to ship to!")==false)
		{ship_zip_code_input.focus(); return false;}
		
		if (validate_checked(accepted_box,"Please verify and check the box that you have double-checked your information before submitting this order!")==false)
		{return false;}
		
		return true;
	}
}

function clear_fields(formname)
{
	if (confirm("Are you sure you want to clear the fields?"))
	{
		document.getElementById(formname).reset();
		document.getElementById('cardPreview_container').innerHTML='<img src="images/holding_card.jpg" style="border:1px solid black;">';
	}
}

function sendCardData()
{
	thisform=document.getElementById("free_cards_form");
	if (validateForm(thisform))
	{
		var divid="saveData_container";
		var url="saveCardPromo.php";
		var getData="action=submit";
		var postData=generateSendData('free_cards_form');
		
		var stream=new ajaxStream(divid, url, getData, postData);
		stream.sendData();
	}
}
