/*
This JS controls the mobile reminders!
*/

$(document).ready(function () {
    reminder_create();
    reminder_init();
});

function reminder_create() {
    var $reminder_popup, $reminder_inner, $reminder_outer, $reminder_shadow;
    $reminder_inner = $('<div class="inner"><h3>Remind Me!<a href="#close">X</a></h3><form name="reminder"><p id="message"></p><p>Enter your phone number to receive a reminder 3 days before the concert:<br /><br /><input type="text" name="phone" id="phone" value="" /><input type="hidden" name="perf_id" id="perf_id" value="0" /> <input type="submit" value="Submit" /></p></form></div>');
    $reminder_inner.find("form").submit(function(theForm){
    	addReminder(this);
    	return false;
    });
	 $reminder_inner.find("h3 a").click(function(){
		$reminder_popup.hide();
    	return false;
    });
    $reminder_inner.find("#message").hide();
    $reminder_outer = $('<div class="outer"></div>').append($reminder_inner);
    $reminder_popup = $('<div></div>').attr({
        'id': 'reminder_popup'
    }).css({
        zIndex: 1004
    }).append($reminder_outer).appendTo('body').hide();
    $reminder_popup.css({
        position: 'absolute',
        zIndex: 1004
    });
    $reminder_outer.css({
        position: 'relative',
        zIndex: 1005
    });
	 
	 /* Content within the popup might change, so the method used to draw the shadow will not work here. use CSS box-shadow, and a hard line for IE */

//    $reminder_shadow = $([]);
//    var dropShadowSteps = 4;
//    for (var i = 1; i < dropShadowSteps; i++) {
//        $reminder_shadow = $reminder_shadow.add($('<div></div>').addClass('shadow').css({
//            zIndex: 1004 - i,
//            top: i,
//            left: i
//        }))
//    };
//    $reminder_shadow.prependTo($reminder_popup);
}

function reminder_init() {
    var $reminder_popup = $('#reminder_popup');
    var $reminder_inner = $('#reminder_popup .inner');
    var $reminder_outer = $('#reminder_popup .outer');
    $('a.remindme').click(function () {
    	myLink = $(this);
    	myPos = myLink.offset();
    	$reminder_popup.css({
            left: myPos.left - 180 + 'px',
            top: myPos.top + 5 + 'px'
    	});
    	$reminder_popup.find("form input#perf_id").val(myLink.attr("rel"));
    	$reminder_popup.show();
//    	$('#reminder_popup .shadow').css({
//            height: $('#reminder_popup .inner').height() + 'px'
//        });
        return false
    });
}

function addReminder(myForm)	{
	var phone, perf_id;
	$myForm = $(myForm);
	qs = '{"method":"addReminder","phone":"' + $myForm.find("input#phone").val() + '","id":"' + $myForm.find("input#perf_id").val() + '"}';
	var jsonUrl = "/data/mobile-reminders.cfm?q=" + qs;
	var jsonData = $.getJSON(jsonUrl, function (json) {
		var $reminder_message = $("#reminder_popup #message");
		var theMessage = "You have signed up to receive a <strong>one time</strong> reminder. The LA Phil does not charge a fee for this service. Standard carrier costs may apply, depending on your SMS and data plan.";
		if(typeof(messageExtra) != undefined)	{
			theMessage = theMessage + messageExtra;
		}
		if(json.STATUS != "OK")	{
			theMessage = json.MESSAGE;
		} 
		$reminder_message.html(theMessage);
		if(json.STATUS == "OK")	{
			$("#reminder_popup").find('form > *').hide();
		}
		$reminder_message.show();
	});
	
	return false;
}

