function loadSSOWizard( domain )
{
  
	$('#dialog').load( "SSOHTML.php?domain=" + domain, function ( data ) {
    SSOStepOne( domain );  
    $('#dialog').dialog("destroy");
		$('#dialog').dialog({
			autoOpen: false,
			width: 600,
			modal: true,
			buttons: {
				"Next": function() {  
					SSOStepTwo( domain );
				}, 
				"Cancel": function() { 
					$('#dialog').dialog("close"); 
				}
			}
		});
		$('#dialog').dialog('open');
	});
	
}

function SSOStepOne( theDomain ) 
{
	$.get( "/CTK/SSOXML.php", 
         { domain: theDomain, step: '1' }, 
         function ( data ) {
					var gDomain = getTagText( data, 'Domain' );
					var ldapServerHost = getTagText( data, 'ldapServerHost' );
					var permission = getTagText( data, 'Permission' );
          var prefix = getTagText( data, 'ldapSSOUserPrefix' );
          var suffix = getTagText( data, 'ldapSSOUserSuffix' );
					var sync = getTagText( data, 'ssoPwdSync' );
					var fback = getTagText( data, 'ssoFallback' );

					document.getElementById( 'gDomain' ).value = gDomain;
					document.getElementById( 'lDomain' ).value = ldapServerHost;
					document.getElementById( 'prefix' ).value = prefix;
          document.getElementById( 'suffix' ).value = suffix;
          if ( sync == 'TRUE' )
            document.getElementById( 'sync' ).appendChild( document.createTextNode( "Enabled" ) );
          else 
		  {
			aTag = document.createElement( 'a' );
			aTag.href = "/CTK/PurchaseAddOn.php?domain=" + gDomain + "&utility=SSOPwdSync";
			tagText = document.createTextNode( "Purchase" )
			aTag.appendChild( tagText );
			document.getElementById( 'sync' ).appendChild( aTag  );
		  }
          if ( fback == 'TRUE' )
            document.getElementById( 'fallback' ).appendChild( document.createTextNode( "Enabled" ) );
          else
		  {
			aTag = document.createElement( 'a' );
			aTag.href = "/CTK/PurchaseAddOn.php?domain=" + gDomain + "&utility=SSOFallBack";
			tagText = document.createTextNode( "Purchase" )
			aTag.appendChild( tagText );
			document.getElementById( 'fallback' ).appendChild( aTag  );
		  }
  });
} 

function SSOStepTwo( domain )
{
  $.post( "/CTK/SSOXML.php?step=2&domain=" + domain, 
    $( "#wizardForm" ).serialize(), function ( data ) 
      {
        $( '#dialog .unverified' ).empty( );
        
        if ( data.getElementsByTagName( 'Settings' ).length == 0 )
        {
          $( '#dialog .unverified' ).append( 'There was an error in your settings. Please try again.' );
          return false;
        }
        else {
          var gAdmin = getTagText( data, 'gAdmin' );
          var gDomain = getTagText( data, 'Domain' );
          var ldapServerHost = getTagText( data, 'ldapServerHost' );
          var permission = getTagText( data, 'Permission' );
          var prefix = getTagText( data, 'ldapSSOUserPrefix' );
          var suffix = getTagText( data, 'ldapSSOUserSuffix' );
          var sync = getTagText( data, 'ssoPwdSync' );
          var fback = getTagText( data, 'ssoFallback' );

          $('#dialog > .pane').hide( )
          $('#ssotestarea').show( ); 


          $('#ssotestarea > #testinsertarea').append( "<h2>Single Sign On for "  + gDomain + "</h2>" );
          $('#ssotestarea > #testinsertarea').append( "<p>This is your SSO configuration:</p>" );
          $('#ssotestarea > #testinsertarea').append( "Google Apps Admin: " + gAdmin + "<br/>"  );
          $('#ssotestarea > #testinsertarea').append( "Google Apps Domain: " + gDomain + "<br/>"  );
          $('#ssotestarea > #testinsertarea').append( "LDAP Server: " + ldapServerHost + "<br/>"  );
          $('#ssotestarea > #testinsertarea').append( "LDAP Prefix: " + prefix + "<br/>" );
          $('#ssotestarea > #testinsertarea').append( "LDAP Suffix: " + suffix + "<br/>" );
          if ( sync == 'TRUE' )
            $('#ssotestarea > #testinsertarea').append( "Password Sync is ON<br/>" );
          else
            $('#ssotestarea > #testinsertarea').append( "Password Sync is OFF<br/>" );
          if ( fback == 'TRUE' )
            $('#ssotestarea > #testinsertarea').append( "SSO Fallback is ON<br/>" );
          else
            $('#ssotestarea > #testinsertarea').append( "SSOFallback is OFF<br/>" );
          

        } 
        loadSSOWizard2( gDomain );
      }
    );
}


function loadSSOWizard2( domain )
{
		//ProvisioningStepTwo( domain );
		
		$('#dialog').dialog("destroy");
		$('#dialog').dialog({
			autoOpen: false,
			width: 600,
			modal: true,
			buttons: {
        "Next": function() { 
					SSOStepThree( domain );
				},
				"Cancel": function() { 
					$('#dialog').dialog("close"); 
				},
        "Back": function() { 
					loadSSOWizard( domain ); 
				}
			}
		});
		
		$('#dialog').dialog('open');
	
}

function SSOStepThree( domain )
{
 $.post( "/CTK/SSOXML.php?step=3&domain=" + domain, 
					$( "#ssotest" ).serialize(), function ( data ) { 
            $( '#ssotesterr' ).empty();
            if ( data.getElementsByTagName( 'Success' ).length == 0 )
						{
							$( '#ssotesterr' ).text( 'There was an error in your settings. Please try again.' );
							return false;
						}
            var success = getTagText( data, 'success' );
            if ( success == '2' )
            {
              $( '#ssotesterr' ).append( 'The login succeeded, but that user does not exist in Google Apps.' );
              return false;
            }
            $('#ssotestarea').html( "<h2>Single Sign On for "  + domain + "</h2>" );
            $('#ssotestarea').append( "<p>Your SSO has successfully been configured for your Domain. </p>" );
            loadSSOWizard3( domain );
      
        
          });

}
  function loadSSOWizard3( domain )
{
		
		
		$('#dialog').dialog("destroy");
		$('#dialog').dialog({
			autoOpen: false,
			width: 600,
			modal: true,
			buttons: {
				"Finish": function() { 
					$('#dialog').dialog("close"); 
				}
			}
		});
		
		$('#dialog').dialog('open');
	
}        

