function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}

loadjscssfile('/scripts/jquery-ui-1.7.2.custom.min.js','js');
loadjscssfile('/scripts/css/ui-lightness/jquery-ui-1.7.2.custom.css','css');

var screeningResult = "";
var count = 0;

$(document).ready(function(){
	$("body").append('<style type=\"text/css\">.ui-progressbar-value { background-image: url(/scripts/images/pbar-ani.gif); }</style><div id=\"dialog\" title="Processing Order..."><p align=\"center\" style=\"font-size:11px;\">You are now taken to our Secure Payment Gateway.</p><p align=\"center\"><div id=\"progressbar\"></div></p><p align=\"center\"><img align=\"center\" src=\"/scripts/images/comodo-creditcard.gif\"></p></div>');

	$("#dialog").dialog({
      bgiframe: true, autoOpen: false, height: 220, modal: true
    });
    
    var kc = $.query.get('k');
	var imc = $.query.get('imc');
	var ipn = $.query.get('ipn');
	var c = $.query.get('c'); 

	if(kc!=''){ document.getElementById('KeyCode').value = kc; }
	if(imc!=''){ document.getElementById('IncredibleMediaCode').value =  imc ; }
	if(ipn!=''){ document.getElementById('IncredibleProjectNo').value = ipn ; }
	if(c!=''){ document.getElementById('cmd').value = c ; }
	if(c=='4'){ document.getElementById('cmd').value = '12' ; }
});

google.load("maps", "2.x");

function initialize() {

	var map = new google.maps.Map2(document.getElementById("map_canvas"));
}

google.setOnLoadCallback(initialize);


  	
function validate(){
  		
	if (document.gform.FirstName.value == "" || document.gform.FirstName.value == "First Name")
	{
		alert("Please enter Your First Name ");
	
		document.gform.FirstName.focus();
		return false;
	}
	
	if (document.gform.LastName.value == "" || document.gform.LastName.value == "Last Name")
	{
		alert("Please enter Your Last Name ");
	
		document.gform.LastName.focus();
		return false;
	}
	
	if (document.gform.StreetAddress.value == "" || document.gform.StreetAddress.value == "Street Address")
	{
		alert("Please enter a Street Address");
	
		document.gform.StreetAddress.focus();
		return false;
	}
	
	if (document.gform.Zip.value == "" || document.gform.Zip.value == "Zip Code")
	{
		alert("Please enter a Zip Code");
	
		document.gform.Zip.focus();
		return false;
	}
	
	
	if (document.gform.Email.value != "" && document.gform.Email.value != "Email Address") { 
	 
	
		var emailFilter=/^.+@.+\..{2,3}$|^$/;
		if (!(emailFilter.test(document.gform.Email.value)))
		{
			alert("There seems to be something wrong with the email address");
			document.gform.Email.focus();
			return false;
		}
		var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
		if (document.gform.Email.value.match(illegalChars)) {
			alert("There seems to be something wrong with the email address");
			document.gform.Email.focus();
			return false;
		}
	}
	
	if (!(document.gform.Zip.value.length > 4 && document.gform.Zip.value.length < 6))
	{
	
		alert("Please enter a correct Zip Code. Do note that it should be only numeric and just 5 digits.");
		document.gform.Zip.focus();
		return false;
	}
	
	if (document.gform.Zip.value.length > 4 && document.gform.Zip.value.length < 6  )
	{
		var yrFilter= /^\d*$/ ;
		if (!(yrFilter.test(document.gform.Zip.value)))
		{
			alert("Please enter a correct Zip Code. Do note that it should be only numeric and just 5 digits.");
			document.gform.Zip.focus();
		return false;
		}
	}
	
	if(CheckAddress($('#FirstName').val(),$('#LastName').val(),$('#StreetAddress').val(),$('#City').val(),$('#State').val(),$('#Zip').val()))
	{
		if (document.gform.Email.value == "Email Address") { 	
			document.gform.Email.value = "";
		}

		/* If Alliant Screening Score is over 15, show popup */
		if(((screeningResult > 15) && ($('#cmd').val() != "12")) || ($('#BillingMethod').val() == "4"))
		{
			$("#dialog").dialog('open');
			$(function() {
				$("#progressbar").progressbar({ value: 0 });
				setTimeout(updateProgress, 50);
			});
			setTimeout(document.gform.submit(),15000);
		}
		else
		{
			document.getElementById('cmd').value = "12";
		}
		document.gform.submit();
	}
	else
	{
		return false;
	}
} 

function updateProgress() {
  var progress;
  progress = $("#progressbar").progressbar("option","value");
  if (progress < 100) {
      $("#progressbar").progressbar("option", "value", progress + 1);
      setTimeout(updateProgress, 50);
  }
}

	function GetAddress()
	{
		if(document.gform.Zip.value != "" && document.gform.StreetAddress.value != "")
		{
		  var street = $('#StreetAddress').val();
		  var zip = $('#Zip').val();		
				
			var geocoder = new GClientGeocoder();
			geocoder.setBaseCountryCode('us');
			
			var address = geocoder.getLocations(street + ',' + zip + ', USA',
				function(resp){
					
					
					if(resp.Status.code == 200){
						place = resp.Placemark[0];
						if(place.AddressDetails.Country.CountryNameCode == 'US'){
							$('#map_canvas').html(place);
							if(place.AddressDetails.Country.AdministrativeArea.Locality){
									$('#City').val(place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName);
								}else{
									$('#City').val(place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName);
								}
							$('#State').val(place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName);
							}
					}
				});
			}
				
	}
	
	function CheckAddress(f,l,a,c,s,z)
	{
		GetAddress();
		if($('#LastName').val() != "" && $('#Zip').val() != "")
		{ 
			data = GetAlliantData(f,l,a,c,s,z);
			if(data)
			{		
				responseCode = data.getElementsByTagName("ResponseCode")[0].childNodes[0].nodeValue;
				_gaq.push(['_trackEvent', 'Alliant_Response_Code', responseCode]);
				
				screeningResult = data.getElementsByTagName("VALUE")[0].childNodes[0].nodeValue;
				_gaq.push(['_trackEvent', 'Alliant_Screening_Score', screeningResult]);
				
				if(responseCode != 0)
				{
					
					
					switch (responseCode){
						case "1": 
							alert("The city does not seem to be correct. Are you sure you have entered it correctly?");
							return false;
						case "2": 
							alert("The Street Name does not seem to be entered correctly. Are you sure its correct?");
							return false;
						case "3": 
							alert("The House Number does not seem to exist on that street. Are you sure you entered it correctly?");
							return false;
						case "4":
							alert("The apartment or suite number does not seem to exist in that building. Are you sure you entered it correctly?");
							return false;
						case "5":
							alert("The address information you've entered matches more than one household, and we're not sure we got it right. Can you specify it further by for instance add apartment or suite number?");
							return false;
						case "9":
							FixAddress(data);
							
							return true;
						default : 
							return false;
						}
				}
				else
				{
					return true;
				}
			}
			return false;
		}
		else
		{
			return false;
		}
	}
	
	function GetAlliantData(fn,ln,al,ci,st,zc)
	{
		var outputData = $.ajax({
			type: "GET",
			url: "http://offers.imponline.com/wrapper.php",
			data: { f: fn, l: ln, a: al, c: ci, s: st, z: zc },
			async: false,
			success: function(data){
			},
			error: function(data){
				return false;
			}
		}).responseText;
		
		try //Internet Explorer
		{
		  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		  xmlDoc.async="false";
		  xmlDoc.loadXML(outputData);
		  return xmlDoc;
		}
		catch(e)
		{
		  parser=new DOMParser();
		  xmlDoc=parser.parseFromString(outputData,"text/xml");
		  return xmlDoc;
		}
	}
	
	function FixAddress(data)
	{
		document.gform.StreetAddress.value = data.getElementsByTagName("AddressLine")[0].childNodes[0].nodeValue;
		document.gform.City.value = data.getElementsByTagName("City")[0].childNodes[0].nodeValue;
		document.gform.State.value = data.getElementsByTagName("State")[0].childNodes[0].nodeValue.substring(0,2);
		document.gform.Zip.value = data.getElementsByTagName("ZipCode")[0].childNodes[0].nodeValue.substring(0,5);
	}
	
	
