﻿function FP_swapImgRestore() {//v1.0
 var doc=document,i; if(doc.$imgSwaps) { for(i=0;i<doc.$imgSwaps.length;i++) {
  var elm=doc.$imgSwaps[i]; if(elm) { elm.src=elm.$src; elm.$src=null; } } 
  doc.$imgSwaps=null; }
}

function FP_preloadImgs() {//v1.0
 var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
 for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
}

function FP_swapImg() {//v1.0
 var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length;
 n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm;
 elm.$src=elm.src; elm.src=args[n+1]; } }
}

function FP_getObjectByID(id,o) {//v1.0
 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
 else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
 if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
 for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
 f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
 for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
 return null;
}

function checkCurrency(box) {  
	var val = box.value / 1;
	// limit to 2 dec places (rounding up, if needed)
	//box.value = Math.round(val*100)/100;
	box.value = val.toFixed(2);
}

var dtCh = "/";
var minYear = 1900;
var maxYear = 2100;

function isInteger(s) {
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag) {
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year) {
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this;
}

function isDate(dtStr) {
	var daysInMonth = DaysArray(12);
	var pos1 = dtStr.indexOf(dtCh);
	var pos2 = dtStr.indexOf(dtCh, pos1 + 1);
	var strMonth = dtStr.substring(0, pos1);
	var strDay = dtStr.substring(pos1 + 1, pos2);
	var strYear = dtStr.substring(pos2 + 1);
	strYr=strYear;
	if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1);
	if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0) == "0" && strYr.length > 1) strYr = strYr.substring(1);
	}
	month = parseInt(strMonth);
	day = parseInt(strDay);
	year = parseInt(strYr);
	if (pos1 == -1 || pos2 == -1){
		alert("The date format should be: mm/dd/yyyy");
		return false;
	}
	if (strMonth.length < 1 || month < 1 || month > 12){
		alert("Please enter a valid month");
		return false;
	}
	if (strDay.length<1 || day < 1 || day > 31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day");
		return false;
	}
	if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear){
		alert("Please enter a valid 4 digit year between " + minYear + " and " + maxYear);
		return false;
	}
	if (dtStr.indexOf(dtCh, pos2 + 1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date (mm/dd/yyyy)");
		return false;
	}
return true;
}

function capitalizeMe(obj) {
	val = obj.value;
	newVal = '';
	val = val.toLowerCase();
	val = val.split(' ');
	for(var c=0; c < val.length; c++) {
		newVal += val[c].substring(0, 1).toUpperCase() + val[c].substring(1, val[c].length) + ' ';
	}
	obj.value = newVal;
}

function formatPhoneNumber(phoneField) {
	var num = phoneField.value.replace(/[^\d]/g,'');
	if (num > "") {
		if (num.length == 10) {
			phoneField.value = "(" + num.substring(0,3) + ") " + num.substring(3, 6) + "-" + num.substring(6);
		}
		else if (num.length == 8) {
			phoneField.value = "+506 " + num.substring(0,4) + "-" + num.substring(4);
		}
	}
}

/*************************/

function GetXmlHttpObject() {
	var xmlHttp = null;
	try {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
	  // Internet Explorer
	  try {
	    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	    }
	  catch (e) {
			try {
	      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");      
      }
	    catch (e) {
	      alert("Your browser does not support AJAX!");
	      return false;      
	    }
	  }
	}
	return xmlHttp;
}

/**********************/

var ajaxRequest;
function registerUser(form)
{
	ajaxRequest = new GetXmlHttpObject();
	if (ajaxRequest === null) {
	  alert ("Your browser does not support AJAX!");
	  return;
	}
	var url = "ajaxRegisterUser.asp";
	url = url + "?Email=" + form.registerEmailAddress.value;
	url = url + "&Title=" + getCheckedValue(form.Title);
	url = url + "&FirstName=" + form.FirstName.value;
	url = url + "&LastName=" + form.LastName.value;
	url = url + "&AllowEmail=" + form.AllowEmail.value;

	ajaxRequest.onreadystatechange = function() {
		if (ajaxRequest.readyState == 4) {
		  if (ajaxRequest.responseText) {
				alert(ajaxRequest.responseText);
			}
			else {
				/* window.location.reload(); */
				form.registerEmailAddress.value = "";
				form.FirstName.value = "";
				form.LastName.value = "";
							
			  document.getElementById('ProfileLoggedIn').style.display='';
			  document.getElementById('ProfileLoggedOut').style.display='none';
			  closeRegisterPulldown();
			}
		}
	};
	ajaxRequest.open("GET", url, true);
	ajaxRequest.send(null);
}

function loginUser(form)
{
	ajaxRequest = new GetXmlHttpObject();
	if (ajaxRequest === null) {
	  alert ("Your browser does not support AJAX!");
	  return;
	}
	var url = "ajaxLogin.asp";
	url = url + "?Email=" + form.loginEmailAddress.value;

	ajaxRequest.onreadystatechange = function() {
		if (ajaxRequest.readyState == 4) {
		  if (ajaxRequest.responseText) {
				alert(ajaxRequest.responseText);
			}
			else {
				window.location.reload();
				/*
				closeLoginPulldown();
				form.loginEmailAddress.value = "";
			  document.getElementById('ProfileLoggedIn').style.display='';
			  document.getElementById('ProfileLoggedOut').style.display='none';
			  */
			}
		}
	};
	ajaxRequest.open("GET", url, true);
	ajaxRequest.send(null);
}
