/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
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;
    }
};


$(document).ready( function() {
    $('#salesforce_download_form').submit(function() {
        //var date = new Date();
        //date.setTime(date.getTime() + ( 24 * 60 * 60 * 1000)); /* one day lifetime */
        var date = 30;
        var currentTime = new Date()
        var $error_msg = '';
        if($('#last_name').val()) {
            $.cookie('continuitysoftware_lname', $('#last_name').val(), {
                path: '/', 
                expires: date
            });
        }
        else {
            $error_msg = "Last name is requiered \n\r";
        }
		
        if($('#first_name').val()) {
            $.cookie('continuitysoftware_fname', $('#first_name').val(), {
                path: '/', 
                expires: date
            });
        }
        else {
            $error_msg += "First name is requiered \n\r";
        }
		
        if($('#email').val()) {
            $.cookie('continuitysoftware_email', $('#email').val(), {
                path: '/', 
                expires: date
            });
        }
        else {
            $error_msg += "Email is requiered \n\r";
        }
	
		
        if($('#company').val()) {
            $.cookie('continuitysoftware_company', $('#company').val(), {
                path: '/', 
                expires: date
            });
        }
        else {
            $error_msg += "Company is requiered \n\r";
        } 


        $.cookie('continuitysoftware_city', $('#city').val(), {
            path: '/', 
            expires: date
        });
        $.cookie('continuitysoftware_state', $('#state').val(), {
            path: '/', 
            expires: date
        });
        $.cookie('continuitysoftware_phone', $('#phone').val(), {
            path: '/', 
            expires: date
        });

        if($('#country').val() != '- Select Country -') {
            $.cookie('continuitysoftware_country', $('#country').val(), {
                path: '/', 
                expires: date
            });
        }
        else {
            $error_msg += "Country is requiered \n\r";
        }
        $.cookie('continuitysoftware_servers', $('#00N60000001Jbkv').val(), {
            path: '/', 
            expires: date
        });
        if($error_msg) {
            alert("Please fill in the following details to continue reading :\n\r\n\r" + $error_msg);
            $error_msg = '';
            return false;
        }
        else {
            $.cookie('contiuitysoftware_library_' + $('#lead_nid').val(), currentTime.getTime(), {
                path: '/', 
                expires: date
            });
            $(this).submit();
            return true;
        }
    });
	
    $('#cancel_salesforceform').click(function() {
        location.href = '/';
    });
	
	
/*$('.field-field-attachment .thickbox').click(function() {
	url = window.location + "?download=" + $(this).attr('ref');
	retURL = $("input[name='retURL']");
	retURL.attr('value',url);
	alert(url);
	})*/

	
} );


function thisproject_preset_cookie(first, last, company, email, city, country, phone) {
    //var date = new Date();
    //date.setTime(date.getTime() + ( 24 * 60 * 60 * 1000)); /* one day lifetime */
    var date = 30;
    $.cookie('continuitysoftware_lname', last, {
        path: '/', 
        expires: date
    });
    $.cookie('continuitysoftware_fname', first, {
        path: '/', 
        expires: date
    });
    $.cookie('continuitysoftware_company', company, {
        path: '/', 
        expires: date
    });
    $.cookie('continuitysoftware_email', email, {
        path: '/', 
        expires: date
    });
    $.cookie('continuitysoftware_city', city, {
        path: '/', 
        expires: date
    });
    $.cookie('continuitysoftware_state', country, {
        path: '/', 
        expires: date
    });
    $.cookie('continuitysoftware_country', country, {
        path: '/', 
        expires: date
    });
    $.cookie('continuitysoftware_phone', phone, {
        path: '/', 
        expires: date
    });
    $.cookie('continuitysoftware_servers', 0, {
        path: '/', 
        expires: date
    });
}
function thisproject_set_cookie() {
    if($.cookie('continuitysoftware_email')) {
        $('#last_name').val($.cookie('continuitysoftware_lname'));
        $('#first_name').val($.cookie('continuitysoftware_fname'));
        $('#email').val($.cookie('continuitysoftware_email'));
        $('#company').val($.cookie('continuitysoftware_company'));
        $('#country').val($.cookie('continuitysoftware_country'));
        $('#phone').val($.cookie('continuitysoftware_phone'));
       
        cc = $.cookie('continuitysoftware_country')?$.cookie('continuitysoftware_country'):$('#ip2cc').val();
        $("select#country option[selected]").removeAttr("selected");
        $("select#country option[value='" + cc +"']").attr("selected", "selected");
       
        servers = $.cookie('continuitysoftware_servers');
        
        $("select#00N60000001Jbkv option[selected]").removeAttr("selected");
        $("select#00N60000001Jbkv option[value='" + servers +"']").attr("selected", "selected");
		
        $('#TB_downloadform #last_name').val($.cookie('continuitysoftware_lname'));
        $('#TB_downloadform #first_name').val($.cookie('continuitysoftware_fname'));
        $('#TB_downloadform #email').val($.cookie('continuitysoftware_email'));
        $('#TB_downloadform #company').val($.cookie('continuitysoftware_company'));
        $('#TB_downloadform #city').val($.cookie('continuitysoftware_city'));
        $('#TB_downloadform #state').val($.cookie('continuitysoftware_state'));
    }
    else {
        cc = $('#ip2cc').val();
        $("select#country option[selected]").removeAttr("selected");
        $("select#country option[value='" + cc +"']").attr("selected", "selected");
    }
}

function salseforce_blocker() {
    thisproject_set_cookie();
    $.blockUI({
        message: $('#TB_downloadform'),
        css: { 
            top:  ($(window).height() - 500) /2 + 'px', 
            left: ($(window).width() - 500) /2 + 'px', 
            width: '500px' 
        }
    }); 
}



