
/**
 * Handle with add dividend company form
 *  
 * @param string addShareholderLink
 * @param string removeShareholderLink
 * @return void
 */
var Dividend = function (addShareholderLink, removeShareholderLink) {
	
	/** @var string */
	var addShareholderLink = addShareholderLink;
	
	/** @var string */
	var removeShareholderLink = removeShareholderLink;

	/**
	 * Provides toggle shares
	 *
	 * @return void
	 */
	this.toggleShare =  function() {
		if ($('#shareTypeToggle1').is(':checked')) {
			$('#prefilledShareClass').parents('tr').fadeIn();
			$('#shareClass').parents('tr').hide();
			$('#currency').parents('tr').hide();
			$('#valuePerShare').parents('tr').hide();
		} else if ($('#shareTypeToggle2').is(':checked')) {
			$('#prefilledShareClass').parents('tr').hide();
			$('#shareClass').parents('tr').fadeIn();
			$('#currency').parents('tr').fadeIn();
			$('#valuePerShare').parents('tr').fadeIn();
		} else {
			$('#prefilledShareClass').parents('tr').hide();
			$('#shareClass').parents('tr').hide();
			$('#currency').parents('tr').hide();
			$('#valuePerShare').parents('tr').hide();
		}
	}
	
	/**
	 * Provides toggle officer
	 *
	 * @return void
	 */
	this.toggleOfficer =  function() {
		if ($('#officerTypeToggle1').is(':checked')) {
			$('#prefilledOfficer').parents('tr').fadeIn();
			$('#officerName').parents('tr').hide();
			$('#officerType').parents('tr').hide();
		} else if ($('#officerTypeToggle2').is(':checked')) {
			$('#prefilledOfficer').parents('tr').hide();
			$('#officerName').parents('tr').fadeIn();
			$('#officerType').parents('tr').fadeIn();
		} else {
			$('#prefilledOfficer').parents('tr').hide();
			$('#officerName').parents('tr').hide();
			$('#officerType').parents('tr').hide();
		}
	}
	
	/**
	 * Provides adding add shareholder link
	 * 
	 * @return void
	 */
	this.createAddShareholderLink =  function() {
		$fieldset = $('input[name^="name"]:last').parents('fieldset');
		$a = $('<a href="#" id="ajax_add_shareholder" style="position: absolute; top: -15px; right: 0px;">Add Shareholder</a>').bind('click', function() {
				Dividend.processShareholderAjaxRequest($(this));
				return false;
			});
		$add = $('<div style="position: relative; height: 20px;"/>').html($a);
		$add.insertAfter($fieldset);
	}
	
	/**
	 * Provides adding remove shareholder link
	 * 
	 * @return void
	 */
	this.createRemoveShareholderLink =  function() {
		if ($('input[name^="name"]').length > 1) {
			$fieldset = $('input[name^="name"]:last').parents('fieldset');
			$a = $('<a href="#" id="ajax_remove_shareholder" style="position: absolute; top: -10px; right: 0px;">remove</a>').bind('click', function() {
				Dividend.processShareholderAjaxRequest($(this));
				return false;
			});
			$remove = $('<div style="position: relative;"/>').html($a);
			$fieldset.prepend($remove);
		}
	}
	
	/**
	 * Provides init form after ajax request
	 * 
	 * @return void
	 */
	this.initializeForm =  function() {
		//Dividend.toggleShare();
		//Dividend.toggleOfficer();
		Dividend.createAddShareholderLink();
		Dividend.createRemoveShareholderLink();
		//$('input[name="shareTypeToggle"]').click(function() { Dividend.toggleShare(); });
		//$('input[name="officerTypeToggle"]').click(function() { Dividend.toggleOfficer(); });
          $(".shareholderSelect").change(function () {
            var value = $(this).val();
            var value2 = $(this).attr("name").split('_')[1];
            shareholder = shareholders[value];
            for (var name2 in shareholder) {
                $('#'+name2+'_'+value2).val(shareholder[name2]);
            }
        });
        // prefill shares
        $("#prefilledShareClass").change(function () {
            var value = $(this).val();
            share = shares[value];
            for (var name in share) {
                $('#'+name).val(share[name]);
            }
        });

        // prefill officers
        $("#prefilledOfficer").change(function () {
            var value = $(this).val();
            officer = officers[value];
            for (var name in officer) {
                $('#'+name).val(officer[name]);
            }
        });
	}
	
	/**
	 * Provides init form after ajax request
	 * 
	 * @return void
	 */
	this.onDocumentReady =  function() {
		Dividend.createAddShareholderLink();
		Dividend.createRemoveShareholderLink();
		//$('input[name="shareTypeToggle"]').click(function() { Dividend.toggleShare(); });
		//$('input[name="officerTypeToggle"]').click(function() { Dividend.toggleOfficer(); });
	}
	
	/**
	 * AJAX: add, remove shareholder
	 * 
	 * @return void
	 */
	this.processShareholderAjaxRequest =  function($_this) {
		$.ajax({ 
			url: ($_this.attr('id') == 'ajax_add_shareholder') ? ajaxAddShareholderLink : ajaxRemoveShareholderLink,
			dataType: 'html',
			success: function(data){
				var formData = $('#form form').formToArray();
	    		$('#form').html(data);
	    		for (var i in formData) {
	    		
	    			var name = formData[i].name.replace('[','\\[').replace(']','\\]');
	    			var value = formData[i].value;
	    			
	    			// radio buttons
	    			if (name == 'shareTypeToggle' || name == 'officerTypeToggle') {
	    				$('#' + name + value).attr('checked', true);
	    			} else {
	    				$('#' + name).val(value);
	    			}
				}
				Dividend.initializeForm();
			}
		});
	}
}

/* support link */
$(function(){
	$('.support_link').click(function() {
		window.open('https://www.companiesmadesimple.com/support/visitor/index.php?/Default/LiveChat/Chat/Request/_sessionID=/_promptType=chat/_proactive=0/_filterDepartmentID=16/_randomNumber=doyjlfgg6lcmhg86mjiahgzyq24efhrs/_fullName=/_email=/', 'livechatwin', 'toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=0,resizable=1,width=600,height=680');
		return false;
	});
});

$(document).ready( function(){
    $('a.feedback_show').click(function(){
         var url = $(this).attr('href');
         overlay(url);
     return false;
    });
    
    $('a.change-company-auth-code').click(function(){
        var url = $(this).attr('href');
        overlay(url);
     return false;
    });
    
    $('.popupnew').click(function(){
        var url = $(this).attr('href');
        overlay(url);
     return false;
    });
    
    /**
     * Simple Popup Dialog - CF Page choose bank account 
     *
     * load a specific content
     */
    $(".cf-more-info a[rel]").click(function(){
        var html = $('#'+ $(this).attr('rel') ).html();
        $overlay = $('<div class="overlay">'+ html +'</div>');
        $('body').append($overlay);
        openOverlay($overlay);
        return false;
    });
    
    
    
});

var overlay = function(url) {
    $overlay = $('<div class="overlay"><iframe id="overlay_iframe" src="' + url + '?popup=1' + '" frameborder="0" width="600" height="475"></iframe></div>');
    $('body').append($overlay);
    $($overlay).overlay({
        effect: 'apple',
        load: true,
        mask: '#000'
    });
    
}

var openOverlay = function(elem) {
	$(elem).overlay({
             effect: 'apple',
             load: true,
             left:"center",
             mask: '#000',
             oneInstance: false, 
             api : true
     });
}

var openOverlay2 = function(elem) {
	$(elem).overlay({
             effect: 'apple',
             load: true,
             left:"center",
             mask: '#000',
             oneInstance: false, 
             api : true,
             top : "0px"
     });
}


