function MM_findObj(n, d) { //v4.01
var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}

function MM_changeProp(objName,x,theProp,theValue) { //v6.0
var obj = MM_findObj(objName);
if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
if (theValue == true || theValue == false)
eval("obj."+theProp+"="+theValue);
else eval("obj."+theProp+"='"+theValue+"'");
}
}

function addFormField() {
	var id = document.getElementById("id").value;
	$("#divTxt").append("<p id='row" + id + "' "+ ((id%2 == 0) ? " class='bg_table1' " : "") + "><label for='name" + id + "'>Friend's Name:</label><input type='text' size='20' name='frname_"+id+"' id='name" + id + "' class='validate[required] form_field150'><br class='cln'><label for='email" + id + "'> Friend's E-mail:</label><input type='text' size='20' name='fremail_"+id+"' id='email" + id + "' class='validate[required,custom[email]] form_field150'><a href='#' onClick='removeFormField(\"#row" + id + "\"); return false;' class='remove'>Remove</a></p>");
    id = (id - 1) + 2;
	document.getElementById("id").value = id;
	
	evenodd();
}

function evenodd(){
    $("#divTxt p").each(function(lnd) {
	    $(this).removeClass('bg_table1');
	    if((lnd-1)%2 != 0)
	         $(this).addClass('bg_table1');
	});
}

function removeFormField(id) {
    $(id).find('input').each(function() {
	    closingPrompt = $(this).attr("name")
		$("."+closingPrompt).fadeTo("fast",0,function(){
			$("."+closingPrompt).remove()
		});
    }).fadeTo('fast', 0, function(){
        $(id).remove();
        evenodd();
        
        $("[class^=validate]").each(function() {
	    updateThisPrompt =  $(this).attr("name");
	    
	    callerTopPosition  = $(this).offset().top;
		inputHeight = $("."+updateThisPrompt).height()
		
		callerTopPosition = callerTopPosition  -inputHeight -10
		$("."+updateThisPrompt).animate({
			top:callerTopPosition
		});
      });
    });
}











// string trim function
String.prototype.trim = function()
{
	return this.replace( /(^\s*)|(\s*$)/g, '' ) ;
}

// Proper e-mail check script
function emailCheck( emailFormField, showerror ) {

	var txt=emailFormField.value;  
	var error = "";
	
	var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
                  
	if (!(emailRe.test(txt))) { 
		   error = "Please enter a valid email address.\n";
	}
	
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
	if (txt.match(illegalChars)) {
	   error += "The email address contains illegal characters.\n";
	}
	
	if( error.length > 0 ) {
		if(showerror) {
		    emailFormField.focus();
			alert(error);	
		}
		return false;
	}
	return true;  
}

function validatePhoneNumber(elementValue){
    var phoneNumberPattern = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
    var phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
    
    return phoneRe.test(elementValue);
}

function validSendTo( frm ) {
    var msg = '';
    
    if(frm.elements['name1'].value.trim().length < 2)
        msg += 'Please enter Your name\n';
    if(!emailCheck(frm.elements['email1'], false))
        msg += 'Please enter valid e-mail address\n';
    /* else if(frm.elements['email1'].value.trim() == frm.elements['email2'].value.trim())
        msg += 'E-mail addresses cannot be equal\n';
    if(frm.elements['name2'].value.trim().length < 2)
        msg += 'Please enter friends name\n';
    if(!emailCheck(frm.elements['email2'], false))
        msg += 'Please enter valid friends e-mail address\n'; */
    var hasfriends = false;
    $('.fremail').each(function(pos) {
        if($(this).val().trim().length > 0) {
            hasfriends = true;
            if(!emailCheck(this, false)) msg+='Friend '+(pos+1)+' - e-mail address is incorrect!\n';
        }
        //alert(cnt);
    });
    if(!hasfriends) msg+='Please enter at least one friend\'s e-mail address!\n';
    //alert($('.fremail').length);
    if(frm.elements['verify'].value.trim().length < 6)     msg += 'Please enter correct verification code\n';
    
    if(msg != '') {
        alert("The following form field(s) were incomplete or incorrect:\n\n" + msg + "\nPlease complete or correct the form and submit again.");
        
        return false;
    }
    else
        return true;
}

function validForgot( frm ) {
    var msg = '';
    
    if(!emailCheck(frm.elements['email'], false))
        msg += 'Please enter valid e-mail address\n';
    if(frm.elements['verify'].value.trim().length < 6)     msg += 'Please enter correct verification code\n';
    
    if(msg != '') {
        alert("The following form field(s) were incomplete or incorrect:\n\n" + msg + "\nPlease complete or correct the form and submit again.");
        
        return false;
    }
    else
        return true;
}

function validLogin( frm ) {
    var msg = '';
    
    if(!emailCheck(frm.elements['email'], false))
        msg += 'Please enter valid e-mail address\n';
    if(frm.elements['pass'].value.trim() == '')
        msg += 'Password is required\n';
    
    if(msg != '') {
        alert("The following form field(s) were incomplete or incorrect:\n\n" + msg + "\nPlease complete or correct the form and submit again.");
        
        return false;
    }
    else
        return true;
}

function validRegister( frm ) {
    var msg = '';
    
    if(frm.elements['firstname'].value.trim() == '')        
        msg += 'Please enter first name\n';
    if(frm.elements['lastname'].value.trim() == '')        
        msg += 'Please enter last name\n';
        
    if(!emailCheck(frm.elements['email'], false) || !emailCheck(frm.elements['email2'], false))
        msg += 'Please enter valid e-mail address\n';
    else if(frm.elements['email'].value != frm.elements['email2'].value)
        msg += 'E-mail addresses do not match\n';

    if(frm.elements['pass'].value.trim().length < 4)        
        msg += 'Password must be at least 4 characters\n';
    else if(frm.elements['pass'].value != frm.elements['pass2'].value)
        msg += 'Passwords do not match\n';
    if(frm.elements['address'].value.trim() == '')     msg += 'Please enter address\n';
    if(frm.elements['city'].value.trim() == '')     msg += 'Please enter city\n';
    if(frm.elements['state'].value.trim() == '')     msg += 'Please select state/province\n';
    if(frm.elements['zip'].value.trim() == '')     msg += 'Please enter zip code\n';
    if((frm.elements['phone'].value.trim().length > 0) && !validatePhoneNumber(frm.elements['phone'].value.trim()))     msg += 'Please enter correct home phone number\n';
    if((frm.elements['mobile'].value.trim().length > 0) && !validatePhoneNumber(frm.elements['mobile'].value.trim()))     msg += 'Please enter correct mobile phone number\n';
    if(!frm.elements['agree'].checked)     msg += 'You must agree to the Official Rules\n';
    // if(frm.elements['signname'].value.trim().length < 4)     msg += 'You must sign the Official Rules with Your name\n';
    if(frm.elements['verify'].value.trim().length < 6)     msg += 'Please enter correct verification code\n';
    
    if(msg != '') {
        alert("The following form field(s) were incomplete or incorrect:\n\n" + msg + "\nPlease complete or correct the form and submit again.");
        
        return false;
    }
    else
        return true;
}

var bb = b = d1 = d2 = 0;
function donet() {      $('#digit1').css({ backgroundPosition: '0px -'+(d1*60)+'px' });d1++;if(d1 <= bb*6) window.setTimeout('donet()', 33);     }
function donet2() {     $('#digit2').css({ backgroundPosition: '0px -'+(d2*60)+'px' });d2++;if(d2 <= b*6) window.setTimeout('donet2()', 33);    }

function lzero(w) {
	w = w + '';
	return w.length == 1 ? '0'+''+w : w;
}

function setStateDefault() {
    $('#state').val(0);
}

function bindStates(country_id) {
    $('#state option, #state optgroup').remove();
	
	if (country_id == 'CA') {
	    $('#state').append('<option value="" class="nosel" selected="selected">- Select a Province -</option>').attr('disabled', 'disabled');
	} else {
    	$('#state').append('<option value="" class="nosel" selected="selected">- Select a State -</option>').attr('disabled', 'disabled');
	}
    
    if(typeof(jqCS[country_id]) != 'undefined') {
        $('#state').removeAttr('disabled', '');
        
        var items = jqCS[country_id].states;
        for (var o in items) $('#state').append('<option value="' + o + '">' + items[o] + '</option>');
        if(items.length == 1) {
            setTimeout("setStateDefault()",1);
        }
        
    }
}

/* jquery */
$(document).ready(function() {
    /* counter */
    if($('#days').length > 0) {
    	var days = $('#days').html();
    	bb = Math.floor(days/10);  b = days-bb*10;
    	if(bb>0) window.setTimeout('donet()', 99); if(b>0) window.setTimeout('donet2()', 99);
    }
    /* birthday calculation */
    if($('#birthday').length > 0) {
        $('#m, #d, #y').bind('change', function() {
            $('#birthday').val(lzero($('#m').val()) + '/' + lzero($('#d').val()) + '/' + lzero($('#y').val()));
        });
    }
 });
