return datediffInWeeks($date2, $date1);
    }
    return floor($first->diff($second)->days / 7);
}
if ($sourcename != "" && $password != "" && $siteID != "" && $fromdate != "" && $todate != "" && $_GET["settings-updated"] == 'true') {
    // initialize default credentials
    $creds = new SourceCredentials($sourcename, $password, array($siteID));
    //START Packagaes and services
    $salesService = new MBSaleService();
    $salesService->SetDefaultCredentials($creds);
    /*
    	Into the darkness we delve!!!
    	There are at LEAST two types of product from mind body Packages/Services...
    	so we are gonna get em all MUAHAHAHAHAHAHA
    */
    $resultgetServices = $salesService->GetServices(array(), array(), array(), null, null, true, null, $creds, XMLDetail::Full, 100);
    $resultgetPackages = $salesService->GetPackages();
    //ok now some manipulationfirst we drill down into it tto get the arrays we need then we append a prodtype to each sop we know for later what's what
    $drilldownresultgetServices = $resultgetServices->GetServicesResult->Services->Service;
    foreach ($drilldownresultgetServices as $service) {
        $service->prodtype = 'Service';
    }
    $drilldownresultgetPackages = $resultgetPackages->GetPackagesResult->Packages->Package;
    foreach ($drilldownresultgetPackages as $package) {
        $package->prodtype = 'Package';
    }
    //and now we merge em!
    $merged = array_merge($drilldownresultgetServices, $drilldownresultgetPackages);
    //OK here goes into the darkness we delve!
    //I'm sure this could be achived another way but this is the way i know..
    foreach ($merged as $key => $value) {
    // find out if they have a service to pay for this appointment
    $result = $clientService->GetClientServices($client->ID, array(), array(23));
    $serviceHtml = '<table><tr><td>ID</td><td>Name</td></tr>';
    if ($result->GetClientServicesResult->ResultCount > 0) {
    }
    $serviceHtml .= '</table>';
    if ($result->GetClientServicesResult->ResultCount == 0) {
        $serviceHtml .= '<p>No services exist for this type.</p>';
    }
    ?>
		<h2>Selected Service</h2>
		<?php 
    echo $serviceHtml;
    // find service
    if ($result->GetClientServicesResult->ResultCount == 0) {
        $result = $saleService->GetServices(array(), array(23));
        $buyserviceHTML = '<table><tr><td>ID</td><td>Name</td><td>Count</td></tr>';
        if ($result->GetServicesResult->ResultCount > 0) {
            $services = toArray($result->GetServicesResult->Services->Service);
            foreach ($services as $service) {
                if (isset($service->ID)) {
                    $buyserviceHTML .= sprintf('<tr><td>%d</td><td>%s</td><td>%d</td></tr>', $service->ID, $service->Name, $service->Count);
                } else {
                    $buyserviceHTML .= sprintf('<tr><td></td><td>%s</td><td>%d</td></tr>', $service->Name, $service->Count);
                }
            }
        }
        $buyserviceHTML .= '</table>';
        ?>
			<h2>Pick a Service</h2>
			<?php