/* 
 * sweeps.js
 */
function sweeps_open(page)
{
    var done_cookie = 'sweeps_done' + $('#daily_rule_id').val();
    switch(page)
    {
        case '#sweeps_signup':
            page = $.cookie('sweeps_co') ? '#sweeps_prize' : '#sweeps_signup';
            if (page == '#sweeps_prize' && $.cookie(done_cookie) != null)             
            		page = '#sweeps_alreadydone';

            run_omniture(page);
            break;
				 case '#sweeps_login':
            break;
        case '#sweeps_win':
            if($.cookie(done_cookie) != null)
            {
                page = '#sweeps_alreadydone';
                run_omniture(page);
            }
            else
            {
                var logged_in_user_data = nit_decode($.cookie('sweeps_co'));

                $.post("/request/subscribe/"+$('#daily_rule_id').val()+"/"+logged_in_user_data['pid']+"/"+$('#grand_prize_rule_id').val() ,
                    $('input:checked').serialize(),
                    function(obj)
                    {
                        var response = $.parseJSON(obj);
                        $('#sweeps_thankyou').show();
                        $.cookie(done_cookie, $('#daily_rule_id').val() ,{
                            expire:1
                        });
                        
                        page = '#sweeps_thankyou';
                        //Add newsletter cookie for omniture
                        if (response.newsletters != 0)
                        $.cookie('omni_newsletters',response.newsletters,{
                            expire:1
                        });
                        
                        run_omniture(page);
                    }).error(function(){
                    alert('An unexpected error has occurred. Please try again.');
                });
            }
            break;
        case '#sweeps_captcha':
            if($.cookie(done_cookie) != null)
            {
                page = '#sweeps_alreadydone';
            }
            else
            {
                page = '#sweeps_prize';
                ACPuzzle.reload('');
                $('.popup').css('height', $(document).height());
                $('#solve_media_container').show();
            }
            run_omniture(page);
            break;
        // case '#sweeps_promocalendar':
        //     $("#rightcolumn, #rightwell, .sidebar").hide(); //Anytime navigation away from this page occurs and remains inside the sweeps project you must call the function showSidebar() to offset hiding it
        //     $("#singlecolumn").css('overflow', 'visible');
        //  break;
        case '#rd_contest':
            run_omniture(page);
            break;
        default:
            run_omniture(page);
    }

    sweeps_check_if_logged_in();
    
    $('.sweeps_frame').hide();
    $(page).show();

    var hash_less = page.split('#')[1];

    if(hash_less != 'rd_contest')
        $.history.load(hash_less);
    else
        window.location.hash = '';
}

function forgotPassword(selector)
{
    var email_field = $(selector).find('#email_field').val();

    $.ajax({
        type: 'post',
        url: "/request/forgot",
        data: {
            email: email_field, 
            site_id: $('#site_id').val()
        },
        beforeSend: function()
        {
            $('.ajax-loader').show();
        },
        complete: function(obj)
        {
            $('.ajax-loader').hide();
            $('#sweeps_forgot_form_alert').html(obj.responseText).show();
        },
        error: function() {         
            $('#sweeps_forgot_form_alert').html('An unexpected error has occurred. Please try again.');
        }
    });

}

function sweeps_check_if_logged_in()
{
    if($.cookie('sweeps_co')) // logged in
    {
        $('.sweeps_logout').show();
    }
    else
    {
        $('.sweeps_logout').hide();
    }
}

function sweeps_logout()
{
    $.cookie("sweeps_co", null);
    $.cookie('sweeps_done' + $('#daily_rule_id').val(), null);
    $.cookie('omni_logout', 1, {
        expire:1
    });

    sweeps_open('#rd_contest');
}

function nit_decode(value)
{
    var h = [];
    var s = value.split(';');

    for(i=0,c=s.length;i<c;i++)
    {
        var t = s[i].split('=');
        h[t[0]] = t[1];
    }
    return h;
}

function handle_sweeps_response(response)
{
    if(response.code == 1)
    {
        var error_alert = (response.error != '') ? response.error : response.message;
        $('#sweeps_login_form_alert').html(error_alert);
    }
    else if(response.code == 0)
    {
        $.cookie('lis',1,{
            expire:1
        });

        var cd = 'pid='+response.xml.profileid+';ca='+response.created_at+';';

        var logged_in_user_data = cd;

        $.cookie('sweeps_co',logged_in_user_data,{
            expire:1
        });

        $.cookie('omni_login', 1, {
            expire:1
        });
        
        if (response.done_cookie)
        {
            var done_cookie = 'sweeps_done' + $('#daily_rule_id').val();
            $.cookie(done_cookie,response.done_cookie, {
                expire:1
            });
            sweeps_open('#sweeps_alreadydone');
        } else {

            var _user_id = response.user_id;

            //Insert newsletters
            $.ajax({
                type: 'get',
                url: '/request/get_offers_newsletters/' + _user_id,
                success: function(data){
                    $("#offers_newsletters").html(data);
                },
                complete : function()
                {
                    sweeps_open('#sweeps_prize');
                }
            }); 
        }
    }
    else
    {
        
        $('#sweeps_login_form_alert').show();
        $('#sweeps_login_form_alert').html('An unexpected error has occurred. Please try again.');
    }
}

$(function()
{
    $('#sweeps_login_form').submit(function(event){
        event.preventDefault();
        $.ajax({
            type: 'post',
            url: "/admin/login",
            dataType : 'json',
            data: {
                email: $('#Login_Email').val(), 
                password: $('#Login_Password').val(),
                channel_id: $('#Login_Channel_Id').val()
            },
            beforeSend: function()
            {
                $('.ajax-loader-login').show();
            },
            complete: function(obj)
            {
                $('.ajax-loader-login').hide();
                var response = $.parseJSON(obj.responseText);
                handle_sweeps_response(response);
            },
            error: function() {         
                $('#sweeps_login_form_alert').html('An unexpected error has occurred. Please try again.');
            }
        });
    });
 
    $('#sweeps_registration_form').submit(function(event){
        event.preventDefault();
        $.ajax({
            type:'post',
            url: "/admin/signup",
            dataType: 'json',
            data: $('#sweeps_registration_form').serialize(),
            beforeSend: function()
            {
                $('.ajax-loader-signup').show();
            },
            complete: function(obj)
            {
                var response = $.parseJSON(obj.responseText);
                $('.ajax-loader-signup').hide();

                if(response.code == 1)
                {
                    $('#sweeps_register_form_alert').html(response.message);
                }
                else if(response.code == 0)
                {
                    $.cookie('lis',1,{
                        expire:1
                    });
                    
                    var cd = 'pid='+response.xml.profileid+';ca='+response.created_at+';';                    
                    
                    $.cookie('sweeps_co',cd, {
                        expire:1
                    });
                    $.cookie('omni_registered', 1, {
                        expire:1
                    });

                    $(':input','#sweeps_registration_form')
                    .not(':button, :submit, :reset, :hidden')
                    .val('')
                    .removeAttr('checked')
                    .removeAttr('selected');
                     
                    sweeps_open('#sweeps_prize');
                }
                else
                {
                    if(response.message)
                        $('#sweeps_register_form_alert').html(response.message);
                    else
                        $('#sweeps_register_form_alert').html(response.msg);
                        
                    $('#sweeps_register_form_alert').show();
                }
            },
            error: function() {         
                $('#sweeps_register_form_alert').html('An unexpected error has occurred. Please try again.');
                $('.ajax-loader-signup').hide();
            }
        });
    });
                    
    $("#captcha-form").submit(function()
    {
        $("#solve_media_container").hide();
        $("#captcha-error").remove();
        
        var adcopy_challenge;
        var adcopy_response;
        var mobile; 
        
        $("input[name='adcopy_challenge']").val() != null ? adcopy_challenge = $("input[name='adcopy_challenge']").val() : adcopy_challenge = '';
        $("input[name='adcopy_response']").val() != null ? adcopy_response = $("input[name='adcopy_response']").val() : adcopy_response = '';
        $("input[name='mobile']").val() != null ? mobile = $("input[name='mobile']").val() : mobile = '';

        $.post($(this).attr('action'),
        {
            'adcopy_challenge' : adcopy_challenge, 
            'adcopy_response' : adcopy_response,
            'mobile' : mobile
        },
        function(results)
        {
            if (results && results.is_valid)
                sweeps_open('#sweeps_win');
            else  {
                ACPuzzle.reload('');
                $('#solve_media_container').show();
                $("#captcha-text").after('<span id="captcha-error">' + results.error + '</span>');
                $("#captcha-error").css({
                    "margin" : "0 0 10px 100px", 
                    "display" : "block", 
                    "color" : "red"
                });
            }
        }
        );
        return false;
    });
    
    $("#closePopup").click(function(){
        $("#solve_media_container").hide();
    });

    sweeps_check_if_logged_in(); //Check if user is logged in

    $('.child_select').change(function(){
				if ($(this).val() == 'toggle-parent')
        		$('#children-form-wrapper').show();
				else
						$('#children-form-wrapper').hide();
    });
    
    $.history.init(function(hash){
        if(typeof(hash) == 'string')
        {
            switch(hash)
            {
                case '':
                    sweeps_open('#rd_contest');
                    break;
                case 'sweeps_rules':
                    $('.sweeps_frame').hide();
                    $('#sweeps_rules').show();
                    break;
                case 'sweeps_grandprize':
                    $('.sweeps_frame').hide();
                    $('#sweeps_grandprize').show();
                    break;
                case 'sweeps_signup':
                    if( ! $.cookie('sweeps_co'))
                    {
                        $('.sweeps_frame').hide();
                        $('#sweeps_signup').show();
                    }
                    break;
								case 'sweeps_login':
                    if( ! $.cookie('sweeps_co'))
                    {
                        $('.sweeps_frame').hide();
                        $('#sweeps_login').show();
                    }
                    break;
                case 'sweeps_prize':
                    if($.cookie('sweeps_co') == null)
                    {
                        window.location.hash = '';
                    }
                break;
                case 'sweeps_all_prizes':
                    $('.sweeps_frame').hide();
                    $('#sweeps_all_prizes').show();
                    $('#current_prize_loder').hide();
                break;
                case 'sweeps_alreadydone':
                	$('.sweeps_frame').hide();
                    $('#sweeps_alreadydone').show(); 
                break;               
                case 'sweeps_thankyou':
					if($.cookie('done_cookie') != null)
		                sweeps_open('#rd_contest');
					else
                    	sweeps_open('#sweeps_thankyou');
                break;
                case 'sweeps_done':
                case 'sweeps_win':
                    if($.cookie('done_cookie') != null)
						sweeps_open('#rd_contest');
                break;
                case 'sweeps_forgot_password':
                    if($.cookie('done_cookie') == null)
                    {
                        $('.sweeps_frame').hide();
                        $('#sweeps_forgot_password').show();
                    }
                break;
                default:
                    $('.sweeps_frame').hide();
                    $('#sweeps_all_prizes').show();
                    getPrize(window.location.hash.split('#')[1]);
                break;
            }
        }
    },{
        unescape: ",/"
    });


    //Promo Calendar

    // $("#sweeps_promocalendar #promo_calendar .prize img").tipTip({
    //     edgeOffset: -5,
    //     defaultPosition: 'right',
    //     content: '',
    //     delayOut: 3000,
    //     keepAlive: false,
    //     enter: function(){
    //         var cur_img = $("#sweeps_promocalendar #promo_calendar .prize img:hover");
    //         $("#tiptip_content").html(
    //             '<p>' + $(cur_img).siblings('input[name=promo_prize_date]').val() + '</p>' + 
    //             '<p class="mt5 mb5">' + $(cur_img).siblings('input[name=promo_prize_title]').val() + '</p>' + 
    //             '<a href="/#' + $(cur_img).siblings('input[name=promo_prize_link_date]').val() + '" onclick="showSidebar();">View Details</a>'
    //         );
    //     }
    // });

    var carousel = new nit_caroucel({
        'parent' : '#carousel_parent',
        'width'  : 185,
        'start_index': parseInt($('#carocel_start_index').html())
    });

	//Stupid Hashtag Fix For IE 7 & 8
	// var originalTitle = document.title.split("#")[0];    
	// 	document.attachEvent('onpropertychange', function (evt) {
	// 	    if(evt.propertyName === 'title' && document.title !== originalTitle) {
	// 	        setTimeout(function () {
	// 	           document.title = originalTitle;
	// 	        }, 1);
	// 	    }
	// 	});

	//Incase the developer wants to change the title manually, instead of directly using     //document.title=newtitle, he will need to use changeTitle(newTitle)
	// function changeTitle(newTitle)
	// 	{
	// 	    originalTitle = newTitle;
	// 	    document.title = newtitle;
	// 	}


});

var dm = new dateManager({
    'fetchUrl' : 'prize'
});


function getPrize(direction)
{
    if (dm.obj.channel_id == undefined)
        dm.add_channel_id($("#channel_id").val());

    $('#current_prize_holder').hide();

    if(direction == 'next')
        var current = dm.next();
    else if(direction == 'prev')
        var current = dm.prev();
    else
        var current = dm.get(direction);

    $('#current_prize_date').html(current.date);

    if(current.current)
        $('#current_prize_enter').show();
    else
        $('#current_prize_enter').hide();

    if(current.title)
    {
        $('#current_prize_holder').show();
        $('#current_prize_holder').show();
        $('#current_prize_image').attr('src',current.image);
        $('#current_prize_title').html(current.title);
        $('#current_prize_description').html(current.description);
        $('#current_prize_link').attr('href',current.url); 
        $('#no_prize_for_date').hide();
    }
    else
    {
        $('#no_prize_for_date').show();
    }
    
    $.history.load(dm.key());
}

// function showSidebar()
// {
//     $("#rightcolumn, #rightwell, .sidebar").show();
//     //Hide tooltip
//     $("#tiptip_holder").hide();
// }

