﻿     function poptastic(url){
     var w = 800;
     var h = 600;
            var left = (screen.width/2)-(w/2);
            var top = (screen.height/2)-(h/2);
	       newwindow = window.open (url,'Rules', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
	        if (window.focus) {newwindow.focus()}
        }
        
        	// validation utilities
	function IsValidPostalCode(s)
	{
		r = /^[abceghjklmnprstvxyABCEGHJKLMNPRSTVXY][0-9][abceghjklmnprstvwxyzABCEGHJKLMNPRSTVWXYZ] {0,1}[0-9][abceghjklmnprstvwxyzABCEGHJKLMNPRSTVWXYZ][0-9]$/i;
		return r.test(s);
	}
	function IsValidZIPcode(s)
	{
		r = /^[0-9]{5}([- /]?[0-9]{4})?$/i;
		return r.test(s);
	}
	function IsValidEmailAddress(s)
	{
		if (s.length == 0) 
		{
			return false;
		}
		// hack test for an apostrophe as the first character
		if (s.substring(0,1) == "'")
		{
			return false;
		}
		// hack test for occurance of '@
		if (s.indexOf("'@") >= 0) 
		{
			return false;
		}
		var filter  = /^([a-zA-Z0-9_&'\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		return filter.test(s);
	}
	
	function roller(pObj) {
        if (pObj.src.indexOf('-on') >= 0) {
            pObj.src = pObj.src.replace('-on', '-off');
        }
        else {
            pObj.src = pObj.src.replace('-off', '-on');
        }
    }
    
    var nowOn; //need to see this to know what link is currently active
    function rollerStick(pObj) {
        if (pObj.id.indexOf(nowOn) < 0) {
            if (pObj.src.indexOf('-on') >= 0) {
                pObj.src = pObj.src.replace('-on', '-off');
            }
            else {
                pObj.src = pObj.src.replace('-off', '-on');
            }
        }
    }
    
    function Trim(sString) {
        while (sString.substring(0, 1) == " ") {
            sString = sString.substring(1, sString.length);
        }
        while (sString.substring(sString.length - 1, sString.length) == " ") {
            sString = sString.substring(0, sString.length - 1);
        }
        return sString;
    }
    
    function IsValidDOB(s)
	{
		//r = /^(([1-9])|(0[1-9])|(1[0-2]))\/(([0-9])|([0-2][0-9])|(3[0-1]))\/(([0-9][0-9])|([1-2][0,9][0-9][0-9]))$/;
		r = /^(([1-9])|(0[1-9])|(1[0-2]))\/(([0-9])|([0-2][0-9])|(3[0-1]))\/(([1-2][0,9][0-9][0-9]))$/;
		return r.test(s);
	}
	
	function checkdate (m, d, y) {
            // Returns true(1) if it is a valid date in gregorian calendar  
            // 
            // version: 1107.2516
            // discuss at: http://phpjs.org/functions/checkdate    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: Pyerre
            // +   improved by: Theriault
            // *     example 1: checkdate(12, 31, 2000);
            // *     returns 1: true    // *     example 2: checkdate(2, 29, 2001);
            // *     returns 2: false
            // *     example 3: checkdate(3, 31, 2008);
            // *     returns 3: true
            // *     example 4: checkdate(1, 390, 2000);    // *     returns 4: false
            return m > 0 && m < 13 && y > 0 && y < 32768 && d > 0 && d <= (new Date(y, m, 0)).getDate();
    }
	
	function IsValidPhone(s) {
	    //Input Format: 999-999-9999 OR (519) 667-7788.
        //Remove Spaces, brackets and dashes. Verifies that there are 10 digits remaining.
        s = s.replace(/\(/g,"").replace(/\)/g,"").replace(/ /g,"").replace(/-/g,"");
        var phone = /\d{10}$/;
	    return s.match(phone);
    }
    
    function parentExists()
    {
        return (parent.location == window.location)? false : true;
    }
