var path = "http://redcarpetsweeps.arrivelounge.com/";
var home_url = path + ""
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var COOKIE_NAME = 'wow_cookie';
var expires_date = getExpDate(0, 1, 0);
 var options = { path: '/', expires: expires_date };

jQuery(document).ready(function() {
        var cookie_val = jQuery.cookie(COOKIE_NAME);
        //alert(cookie_val.len);
        if(cookie_val!=null){
            jQuery('#logout').css('display','block');
            jQuery('#logout').empty();
            jQuery('#logout').append('<span id="lolink">Logout</span>');
            jQuery('#lolink').click(function(){jQuery.cookie('wow_cookie',null,options); goto_home();});
            jQuery('#content').empty();
            jQuery.get('content/share-with-friend.php',{type:'main',email:cookie_val,autolog:'y'},function(data){
                 jQuery('#content').append(data);
                  $("input[type='text']:first", document.forms[0]).focus();
                 document.title ="Share with Friend";
            });
       }
       else{
          jQuery('#logout').css('display','none');
       }

       jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, "");
	return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");
    jQuery.validator.addMethod('date_fields',function(value,element){
        //alert(value);
       if(value=='Mon'){
           return this.optional(element);
       }
       if(value=='Day'){
           return this.optional(element);
       }
       if(value=='Year'){
           return this.optional(element);
       }
       return value;
    }
    ,"");
    child_form_val();
    parent_form_val();
    check_forgot_email_form();
    check_age_gate();
    check_parent_perm_form();
});
function check_captcha(capt_str){
    jQuery.post('../AJAX_handler/captcha_handler.php',{captcha:capt_str},function(data){
        if(data=='0'){

        }
    });
}
var formcheck;
function check_parent_perm_form(){
       formcheck = jQuery("#parent_perm_form").validate({
           debug:true,
           submitHandler: function(form) {
                form.submit();
            },
           invalidHandler: function() {

                jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true
		});
                jQuery('#messages').dialog("open");
            },
           errorContainer:"#messages",
           errorLabelContainer:"#messages",
           errorElement: "div",
           errorClass:"mes",
            rules: {
                parent_email:{
                  required:true,
                   email:true
                },
                parent_email_confirm:{
                    equalTo: "#parent_email"
                }
            }
          ,
            message:{
                parent_email:{
                        required: "An Email Address is required.",
                        email:"Email Address Entered is Invalid."
                },
                 parent_email_confirm:{
                    equalTo: "Emails Do Not Match"
                }
            }
   });
}
var forgot_formcheck;
function check_forgot_email_form(){
	forgot_formcheck = jQuery("#forgot_form").validate({
           debug:true,
           invalidHandler: function() {
                jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true
		});
                jQuery('#messages').dialog("open");
            },
           errorContainer:"#messages",
           errorLabelContainer:"#messages",
           errorElement: "div",
           errorClass:"mes",
            rules: {
                forgot_email:{
                  required:true,
                   email:true
                }
            }
          ,
            message:{
                    forgot_email:{
                        required: "Your Email Address is required.",
                        email:"Your Email Address is Invalid."
                }
            }
   });
}
var logged_in_email;
function check_age_gate(){
        	jQuery("#age_gate_form").validate({
           invalidHandler: function(form, validator) {
           jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true

		});
                jQuery('#messages').dialog('option', 'title', 'Error');
                jQuery('#messages').dialog("open");
            },
           errorContainer:"#messages",
           errorLabelContainer:"#messages",
           errorElement: "div",
           errorClass:"mes",
            rules: {
                birthMonth:{
                    date_fields:true
                },
                birthDay:{
                    date_fields:true
                },
                birthYear:{
                    date_fields:true
                }
            },
            messages:{
                birthMonth:{
                    date_fields:"Your Child's Birth Month is required. "
                },
                birthDay:{
                    date_fields:"Your Child's Birth Day is required."
                },
                birthYear:{
                    date_fields:"Your Child's Birth Year is required."
                }
            }
        });
}
function login_and_submit(){
    //alert('test');
    var validator = jQuery("#log_me_in").validate();
   var user_email = jQuery('#email').val();
   var user_pass = jQuery('#password').val();
   var lerror = 0;
   var lerror_msg = "";
   if(user_email.length==0){
       lerror = 1;
       lerror_msg =lerror_msg+"Your Email Address Is Required.<br>"
       validator.showErrors({"email": lerror_msg});

   }
   if(lerror ==0){
        jQuery.post('AJAX_handler/login.php',{u_email:user_email,u_pass:user_pass},function(data){
            if(data==1){
                logged_in_email = user_email;
                jQuery.cookie(COOKIE_NAME,user_email,options);
                jQuery('#content').empty();
                jQuery.get('content/share-with-friend.php',{type:'main',email:user_email},function(data){
                    jQuery('#content').append(data);
                    document.title ="Share with Friend";
                                jQuery('#logout').css('display','block');
                     jQuery('#logout').empty();
                    jQuery('#logout').append('<span id="lolink">Logout</span>');
                    jQuery('#lolink').click(function(){jQuery.cookie(COOKIE_NAME,null); goto_home();});
                    });
            }
            if(data==2){
               logged_in_email = user_email;
                jQuery.cookie(COOKIE_NAME,user_email,options);
                jQuery('#content').empty();
                jQuery.get('content/share-with-friend.php',{type:'new_entry',email:user_email},function(data){
                    jQuery('#content').append(data);
                    document.title ="Share with Friend";
                                jQuery('#logout').css('display','block');
                     jQuery('#logout').empty();
                    jQuery('#logout').append('<span id="lolink">Logout</span>');
                    jQuery('#lolink').click(function(){jQuery.cookie(COOKIE_NAME,null); goto_home();});
                    });
            }
            if(data==0){
               // alert(lerror);
                lerror = 1;
                lerror_msg =lerror_msg+"Your Email Address is Invalid,<br>Or Your Password is Invalid<br>";
                validator.showErrors({"email": lerror_msg});
            }
    });
   }

}
function login_and_submit_conf(){
    var validator = jQuery("#log_me_in").validate();
   var user_email = jQuery('#email').val();
   var user_pass = jQuery('#password').val();
   var lerror = 0;
   var lerror_msg = "";
   if(user_email.length==0){
       lerror = 1;
       lerror_msg =lerror_msg+"Your Email Address Is Required.<br>"
       validator.showErrors({"email": lerror_msg});

   }
   if(lerror ==0){
        jQuery.post('../AJAX_handler/login.php',{u_email:user_email,u_pass:user_pass},function(data){
            if(data==1){
                jQuery.cookie(COOKIE_NAME,user_email,options);
               window.location = "/";
            }
            if(data==2){
                jQuery.cookie(COOKIE_NAME,user_email,options);
               window.location = "/";
            }
            if(data==0){
               // alert(lerror);
                lerror = 1;
                lerror_msg =lerror_msg+"Your Email Address is Invalid,<br>Or Your Password is Invalid<br>";
                validator.showErrors({"email": lerror_msg});
            }
    });
   }

}
function isValidEmail(str) {

   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);



}

function share_with_friends(id_from_count){
   // alert(id_from_count);
    var shared_email_field =jQuery('#friend-email'+id_from_count).val();
    //alert(isValidEmail(shared_email_field));
    if(isValidEmail(shared_email_field)){
        if(shared_email_field==logged_in_email){
                jQuery('#messages').empty();
                jQuery('#messages').append('You Can Not Share With Yourself');
                jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true

		} );
        }
        else{
            jQuery.post('AJAX_handler/shared_email_handler.php',{shared_email:shared_email_field,user_email:logged_in_email},function(data){
                //alert(data);
                if(data==1){
                    jQuery('#content_in').remove();
                    jQuery('#friend-email'+id_from_count).after('SENT!')
                    jQuery.get('content/share-with-friend.php',{type:'friend',email:logged_in_email},function(data){
                        jQuery('#content').append(data);
                    });
                }
                else{
                    jQuery('#messages').empty();
                    jQuery('#messages').append('You Have Already Sent to This Friend');
                    jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true

                    });
                    jQuery('#messages').dialog("open");
                }
            });
        }
    }
    else{
        jQuery('#messages').empty();
                jQuery('#messages').append('This is not a Valid Email Address');
                jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true

		});
                jQuery('#messages').dialog("open");
    }

}
function getExpDate(days, hours, minutes) {
    var expDate = new Date();
    if (typeof days == "number" && typeof hours == "number" && typeof hours == "number") {
        expDate.setDate(expDate.getDate() + parseInt(days));
        expDate.setHours(expDate.getHours() + parseInt(hours));
        expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
        return expDate.toGMTString();
    }
}
function forgot_password(){
    check_forgot_email_form();
   if(forgot_formcheck.numberOfInvalids()>=1){

            jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true
		});
            jQuery('#messages').dialog("open");
   }
   else{
        var email_to_check = jQuery('#forgot_email').val();
        jQuery('#content').empty();
        jQuery.post('../AJAX_handler/forgotten_password.php',{email:email_to_check},
            function(data){
                if(data==1){
                    jQuery('#content').append('<h2>Your Password Has Been Sent!</h2><p>Check your email for your password.</p><button type="button" class="button" onclick="goto_home();"><span>Enter</span></button>');
                }
                else{
                    jQuery('#content').append('<h2>Oops!</h2><p>Looks like you\'re not registered.</p><button type="button" class="button" onclick="goto_reg();"><span>Register</span></button>');
                }
            }
        );
    }
}

function goto_friends()
{
	jQuery('#content').empty();
    jQuery.get('content/share-with-friend.php',{type:'share_with_friend'},function(data){
        jQuery('#content').append(data);
        document.title ="Share with Friend";
                    jQuery('#logout').css('display','block');
         jQuery('#logout').empty();
        jQuery('#logout').append('<span id="lolink">Logout</span>');
        jQuery('#lolink').click(function(){jQuery.cookie(COOKIE_NAME,null); goto_home();});
        });
}

function goto_home(){
    window.location = home_url;
}
function parent_form_val(){
    	jQuery("#parent_reg_form").validate({
            submitHandler: function(form) {
   form.submit();
 },

           invalidHandler: function() {
           jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true
		});
                jQuery('#messages').dialog('option', 'title', 'Error');
                jQuery('#messages').dialog("open");
            },
            debug:true,
           errorContainer:"#messages",
           errorLabelContainer:"#messages",
           errorElement: "div",
           errorClass:"mes",
           onfocusout: false,
           onkeyup: false,
            rules: {
                captcha:{
                    required:true,
                    remote:{
                        url: "../AJAX_handler/catcha_handler.php",
                        type:"post",
                        data:{
                           cpt:function() {
                                    return $("INPUT#captcha").val();
                                }

                        }
                    }
                },
                firstname:{
                    required: true
                },
                lastname:{
                    required: true
                },
                address:{
                    required: true
                },
                city:{
                    required:true
                },
                state:{
                    required:true
                },
                zipcode:{
                    required:true,
                    digits:true
                },
                parent_email:{
                    required:true,
                    email:true
                },
                phone:{
                    required:true,
                    phoneUS: true
                },
                password:{
                  required:true
                },
                password_confirm:{
                    equalTo: "#password"
                },
                birthMonth:{
                    date_fields:true
                },
                birthDay:{
                    date_fields:true
                },
                birthYear:{
                    date_fields:true,
                    remote:{
                        url:"../AJAX_handler/age_gate_for_registration.php",
                        type:"post",
                        data:{
                                birthMonth:function(){
                                       return jQuery("#birthMonth").val();
                                },
                                birthDay:function(){
                                       return jQuery("#birthDay").val();
                                },
                                birthYear:function(){
                                       return jQuery("#birthYear").val();
                                }
                        }
                    }
                },
                checkbox:{
                    required:true
                }
            },
            messages:{
                firstname:{required:"Your First Name is Required."},
                lastname:{
                    required: "Your Last Name is required."
                },
                address:{
                    required: "Your Address is required."
                },
                city:{
                    required: "Your City is required."
                },
                state:{
                    required: "Your State is required."
                },
                zipcode:{
                    required: "Your Zip Code is required.",
                    digits:"Zip Code: This field must be only numbers"
                },
                parent_email:{
                    required: "Your Email Address is required.",
                    email:"Your Email Address is required."
                },
                phone:{
                    required:"Your Phone Number is required.",
                    phoneUS: "Your Phone Number is invalid. "
                },
                password:{
                  required:"Password is required."
                },
                password_confirm:{
                    equalTo: "Passwords do not match."
                },
                birthMonth:{
                    date_fields:"Your Child's Birth Month is required. "
                },
                birthDay:{
                    date_fields:"Your Childs Birth Day is required."
                },
                birthYear:{
                    date_fields:"Your Childs Birth Year is required.",
                    remote:"Your Childs Age Is ineligible"
                },
                checkbox:{
                    required:"You Must read and agree to the Wizards of Waverly Place \"Arrive in Style\" Sweepstakes Official Rules"
                },
                captcha:{
                    required:"You must enter a value for the captcha",
                    remote:"Captcha Entry Inncorrect"
                }
            }
        });
}
var capt_reload_count=0;
function captcha_reloader(){
    capt_reload_count= capt_reload_count+1;
    jQuery('#captcha img').attr('src','');
    jQuery('#captcha img').attr('src','../inc/captcha/gd_image.php?a='+capt_reload_count);
}
function child_form_val(){
    	jQuery("#child_reg_form").validate({
         submitHandler: function(form) {
            form.submit();
            },
           invalidHandler: function(form, validator) {
           jQuery('#messages').dialog({
			bgiframe: true,
			height: 140,
			modal: true

		});
                jQuery('#messages').dialog('option', 'title', 'Error');
                jQuery('#messages').dialog("open");

            },
           errorContainer:"#messages",
           errorLabelContainer:"#messages",
           errorElement: "div",
           errorClass:"mes",
           onfocusout: false,
           onkeyup: false,
            rules: {
                captcha:{
                    required:true,
                    remote:{
                        url: "../AJAX_handler/catcha_handler.php",
                        type:"post",
                        data:{
                           cpt:function() {
                                    return $("INPUT#captcha").val();
                                }

                        }
                    }
                },
                firstname:{
                    required: true
                },
                lastname:{
                    required: true
                },
                address:{
                    required: true
                },
                city:{
                    required:true
                },
                state:{
                    required:true
                },
                zipcode:{
                    required:true,
                    digits:true
                },
                parent_email:{
                    required:true,
                    email:true
                },
                phone:{
                    required:true,
                    phoneUS: true
                },
                password:{
                  required:true
                },
                password_confirm:{
                    equalTo: "#password"
                },
                birthMonth:{
                    date_fields:true
                },
                birthDay:{
                    date_fields:true
                },
                birthYear:{
                    date_fields:true
                },
                checkbox:{
                    required:true
                }
            },
            messages:{
                firstname:{required:"Your First Name is Required."},
                lastname:{
                    required: "Your Last Name is required."
                },
                address:{
                    required: "Your Address is required."
                },
                city:{
                    required: "Your City is required."
                },
                state:{
                    required: "Your State is required."
                },
                zipcode:{
                    required: "Your Zip Code is required.",
                     digits:"Zip Code: This field must be only numbers"
                },
                parent_email:{
                    required: "Your Email Address is required.",
                    email:"Your Email Address is required."
                },
                phone:{
                    required:"Your Phone Number is required.",
                    phoneUS: "Your Phone Number is invalid. "
                },
                password:{
                  required:"Password is required."
                },
                password_confirm:{
                    equalTo: "Passwords do not match."
                },
                birthMonth:{
                    date_fields:"Your Child's Birth Month is required. "
                },
                birthDay:{
                    date_fields:"Your Child's Birth Day is required."
                },
                birthYear:{
                    date_fields:"Your Child's Birth Year is required."
                },
                checkbox:{
                    required:"You Must read and agree to the Wizards of Waverly Place \"Arrive in Style\" Sweepstakes Official Rules"
                },
                captcha:{
                    required:"You must enter a value for the captcha",
                    remote:"Captcha Entry Inncorrect"
                }
            }
        });
}
function goto_reg(){
    window.location = '../age-gate/';
}
function goto_age_gate_fail(){
    window.location = '../not-eligible/';
}
function age_gate_cookies_set(){
    var CookN="agegate";
    var v = "0";
    var o={ path: '/', expires: 1 };
    jQuery.cookie(CookN,v,o);
}
function get_gate_cookie(){
     var CookN="agegate";
    var cook = jQuery.cookie(CookN);
    if(cook=='0'){
        goto_age_gate_fail();
    }
}
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};


